@okta/odyssey-react-mui 1.32.0 → 1.32.4

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 (458) hide show
  1. package/dist/cjs/theme/components.cjs +6 -0
  2. package/dist/cjs/theme/components.cjs.map +1 -1
  3. package/dist/cjs/ui-shell/SideNav/SideNav.cjs +2 -1
  4. package/dist/cjs/ui-shell/SideNav/SideNav.cjs.map +1 -1
  5. package/dist/cjs/ui-shell/SideNav/SideNavItemContent.cjs +36 -11
  6. package/dist/cjs/ui-shell/SideNav/SideNavItemContent.cjs.map +1 -1
  7. package/dist/cjs/ui-shell/SideNav/SideNavItemLinkContent.cjs +3 -1
  8. package/dist/cjs/ui-shell/SideNav/SideNavItemLinkContent.cjs.map +1 -1
  9. package/dist/cjs/ui-shell/SideNav/SideNavLogo.cjs +14 -2
  10. package/dist/cjs/ui-shell/SideNav/SideNavLogo.cjs.map +1 -1
  11. package/dist/cjs/ui-shell/SideNav/SideNavToggleButton.cjs +1 -1
  12. package/dist/cjs/ui-shell/SideNav/SideNavToggleButton.cjs.map +1 -1
  13. package/dist/cjs/ui-shell/SideNav/types.cjs.map +1 -1
  14. package/dist/cjs/ui-shell/UiShellContent.cjs +48 -32
  15. package/dist/cjs/ui-shell/UiShellContent.cjs.map +1 -1
  16. package/dist/cjs/ui-shell/index.cjs +9 -1
  17. package/dist/cjs/ui-shell/index.cjs.map +1 -1
  18. package/dist/cjs/useContrastMode.cjs +1 -1
  19. package/dist/cjs/useContrastMode.cjs.map +1 -1
  20. package/dist/esm/theme/components.js +6 -0
  21. package/dist/esm/theme/components.js.map +1 -1
  22. package/dist/esm/ui-shell/SideNav/SideNav.js +2 -1
  23. package/dist/esm/ui-shell/SideNav/SideNav.js.map +1 -1
  24. package/dist/esm/ui-shell/SideNav/SideNavItemContent.js +37 -12
  25. package/dist/esm/ui-shell/SideNav/SideNavItemContent.js.map +1 -1
  26. package/dist/esm/ui-shell/SideNav/SideNavItemLinkContent.js +3 -1
  27. package/dist/esm/ui-shell/SideNav/SideNavItemLinkContent.js.map +1 -1
  28. package/dist/esm/ui-shell/SideNav/SideNavLogo.js +14 -2
  29. package/dist/esm/ui-shell/SideNav/SideNavLogo.js.map +1 -1
  30. package/dist/esm/ui-shell/SideNav/SideNavToggleButton.js +1 -1
  31. package/dist/esm/ui-shell/SideNav/SideNavToggleButton.js.map +1 -1
  32. package/dist/esm/ui-shell/SideNav/types.js.map +1 -1
  33. package/dist/esm/ui-shell/UiShellContent.js +45 -31
  34. package/dist/esm/ui-shell/UiShellContent.js.map +1 -1
  35. package/dist/esm/ui-shell/index.js +1 -0
  36. package/dist/esm/ui-shell/index.js.map +1 -1
  37. package/dist/esm/useContrastMode.js +2 -2
  38. package/dist/esm/useContrastMode.js.map +1 -1
  39. package/dist/index.cjs +1 -1
  40. package/dist/index.mjs +1 -1
  41. package/dist/index.scss +1 -1
  42. package/dist/tsconfig.production.tsbuildinfo +1 -1
  43. package/dist/types/theme/components.d.ts.map +1 -1
  44. package/dist/types/ui-shell/SideNav/SideNav.d.ts.map +1 -1
  45. package/dist/types/ui-shell/SideNav/SideNavItemContent.d.ts +9 -7
  46. package/dist/types/ui-shell/SideNav/SideNavItemContent.d.ts.map +1 -1
  47. package/dist/types/ui-shell/SideNav/SideNavItemLinkContent.d.ts +1 -1
  48. package/dist/types/ui-shell/SideNav/SideNavItemLinkContent.d.ts.map +1 -1
  49. package/dist/types/ui-shell/SideNav/SideNavLogo.d.ts.map +1 -1
  50. package/dist/types/ui-shell/SideNav/types.d.ts +5 -1
  51. package/dist/types/ui-shell/SideNav/types.d.ts.map +1 -1
  52. package/dist/types/ui-shell/UiShellContent.d.ts +8 -2
  53. package/dist/types/ui-shell/UiShellContent.d.ts.map +1 -1
  54. package/dist/types/ui-shell/index.d.ts +1 -1
  55. package/dist/types/ui-shell/index.d.ts.map +1 -1
  56. package/package.json +4 -4
  57. package/.browserslistrc +0 -1
  58. package/.svgrrc.cjs +0 -13
  59. package/CHANGELOG.md +0 -1490
  60. package/babel.config.cjs +0 -112
  61. package/i18n.config.json +0 -10
  62. package/scripts/generateIconsIndex.ts +0 -49
  63. package/scripts/generateTestSelectorsJson.ts +0 -33
  64. package/scripts/properties-to-ts.ts +0 -111
  65. package/src/@types/i18next.d.ts +0 -24
  66. package/src/@types/properties.d.ts +0 -292
  67. package/src/@types/react-augment.d.ts +0 -22
  68. package/src/Accordion.tsx +0 -117
  69. package/src/Autocomplete.tsx +0 -321
  70. package/src/Badge.tsx +0 -112
  71. package/src/Banner.tsx +0 -112
  72. package/src/Box.tsx +0 -44
  73. package/src/Breadcrumbs.tsx +0 -221
  74. package/src/Buttons/BaseButton.tsx +0 -250
  75. package/src/Buttons/BaseMenuButton.tsx +0 -342
  76. package/src/Buttons/Button.tsx +0 -30
  77. package/src/Buttons/ButtonContext.tsx +0 -23
  78. package/src/Buttons/MenuButton.tsx +0 -33
  79. package/src/Buttons/MenuContext.ts +0 -25
  80. package/src/Buttons/MenuItem.tsx +0 -103
  81. package/src/Buttons/index.ts +0 -25
  82. package/src/Callout.tsx +0 -176
  83. package/src/Card.tsx +0 -186
  84. package/src/Checkbox.tsx +0 -261
  85. package/src/CheckboxGroup.tsx +0 -127
  86. package/src/CircularProgress.tsx +0 -42
  87. package/src/CssBaseline.tsx +0 -20
  88. package/src/DataTable/DataTable.tsx +0 -968
  89. package/src/DataTable/DataTableRowActions.tsx +0 -132
  90. package/src/DataTable/DataTableSettings.tsx +0 -136
  91. package/src/DataTable/constants.ts +0 -13
  92. package/src/DataTable/index.tsx +0 -28
  93. package/src/DataTable/reorderDataRowsLocally.tsx +0 -48
  94. package/src/DataTable/useRowReordering.tsx +0 -232
  95. package/src/DataTable/useScrollIndication.tsx +0 -125
  96. package/src/DatePickers/DateField.tsx +0 -267
  97. package/src/DatePickers/DateFieldActionBar.tsx +0 -65
  98. package/src/DatePickers/DateFieldLocalizationProvider.tsx +0 -46
  99. package/src/DatePickers/DatePicker.test.tsx +0 -66
  100. package/src/DatePickers/DatePicker.tsx +0 -299
  101. package/src/DatePickers/DatePicker.types.d.ts +0 -14
  102. package/src/DatePickers/TimeZonePicker.tsx +0 -59
  103. package/src/DatePickers/datePickerTheme.tsx +0 -377
  104. package/src/DatePickers/index.ts +0 -15
  105. package/src/DatePickers/useDateFieldsTranslations.ts +0 -94
  106. package/src/DatePickers/useOdysseyDateFields.ts +0 -303
  107. package/src/Dialog.tsx +0 -178
  108. package/src/Drawer.tsx +0 -255
  109. package/src/EmptyState.tsx +0 -79
  110. package/src/ErrorMessageList.tsx +0 -56
  111. package/src/Field.tsx +0 -189
  112. package/src/FieldComponentProps.ts +0 -66
  113. package/src/FieldError.tsx +0 -59
  114. package/src/FieldHint.tsx +0 -72
  115. package/src/FieldLabel.tsx +0 -67
  116. package/src/Fieldset.tsx +0 -116
  117. package/src/FieldsetContext.tsx +0 -23
  118. package/src/FileUploader/FileUploadIllustration.tsx +0 -66
  119. package/src/FileUploader/FileUploadPreview.tsx +0 -151
  120. package/src/FileUploader/FileUploader.tsx +0 -311
  121. package/src/FileUploader/index.ts +0 -13
  122. package/src/Form.tsx +0 -185
  123. package/src/FormCheckedProps.ts +0 -59
  124. package/src/HintLink.tsx +0 -28
  125. package/src/HtmlProps.ts +0 -112
  126. package/src/IconWithTooltip.tsx +0 -90
  127. package/src/Link.tsx +0 -115
  128. package/src/MuiPropsChild.tsx +0 -42
  129. package/src/MuiPropsContext.ts +0 -18
  130. package/src/NativeSelect.tsx +0 -249
  131. package/src/NullElement.tsx +0 -13
  132. package/src/OdysseyCacheProvider.test.tsx +0 -39
  133. package/src/OdysseyCacheProvider.tsx +0 -86
  134. package/src/OdysseyDesignTokensContext.tsx +0 -23
  135. package/src/OdysseyProvider.tsx +0 -92
  136. package/src/OdysseyThemeProvider.test.tsx +0 -211
  137. package/src/OdysseyThemeProvider.tsx +0 -109
  138. package/src/OdysseyTranslationProvider.test.tsx +0 -95
  139. package/src/OdysseyTranslationProvider.tsx +0 -77
  140. package/src/OdysseyTranslationProvider.types.ts +0 -47
  141. package/src/Pagination/Pagination.test.tsx +0 -327
  142. package/src/Pagination/Pagination.tsx +0 -417
  143. package/src/Pagination/constants.ts +0 -13
  144. package/src/Pagination/index.ts +0 -15
  145. package/src/Pagination/usePagination.ts +0 -45
  146. package/src/PasswordField.tsx +0 -253
  147. package/src/Radio.tsx +0 -199
  148. package/src/RadioGroup.tsx +0 -164
  149. package/src/ScreenReaderText.tsx +0 -53
  150. package/src/SearchField.tsx +0 -240
  151. package/src/Select.tsx +0 -576
  152. package/src/Stack.tsx +0 -56
  153. package/src/Status.tsx +0 -67
  154. package/src/Surface.tsx +0 -61
  155. package/src/SvgIcon.ts +0 -22
  156. package/src/Switch.tsx +0 -425
  157. package/src/Tabs.tsx +0 -259
  158. package/src/Tag.tsx +0 -317
  159. package/src/TagList.tsx +0 -55
  160. package/src/TagListContext.tsx +0 -23
  161. package/src/TextField.tsx +0 -298
  162. package/src/Toast.tsx +0 -151
  163. package/src/ToastStack.tsx +0 -43
  164. package/src/Tooltip.tsx +0 -61
  165. package/src/Typography.test.tsx +0 -26
  166. package/src/Typography.tsx +0 -474
  167. package/src/createContrastColors.ts +0 -112
  168. package/src/createUniqueAlphabeticalId.test.ts +0 -22
  169. package/src/createUniqueAlphabeticalId.ts +0 -17
  170. package/src/createUniqueId.test.ts +0 -22
  171. package/src/createUniqueId.ts +0 -17
  172. package/src/getTypedObjectKeys.ts +0 -15
  173. package/src/hexToRgb.ts +0 -40
  174. package/src/i18n.ts +0 -110
  175. package/src/icons.generated/Add.tsx +0 -44
  176. package/src/icons.generated/AddCircle.tsx +0 -46
  177. package/src/icons.generated/Apps.tsx +0 -44
  178. package/src/icons.generated/ArrowBottom.tsx +0 -46
  179. package/src/icons.generated/ArrowDown.tsx +0 -46
  180. package/src/icons.generated/ArrowLeft.tsx +0 -46
  181. package/src/icons.generated/ArrowLowerLeft.tsx +0 -46
  182. package/src/icons.generated/ArrowLowerRight.tsx +0 -46
  183. package/src/icons.generated/ArrowRight.tsx +0 -46
  184. package/src/icons.generated/ArrowTop.tsx +0 -46
  185. package/src/icons.generated/ArrowUnsorted.tsx +0 -46
  186. package/src/icons.generated/ArrowUp.tsx +0 -46
  187. package/src/icons.generated/ArrowUpperLeft.tsx +0 -46
  188. package/src/icons.generated/ArrowUpperRight.tsx +0 -46
  189. package/src/icons.generated/Bug.tsx +0 -44
  190. package/src/icons.generated/Calendar.tsx +0 -46
  191. package/src/icons.generated/Call.tsx +0 -44
  192. package/src/icons.generated/Chat.tsx +0 -44
  193. package/src/icons.generated/Check.tsx +0 -44
  194. package/src/icons.generated/CheckCircleFilled.tsx +0 -47
  195. package/src/icons.generated/ChevronDown.tsx +0 -46
  196. package/src/icons.generated/ChevronLeft.tsx +0 -46
  197. package/src/icons.generated/ChevronRight.tsx +0 -46
  198. package/src/icons.generated/ChevronUp.tsx +0 -46
  199. package/src/icons.generated/Clock.tsx +0 -44
  200. package/src/icons.generated/Close.tsx +0 -44
  201. package/src/icons.generated/CloseCircleFilled.tsx +0 -47
  202. package/src/icons.generated/CollapseLeft.tsx +0 -46
  203. package/src/icons.generated/CollapseRight.tsx +0 -46
  204. package/src/icons.generated/Copy.tsx +0 -44
  205. package/src/icons.generated/Custom.tsx +0 -50
  206. package/src/icons.generated/DangerDiamond.tsx +0 -46
  207. package/src/icons.generated/DangerDiamondFilled.tsx +0 -47
  208. package/src/icons.generated/Delete.tsx +0 -44
  209. package/src/icons.generated/Deny.tsx +0 -44
  210. package/src/icons.generated/Devices.tsx +0 -46
  211. package/src/icons.generated/Directory.tsx +0 -46
  212. package/src/icons.generated/Documentation.tsx +0 -46
  213. package/src/icons.generated/Download.tsx +0 -46
  214. package/src/icons.generated/DragIndicator.tsx +0 -46
  215. package/src/icons.generated/Duo.tsx +0 -62
  216. package/src/icons.generated/Edit.tsx +0 -44
  217. package/src/icons.generated/Email.tsx +0 -49
  218. package/src/icons.generated/ExpandLeft.tsx +0 -46
  219. package/src/icons.generated/ExpandRight.tsx +0 -46
  220. package/src/icons.generated/ExternalLink.tsx +0 -44
  221. package/src/icons.generated/Fido2.tsx +0 -72
  222. package/src/icons.generated/Filter.tsx +0 -44
  223. package/src/icons.generated/Folder.tsx +0 -44
  224. package/src/icons.generated/Globe.tsx +0 -44
  225. package/src/icons.generated/GoogleAuth.tsx +0 -70
  226. package/src/icons.generated/Grid.tsx +0 -47
  227. package/src/icons.generated/Group.tsx +0 -44
  228. package/src/icons.generated/Hide.tsx +0 -44
  229. package/src/icons.generated/Home.tsx +0 -44
  230. package/src/icons.generated/Idp.tsx +0 -54
  231. package/src/icons.generated/InformationCircle.tsx +0 -47
  232. package/src/icons.generated/InformationCircleFilled.tsx +0 -47
  233. package/src/icons.generated/Link.tsx +0 -44
  234. package/src/icons.generated/List.tsx +0 -44
  235. package/src/icons.generated/Lock.tsx +0 -44
  236. package/src/icons.generated/More.tsx +0 -44
  237. package/src/icons.generated/Notification.tsx +0 -46
  238. package/src/icons.generated/OktaVerify.tsx +0 -46
  239. package/src/icons.generated/OnPremMfa.tsx +0 -52
  240. package/src/icons.generated/OneTimePassword.tsx +0 -65
  241. package/src/icons.generated/Password.tsx +0 -80
  242. package/src/icons.generated/Pause.tsx +0 -44
  243. package/src/icons.generated/QuestionCircle.tsx +0 -46
  244. package/src/icons.generated/QuestionCircleFilled.tsx +0 -47
  245. package/src/icons.generated/Refresh.tsx +0 -46
  246. package/src/icons.generated/Reset.tsx +0 -44
  247. package/src/icons.generated/Resume.tsx +0 -44
  248. package/src/icons.generated/Search.tsx +0 -44
  249. package/src/icons.generated/SecurityQuestion.tsx +0 -51
  250. package/src/icons.generated/Server.tsx +0 -44
  251. package/src/icons.generated/Settings.tsx +0 -46
  252. package/src/icons.generated/Show.tsx +0 -44
  253. package/src/icons.generated/SmartCard.tsx +0 -65
  254. package/src/icons.generated/Sms.tsx +0 -55
  255. package/src/icons.generated/Subtract.tsx +0 -46
  256. package/src/icons.generated/SymantecVip.tsx +0 -52
  257. package/src/icons.generated/Sync.tsx +0 -44
  258. package/src/icons.generated/ThumbsDown.tsx +0 -46
  259. package/src/icons.generated/ThumbsUp.tsx +0 -46
  260. package/src/icons.generated/Unlock.tsx +0 -44
  261. package/src/icons.generated/Upload.tsx +0 -44
  262. package/src/icons.generated/User.tsx +0 -44
  263. package/src/icons.generated/Video.tsx +0 -44
  264. package/src/icons.generated/VoiceCall.tsx +0 -62
  265. package/src/icons.generated/Warning.tsx +0 -46
  266. package/src/icons.generated/WarningFilled.tsx +0 -46
  267. package/src/icons.generated/Yubikey.tsx +0 -44
  268. package/src/icons.generated/index.ts +0 -107
  269. package/src/index.ts +0 -118
  270. package/src/inputUtils.ts +0 -80
  271. package/src/labs/AppTile.tsx +0 -421
  272. package/src/labs/DataFilters.tsx +0 -871
  273. package/src/labs/DataTable.tsx +0 -877
  274. package/src/labs/DataTablePagination.tsx +0 -88
  275. package/src/labs/DataView/BulkActionsMenu.tsx +0 -98
  276. package/src/labs/DataView/CardLayoutContent.tsx +0 -272
  277. package/src/labs/DataView/DataCard.tsx +0 -357
  278. package/src/labs/DataView/DataTable.tsx +0 -128
  279. package/src/labs/DataView/DataView.test.tsx +0 -1168
  280. package/src/labs/DataView/DataView.tsx +0 -504
  281. package/src/labs/DataView/DetailPanel.tsx +0 -31
  282. package/src/labs/DataView/LayoutSwitcher.tsx +0 -72
  283. package/src/labs/DataView/RowActions.tsx +0 -125
  284. package/src/labs/DataView/TableLayoutContent.tsx +0 -500
  285. package/src/labs/DataView/TableSettings.tsx +0 -144
  286. package/src/labs/DataView/componentTypes.ts +0 -129
  287. package/src/labs/DataView/constants.tsx +0 -28
  288. package/src/labs/DataView/dataTypes.ts +0 -83
  289. package/src/labs/DataView/fetchData.ts +0 -49
  290. package/src/labs/DataView/index.ts +0 -19
  291. package/src/labs/DataView/tableConstants.tsx +0 -137
  292. package/src/labs/DataView/testSupportData.tsx +0 -301
  293. package/src/labs/DataView/useFilterConversion.ts +0 -88
  294. package/src/labs/DatePickers/DateTimeField.tsx +0 -267
  295. package/src/labs/DatePickers/DateTimePicker.test.tsx +0 -70
  296. package/src/labs/DatePickers/DateTimePicker.tsx +0 -303
  297. package/src/labs/DatePickers/dateTimePickerTheme.ts +0 -216
  298. package/src/labs/DatePickers/index.ts +0 -13
  299. package/src/labs/GroupPicker.tsx +0 -261
  300. package/src/labs/OdysseyPickers/ComposablePicker.test.tsx +0 -32
  301. package/src/labs/OdysseyPickers/ComposablePicker.tsx +0 -188
  302. package/src/labs/OdysseyPickers/Picker.tsx +0 -381
  303. package/src/labs/OdysseyPickers/PickerVirtualizationListBox.tsx +0 -192
  304. package/src/labs/OdysseyPickers/PickerWithOptionAdornment.tsx +0 -429
  305. package/src/labs/OdysseyPickers/index.ts +0 -15
  306. package/src/labs/PageTemplate/Layout.tsx +0 -85
  307. package/src/labs/PageTemplate/PageTemplate.tsx +0 -234
  308. package/src/labs/PageTemplate/index.ts +0 -14
  309. package/src/labs/PaginatedTable.tsx +0 -290
  310. package/src/labs/README.md +0 -46
  311. package/src/labs/StaticTable.tsx +0 -131
  312. package/src/labs/UserProfile.tsx +0 -104
  313. package/src/labs/UserProfileMenuButton.tsx +0 -86
  314. package/src/labs/index.ts +0 -47
  315. package/src/labs/materialReactTableTypes.tsx +0 -19
  316. package/src/properties/odyssey-react-mui.properties +0 -140
  317. package/src/properties/translations/odyssey-react-mui_cs.properties +0 -140
  318. package/src/properties/translations/odyssey-react-mui_da.properties +0 -140
  319. package/src/properties/translations/odyssey-react-mui_de.properties +0 -140
  320. package/src/properties/translations/odyssey-react-mui_el.properties +0 -140
  321. package/src/properties/translations/odyssey-react-mui_es.properties +0 -140
  322. package/src/properties/translations/odyssey-react-mui_fi.properties +0 -140
  323. package/src/properties/translations/odyssey-react-mui_fr.properties +0 -140
  324. package/src/properties/translations/odyssey-react-mui_ht.properties +0 -140
  325. package/src/properties/translations/odyssey-react-mui_hu.properties +0 -140
  326. package/src/properties/translations/odyssey-react-mui_id.properties +0 -140
  327. package/src/properties/translations/odyssey-react-mui_it.properties +0 -140
  328. package/src/properties/translations/odyssey-react-mui_ja.properties +0 -140
  329. package/src/properties/translations/odyssey-react-mui_ko.properties +0 -140
  330. package/src/properties/translations/odyssey-react-mui_ms.properties +0 -140
  331. package/src/properties/translations/odyssey-react-mui_nb.properties +0 -140
  332. package/src/properties/translations/odyssey-react-mui_nl_NL.properties +0 -140
  333. package/src/properties/translations/odyssey-react-mui_ok_PL.properties +0 -126
  334. package/src/properties/translations/odyssey-react-mui_ok_SK.properties +0 -126
  335. package/src/properties/translations/odyssey-react-mui_pl.properties +0 -140
  336. package/src/properties/translations/odyssey-react-mui_pt_BR.properties +0 -140
  337. package/src/properties/translations/odyssey-react-mui_ro.properties +0 -140
  338. package/src/properties/translations/odyssey-react-mui_ru.properties +0 -140
  339. package/src/properties/translations/odyssey-react-mui_sv.properties +0 -140
  340. package/src/properties/translations/odyssey-react-mui_th.properties +0 -140
  341. package/src/properties/translations/odyssey-react-mui_tr.properties +0 -140
  342. package/src/properties/translations/odyssey-react-mui_uk.properties +0 -140
  343. package/src/properties/translations/odyssey-react-mui_vi.properties +0 -140
  344. package/src/properties/translations/odyssey-react-mui_zh_CN.properties +0 -140
  345. package/src/properties/translations/odyssey-react-mui_zh_TW.properties +0 -140
  346. package/src/properties/ts/odyssey-react-mui.ts +0 -1
  347. package/src/properties/ts/odyssey-react-mui_cs.ts +0 -1
  348. package/src/properties/ts/odyssey-react-mui_da.ts +0 -1
  349. package/src/properties/ts/odyssey-react-mui_de.ts +0 -1
  350. package/src/properties/ts/odyssey-react-mui_el.ts +0 -1
  351. package/src/properties/ts/odyssey-react-mui_es.ts +0 -1
  352. package/src/properties/ts/odyssey-react-mui_fi.ts +0 -1
  353. package/src/properties/ts/odyssey-react-mui_fr.ts +0 -1
  354. package/src/properties/ts/odyssey-react-mui_ht.ts +0 -1
  355. package/src/properties/ts/odyssey-react-mui_hu.ts +0 -1
  356. package/src/properties/ts/odyssey-react-mui_id.ts +0 -1
  357. package/src/properties/ts/odyssey-react-mui_it.ts +0 -1
  358. package/src/properties/ts/odyssey-react-mui_ja.ts +0 -1
  359. package/src/properties/ts/odyssey-react-mui_ko.ts +0 -1
  360. package/src/properties/ts/odyssey-react-mui_ms.ts +0 -1
  361. package/src/properties/ts/odyssey-react-mui_nb.ts +0 -1
  362. package/src/properties/ts/odyssey-react-mui_nl_NL.ts +0 -1
  363. package/src/properties/ts/odyssey-react-mui_ok_PL.ts +0 -1
  364. package/src/properties/ts/odyssey-react-mui_ok_SK.ts +0 -1
  365. package/src/properties/ts/odyssey-react-mui_pl.ts +0 -1
  366. package/src/properties/ts/odyssey-react-mui_pt_BR.ts +0 -1
  367. package/src/properties/ts/odyssey-react-mui_ro.ts +0 -1
  368. package/src/properties/ts/odyssey-react-mui_ru.ts +0 -1
  369. package/src/properties/ts/odyssey-react-mui_sv.ts +0 -1
  370. package/src/properties/ts/odyssey-react-mui_th.ts +0 -1
  371. package/src/properties/ts/odyssey-react-mui_tr.ts +0 -1
  372. package/src/properties/ts/odyssey-react-mui_uk.ts +0 -1
  373. package/src/properties/ts/odyssey-react-mui_vi.ts +0 -1
  374. package/src/properties/ts/odyssey-react-mui_zh_CN.ts +0 -1
  375. package/src/properties/ts/odyssey-react-mui_zh_TW.ts +0 -1
  376. package/src/remUtils.ts +0 -27
  377. package/src/shadow-dom/index.ts +0 -13
  378. package/src/shadow-dom/shadow-dom.test.ts +0 -24
  379. package/src/shadow-dom/shadow-dom.ts +0 -54
  380. package/src/test-selectors/getByQuerySelector.ts +0 -176
  381. package/src/test-selectors/getComputedAccessibleErrorMessageText.ts +0 -52
  382. package/src/test-selectors/getComputedAccessibleText.ts +0 -36
  383. package/src/test-selectors/index.ts +0 -15
  384. package/src/test-selectors/interpolateString.ts +0 -41
  385. package/src/test-selectors/linkedHtmlSelectors.ts +0 -73
  386. package/src/test-selectors/queryOdysseySelector.ts +0 -36
  387. package/src/test-selectors/querySelector.ts +0 -249
  388. package/src/test-selectors/sanityChecks.ts +0 -53
  389. package/src/test-selectors/testSelector.ts +0 -143
  390. package/src/theme/components.tsx +0 -3275
  391. package/src/theme/components.types.ts +0 -111
  392. package/src/theme/createOdysseyMuiTheme.ts +0 -54
  393. package/src/theme/index.ts +0 -13
  394. package/src/theme/mixins.ts +0 -29
  395. package/src/theme/mixins.types.ts +0 -31
  396. package/src/theme/palette.ts +0 -112
  397. package/src/theme/palette.types.ts +0 -24
  398. package/src/theme/shape.ts +0 -31
  399. package/src/theme/spacing.ts +0 -34
  400. package/src/theme/theme.ts +0 -13
  401. package/src/theme/typography.ts +0 -137
  402. package/src/theme/typography.types.ts +0 -41
  403. package/src/theme/useContrastMode.test.tsx +0 -504
  404. package/src/ui-shell/AppSwitcher/AppSwitcher.tsx +0 -94
  405. package/src/ui-shell/AppSwitcher/AppSwitcherApp.tsx +0 -146
  406. package/src/ui-shell/AppSwitcher/OktaAura.tsx +0 -50
  407. package/src/ui-shell/AppSwitcher/index.ts +0 -13
  408. package/src/ui-shell/SideNav/CollapseIcon.tsx +0 -34
  409. package/src/ui-shell/SideNav/HandleIcon.tsx +0 -35
  410. package/src/ui-shell/SideNav/NavAccordion.tsx +0 -243
  411. package/src/ui-shell/SideNav/OktaLogo.tsx +0 -34
  412. package/src/ui-shell/SideNav/SideNav.test.tsx +0 -326
  413. package/src/ui-shell/SideNav/SideNav.tsx +0 -810
  414. package/src/ui-shell/SideNav/SideNavFooterContent.tsx +0 -85
  415. package/src/ui-shell/SideNav/SideNavHeader.tsx +0 -134
  416. package/src/ui-shell/SideNav/SideNavItemContent.tsx +0 -402
  417. package/src/ui-shell/SideNav/SideNavItemContentContext.tsx +0 -29
  418. package/src/ui-shell/SideNav/SideNavItemLinkContent.tsx +0 -90
  419. package/src/ui-shell/SideNav/SideNavLogo.tsx +0 -65
  420. package/src/ui-shell/SideNav/SideNavToggleButton.tsx +0 -272
  421. package/src/ui-shell/SideNav/SortableList/SortableItem.tsx +0 -237
  422. package/src/ui-shell/SideNav/SortableList/SortableList.tsx +0 -132
  423. package/src/ui-shell/SideNav/SortableList/SortableOverlay.tsx +0 -34
  424. package/src/ui-shell/SideNav/index.ts +0 -16
  425. package/src/ui-shell/SideNav/types.ts +0 -224
  426. package/src/ui-shell/TopNav/TopNav.tsx +0 -109
  427. package/src/ui-shell/TopNav/TopNavLinksList.tsx +0 -68
  428. package/src/ui-shell/TopNav/TopNavListItem.tsx +0 -209
  429. package/src/ui-shell/TopNav/index.ts +0 -13
  430. package/src/ui-shell/UiShell.test.tsx +0 -366
  431. package/src/ui-shell/UiShell.tsx +0 -153
  432. package/src/ui-shell/UiShellContent.tsx +0 -350
  433. package/src/ui-shell/UiShellProvider.tsx +0 -103
  434. package/src/ui-shell/bufferLatest.test.ts +0 -79
  435. package/src/ui-shell/bufferLatest.ts +0 -64
  436. package/src/ui-shell/createMessageBus.test.ts +0 -115
  437. package/src/ui-shell/createMessageBus.ts +0 -53
  438. package/src/ui-shell/createStore.test.ts +0 -103
  439. package/src/ui-shell/createStore.ts +0 -37
  440. package/src/ui-shell/index.ts +0 -21
  441. package/src/ui-shell/renderUiShell.test.tsx +0 -203
  442. package/src/ui-shell/renderUiShell.tsx +0 -158
  443. package/src/ui-shell/useHasUiShell.ts +0 -25
  444. package/src/ui-shell/useScrollState.ts +0 -59
  445. package/src/useAutocomplete.tsx +0 -184
  446. package/src/useContrastMode.tsx +0 -143
  447. package/src/useNormalizedKey.ts +0 -17
  448. package/src/useUniqueAlphabeticalId.ts +0 -21
  449. package/src/useUniqueId.ts +0 -21
  450. package/src/web-component/createReactRootElements.test.ts +0 -40
  451. package/src/web-component/createReactRootElements.ts +0 -39
  452. package/src/web-component/index.ts +0 -13
  453. package/src/web-component/renderReactInWebComponent.test.tsx +0 -128
  454. package/src/web-component/renderReactInWebComponent.ts +0 -135
  455. package/tsconfig.json +0 -16
  456. package/tsconfig.production.json +0 -13
  457. package/vitest.config.ts +0 -36
  458. package/vitest.setup.ts +0 -32
@@ -1,125 +0,0 @@
1
- /*!
2
- * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.
3
- * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
4
- *
5
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
6
- * Unless required by applicable law or agreed to in writing, software
7
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
8
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
- *
10
- * See the License for the specific language governing permissions and limitations under the License.
11
- */
12
-
13
- import { Fragment, ReactElement, memo, useCallback } from "react";
14
- import { MRT_Row, MRT_RowData } from "material-react-table";
15
- import { useTranslation } from "react-i18next";
16
-
17
- import {
18
- ArrowBottomIcon,
19
- ArrowDownIcon,
20
- ArrowTopIcon,
21
- ArrowUpIcon,
22
- } from "../../icons.generated/index.js";
23
- import { Button, MenuButtonProps, MenuItem } from "../../Buttons/index.js";
24
- import { DataTableProps } from "./DataTable.js";
25
-
26
- export type RowActionsProps<TData extends MRT_RowData> = {
27
- isRowReorderingDisabled?: boolean;
28
- row: MRT_Row<TData>;
29
- rowActionButtons?: (
30
- row: MRT_Row<TData>,
31
- ) => ReactElement<typeof Button> | ReactElement<typeof Fragment>;
32
- rowActionMenuItems?: (row: MRT_Row<TData>) => MenuButtonProps["children"];
33
- rowIndex: number;
34
- totalRows?: DataTableProps<TData>["totalRows"];
35
- updateRowOrder?: ({
36
- newRowIndex,
37
- rowId,
38
- }: {
39
- newRowIndex: number;
40
- rowId: string;
41
- }) => void;
42
- };
43
-
44
- const RowActions = <TData extends MRT_RowData>({
45
- isRowReorderingDisabled,
46
- row,
47
- rowActionMenuItems,
48
- rowIndex,
49
- totalRows,
50
- updateRowOrder,
51
- }: RowActionsProps<TData>) => {
52
- const { t } = useTranslation();
53
-
54
- const handleToFrontClick = useCallback(() => {
55
- if (updateRowOrder) {
56
- updateRowOrder({ rowId: row.id, newRowIndex: 0 });
57
- }
58
- }, [row.id, updateRowOrder]);
59
-
60
- const handleForwardClick = useCallback(() => {
61
- if (updateRowOrder) {
62
- updateRowOrder({ rowId: row.id, newRowIndex: Math.max(0, rowIndex - 1) });
63
- }
64
- }, [row.id, rowIndex, updateRowOrder]);
65
-
66
- const handleBackwardClick = useCallback(() => {
67
- if (updateRowOrder) {
68
- updateRowOrder({ rowId: row.id, newRowIndex: rowIndex + 1 });
69
- }
70
- }, [row.id, rowIndex, updateRowOrder]);
71
-
72
- const handleToBackClick = useCallback(() => {
73
- if (updateRowOrder) {
74
- updateRowOrder({
75
- rowId: row.id,
76
- newRowIndex: totalRows ? totalRows - 1 : rowIndex,
77
- });
78
- }
79
- }, [row.id, rowIndex, totalRows, updateRowOrder]);
80
-
81
- return (
82
- <>
83
- {rowActionMenuItems && rowActionMenuItems(row)}
84
- {rowActionMenuItems && updateRowOrder && <hr />}
85
- {updateRowOrder && (
86
- <>
87
- <MenuItem
88
- isDisabled={rowIndex <= 0 || isRowReorderingDisabled}
89
- onClick={handleToFrontClick}
90
- >
91
- <ArrowTopIcon /> {t("table.reorder.tofront")}
92
- </MenuItem>
93
- <MenuItem
94
- isDisabled={rowIndex <= 0 || isRowReorderingDisabled}
95
- onClick={handleForwardClick}
96
- >
97
- <ArrowUpIcon /> {t("table.reorder.forward")}
98
- </MenuItem>
99
- <MenuItem
100
- isDisabled={
101
- (totalRows ? rowIndex >= totalRows - 1 : false) ||
102
- isRowReorderingDisabled
103
- }
104
- onClick={handleBackwardClick}
105
- >
106
- <ArrowDownIcon /> {t("table.reorder.backward")}
107
- </MenuItem>
108
- {totalRows && (
109
- <MenuItem
110
- isDisabled={rowIndex >= totalRows - 1 || isRowReorderingDisabled}
111
- onClick={handleToBackClick}
112
- >
113
- <ArrowBottomIcon /> {t("table.reorder.toback")}
114
- </MenuItem>
115
- )}
116
- </>
117
- )}
118
- </>
119
- );
120
- };
121
-
122
- const MemoizedRowActions = memo(RowActions);
123
- MemoizedRowActions.displayName = "RowActions";
124
-
125
- export { MemoizedRowActions as RowActions };
@@ -1,500 +0,0 @@
1
- /*!
2
- * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.
3
- * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
4
- *
5
- * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
6
- * Unless required by applicable law or agreed to in writing, software
7
- * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
8
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
- *
10
- * See the License for the specific language governing permissions and limitations under the License.
11
- */
12
-
13
- import {
14
- SetStateAction,
15
- memo,
16
- useCallback,
17
- useMemo,
18
- useRef,
19
- useState,
20
- ReactNode,
21
- Dispatch,
22
- ReactElement,
23
- useEffect,
24
- } from "react";
25
- import styled, { CSSObject } from "@emotion/styled";
26
- import {
27
- MRT_Row,
28
- MRT_RowData,
29
- MRT_RowSelectionState,
30
- MRT_TableContainer,
31
- MRT_TableInstance,
32
- MRT_TableOptions,
33
- useMaterialReactTable,
34
- } from "material-react-table";
35
- import { useTranslation } from "react-i18next";
36
-
37
- import {
38
- ArrowDownIcon,
39
- ArrowUnsortedIcon,
40
- ChevronDownIcon,
41
- DragIndicatorIcon,
42
- MoreIcon,
43
- } from "../../icons.generated/index.js";
44
- import { Box } from "../../Box.js";
45
- import { Button, MenuButton } from "../../Buttons/index.js";
46
- import {
47
- TableLayoutProps,
48
- TableState,
49
- UniversalProps,
50
- } from "./componentTypes.js";
51
- import { DataTableCell } from "./dataTypes.js";
52
- import {
53
- dataTableImmutableSettings,
54
- displayColumnDefOptions,
55
- ScrollableTableContainer,
56
- } from "./tableConstants.js";
57
- import { RowActions } from "./RowActions.js";
58
- import { useOdysseyDesignTokens } from "../../OdysseyDesignTokensContext.js";
59
- import { useScrollIndication } from "../../DataTable/useScrollIndication.js";
60
-
61
- const TextWrapper = styled("div")({
62
- whiteSpace: "nowrap",
63
- textOverflow: "ellipsis",
64
- overflow: "hidden",
65
- });
66
-
67
- const RowActionsContainer = styled("div")({
68
- display: "flex",
69
- });
70
-
71
- export type TableLayoutContentProps<TData extends MRT_RowData> = {
72
- columns: TableLayoutProps<TData>["columns"];
73
- data: MRT_RowData[];
74
- draggingRow?: MRT_Row<TData> | null;
75
- emptyState: ReactNode;
76
- enableVirtualization?: boolean;
77
- getRowId: UniversalProps<TData>["getRowId"];
78
- hasRowReordering: UniversalProps<TData>["hasRowReordering"];
79
- hasRowSelection: UniversalProps<TData>["hasRowSelection"];
80
- isEmpty?: boolean;
81
- isLoading: boolean;
82
- isNoResults?: boolean;
83
- isRowReorderingDisabled?: boolean;
84
- onReorderRows: UniversalProps<TData>["onReorderRows"];
85
- pagination: {
86
- pageIndex: number;
87
- pageSize: number;
88
- };
89
- rowReorderingUtilities: {
90
- dragHandleStyles: CSSObject;
91
- dragHandleText: {
92
- title: string;
93
- "aria-label": string;
94
- };
95
- draggableTableBodyRowClassName: ({
96
- currentRowId,
97
- draggingRowId,
98
- hoveredRowId,
99
- }: {
100
- currentRowId: string;
101
- draggingRowId?: string;
102
- hoveredRowId?: string;
103
- }) => string | undefined;
104
- handleDragHandleKeyDown: ({
105
- table,
106
- row,
107
- event,
108
- }: {
109
- table: MRT_TableInstance<TData>;
110
- row: MRT_Row<TData>;
111
- event: React.KeyboardEvent<HTMLButtonElement>;
112
- }) => void;
113
- handleDragHandleOnDragCapture: (table: MRT_TableInstance<TData>) => void;
114
- handleDragHandleOnDragEnd: (table: MRT_TableInstance<TData>) => void;
115
- resetDraggingAndHoveredRow: (table: MRT_TableInstance<TData>) => void;
116
- updateRowOrder: ({
117
- rowId,
118
- newRowIndex,
119
- }: {
120
- rowId: string;
121
- newRowIndex: number;
122
- }) => void;
123
- };
124
- rowSelection: MRT_RowSelectionState;
125
- setRowSelection: Dispatch<SetStateAction<MRT_RowSelectionState>>;
126
- setTableState: Dispatch<SetStateAction<TableState>>;
127
- tableLayoutOptions: TableLayoutProps<TData>;
128
- tableState: TableState;
129
- totalRows: UniversalProps<TData>["totalRows"];
130
- };
131
-
132
- type TableLayoutContentComponent = (<TData extends MRT_RowData>(
133
- props: TableLayoutContentProps<TData>,
134
- ) => JSX.Element) & {
135
- displayName?: string;
136
- };
137
-
138
- const TableLayoutContent = <TData extends MRT_RowData>({
139
- columns,
140
- data,
141
- draggingRow,
142
- emptyState,
143
- enableVirtualization,
144
- getRowId,
145
- hasRowReordering,
146
- hasRowSelection,
147
- isEmpty,
148
- isLoading,
149
- isNoResults,
150
- isRowReorderingDisabled,
151
- onReorderRows,
152
- pagination,
153
- rowReorderingUtilities,
154
- rowSelection,
155
- setRowSelection,
156
- setTableState,
157
- tableLayoutOptions,
158
- tableState,
159
- totalRows,
160
- }: TableLayoutContentProps<TData>) => {
161
- const [isTableContainerScrolledToStart, setIsTableContainerScrolledToStart] =
162
- useState(true);
163
- const [isTableContainerScrolledToEnd, setIsTableContainerScrolledToEnd] =
164
- useState(true);
165
- const [tableInnerContainerWidth, setTableInnerContainerWidth] =
166
- useState<string>("100%");
167
- const shouldUpdateScroll = useRef<boolean>(false);
168
- const tableOuterContainerRef = useRef<HTMLDivElement>(null);
169
- const tableInnerContainerRef = useRef<HTMLDivElement>(null);
170
- const tableContentRef = useRef<HTMLTableElement>(null);
171
-
172
- useScrollIndication({
173
- setIsTableContainerScrolledToEnd: setIsTableContainerScrolledToEnd,
174
- setIsTableContainerScrolledToStart: setIsTableContainerScrolledToStart,
175
- setTableInnerContainerWidth: setTableInnerContainerWidth,
176
- tableInnerContainer: tableInnerContainerRef.current,
177
- tableOuterContainer: tableOuterContainerRef.current,
178
- });
179
-
180
- const odysseyDesignTokens = useOdysseyDesignTokens();
181
- const { t } = useTranslation();
182
-
183
- const columnIds = useMemo(() => {
184
- return columns.map((column) => column.accessorKey) ?? [];
185
- }, [columns]);
186
-
187
- const columnOrder = useMemo(
188
- () => [
189
- "mrt-row-drag",
190
- "mrt-row-select",
191
- "mrt-row-expand",
192
- ...(columnIds?.filter((id): id is string => typeof id === "string") ||
193
- []),
194
- "mrt-row-actions",
195
- ],
196
- [columnIds],
197
- );
198
-
199
- const rowDensityClassName = useMemo(() => {
200
- return tableState.rowDensity === "spacious"
201
- ? "MuiTableBody-spacious"
202
- : tableState.rowDensity === "compact"
203
- ? "MuiTableBody-compact"
204
- : "MuiTableBody-default";
205
- }, [tableState]);
206
-
207
- const defaultCell = useCallback<
208
- ({ cell }: { cell: DataTableCell<TData, unknown> }) => ReactElement | string
209
- >(({ cell }) => {
210
- const value = cell.getValue<string>();
211
- const hasTextWrapping =
212
- cell.column.columnDef.hasTextWrapping ||
213
- cell.column.columnDef.enableWrapping;
214
- return hasTextWrapping ? value : <TextWrapper>{value}</TextWrapper>;
215
- }, []);
216
-
217
- const {
218
- draggableTableBodyRowClassName,
219
- dragHandleStyles,
220
- dragHandleText,
221
- handleDragHandleKeyDown,
222
- handleDragHandleOnDragCapture,
223
- handleDragHandleOnDragEnd,
224
- resetDraggingAndHoveredRow,
225
- updateRowOrder,
226
- } = rowReorderingUtilities;
227
-
228
- const renderRowActions = useCallback(
229
- ({ row }: { row: MRT_Row<TData> }) => {
230
- const currentIndex =
231
- row.index + (pagination.pageIndex - 1) * pagination.pageSize;
232
- return (
233
- <RowActionsContainer>
234
- {tableLayoutOptions.rowActionButtons?.(row)}
235
- {(tableLayoutOptions.rowActionMenuItems || hasRowReordering) && (
236
- <MenuButton
237
- ariaLabel={t("table.moreactions.arialabel")}
238
- buttonVariant="floating"
239
- endIcon={<MoreIcon />}
240
- menuAlignment="right"
241
- size="small"
242
- >
243
- <RowActions
244
- isRowReorderingDisabled={isRowReorderingDisabled}
245
- row={
246
- row as unknown as MRT_Row<MRT_RowData> // TODO: FIX THIS! The types are wrong. `row` is incorrectly set in `RowActions` to not be TData.
247
- }
248
- rowActionMenuItems={
249
- // TODO: FIX THIS! The types are wrong. `row` is incorrectly set in `RowActions` to not be TData.
250
- tableLayoutOptions.rowActionMenuItems as unknown as (
251
- row: MRT_Row<MRT_RowData>,
252
- ) => any // eslint-disable-line @typescript-eslint/no-explicit-any
253
- }
254
- rowIndex={currentIndex}
255
- totalRows={totalRows}
256
- updateRowOrder={
257
- hasRowReordering && onReorderRows ? updateRowOrder : undefined
258
- }
259
- />
260
- </MenuButton>
261
- )}
262
- </RowActionsContainer>
263
- );
264
- },
265
- [
266
- hasRowReordering,
267
- isRowReorderingDisabled,
268
- onReorderRows,
269
- pagination.pageIndex,
270
- pagination.pageSize,
271
- t,
272
- tableLayoutOptions,
273
- totalRows,
274
- updateRowOrder,
275
- ],
276
- );
277
-
278
- const innerWidthStyle = useMemo(
279
- () => ({ width: tableInnerContainerWidth }),
280
- [tableInnerContainerWidth],
281
- );
282
-
283
- const emptyStateContainer = useCallback(
284
- () => <Box sx={innerWidthStyle}>{emptyState}</Box>,
285
- [innerWidthStyle, emptyState],
286
- );
287
-
288
- // Scroll to the bottom as soon as data loads after clicking the
289
- // loadMore pagination button
290
- useEffect(() => {
291
- if (enableVirtualization) {
292
- shouldUpdateScroll.current = true;
293
- }
294
- }, [enableVirtualization, pagination]);
295
-
296
- useEffect(() => {
297
- if (
298
- shouldUpdateScroll.current &&
299
- tableContentRef.current &&
300
- typeof tableInnerContainerRef.current?.scrollTo !== "undefined"
301
- ) {
302
- tableInnerContainerRef.current?.scrollTo(
303
- 0,
304
- tableContentRef.current.clientHeight,
305
- );
306
- shouldUpdateScroll.current = false;
307
- }
308
- }, [data]);
309
-
310
- const shouldDisplayRowActions = useMemo(
311
- () =>
312
- (hasRowReordering === true && onReorderRows) ||
313
- tableLayoutOptions.rowActionButtons ||
314
- tableLayoutOptions.rowActionMenuItems
315
- ? true
316
- : false,
317
- [
318
- hasRowReordering,
319
- onReorderRows,
320
- tableLayoutOptions.rowActionButtons,
321
- tableLayoutOptions.rowActionMenuItems,
322
- ],
323
- );
324
-
325
- const hasColumnWithGrow = columns.some((column) => column.grow === true);
326
-
327
- const dataTable = useMaterialReactTable<TData>({
328
- data: (!isEmpty && !isNoResults ? data : []) as TData[],
329
- columns,
330
- getRowId,
331
- state: {
332
- sorting: tableState.columnSorting,
333
- columnVisibility: tableState.columnVisibility,
334
- isLoading: isLoading,
335
- rowSelection: rowSelection,
336
- columnOrder: columnOrder,
337
- },
338
- icons: {
339
- ArrowDownwardIcon: ArrowDownIcon,
340
- DragHandleIcon: DragIndicatorIcon,
341
- SyncAltIcon: ArrowUnsortedIcon,
342
- ExpandMoreIcon: ChevronDownIcon,
343
- },
344
- ...dataTableImmutableSettings,
345
- displayColumnDefOptions: {
346
- ...(displayColumnDefOptions satisfies Partial<
347
- MRT_TableOptions<MRT_RowData>["displayColumnDefOptions"]
348
- >),
349
- "mrt-row-actions": {
350
- header: "",
351
- grow: !hasColumnWithGrow,
352
- muiTableBodyCellProps: {
353
- align: "right" as const,
354
- sx: {
355
- overflow: "visible",
356
- width: "unset",
357
- },
358
- className: "ods-actions-cell",
359
- },
360
- muiTableHeadCellProps: {
361
- align: "right" as const,
362
- sx: {
363
- width: "unset",
364
- },
365
- className: "ods-actions-cell",
366
- children: (
367
- <Box sx={{ display: "flex", visibility: "hidden" }}>
368
- {tableLayoutOptions.rowActionButtons &&
369
- // @ts-expect-error TODO: This type is wrong and needs to be fixed
370
- tableLayoutOptions.rowActionButtons({ id: null })}
371
- {((hasRowReordering === true && onReorderRows) ||
372
- tableLayoutOptions.rowActionMenuItems) && (
373
- <Box>
374
- <Button
375
- endIcon={<MoreIcon />}
376
- size="small"
377
- variant="floating"
378
- ariaLabel={t("table.moreactions.arialabel")}
379
- isDisabled
380
- />
381
- </Box>
382
- )}
383
- </Box>
384
- ),
385
- },
386
- },
387
- },
388
- muiTableProps: {
389
- ref: tableContentRef,
390
- className:
391
- !shouldDisplayRowActions && tableLayoutOptions.hasColumnResizing
392
- ? hasColumnWithGrow
393
- ? "ods-hide-spacer-column"
394
- : "ods-hide-spacer-column ods-column-grow"
395
- : "",
396
- },
397
- muiTableContainerProps: {
398
- ref: tableInnerContainerRef,
399
- },
400
- muiTableBodyProps: () => ({
401
- className: rowDensityClassName,
402
- tabIndex: 0,
403
- }),
404
- enableColumnResizing: tableLayoutOptions.hasColumnResizing,
405
- defaultColumn: {
406
- Cell: defaultCell,
407
- },
408
- enableRowActions:
409
- (hasRowReordering === true && onReorderRows) ||
410
- tableLayoutOptions.rowActionButtons ||
411
- tableLayoutOptions.rowActionMenuItems
412
- ? true
413
- : false,
414
- renderRowActions: ({ row }) => renderRowActions({ row }),
415
- enableRowOrdering: hasRowReordering && Boolean(onReorderRows),
416
- enableRowDragging: hasRowReordering && Boolean(onReorderRows),
417
- muiDetailPanelProps: ({ row }) => ({
418
- sx: {
419
- paddingBlock: row.getIsExpanded()
420
- ? `${odysseyDesignTokens.Spacing3} !important`
421
- : undefined,
422
- },
423
- }),
424
- muiTableBodyRowProps: ({ table, row, isDetailPanel }) => ({
425
- className: draggableTableBodyRowClassName({
426
- currentRowId: row.id,
427
- draggingRowId: draggingRow?.id,
428
- hoveredRowId: table.getState().hoveredRow?.id,
429
- }),
430
- sx: isDetailPanel
431
- ? {
432
- paddingBlock: "0 !important",
433
- border: 0,
434
- ["&:hover"]: {
435
- backgroundColor: `${odysseyDesignTokens.HueNeutralWhite} !important`,
436
- },
437
- }
438
- : {},
439
- }),
440
- muiRowDragHandleProps: ({ table, row }) => ({
441
- onKeyDown: (event) => handleDragHandleKeyDown({ table, row, event }),
442
- onBlur: () => resetDraggingAndHoveredRow(table),
443
- onDragEnd: () => handleDragHandleOnDragEnd(table),
444
- onDragCapture: () => handleDragHandleOnDragCapture(table),
445
- disabled: isRowReorderingDisabled,
446
- sx: dragHandleStyles,
447
- ...dragHandleText,
448
- }),
449
- renderDetailPanel: tableLayoutOptions.renderDetailPanel,
450
- enableRowVirtualization: enableVirtualization,
451
- muiTableHeadCellProps: ({ column: currentColumn }) => ({
452
- className: tableState.columnSorting.find(
453
- (sortedColumn) => sortedColumn.id === currentColumn.id,
454
- )
455
- ? "isSorted"
456
- : "isUnsorted",
457
- }),
458
- muiTableBodyCellProps: ({ column }) => ({
459
- className: column.getIsResizing() ? "isResizing" : "",
460
- }),
461
- enableSorting: tableLayoutOptions.hasSorting === true, // I don't know why this needs to be true, but it still works if undefined otherwise
462
- onSortingChange: (sortingUpdater) => {
463
- const newSortVal =
464
- typeof sortingUpdater === "function"
465
- ? sortingUpdater(tableState.columnSorting)
466
- : tableState.columnSorting;
467
- setTableState((prevState) => ({
468
- ...prevState,
469
- columnSorting: newSortVal,
470
- }));
471
- },
472
- enableRowSelection: hasRowSelection,
473
- onRowSelectionChange: setRowSelection,
474
- renderEmptyRowsFallback: emptyStateContainer,
475
- localization: {
476
- collapse: t("table.rowexpansion.collapse"),
477
- collapseAll: t("table.rowexpansion.collapseall"),
478
- expand: t("table.rowexpansion.expand"),
479
- expandAll: t("table.rowexpansion.expandall"),
480
- },
481
- });
482
-
483
- return (
484
- <ScrollableTableContainer
485
- isScrollableEnd={!isTableContainerScrolledToEnd}
486
- isScrollableStart={!isTableContainerScrolledToStart}
487
- odysseyDesignTokens={odysseyDesignTokens}
488
- ref={tableOuterContainerRef}
489
- >
490
- <MRT_TableContainer table={dataTable} />
491
- </ScrollableTableContainer>
492
- );
493
- };
494
-
495
- const MemoizedTableLayoutContent = memo(
496
- TableLayoutContent,
497
- ) as TableLayoutContentComponent;
498
- MemoizedTableLayoutContent.displayName = "TableLayoutContent";
499
-
500
- export { MemoizedTableLayoutContent as TableLayoutContent };