@okta/odyssey-react-mui 1.57.0 → 1.58.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 (476) hide show
  1. package/dist/cjs/Accordion.cjs +1 -1
  2. package/dist/cjs/Autocomplete.cjs +3 -3
  3. package/dist/cjs/Autocomplete.cjs.map +1 -1
  4. package/dist/cjs/Badge.cjs +1 -1
  5. package/dist/cjs/Banner.cjs +1 -1
  6. package/dist/cjs/Box.cjs +1 -1
  7. package/dist/cjs/Breadcrumbs.cjs +5 -1
  8. package/dist/cjs/Breadcrumbs.cjs.map +1 -1
  9. package/dist/cjs/Buttons/BaseButton.cjs +1 -1
  10. package/dist/cjs/Buttons/BaseMenuButton.cjs +1 -1
  11. package/dist/cjs/Buttons/Button.cjs +1 -1
  12. package/dist/cjs/Buttons/MenuButton.cjs +1 -1
  13. package/dist/cjs/Buttons/MenuItem.cjs +1 -1
  14. package/dist/cjs/Callout.cjs +1 -1
  15. package/dist/cjs/Card.cjs +1 -1
  16. package/dist/cjs/CircularProgress.cjs +1 -1
  17. package/dist/cjs/ConditionalWrapper.cjs +1 -1
  18. package/dist/cjs/DataTable/DataTable.cjs +2 -2
  19. package/dist/cjs/DataTable/DataTable.cjs.map +1 -1
  20. package/dist/cjs/DataTable/DataTableRowActions.cjs +1 -1
  21. package/dist/cjs/DataTable/DataTableSettings.cjs +1 -1
  22. package/dist/cjs/DatePickers/DateField.cjs +1 -1
  23. package/dist/cjs/DatePickers/DateFieldActionBar.cjs +1 -1
  24. package/dist/cjs/DatePickers/DateFieldLocalizationProvider.cjs +1 -1
  25. package/dist/cjs/DatePickers/DatePicker.cjs +1 -1
  26. package/dist/cjs/DatePickers/TimeZonePicker.cjs +1 -1
  27. package/dist/cjs/Dialog.cjs +1 -1
  28. package/dist/cjs/Drawer.cjs +1 -1
  29. package/dist/cjs/EmptyState.cjs +1 -1
  30. package/dist/cjs/ErrorMessageList.cjs +1 -1
  31. package/dist/cjs/Field.cjs +1 -1
  32. package/dist/cjs/FieldError.cjs +1 -1
  33. package/dist/cjs/FieldHint.cjs +1 -1
  34. package/dist/cjs/FieldLabel.cjs +1 -1
  35. package/dist/cjs/Fields/Checkbox.cjs +1 -1
  36. package/dist/cjs/Fields/CheckboxGroup.cjs +1 -1
  37. package/dist/cjs/Fields/Radio.cjs +1 -1
  38. package/dist/cjs/Fields/RadioGroup.cjs +1 -1
  39. package/dist/cjs/Fieldset.cjs +1 -1
  40. package/dist/cjs/FileUploader/FileUploadIllustration.cjs +1 -1
  41. package/dist/cjs/FileUploader/FileUploadPreview.cjs +1 -1
  42. package/dist/cjs/FileUploader/FileUploader.cjs +1 -1
  43. package/dist/cjs/Form.cjs +1 -1
  44. package/dist/cjs/FullScreenOverlay.cjs +1 -1
  45. package/dist/cjs/FullScreenOverlayContext.cjs +1 -1
  46. package/dist/cjs/HintLink.cjs +1 -1
  47. package/dist/cjs/IconWithTooltip.cjs +1 -1
  48. package/dist/cjs/Link.cjs +1 -1
  49. package/dist/cjs/MuiPropsChild.cjs +1 -1
  50. package/dist/cjs/NativeSelect.cjs +1 -1
  51. package/dist/cjs/OdysseyCacheProvider.cjs +1 -1
  52. package/dist/cjs/OdysseyProvider.cjs +1 -1
  53. package/dist/cjs/OdysseyThemeProvider.cjs +1 -1
  54. package/dist/cjs/OdysseyThemeProviderPropsContext.cjs +1 -1
  55. package/dist/cjs/Pagination/Pagination.cjs +1 -1
  56. package/dist/cjs/PasswordField.cjs +1 -1
  57. package/dist/cjs/ScreenReaderText.cjs +1 -1
  58. package/dist/cjs/SearchField.cjs +1 -1
  59. package/dist/cjs/Select.cjs +1 -1
  60. package/dist/cjs/Stack.cjs +1 -1
  61. package/dist/cjs/Status.cjs +1 -1
  62. package/dist/cjs/Surface.cjs +1 -1
  63. package/dist/cjs/Switch.cjs +2 -2
  64. package/dist/cjs/Tabs.cjs +1 -1
  65. package/dist/cjs/Tag.cjs +1 -1
  66. package/dist/cjs/TagList.cjs +1 -1
  67. package/dist/cjs/TextField.cjs +1 -1
  68. package/dist/cjs/Toast.cjs +1 -1
  69. package/dist/cjs/ToastStack.cjs +1 -1
  70. package/dist/cjs/Tooltip.cjs +1 -1
  71. package/dist/cjs/Typography.cjs +12 -12
  72. package/dist/cjs/icons.generated/Add.cjs +1 -1
  73. package/dist/cjs/icons.generated/AddCircle.cjs +1 -1
  74. package/dist/cjs/icons.generated/Apps.cjs +1 -1
  75. package/dist/cjs/icons.generated/AppsSelected.cjs +1 -1
  76. package/dist/cjs/icons.generated/ArrowBottom.cjs +1 -1
  77. package/dist/cjs/icons.generated/ArrowDown.cjs +1 -1
  78. package/dist/cjs/icons.generated/ArrowLeft.cjs +1 -1
  79. package/dist/cjs/icons.generated/ArrowLowerLeft.cjs +1 -1
  80. package/dist/cjs/icons.generated/ArrowLowerRight.cjs +1 -1
  81. package/dist/cjs/icons.generated/ArrowRight.cjs +1 -1
  82. package/dist/cjs/icons.generated/ArrowTop.cjs +1 -1
  83. package/dist/cjs/icons.generated/ArrowUnsorted.cjs +1 -1
  84. package/dist/cjs/icons.generated/ArrowUp.cjs +1 -1
  85. package/dist/cjs/icons.generated/ArrowUpperLeft.cjs +1 -1
  86. package/dist/cjs/icons.generated/ArrowUpperRight.cjs +1 -1
  87. package/dist/cjs/icons.generated/Bug.cjs +1 -1
  88. package/dist/cjs/icons.generated/Calendar.cjs +1 -1
  89. package/dist/cjs/icons.generated/Call.cjs +1 -1
  90. package/dist/cjs/icons.generated/Chat.cjs +1 -1
  91. package/dist/cjs/icons.generated/Check.cjs +1 -1
  92. package/dist/cjs/icons.generated/CheckCircleFilled.cjs +1 -1
  93. package/dist/cjs/icons.generated/ChevronDown.cjs +1 -1
  94. package/dist/cjs/icons.generated/ChevronLeft.cjs +1 -1
  95. package/dist/cjs/icons.generated/ChevronRight.cjs +1 -1
  96. package/dist/cjs/icons.generated/ChevronUp.cjs +1 -1
  97. package/dist/cjs/icons.generated/Clock.cjs +1 -1
  98. package/dist/cjs/icons.generated/Close.cjs +1 -1
  99. package/dist/cjs/icons.generated/CloseCircleFilled.cjs +1 -1
  100. package/dist/cjs/icons.generated/CollapseLeft.cjs +1 -1
  101. package/dist/cjs/icons.generated/CollapseRight.cjs +1 -1
  102. package/dist/cjs/icons.generated/Copy.cjs +1 -1
  103. package/dist/cjs/icons.generated/Custom.cjs +1 -1
  104. package/dist/cjs/icons.generated/Customizations.cjs +1 -1
  105. package/dist/cjs/icons.generated/CustomizationsSelected.cjs +1 -1
  106. package/dist/cjs/icons.generated/DangerDiamond.cjs +1 -1
  107. package/dist/cjs/icons.generated/DangerDiamondFilled.cjs +1 -1
  108. package/dist/cjs/icons.generated/Delete.cjs +1 -1
  109. package/dist/cjs/icons.generated/Deny.cjs +1 -1
  110. package/dist/cjs/icons.generated/Devices.cjs +1 -1
  111. package/dist/cjs/icons.generated/Directory.cjs +1 -1
  112. package/dist/cjs/icons.generated/DirectorySelected.cjs +1 -1
  113. package/dist/cjs/icons.generated/Documentation.cjs +1 -1
  114. package/dist/cjs/icons.generated/Download.cjs +1 -1
  115. package/dist/cjs/icons.generated/DragIndicator.cjs +1 -1
  116. package/dist/cjs/icons.generated/Duo.cjs +1 -1
  117. package/dist/cjs/icons.generated/Edit.cjs +1 -1
  118. package/dist/cjs/icons.generated/Email.cjs +1 -1
  119. package/dist/cjs/icons.generated/ExpandLeft.cjs +1 -1
  120. package/dist/cjs/icons.generated/ExpandRight.cjs +1 -1
  121. package/dist/cjs/icons.generated/ExternalLink.cjs +1 -1
  122. package/dist/cjs/icons.generated/Fido2.cjs +1 -1
  123. package/dist/cjs/icons.generated/Filter.cjs +1 -1
  124. package/dist/cjs/icons.generated/Folder.cjs +1 -1
  125. package/dist/cjs/icons.generated/Globe.cjs +1 -1
  126. package/dist/cjs/icons.generated/GoogleAuth.cjs +1 -1
  127. package/dist/cjs/icons.generated/Grid.cjs +1 -1
  128. package/dist/cjs/icons.generated/Group.cjs +1 -1
  129. package/dist/cjs/icons.generated/Happy.cjs +1 -1
  130. package/dist/cjs/icons.generated/Hide.cjs +1 -1
  131. package/dist/cjs/icons.generated/Home.cjs +1 -1
  132. package/dist/cjs/icons.generated/HomeSelected.cjs +1 -1
  133. package/dist/cjs/icons.generated/IdentityGovernance.cjs +1 -1
  134. package/dist/cjs/icons.generated/IdentityGovernanceSelected.cjs +1 -1
  135. package/dist/cjs/icons.generated/Idp.cjs +1 -1
  136. package/dist/cjs/icons.generated/InformationCircle.cjs +1 -1
  137. package/dist/cjs/icons.generated/InformationCircleFilled.cjs +1 -1
  138. package/dist/cjs/icons.generated/Link.cjs +1 -1
  139. package/dist/cjs/icons.generated/List.cjs +1 -1
  140. package/dist/cjs/icons.generated/Lock.cjs +1 -1
  141. package/dist/cjs/icons.generated/Menu.cjs +1 -1
  142. package/dist/cjs/icons.generated/More.cjs +1 -1
  143. package/dist/cjs/icons.generated/Neutral.cjs +1 -1
  144. package/dist/cjs/icons.generated/Notification.cjs +1 -1
  145. package/dist/cjs/icons.generated/OktaVerify.cjs +1 -1
  146. package/dist/cjs/icons.generated/OnPremMfa.cjs +1 -1
  147. package/dist/cjs/icons.generated/OneTimePassword.cjs +1 -1
  148. package/dist/cjs/icons.generated/Password.cjs +1 -1
  149. package/dist/cjs/icons.generated/Pause.cjs +1 -1
  150. package/dist/cjs/icons.generated/QuestionCircle.cjs +1 -1
  151. package/dist/cjs/icons.generated/QuestionCircleFilled.cjs +1 -1
  152. package/dist/cjs/icons.generated/Refresh.cjs +1 -1
  153. package/dist/cjs/icons.generated/Reports.cjs +1 -1
  154. package/dist/cjs/icons.generated/ReportsSelected.cjs +1 -1
  155. package/dist/cjs/icons.generated/Reset.cjs +1 -1
  156. package/dist/cjs/icons.generated/Resume.cjs +1 -1
  157. package/dist/cjs/icons.generated/Sad.cjs +1 -1
  158. package/dist/cjs/icons.generated/Same.cjs +1 -1
  159. package/dist/cjs/icons.generated/Search.cjs +1 -1
  160. package/dist/cjs/icons.generated/Security.cjs +1 -1
  161. package/dist/cjs/icons.generated/SecurityQuestion.cjs +1 -1
  162. package/dist/cjs/icons.generated/SecuritySelected.cjs +1 -1
  163. package/dist/cjs/icons.generated/Send.cjs +1 -1
  164. package/dist/cjs/icons.generated/Server.cjs +1 -1
  165. package/dist/cjs/icons.generated/Settings.cjs +1 -1
  166. package/dist/cjs/icons.generated/SettingsSelected.cjs +1 -1
  167. package/dist/cjs/icons.generated/Show.cjs +1 -1
  168. package/dist/cjs/icons.generated/SmartCard.cjs +1 -1
  169. package/dist/cjs/icons.generated/Sms.cjs +1 -1
  170. package/dist/cjs/icons.generated/Sparkle.cjs +1 -1
  171. package/dist/cjs/icons.generated/Subtract.cjs +1 -1
  172. package/dist/cjs/icons.generated/SymantecVip.cjs +1 -1
  173. package/dist/cjs/icons.generated/Sync.cjs +1 -1
  174. package/dist/cjs/icons.generated/ThumbsDown.cjs +1 -1
  175. package/dist/cjs/icons.generated/ThumbsUp.cjs +1 -1
  176. package/dist/cjs/icons.generated/Unlock.cjs +1 -1
  177. package/dist/cjs/icons.generated/Upload.cjs +1 -1
  178. package/dist/cjs/icons.generated/User.cjs +1 -1
  179. package/dist/cjs/icons.generated/Video.cjs +1 -1
  180. package/dist/cjs/icons.generated/VoiceCall.cjs +1 -1
  181. package/dist/cjs/icons.generated/Warning.cjs +1 -1
  182. package/dist/cjs/icons.generated/WarningFilled.cjs +1 -1
  183. package/dist/cjs/icons.generated/Workflows.cjs +1 -1
  184. package/dist/cjs/icons.generated/WorkflowsSelected.cjs +1 -1
  185. package/dist/cjs/icons.generated/Yubikey.cjs +1 -1
  186. package/dist/cjs/labs/AppTile.cjs +1 -1
  187. package/dist/cjs/labs/DataFilters.cjs +2 -2
  188. package/dist/cjs/labs/DataTable.cjs +1 -1
  189. package/dist/cjs/labs/DataTablePagination.cjs +1 -1
  190. package/dist/cjs/labs/DataView/BulkActionsMenu.cjs +1 -1
  191. package/dist/cjs/labs/DataView/CardLayoutContent.cjs +2 -2
  192. package/dist/cjs/labs/DataView/DataCard.cjs +1 -1
  193. package/dist/cjs/labs/DataView/DataTable.cjs +1 -1
  194. package/dist/cjs/labs/DataView/DataView.cjs +11 -20
  195. package/dist/cjs/labs/DataView/DataView.cjs.map +1 -1
  196. package/dist/cjs/labs/DataView/DetailPanel.cjs +1 -1
  197. package/dist/cjs/labs/DataView/LayoutSwitcher.cjs +1 -1
  198. package/dist/cjs/labs/DataView/RowActions.cjs +1 -1
  199. package/dist/cjs/labs/DataView/TableLayoutContent.cjs +1 -1
  200. package/dist/cjs/labs/DataView/TableSettings.cjs +1 -1
  201. package/dist/cjs/labs/DatePickers/DateTimeField.cjs +1 -1
  202. package/dist/cjs/labs/DatePickers/DateTimePicker.cjs +1 -1
  203. package/dist/cjs/labs/OdysseyPickers/ComposablePicker.cjs +1 -1
  204. package/dist/cjs/labs/OdysseyPickers/Picker.cjs +1 -1
  205. package/dist/cjs/labs/OdysseyPickers/PickerVirtualizationListBox.cjs +1 -1
  206. package/dist/cjs/labs/OdysseyPickers/PickerWithOptionAdornment.cjs +1 -1
  207. package/dist/cjs/labs/OdysseyPickers/SearchDropdown.cjs +1 -1
  208. package/dist/cjs/labs/PageTemplate/DocumentationLink.cjs +1 -1
  209. package/dist/cjs/labs/PageTemplate/Layout.cjs +1 -1
  210. package/dist/cjs/labs/PageTemplate/PageTemplate.cjs +1 -1
  211. package/dist/cjs/labs/PaginatedTable.cjs +1 -1
  212. package/dist/cjs/labs/StaticTable.cjs +1 -1
  213. package/dist/cjs/labs/UserProfile.cjs +1 -1
  214. package/dist/cjs/labs/UserProfileMenuButton.cjs +1 -1
  215. package/dist/cjs/ui-shell/AppSwitcher/AppSwitcher.cjs +1 -1
  216. package/dist/cjs/ui-shell/InnerAppContainer.cjs +1 -1
  217. package/dist/cjs/ui-shell/NarrowUiShellContent.cjs +1 -1
  218. package/dist/cjs/ui-shell/SideNav/NavAccordion.cjs +1 -1
  219. package/dist/cjs/ui-shell/SideNav/SideNav.cjs +1 -1
  220. package/dist/cjs/ui-shell/SideNav/SideNavFooterContent.cjs +1 -1
  221. package/dist/cjs/ui-shell/SideNav/SideNavHeader.cjs +1 -1
  222. package/dist/cjs/ui-shell/SideNav/SideNavItemContent.cjs +1 -1
  223. package/dist/cjs/ui-shell/SideNav/SideNavItemLinkContent.cjs +1 -1
  224. package/dist/cjs/ui-shell/SideNav/SideNavSortableList.cjs +1 -1
  225. package/dist/cjs/ui-shell/SideNav/SideNavToggleButton.cjs +2 -2
  226. package/dist/cjs/ui-shell/TopNav/HamburgerMenuIcon.cjs +1 -1
  227. package/dist/cjs/ui-shell/TopNav/TopNav.cjs +1 -1
  228. package/dist/cjs/ui-shell/TopNav/TopNavLinksList.cjs +1 -1
  229. package/dist/cjs/ui-shell/TopNav/TopNavListItem.cjs +1 -1
  230. package/dist/cjs/ui-shell/UiShell.cjs +1 -1
  231. package/dist/cjs/ui-shell/UiShellLogo.cjs +1 -1
  232. package/dist/cjs/ui-shell/WideUiShellContent.cjs +1 -1
  233. package/dist/cjs/web-component/odysseyWebComponentVersion.generated.cjs +1 -1
  234. package/dist/cjs/web-component/odysseyWebComponentVersion.generated.cjs.map +1 -1
  235. package/dist/esm/Accordion.js +1 -1
  236. package/dist/esm/Autocomplete.js +4 -4
  237. package/dist/esm/Autocomplete.js.map +1 -1
  238. package/dist/esm/Badge.js +1 -1
  239. package/dist/esm/Banner.js +1 -1
  240. package/dist/esm/Box.js +1 -1
  241. package/dist/esm/Breadcrumbs.js +5 -1
  242. package/dist/esm/Breadcrumbs.js.map +1 -1
  243. package/dist/esm/Buttons/BaseButton.js +1 -1
  244. package/dist/esm/Buttons/BaseMenuButton.js +1 -1
  245. package/dist/esm/Buttons/Button.js +1 -1
  246. package/dist/esm/Buttons/MenuButton.js +1 -1
  247. package/dist/esm/Buttons/MenuItem.js +1 -1
  248. package/dist/esm/Callout.js +1 -1
  249. package/dist/esm/Card.js +1 -1
  250. package/dist/esm/CircularProgress.js +1 -1
  251. package/dist/esm/ConditionalWrapper.js +1 -1
  252. package/dist/esm/DataTable/DataTable.js +2 -2
  253. package/dist/esm/DataTable/DataTable.js.map +1 -1
  254. package/dist/esm/DataTable/DataTableRowActions.js +1 -1
  255. package/dist/esm/DataTable/DataTableSettings.js +1 -1
  256. package/dist/esm/DatePickers/DateField.js +1 -1
  257. package/dist/esm/DatePickers/DateFieldActionBar.js +1 -1
  258. package/dist/esm/DatePickers/DateFieldLocalizationProvider.js +1 -1
  259. package/dist/esm/DatePickers/DatePicker.js +1 -1
  260. package/dist/esm/DatePickers/TimeZonePicker.js +1 -1
  261. package/dist/esm/Dialog.js +1 -1
  262. package/dist/esm/Drawer.js +1 -1
  263. package/dist/esm/EmptyState.js +1 -1
  264. package/dist/esm/ErrorMessageList.js +1 -1
  265. package/dist/esm/Field.js +1 -1
  266. package/dist/esm/FieldError.js +1 -1
  267. package/dist/esm/FieldHint.js +1 -1
  268. package/dist/esm/FieldLabel.js +1 -1
  269. package/dist/esm/Fields/Checkbox.js +1 -1
  270. package/dist/esm/Fields/CheckboxGroup.js +1 -1
  271. package/dist/esm/Fields/Radio.js +1 -1
  272. package/dist/esm/Fields/RadioGroup.js +1 -1
  273. package/dist/esm/Fieldset.js +1 -1
  274. package/dist/esm/FileUploader/FileUploadIllustration.js +1 -1
  275. package/dist/esm/FileUploader/FileUploadPreview.js +1 -1
  276. package/dist/esm/FileUploader/FileUploader.js +1 -1
  277. package/dist/esm/Form.js +1 -1
  278. package/dist/esm/FullScreenOverlay.js +1 -1
  279. package/dist/esm/FullScreenOverlayContext.js +1 -1
  280. package/dist/esm/HintLink.js +1 -1
  281. package/dist/esm/IconWithTooltip.js +1 -1
  282. package/dist/esm/Link.js +1 -1
  283. package/dist/esm/MuiPropsChild.js +1 -1
  284. package/dist/esm/NativeSelect.js +1 -1
  285. package/dist/esm/OdysseyCacheProvider.js +1 -1
  286. package/dist/esm/OdysseyProvider.js +1 -1
  287. package/dist/esm/OdysseyThemeProvider.js +1 -1
  288. package/dist/esm/OdysseyThemeProviderPropsContext.js +1 -1
  289. package/dist/esm/Pagination/Pagination.js +1 -1
  290. package/dist/esm/PasswordField.js +1 -1
  291. package/dist/esm/ScreenReaderText.js +1 -1
  292. package/dist/esm/SearchField.js +1 -1
  293. package/dist/esm/Select.js +1 -1
  294. package/dist/esm/Stack.js +1 -1
  295. package/dist/esm/Status.js +1 -1
  296. package/dist/esm/Surface.js +1 -1
  297. package/dist/esm/Switch.js +2 -2
  298. package/dist/esm/Tabs.js +1 -1
  299. package/dist/esm/Tag.js +1 -1
  300. package/dist/esm/TagList.js +1 -1
  301. package/dist/esm/TextField.js +1 -1
  302. package/dist/esm/Toast.js +1 -1
  303. package/dist/esm/ToastStack.js +1 -1
  304. package/dist/esm/Tooltip.js +1 -1
  305. package/dist/esm/Typography.js +12 -12
  306. package/dist/esm/icons.generated/Add.js +1 -1
  307. package/dist/esm/icons.generated/AddCircle.js +1 -1
  308. package/dist/esm/icons.generated/Apps.js +1 -1
  309. package/dist/esm/icons.generated/AppsSelected.js +1 -1
  310. package/dist/esm/icons.generated/ArrowBottom.js +1 -1
  311. package/dist/esm/icons.generated/ArrowDown.js +1 -1
  312. package/dist/esm/icons.generated/ArrowLeft.js +1 -1
  313. package/dist/esm/icons.generated/ArrowLowerLeft.js +1 -1
  314. package/dist/esm/icons.generated/ArrowLowerRight.js +1 -1
  315. package/dist/esm/icons.generated/ArrowRight.js +1 -1
  316. package/dist/esm/icons.generated/ArrowTop.js +1 -1
  317. package/dist/esm/icons.generated/ArrowUnsorted.js +1 -1
  318. package/dist/esm/icons.generated/ArrowUp.js +1 -1
  319. package/dist/esm/icons.generated/ArrowUpperLeft.js +1 -1
  320. package/dist/esm/icons.generated/ArrowUpperRight.js +1 -1
  321. package/dist/esm/icons.generated/Bug.js +1 -1
  322. package/dist/esm/icons.generated/Calendar.js +1 -1
  323. package/dist/esm/icons.generated/Call.js +1 -1
  324. package/dist/esm/icons.generated/Chat.js +1 -1
  325. package/dist/esm/icons.generated/Check.js +1 -1
  326. package/dist/esm/icons.generated/CheckCircleFilled.js +1 -1
  327. package/dist/esm/icons.generated/ChevronDown.js +1 -1
  328. package/dist/esm/icons.generated/ChevronLeft.js +1 -1
  329. package/dist/esm/icons.generated/ChevronRight.js +1 -1
  330. package/dist/esm/icons.generated/ChevronUp.js +1 -1
  331. package/dist/esm/icons.generated/Clock.js +1 -1
  332. package/dist/esm/icons.generated/Close.js +1 -1
  333. package/dist/esm/icons.generated/CloseCircleFilled.js +1 -1
  334. package/dist/esm/icons.generated/CollapseLeft.js +1 -1
  335. package/dist/esm/icons.generated/CollapseRight.js +1 -1
  336. package/dist/esm/icons.generated/Copy.js +1 -1
  337. package/dist/esm/icons.generated/Custom.js +1 -1
  338. package/dist/esm/icons.generated/Customizations.js +1 -1
  339. package/dist/esm/icons.generated/CustomizationsSelected.js +1 -1
  340. package/dist/esm/icons.generated/DangerDiamond.js +1 -1
  341. package/dist/esm/icons.generated/DangerDiamondFilled.js +1 -1
  342. package/dist/esm/icons.generated/Delete.js +1 -1
  343. package/dist/esm/icons.generated/Deny.js +1 -1
  344. package/dist/esm/icons.generated/Devices.js +1 -1
  345. package/dist/esm/icons.generated/Directory.js +1 -1
  346. package/dist/esm/icons.generated/DirectorySelected.js +1 -1
  347. package/dist/esm/icons.generated/Documentation.js +1 -1
  348. package/dist/esm/icons.generated/Download.js +1 -1
  349. package/dist/esm/icons.generated/DragIndicator.js +1 -1
  350. package/dist/esm/icons.generated/Duo.js +1 -1
  351. package/dist/esm/icons.generated/Edit.js +1 -1
  352. package/dist/esm/icons.generated/Email.js +1 -1
  353. package/dist/esm/icons.generated/ExpandLeft.js +1 -1
  354. package/dist/esm/icons.generated/ExpandRight.js +1 -1
  355. package/dist/esm/icons.generated/ExternalLink.js +1 -1
  356. package/dist/esm/icons.generated/Fido2.js +1 -1
  357. package/dist/esm/icons.generated/Filter.js +1 -1
  358. package/dist/esm/icons.generated/Folder.js +1 -1
  359. package/dist/esm/icons.generated/Globe.js +1 -1
  360. package/dist/esm/icons.generated/GoogleAuth.js +1 -1
  361. package/dist/esm/icons.generated/Grid.js +1 -1
  362. package/dist/esm/icons.generated/Group.js +1 -1
  363. package/dist/esm/icons.generated/Happy.js +1 -1
  364. package/dist/esm/icons.generated/Hide.js +1 -1
  365. package/dist/esm/icons.generated/Home.js +1 -1
  366. package/dist/esm/icons.generated/HomeSelected.js +1 -1
  367. package/dist/esm/icons.generated/IdentityGovernance.js +1 -1
  368. package/dist/esm/icons.generated/IdentityGovernanceSelected.js +1 -1
  369. package/dist/esm/icons.generated/Idp.js +1 -1
  370. package/dist/esm/icons.generated/InformationCircle.js +1 -1
  371. package/dist/esm/icons.generated/InformationCircleFilled.js +1 -1
  372. package/dist/esm/icons.generated/Link.js +1 -1
  373. package/dist/esm/icons.generated/List.js +1 -1
  374. package/dist/esm/icons.generated/Lock.js +1 -1
  375. package/dist/esm/icons.generated/Menu.js +1 -1
  376. package/dist/esm/icons.generated/More.js +1 -1
  377. package/dist/esm/icons.generated/Neutral.js +1 -1
  378. package/dist/esm/icons.generated/Notification.js +1 -1
  379. package/dist/esm/icons.generated/OktaVerify.js +1 -1
  380. package/dist/esm/icons.generated/OnPremMfa.js +1 -1
  381. package/dist/esm/icons.generated/OneTimePassword.js +1 -1
  382. package/dist/esm/icons.generated/Password.js +1 -1
  383. package/dist/esm/icons.generated/Pause.js +1 -1
  384. package/dist/esm/icons.generated/QuestionCircle.js +1 -1
  385. package/dist/esm/icons.generated/QuestionCircleFilled.js +1 -1
  386. package/dist/esm/icons.generated/Refresh.js +1 -1
  387. package/dist/esm/icons.generated/Reports.js +1 -1
  388. package/dist/esm/icons.generated/ReportsSelected.js +1 -1
  389. package/dist/esm/icons.generated/Reset.js +1 -1
  390. package/dist/esm/icons.generated/Resume.js +1 -1
  391. package/dist/esm/icons.generated/Sad.js +1 -1
  392. package/dist/esm/icons.generated/Same.js +1 -1
  393. package/dist/esm/icons.generated/Search.js +1 -1
  394. package/dist/esm/icons.generated/Security.js +1 -1
  395. package/dist/esm/icons.generated/SecurityQuestion.js +1 -1
  396. package/dist/esm/icons.generated/SecuritySelected.js +1 -1
  397. package/dist/esm/icons.generated/Send.js +1 -1
  398. package/dist/esm/icons.generated/Server.js +1 -1
  399. package/dist/esm/icons.generated/Settings.js +1 -1
  400. package/dist/esm/icons.generated/SettingsSelected.js +1 -1
  401. package/dist/esm/icons.generated/Show.js +1 -1
  402. package/dist/esm/icons.generated/SmartCard.js +1 -1
  403. package/dist/esm/icons.generated/Sms.js +1 -1
  404. package/dist/esm/icons.generated/Sparkle.js +1 -1
  405. package/dist/esm/icons.generated/Subtract.js +1 -1
  406. package/dist/esm/icons.generated/SymantecVip.js +1 -1
  407. package/dist/esm/icons.generated/Sync.js +1 -1
  408. package/dist/esm/icons.generated/ThumbsDown.js +1 -1
  409. package/dist/esm/icons.generated/ThumbsUp.js +1 -1
  410. package/dist/esm/icons.generated/Unlock.js +1 -1
  411. package/dist/esm/icons.generated/Upload.js +1 -1
  412. package/dist/esm/icons.generated/User.js +1 -1
  413. package/dist/esm/icons.generated/Video.js +1 -1
  414. package/dist/esm/icons.generated/VoiceCall.js +1 -1
  415. package/dist/esm/icons.generated/Warning.js +1 -1
  416. package/dist/esm/icons.generated/WarningFilled.js +1 -1
  417. package/dist/esm/icons.generated/Workflows.js +1 -1
  418. package/dist/esm/icons.generated/WorkflowsSelected.js +1 -1
  419. package/dist/esm/icons.generated/Yubikey.js +1 -1
  420. package/dist/esm/labs/AppTile.js +1 -1
  421. package/dist/esm/labs/DataFilters.js +2 -2
  422. package/dist/esm/labs/DataTable.js +1 -1
  423. package/dist/esm/labs/DataTablePagination.js +1 -1
  424. package/dist/esm/labs/DataView/BulkActionsMenu.js +1 -1
  425. package/dist/esm/labs/DataView/CardLayoutContent.js +2 -2
  426. package/dist/esm/labs/DataView/DataCard.js +1 -1
  427. package/dist/esm/labs/DataView/DataTable.js +1 -1
  428. package/dist/esm/labs/DataView/DataView.js +11 -20
  429. package/dist/esm/labs/DataView/DataView.js.map +1 -1
  430. package/dist/esm/labs/DataView/DetailPanel.js +1 -1
  431. package/dist/esm/labs/DataView/LayoutSwitcher.js +1 -1
  432. package/dist/esm/labs/DataView/RowActions.js +1 -1
  433. package/dist/esm/labs/DataView/TableLayoutContent.js +1 -1
  434. package/dist/esm/labs/DataView/TableSettings.js +1 -1
  435. package/dist/esm/labs/DatePickers/DateTimeField.js +1 -1
  436. package/dist/esm/labs/DatePickers/DateTimePicker.js +1 -1
  437. package/dist/esm/labs/OdysseyPickers/ComposablePicker.js +1 -1
  438. package/dist/esm/labs/OdysseyPickers/Picker.js +1 -1
  439. package/dist/esm/labs/OdysseyPickers/PickerVirtualizationListBox.js +1 -1
  440. package/dist/esm/labs/OdysseyPickers/PickerWithOptionAdornment.js +1 -1
  441. package/dist/esm/labs/OdysseyPickers/SearchDropdown.js +1 -1
  442. package/dist/esm/labs/PageTemplate/DocumentationLink.js +1 -1
  443. package/dist/esm/labs/PageTemplate/Layout.js +1 -1
  444. package/dist/esm/labs/PageTemplate/PageTemplate.js +1 -1
  445. package/dist/esm/labs/PaginatedTable.js +1 -1
  446. package/dist/esm/labs/StaticTable.js +1 -1
  447. package/dist/esm/labs/UserProfile.js +1 -1
  448. package/dist/esm/labs/UserProfileMenuButton.js +1 -1
  449. package/dist/esm/ui-shell/AppSwitcher/AppSwitcher.js +1 -1
  450. package/dist/esm/ui-shell/InnerAppContainer.js +1 -1
  451. package/dist/esm/ui-shell/NarrowUiShellContent.js +1 -1
  452. package/dist/esm/ui-shell/SideNav/NavAccordion.js +1 -1
  453. package/dist/esm/ui-shell/SideNav/SideNav.js +1 -1
  454. package/dist/esm/ui-shell/SideNav/SideNavFooterContent.js +1 -1
  455. package/dist/esm/ui-shell/SideNav/SideNavHeader.js +1 -1
  456. package/dist/esm/ui-shell/SideNav/SideNavItemContent.js +1 -1
  457. package/dist/esm/ui-shell/SideNav/SideNavItemLinkContent.js +1 -1
  458. package/dist/esm/ui-shell/SideNav/SideNavSortableList.js +1 -1
  459. package/dist/esm/ui-shell/SideNav/SideNavToggleButton.js +2 -2
  460. package/dist/esm/ui-shell/TopNav/HamburgerMenuIcon.js +1 -1
  461. package/dist/esm/ui-shell/TopNav/TopNav.js +1 -1
  462. package/dist/esm/ui-shell/TopNav/TopNavLinksList.js +1 -1
  463. package/dist/esm/ui-shell/TopNav/TopNavListItem.js +1 -1
  464. package/dist/esm/ui-shell/UiShell.js +1 -1
  465. package/dist/esm/ui-shell/UiShellLogo.js +1 -1
  466. package/dist/esm/ui-shell/WideUiShellContent.js +1 -1
  467. package/dist/esm/web-component/odysseyWebComponentVersion.generated.js +1 -1
  468. package/dist/esm/web-component/odysseyWebComponentVersion.generated.js.map +1 -1
  469. package/dist/tsconfig.production.tsbuildinfo +1 -1
  470. package/dist/types/Autocomplete.d.ts +3 -1
  471. package/dist/types/Autocomplete.d.ts.map +1 -1
  472. package/dist/types/Breadcrumbs.d.ts.map +1 -1
  473. package/dist/types/DataTable/DataTable.d.ts.map +1 -1
  474. package/dist/types/labs/DataView/DataView.d.ts.map +1 -1
  475. package/dist/types/web-component/odysseyWebComponentVersion.generated.d.ts +1 -1
  476. package/package.json +7 -8
@@ -65,5 +65,5 @@ const Accordion = ({
65
65
  });
66
66
  };
67
67
  const MemoizedAccordion = exports.Accordion = (0, _react.memo)(Accordion);
68
- MemoizedAccordion.displayName = "Accordion::pkg=odyssey&odysseyV=1.57.0";
68
+ MemoizedAccordion.displayName = "Accordion::pkg=odyssey&odysseyV=1.58.0";
69
69
  //# sourceMappingURL=Accordion.cjs.map
@@ -9,7 +9,6 @@ var _react = require("react");
9
9
  var _i18n = require("./i18n.generated/i18n.cjs");
10
10
  var _PickerVirtualizationListBox = require("./labs/OdysseyPickers/PickerVirtualizationListBox.cjs");
11
11
  var _useAutocomplete = require("./useAutocomplete.cjs");
12
- var _jsxRuntime = require("react/jsx-runtime");
13
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
13
  /*!
15
14
  * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.
@@ -80,9 +79,10 @@ const Autocomplete = ({
80
79
  testId,
81
80
  value
82
81
  });
83
- return (0, _jsxRuntime.jsx)(_Autocomplete2.default, {
82
+ return (0, _react.createElement)(_Autocomplete2.default, {
84
83
  ...valueProps,
85
84
  ...inputValueProp,
85
+ key: hasMultipleChoices ? "multiple" : "single",
86
86
  ...(isVirtualizedRef.current && {
87
87
  ListboxComponent: _PickerVirtualizationListBox.PickerVirtualizationListBox
88
88
  }),
@@ -112,5 +112,5 @@ const Autocomplete = ({
112
112
  });
113
113
  };
114
114
  const MemoizedAutocomplete = exports.Autocomplete = (0, _react.memo)(Autocomplete);
115
- MemoizedAutocomplete.displayName = "Autocomplete::pkg=odyssey&odysseyV=1.57.0";
115
+ MemoizedAutocomplete.displayName = "Autocomplete::pkg=odyssey&odysseyV=1.58.0";
116
116
  //# sourceMappingURL=Autocomplete.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Autocomplete.cjs","names":["_react","require","_i18n","_PickerVirtualizationListBox","_useAutocomplete","_jsxRuntime","_interopRequireDefault","e","__esModule","default","Autocomplete","ariaDescribedBy","defaultValue","errorMessage","errorMessageList","getIsOptionEqualToValue","getOptionLabel","hasMultipleChoices","hint","HintLinkComponent","id","idOverride","inputValue","isCustomValueAllowed","isDisabled","isFullWidth","isLoading","isOptional","isReadOnly","isVirtualized","label","name","nameOverride","noOptionsText","onBlur","onChange","onFocus","onInputChange","options","testId","translate","value","t","useTranslation","inputValueProp","isVirtualizedRef","renderInput","valueProps","useAutocomplete","jsx","_Autocomplete2","current","ListboxComponent","PickerVirtualizationListBox","clearText","closeText","disableCloseOnSelect","disabled","filterSelectedOptions","freeSolo","fullWidth","isOptionEqualToValue","loading","multiple","openText","readOnly","MemoizedAutocomplete","exports","memo","displayName"],"sources":["../../src/Autocomplete.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport {\n Autocomplete as MuiAutocomplete,\n AutocompleteProps as MuiAutocompleteProps,\n UseAutocompleteProps as MuiUseAutocompleteProps,\n} from \"@mui/material\";\nimport { memo } from \"react\";\n\nimport type { HtmlProps } from \"./HtmlProps.js\";\n\nimport { FieldComponentProps } from \"./FieldComponentProps.js\";\nimport { useTranslation } from \"./i18n.generated/i18n.js\";\nimport { PickerVirtualizationListBox } from \"./labs/OdysseyPickers/PickerVirtualizationListBox.js\";\nimport { useAutocomplete } from \"./useAutocomplete.js\";\n\nexport type AutocompleteProps<\n OptionType,\n HasMultipleChoices extends boolean | undefined,\n IsCustomValueAllowed extends boolean | undefined,\n> = {\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue?: MuiUseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"defaultValue\"];\n /** Used to determine if the option represents the given value. Uses strict equality by default if none provided.\n * Both arguments need to be handled, an option can only match with one value.\n * option: the option to test\n * value: the value to test against\n *\n * You will need to implement this function if your `option` items are objects.\n */\n getIsOptionEqualToValue?: (option: OptionType, value: OptionType) => boolean;\n\n /**\n * Used to determine the string value for a given option. It's used to fill the input (and the list box options if renderOption is not provided). If used in free solo mode, it must accept both the type of the options and a string.\n *\n * `function(option: Value) => string`\n */\n getOptionLabel?: MuiUseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"getOptionLabel\"];\n /**\n * Enables multiple choice selection\n */\n hasMultipleChoices?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"multiple\"];\n /**\n * The value for the input\n */\n inputValue?: MuiUseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"inputValue\"];\n /**\n * Allows the input of custom values\n */\n isCustomValueAllowed?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"freeSolo\"];\n /**\n * Disables the Autocomplete input\n */\n isDisabled?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"disabled\"];\n /**\n * Displays a loading indicator\n */\n isLoading?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"loading\"];\n /**\n * Makes the Autocomplete input read-only\n */\n isReadOnly?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"readOnly\"];\n /**\n * If this component is required to display a virtualized list of options,\n * then this value needs to be set to true.\n * It is recommended if you're options are on the order of 10's of hundreds or more.\n */\n isVirtualized?: boolean;\n /**\n * The label text for the autocomplete input\n */\n label: string;\n /**\n * The text to display when no options are available\n *\n * default: \"No options\"\n */\n noOptionsText?: string;\n /**\n * Callback fired when the autocomplete loses focus.\n */\n onBlur?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"onBlur\"];\n /**\n * Callback fired when a selection is made.\n */\n onChange?: MuiUseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"onChange\"];\n /**\n * Callback fired when the autocomplete gains focus.\n */\n onFocus?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"onFocus\"];\n /**\n * Callback fired when the textbox receives typed characters.\n */\n onInputChange?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"onInputChange\"];\n /**\n * The options for the Autocomplete input\n */\n options: ReadonlyArray<OptionType>;\n /**\n * The value of the Autocomplete input\n */\n value?: MuiUseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"value\"];\n} & Pick<\n FieldComponentProps,\n | \"errorMessage\"\n | \"errorMessageList\"\n | \"hint\"\n | \"HintLinkComponent\"\n | \"id\"\n | \"isFullWidth\"\n | \"isOptional\"\n | \"name\"\n> &\n Pick<HtmlProps, \"ariaDescribedBy\" | \"testId\" | \"translate\">;\n\nconst Autocomplete = <\n OptionType,\n HasMultipleChoices extends boolean | undefined,\n IsCustomValueAllowed extends boolean | undefined,\n>({\n ariaDescribedBy,\n defaultValue,\n errorMessage,\n errorMessageList,\n getIsOptionEqualToValue,\n getOptionLabel,\n hasMultipleChoices,\n hint,\n HintLinkComponent,\n id: idOverride,\n inputValue,\n isCustomValueAllowed,\n isDisabled,\n isFullWidth = false,\n isLoading,\n isOptional = false,\n isReadOnly,\n isVirtualized = false,\n label,\n name: nameOverride,\n noOptionsText,\n onBlur,\n onChange,\n onFocus,\n onInputChange,\n options,\n testId,\n translate,\n value,\n}: AutocompleteProps<OptionType, HasMultipleChoices, IsCustomValueAllowed>) => {\n const { t } = useTranslation();\n const { inputValueProp, isVirtualizedRef, renderInput, valueProps } =\n useAutocomplete<OptionType, HasMultipleChoices, IsCustomValueAllowed>({\n ariaDescribedBy,\n defaultValue,\n errorMessage,\n errorMessageList,\n hasMultipleChoices,\n hint,\n HintLinkComponent,\n inputValue,\n isFullWidth,\n isOptional,\n isReadOnly,\n isVirtualized,\n label,\n name: nameOverride,\n testId,\n value,\n });\n\n return (\n <MuiAutocomplete\n {...valueProps}\n {...inputValueProp}\n // conditionally provide the ListboxComponent if this needs to be virtualized\n {...(isVirtualizedRef.current && {\n ListboxComponent: PickerVirtualizationListBox,\n })}\n // AutoComplete is wrapped in a div within MUI which does not get the disabled attr. So this aria-disabled gets set in the div\n aria-disabled={isDisabled}\n clearText={t(\"clear.text\")}\n closeText={t(\"close.text\")}\n disableCloseOnSelect={hasMultipleChoices}\n disabled={isDisabled}\n filterSelectedOptions={true}\n freeSolo={isCustomValueAllowed}\n fullWidth={isFullWidth}\n getOptionLabel={getOptionLabel}\n id={idOverride}\n isOptionEqualToValue={getIsOptionEqualToValue}\n loading={isLoading}\n multiple={hasMultipleChoices}\n noOptionsText={noOptionsText || t(\"autocomplete.nooptions\")}\n onBlur={onBlur}\n onChange={onChange}\n onFocus={onFocus}\n onInputChange={onInputChange}\n openText={t(\"open.text\")}\n options={options}\n readOnly={isReadOnly}\n renderInput={renderInput}\n translate={translate}\n />\n );\n};\n\n// Need the `typeof Autocomplete` because generics don't get passed through\nconst MemoizedAutocomplete = memo(Autocomplete) as typeof Autocomplete;\n// @ts-expect-error displayName is expected to not be on `typeof Autocomplete`\nMemoizedAutocomplete.displayName = \"Autocomplete\";\n\nexport { MemoizedAutocomplete as Autocomplete };\n"],"mappings":";;;;;;;AAiBA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,4BAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AAAuD,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAK,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAxBvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAsLA,MAAMG,YAAY,GAAGA,CAInB;EACAC,eAAe;EACfC,YAAY;EACZC,YAAY;EACZC,gBAAgB;EAChBC,uBAAuB;EACvBC,cAAc;EACdC,kBAAkB;EAClBC,IAAI;EACJC,iBAAiB;EACjBC,EAAE,EAAEC,UAAU;EACdC,UAAU;EACVC,oBAAoB;EACpBC,UAAU;EACVC,WAAW,GAAG,KAAK;EACnBC,SAAS;EACTC,UAAU,GAAG,KAAK;EAClBC,UAAU;EACVC,aAAa,GAAG,KAAK;EACrBC,KAAK;EACLC,IAAI,EAAEC,YAAY;EAClBC,aAAa;EACbC,MAAM;EACNC,QAAQ;EACRC,OAAO;EACPC,aAAa;EACbC,OAAO;EACPC,MAAM;EACNC,SAAS;EACTC;AACuE,CAAC,KAAK;EAC7E,MAAM;IAAEC;EAAE,CAAC,GAAG,IAAAC,oBAAc,EAAC,CAAC;EAC9B,MAAM;IAAEC,cAAc;IAAEC,gBAAgB;IAAEC,WAAW;IAAEC;EAAW,CAAC,GACjE,IAAAC,gCAAe,EAAuD;IACpErC,eAAe;IACfC,YAAY;IACZC,YAAY;IACZC,gBAAgB;IAChBG,kBAAkB;IAClBC,IAAI;IACJC,iBAAiB;IACjBG,UAAU;IACVG,WAAW;IACXE,UAAU;IACVC,UAAU;IACVC,aAAa;IACbC,KAAK;IACLC,IAAI,EAAEC,YAAY;IAClBO,MAAM;IACNE;EACF,CAAC,CAAC;EAEJ,OACE,IAAApC,WAAA,CAAA4C,GAAA,EAAAC,cAAA,CAAAzC,OAAA;IAAA,GACMsC,UAAU;IAAA,GACVH,cAAc;IAAA,IAEbC,gBAAgB,CAACM,OAAO,IAAI;MAC/BC,gBAAgB,EAAEC;IACpB,CAAC;IAED,iBAAe7B,UAAW;IAC1B8B,SAAS,EAAEZ,CAAC,CAAC,YAAY,CAAE;IAC3Ba,SAAS,EAAEb,CAAC,CAAC,YAAY,CAAE;IAC3Bc,oBAAoB,EAAEvC,kBAAmB;IACzCwC,QAAQ,EAAEjC,UAAW;IACrBkC,qBAAqB,EAAE,IAAK;IAC5BC,QAAQ,EAAEpC,oBAAqB;IAC/BqC,SAAS,EAAEnC,WAAY;IACvBT,cAAc,EAAEA,cAAe;IAC/BI,EAAE,EAAEC,UAAW;IACfwC,oBAAoB,EAAE9C,uBAAwB;IAC9C+C,OAAO,EAAEpC,SAAU;IACnBqC,QAAQ,EAAE9C,kBAAmB;IAC7BgB,aAAa,EAAEA,aAAa,IAAIS,CAAC,CAAC,wBAAwB,CAAE;IAC5DR,MAAM,EAAEA,MAAO;IACfC,QAAQ,EAAEA,QAAS;IACnBC,OAAO,EAAEA,OAAQ;IACjBC,aAAa,EAAEA,aAAc;IAC7B2B,QAAQ,EAAEtB,CAAC,CAAC,WAAW,CAAE;IACzBJ,OAAO,EAAEA,OAAQ;IACjB2B,QAAQ,EAAErC,UAAW;IACrBkB,WAAW,EAAEA,WAAY;IACzBN,SAAS,EAAEA;EAAU,CACtB,CAAC;AAEN,CAAC;AAGD,MAAM0B,oBAAoB,GAAAC,OAAA,CAAAzD,YAAA,GAAG,IAAA0D,WAAI,EAAC1D,YAAY,CAAwB;AAEtEwD,oBAAoB,CAACG,WAAW,8CAAiB","ignoreList":[]}
1
+ {"version":3,"file":"Autocomplete.cjs","names":["_react","require","_i18n","_PickerVirtualizationListBox","_useAutocomplete","_interopRequireDefault","e","__esModule","default","Autocomplete","ariaDescribedBy","defaultValue","errorMessage","errorMessageList","getIsOptionEqualToValue","getOptionLabel","hasMultipleChoices","hint","HintLinkComponent","id","idOverride","inputValue","isCustomValueAllowed","isDisabled","isFullWidth","isLoading","isOptional","isReadOnly","isVirtualized","label","name","nameOverride","noOptionsText","onBlur","onChange","onFocus","onInputChange","options","testId","translate","value","t","useTranslation","inputValueProp","isVirtualizedRef","renderInput","valueProps","useAutocomplete","createElement","_Autocomplete2","key","current","ListboxComponent","PickerVirtualizationListBox","clearText","closeText","disableCloseOnSelect","disabled","filterSelectedOptions","freeSolo","fullWidth","isOptionEqualToValue","loading","multiple","openText","readOnly","MemoizedAutocomplete","exports","memo","displayName"],"sources":["../../src/Autocomplete.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport {\n Autocomplete as MuiAutocomplete,\n AutocompleteProps as MuiAutocompleteProps,\n UseAutocompleteProps as MuiUseAutocompleteProps,\n} from \"@mui/material\";\nimport { memo } from \"react\";\n\nimport type { HtmlProps } from \"./HtmlProps.js\";\n\nimport { FieldComponentProps } from \"./FieldComponentProps.js\";\nimport { useTranslation } from \"./i18n.generated/i18n.js\";\nimport { PickerVirtualizationListBox } from \"./labs/OdysseyPickers/PickerVirtualizationListBox.js\";\nimport { useAutocomplete } from \"./useAutocomplete.js\";\n\nexport type AutocompleteProps<\n OptionType,\n HasMultipleChoices extends boolean | undefined,\n IsCustomValueAllowed extends boolean | undefined,\n> = {\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue?: MuiUseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"defaultValue\"];\n /** Used to determine if the option represents the given value. Uses strict equality by default if none provided.\n * Both arguments need to be handled, an option can only match with one value.\n * option: the option to test\n * value: the value to test against\n *\n * You will need to implement this function if your `option` items are objects.\n */\n getIsOptionEqualToValue?: (option: OptionType, value: OptionType) => boolean;\n\n /**\n * Used to determine the string value for a given option. It's used to fill the input (and the list box options if renderOption is not provided). If used in free solo mode, it must accept both the type of the options and a string.\n *\n * `function(option: Value) => string`\n */\n getOptionLabel?: MuiUseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"getOptionLabel\"];\n /**\n * Enables multiple choice selection\n */\n hasMultipleChoices?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"multiple\"];\n /**\n * The value for the input\n */\n inputValue?: MuiUseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"inputValue\"];\n /**\n * Allows the input of custom values\n */\n isCustomValueAllowed?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"freeSolo\"];\n /**\n * Disables the Autocomplete input\n */\n isDisabled?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"disabled\"];\n /**\n * Displays a loading indicator\n */\n isLoading?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"loading\"];\n /**\n * Makes the Autocomplete input read-only\n */\n isReadOnly?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"readOnly\"];\n /**\n * If this component is required to display a virtualized list of options,\n * then this value needs to be set to true.\n * It is recommended if you're options are on the order of 10's of hundreds or more.\n */\n isVirtualized?: boolean;\n /**\n * The label text for the autocomplete input\n */\n label: string;\n /**\n * The text to display when no options are available\n *\n * default: \"No options\"\n */\n noOptionsText?: string;\n /**\n * Callback fired when the autocomplete loses focus.\n */\n onBlur?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"onBlur\"];\n /**\n * Callback fired when a selection is made.\n */\n onChange?: MuiUseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"onChange\"];\n /**\n * Callback fired when the autocomplete gains focus.\n */\n onFocus?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"onFocus\"];\n /**\n * Callback fired when the textbox receives typed characters.\n */\n onInputChange?: MuiAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"onInputChange\"];\n /**\n * The options for the Autocomplete input\n */\n options: ReadonlyArray<OptionType>;\n /**\n * The value of the Autocomplete input\n */\n value?: MuiUseAutocompleteProps<\n OptionType,\n HasMultipleChoices,\n undefined,\n IsCustomValueAllowed\n >[\"value\"];\n} & Pick<\n FieldComponentProps,\n | \"errorMessage\"\n | \"errorMessageList\"\n | \"hint\"\n | \"HintLinkComponent\"\n | \"id\"\n | \"isFullWidth\"\n | \"isOptional\"\n | \"name\"\n> &\n Pick<HtmlProps, \"ariaDescribedBy\" | \"testId\" | \"translate\">;\n\nconst Autocomplete = <\n OptionType,\n HasMultipleChoices extends boolean | undefined,\n IsCustomValueAllowed extends boolean | undefined,\n>({\n ariaDescribedBy,\n defaultValue,\n errorMessage,\n errorMessageList,\n getIsOptionEqualToValue,\n getOptionLabel,\n hasMultipleChoices,\n hint,\n HintLinkComponent,\n id: idOverride,\n inputValue,\n isCustomValueAllowed,\n isDisabled,\n isFullWidth = false,\n isLoading,\n isOptional = false,\n isReadOnly,\n isVirtualized = false,\n label,\n name: nameOverride,\n noOptionsText,\n onBlur,\n onChange,\n onFocus,\n onInputChange,\n options,\n testId,\n translate,\n value,\n}: AutocompleteProps<OptionType, HasMultipleChoices, IsCustomValueAllowed>) => {\n const { t } = useTranslation();\n const { inputValueProp, isVirtualizedRef, renderInput, valueProps } =\n useAutocomplete<OptionType, HasMultipleChoices, IsCustomValueAllowed>({\n ariaDescribedBy,\n defaultValue,\n errorMessage,\n errorMessageList,\n hasMultipleChoices,\n hint,\n HintLinkComponent,\n inputValue,\n isFullWidth,\n isOptional,\n isReadOnly,\n isVirtualized,\n label,\n name: nameOverride,\n testId,\n value,\n });\n\n return (\n <MuiAutocomplete\n {...valueProps}\n {...inputValueProp}\n // MUI's value type is incompatible between single (null) and multiple (array)\n // modes. Changing `multiple` on a live instance causes a null.length crash,\n // so we force a remount when the mode changes. This resets internal UI state.\n key={hasMultipleChoices ? \"multiple\" : \"single\"}\n // conditionally provide the ListboxComponent if this needs to be virtualized\n {...(isVirtualizedRef.current && {\n ListboxComponent: PickerVirtualizationListBox,\n })}\n // AutoComplete is wrapped in a div within MUI which does not get the disabled attr. So this aria-disabled gets set in the div\n aria-disabled={isDisabled}\n clearText={t(\"clear.text\")}\n closeText={t(\"close.text\")}\n disableCloseOnSelect={hasMultipleChoices}\n disabled={isDisabled}\n filterSelectedOptions={true}\n freeSolo={isCustomValueAllowed}\n fullWidth={isFullWidth}\n getOptionLabel={getOptionLabel}\n id={idOverride}\n isOptionEqualToValue={getIsOptionEqualToValue}\n loading={isLoading}\n multiple={hasMultipleChoices}\n noOptionsText={noOptionsText || t(\"autocomplete.nooptions\")}\n onBlur={onBlur}\n onChange={onChange}\n onFocus={onFocus}\n onInputChange={onInputChange}\n openText={t(\"open.text\")}\n options={options}\n readOnly={isReadOnly}\n renderInput={renderInput}\n translate={translate}\n />\n );\n};\n\nconst MemoizedAutocomplete = memo(Autocomplete) as typeof Autocomplete & {\n displayName?: string;\n};\nMemoizedAutocomplete.displayName = \"Autocomplete\";\n\nexport { MemoizedAutocomplete as Autocomplete };\n"],"mappings":"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","ignoreList":[]}
@@ -79,5 +79,5 @@ const Badge = ({
79
79
  return renderBadge;
80
80
  };
81
81
  const MemoizedBadge = exports.Badge = (0, _react.memo)(Badge);
82
- MemoizedBadge.displayName = "Badge::pkg=odyssey&odysseyV=1.57.0";
82
+ MemoizedBadge.displayName = "Badge::pkg=odyssey&odysseyV=1.58.0";
83
83
  //# sourceMappingURL=Badge.cjs.map
@@ -66,5 +66,5 @@ const Banner = ({
66
66
  });
67
67
  };
68
68
  const MemoizedBanner = exports.Banner = (0, _react.memo)(Banner);
69
- MemoizedBanner.displayName = "Banner::pkg=odyssey&odysseyV=1.57.0";
69
+ MemoizedBanner.displayName = "Banner::pkg=odyssey&odysseyV=1.58.0";
70
70
  //# sourceMappingURL=Banner.cjs.map
package/dist/cjs/Box.cjs CHANGED
@@ -39,5 +39,5 @@ const Box = (0, _react.forwardRef)(({
39
39
  translate: translate
40
40
  }));
41
41
  const MemoizedBox = exports.Box = (0, _react.memo)(Box);
42
- MemoizedBox.displayName = "Box::pkg=odyssey&odysseyV=1.57.0";
42
+ MemoizedBox.displayName = "Box::pkg=odyssey&odysseyV=1.58.0";
43
43
  //# sourceMappingURL=Box.cjs.map
@@ -134,6 +134,10 @@ const BreadcrumbList = ({
134
134
  "aria-label": t("breadcrumbs.label.text"),
135
135
  "data-se": testId,
136
136
  maxItems: children.length + 1,
137
+ separator: (0, _jsxRuntime.jsx)("span", {
138
+ translate: "no",
139
+ children: "/"
140
+ }),
137
141
  translate: translate,
138
142
  children: [homeHref && (0, _jsxRuntime.jsx)(_ButtonBase2.default, {
139
143
  "aria-label": t("breadcrumbs.home.text"),
@@ -179,5 +183,5 @@ const BreadcrumbList = ({
179
183
  });
180
184
  };
181
185
  const MemoizedBreadcrumbList = exports.BreadcrumbList = (0, _react.memo)(BreadcrumbList);
182
- MemoizedBreadcrumbList.displayName = "BreadcrumbList::pkg=odyssey&odysseyV=1.57.0";
186
+ MemoizedBreadcrumbList.displayName = "BreadcrumbList::pkg=odyssey&odysseyV=1.58.0";
183
187
  //# sourceMappingURL=Breadcrumbs.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumbs.cjs","names":["_styled","_interopRequireDefault","require","_react","_i18n","_index","_Typography","_jsxRuntime","e","__esModule","default","BreadcrumbContext","exports","createContext","breadcrumbType","BreadcrumbContent","styled","span","Breadcrumb","children","href","iconName","onClick","useContext","onClickHandler","useCallback","event","preventDefault","stopPropagation","breadcrumbContent","jsxs","Fragment","jsx","GroupIcon","UserIcon","Subordinate","color","_MenuItem2","component","ariaCurrent","_ButtonBase2","breadcrumbProviderValue","currentPage","listItem","menuItem","defaultTruncationValue","BreadcrumbList","homeHref","maxVisibleItems","maxVisibleItemsProp","testId","translate","t","useTranslation","anchorEl","setAnchorEl","useState","useMemo","Math","min","max","length","breadcrumbSections","beforeMenu","insideMenu","remainingBreadcrumbs","menuStart","floor","menuLength","slice","onMenuButtonClick","currentTarget","onCloseMenu","_Breadcrumbs2","maxItems","HomeIcon","map","breadcrumb","index","Provider","value","_Menu2","anchorOrigin","horizontal","vertical","MenuListProps","sx","minWidth","onClose","open","Boolean","MemoizedBreadcrumbList","memo","displayName"],"sources":["../../src/Breadcrumbs.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport {\n ButtonBase,\n Menu,\n MenuItem,\n Breadcrumbs as MuiBreadcrumbs,\n} from \"@mui/material\";\nimport {\n createContext,\n memo,\n MouseEventHandler,\n ReactElement,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from \"react\";\n\nimport { HtmlProps } from \"./HtmlProps.js\";\nimport { useTranslation } from \"./i18n.generated/i18n.js\";\nimport { GroupIcon, HomeIcon, UserIcon } from \"./icons.generated/index.js\";\nimport { Subordinate } from \"./Typography.js\";\n\nexport type BreadcrumbType = \"listItem\" | \"menuItem\" | \"currentPage\";\n\nexport type BreadcrumbProps = {\n children?: string;\n href?: string;\n iconName?: \"user\" | \"group\";\n onClick?: MouseEventHandler;\n};\n\nexport type BreadcrumbsProps = {\n children: ReactElement<typeof Breadcrumb>[];\n homeHref?: string;\n maxVisibleItems?: number;\n} & Pick<HtmlProps, \"testId\" | \"translate\">;\n\nexport type BreadcrumbContextType = {\n breadcrumbType: BreadcrumbType;\n};\n\nexport const BreadcrumbContext = createContext<BreadcrumbContextType>({\n breadcrumbType: \"listItem\",\n});\n\nconst BreadcrumbContent = styled.span`\n white-space: nowrap;\n overflow: hidden;\n max-width: 10rem;\n text-overflow: ellipsis;\n`;\n\nexport const Breadcrumb = ({\n children,\n href,\n iconName,\n onClick,\n}: BreadcrumbProps) => {\n const { breadcrumbType } = useContext(BreadcrumbContext);\n\n const onClickHandler = useCallback<MouseEventHandler<HTMLAnchorElement>>(\n (event) => {\n if (onClick) {\n event.preventDefault();\n event.stopPropagation();\n onClick(event);\n }\n },\n [onClick],\n );\n\n const breadcrumbContent = (\n <>\n {iconName === \"group\" ? (\n <GroupIcon />\n ) : iconName === \"user\" ? (\n <UserIcon />\n ) : null}\n <BreadcrumbContent>{children}</BreadcrumbContent>\n </>\n );\n\n if (!href) {\n return <Subordinate color=\"textPrimary\">{breadcrumbContent}</Subordinate>;\n }\n\n if (breadcrumbType === \"menuItem\") {\n return (\n <MenuItem component=\"a\" href={href} onClick={onClickHandler}>\n {breadcrumbContent}\n </MenuItem>\n );\n }\n\n if (breadcrumbType === \"currentPage\") {\n return (\n <Subordinate ariaCurrent=\"page\" color=\"textPrimary\">\n {breadcrumbContent}\n </Subordinate>\n );\n }\n\n // breadcrumbType === \"listItem\" is the default\n // Provided here without a conditional to get TS to be quiet\n // about potential undefined returns\n return (\n <ButtonBase href={href} onClick={onClickHandler}>\n {breadcrumbContent}\n </ButtonBase>\n );\n};\n\nconst breadcrumbProviderValue: Record<\n BreadcrumbType,\n { breadcrumbType: BreadcrumbType }\n> = {\n currentPage: {\n breadcrumbType: \"currentPage\",\n },\n listItem: {\n breadcrumbType: \"listItem\",\n },\n menuItem: {\n breadcrumbType: \"menuItem\",\n },\n};\n\nconst defaultTruncationValue = 5;\n\nconst BreadcrumbList = ({\n children,\n homeHref,\n maxVisibleItems: maxVisibleItemsProp = defaultTruncationValue,\n testId,\n translate,\n}: BreadcrumbsProps) => {\n const { t } = useTranslation();\n\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null);\n\n const maxVisibleItems = useMemo(\n () => Math.min(Math.max(maxVisibleItemsProp, 0), children.length),\n [maxVisibleItemsProp, children],\n );\n\n const breadcrumbSections = useMemo(() => {\n if (children.length <= maxVisibleItems) {\n return {\n beforeMenu: [],\n insideMenu: [],\n remainingBreadcrumbs: children,\n };\n } else {\n const menuStart = Math.floor(maxVisibleItems / 2);\n const menuLength = children.length - maxVisibleItems;\n\n return {\n beforeMenu: children.slice(0, menuStart),\n insideMenu: children.slice(menuStart, menuStart + menuLength),\n remainingBreadcrumbs: children.slice(menuStart + menuLength),\n };\n }\n }, [children, maxVisibleItems]);\n\n const onMenuButtonClick = useCallback<MouseEventHandler<HTMLButtonElement>>(\n (event) => setAnchorEl(event.currentTarget),\n [],\n );\n const onCloseMenu = useCallback(() => {\n setAnchorEl(null);\n }, []);\n\n return (\n <MuiBreadcrumbs\n aria-label={t(\"breadcrumbs.label.text\")}\n data-se={testId}\n maxItems={children.length + 1}\n translate={translate}\n >\n {homeHref && (\n <ButtonBase aria-label={t(\"breadcrumbs.home.text\")} href={homeHref}>\n <HomeIcon />\n </ButtonBase>\n )}\n\n {breadcrumbSections.beforeMenu.map((breadcrumb, index) => (\n <BreadcrumbContext.Provider\n key={index}\n value={breadcrumbProviderValue.listItem}\n >\n {breadcrumb}\n </BreadcrumbContext.Provider>\n ))}\n\n {breadcrumbSections.insideMenu.length > 0 && (\n <>\n <ButtonBase onClick={onMenuButtonClick}>...</ButtonBase>\n <Menu\n anchorEl={anchorEl}\n anchorOrigin={{ horizontal: \"left\", vertical: \"bottom\" }}\n MenuListProps={{\n sx: {\n minWidth: 180,\n },\n }}\n onClose={onCloseMenu}\n open={Boolean(anchorEl)}\n >\n <BreadcrumbContext.Provider\n value={breadcrumbProviderValue.menuItem}\n >\n {breadcrumbSections.insideMenu}\n </BreadcrumbContext.Provider>\n </Menu>\n </>\n )}\n\n {breadcrumbSections.remainingBreadcrumbs.map((breadcrumb, index) => {\n if (index === breadcrumbSections.remainingBreadcrumbs.length - 1) {\n return (\n <BreadcrumbContext.Provider\n key={index}\n value={breadcrumbProviderValue.currentPage}\n >\n {breadcrumb}\n </BreadcrumbContext.Provider>\n );\n }\n return (\n <BreadcrumbContext.Provider\n key={index}\n value={breadcrumbProviderValue.listItem}\n >\n {breadcrumb}\n </BreadcrumbContext.Provider>\n );\n })}\n </MuiBreadcrumbs>\n );\n};\n\nconst MemoizedBreadcrumbList = memo(BreadcrumbList);\nMemoizedBreadcrumbList.displayName = \"BreadcrumbList\";\n\nexport { MemoizedBreadcrumbList as BreadcrumbList };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Breadcrumbs.cjs","names":["_styled","_interopRequireDefault","require","_react","_i18n","_index","_Typography","_jsxRuntime","e","__esModule","default","BreadcrumbContext","exports","createContext","breadcrumbType","BreadcrumbContent","styled","span","Breadcrumb","children","href","iconName","onClick","useContext","onClickHandler","useCallback","event","preventDefault","stopPropagation","breadcrumbContent","jsxs","Fragment","jsx","GroupIcon","UserIcon","Subordinate","color","_MenuItem2","component","ariaCurrent","_ButtonBase2","breadcrumbProviderValue","currentPage","listItem","menuItem","defaultTruncationValue","BreadcrumbList","homeHref","maxVisibleItems","maxVisibleItemsProp","testId","translate","t","useTranslation","anchorEl","setAnchorEl","useState","useMemo","Math","min","max","length","breadcrumbSections","beforeMenu","insideMenu","remainingBreadcrumbs","menuStart","floor","menuLength","slice","onMenuButtonClick","currentTarget","onCloseMenu","_Breadcrumbs2","maxItems","separator","HomeIcon","map","breadcrumb","index","Provider","value","_Menu2","anchorOrigin","horizontal","vertical","MenuListProps","sx","minWidth","onClose","open","Boolean","MemoizedBreadcrumbList","memo","displayName"],"sources":["../../src/Breadcrumbs.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport {\n ButtonBase,\n Menu,\n MenuItem,\n Breadcrumbs as MuiBreadcrumbs,\n} from \"@mui/material\";\nimport {\n createContext,\n memo,\n MouseEventHandler,\n ReactElement,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from \"react\";\n\nimport { HtmlProps } from \"./HtmlProps.js\";\nimport { useTranslation } from \"./i18n.generated/i18n.js\";\nimport { GroupIcon, HomeIcon, UserIcon } from \"./icons.generated/index.js\";\nimport { Subordinate } from \"./Typography.js\";\n\nexport type BreadcrumbType = \"listItem\" | \"menuItem\" | \"currentPage\";\n\nexport type BreadcrumbProps = {\n children?: string;\n href?: string;\n iconName?: \"user\" | \"group\";\n onClick?: MouseEventHandler;\n};\n\nexport type BreadcrumbsProps = {\n children: ReactElement<typeof Breadcrumb>[];\n homeHref?: string;\n maxVisibleItems?: number;\n} & Pick<HtmlProps, \"testId\" | \"translate\">;\n\nexport type BreadcrumbContextType = {\n breadcrumbType: BreadcrumbType;\n};\n\nexport const BreadcrumbContext = createContext<BreadcrumbContextType>({\n breadcrumbType: \"listItem\",\n});\n\nconst BreadcrumbContent = styled.span`\n white-space: nowrap;\n overflow: hidden;\n max-width: 10rem;\n text-overflow: ellipsis;\n`;\n\nexport const Breadcrumb = ({\n children,\n href,\n iconName,\n onClick,\n}: BreadcrumbProps) => {\n const { breadcrumbType } = useContext(BreadcrumbContext);\n\n const onClickHandler = useCallback<MouseEventHandler<HTMLAnchorElement>>(\n (event) => {\n if (onClick) {\n event.preventDefault();\n event.stopPropagation();\n onClick(event);\n }\n },\n [onClick],\n );\n\n const breadcrumbContent = (\n <>\n {iconName === \"group\" ? (\n <GroupIcon />\n ) : iconName === \"user\" ? (\n <UserIcon />\n ) : null}\n <BreadcrumbContent>{children}</BreadcrumbContent>\n </>\n );\n\n if (!href) {\n return <Subordinate color=\"textPrimary\">{breadcrumbContent}</Subordinate>;\n }\n\n if (breadcrumbType === \"menuItem\") {\n return (\n <MenuItem component=\"a\" href={href} onClick={onClickHandler}>\n {breadcrumbContent}\n </MenuItem>\n );\n }\n\n if (breadcrumbType === \"currentPage\") {\n return (\n <Subordinate ariaCurrent=\"page\" color=\"textPrimary\">\n {breadcrumbContent}\n </Subordinate>\n );\n }\n\n // breadcrumbType === \"listItem\" is the default\n // Provided here without a conditional to get TS to be quiet\n // about potential undefined returns\n return (\n <ButtonBase href={href} onClick={onClickHandler}>\n {breadcrumbContent}\n </ButtonBase>\n );\n};\n\nconst breadcrumbProviderValue: Record<\n BreadcrumbType,\n { breadcrumbType: BreadcrumbType }\n> = {\n currentPage: {\n breadcrumbType: \"currentPage\",\n },\n listItem: {\n breadcrumbType: \"listItem\",\n },\n menuItem: {\n breadcrumbType: \"menuItem\",\n },\n};\n\nconst defaultTruncationValue = 5;\n\nconst BreadcrumbList = ({\n children,\n homeHref,\n maxVisibleItems: maxVisibleItemsProp = defaultTruncationValue,\n testId,\n translate,\n}: BreadcrumbsProps) => {\n const { t } = useTranslation();\n\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null);\n\n const maxVisibleItems = useMemo(\n () => Math.min(Math.max(maxVisibleItemsProp, 0), children.length),\n [maxVisibleItemsProp, children],\n );\n\n const breadcrumbSections = useMemo(() => {\n if (children.length <= maxVisibleItems) {\n return {\n beforeMenu: [],\n insideMenu: [],\n remainingBreadcrumbs: children,\n };\n } else {\n const menuStart = Math.floor(maxVisibleItems / 2);\n const menuLength = children.length - maxVisibleItems;\n\n return {\n beforeMenu: children.slice(0, menuStart),\n insideMenu: children.slice(menuStart, menuStart + menuLength),\n remainingBreadcrumbs: children.slice(menuStart + menuLength),\n };\n }\n }, [children, maxVisibleItems]);\n\n const onMenuButtonClick = useCallback<MouseEventHandler<HTMLButtonElement>>(\n (event) => setAnchorEl(event.currentTarget),\n [],\n );\n const onCloseMenu = useCallback(() => {\n setAnchorEl(null);\n }, []);\n\n return (\n <MuiBreadcrumbs\n aria-label={t(\"breadcrumbs.label.text\")}\n data-se={testId}\n maxItems={children.length + 1}\n separator={<span translate=\"no\">/</span>}\n translate={translate}\n >\n {homeHref && (\n <ButtonBase aria-label={t(\"breadcrumbs.home.text\")} href={homeHref}>\n <HomeIcon />\n </ButtonBase>\n )}\n\n {breadcrumbSections.beforeMenu.map((breadcrumb, index) => (\n <BreadcrumbContext.Provider\n key={index}\n value={breadcrumbProviderValue.listItem}\n >\n {breadcrumb}\n </BreadcrumbContext.Provider>\n ))}\n\n {breadcrumbSections.insideMenu.length > 0 && (\n <>\n <ButtonBase onClick={onMenuButtonClick}>...</ButtonBase>\n <Menu\n anchorEl={anchorEl}\n anchorOrigin={{ horizontal: \"left\", vertical: \"bottom\" }}\n MenuListProps={{\n sx: {\n minWidth: 180,\n },\n }}\n onClose={onCloseMenu}\n open={Boolean(anchorEl)}\n >\n <BreadcrumbContext.Provider\n value={breadcrumbProviderValue.menuItem}\n >\n {breadcrumbSections.insideMenu}\n </BreadcrumbContext.Provider>\n </Menu>\n </>\n )}\n\n {breadcrumbSections.remainingBreadcrumbs.map((breadcrumb, index) => {\n if (index === breadcrumbSections.remainingBreadcrumbs.length - 1) {\n return (\n <BreadcrumbContext.Provider\n key={index}\n value={breadcrumbProviderValue.currentPage}\n >\n {breadcrumb}\n </BreadcrumbContext.Provider>\n );\n }\n return (\n <BreadcrumbContext.Provider\n key={index}\n value={breadcrumbProviderValue.listItem}\n >\n {breadcrumb}\n </BreadcrumbContext.Provider>\n );\n })}\n </MuiBreadcrumbs>\n );\n};\n\nconst MemoizedBreadcrumbList = memo(BreadcrumbList);\nMemoizedBreadcrumbList.displayName = \"BreadcrumbList\";\n\nexport { MemoizedBreadcrumbList as BreadcrumbList };\n"],"mappings":"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","ignoreList":[]}
@@ -105,5 +105,5 @@ const BaseButton = ({
105
105
  return renderButton(muiProps);
106
106
  };
107
107
  const MemoizedBaseButton = exports.BaseButton = (0, _react.memo)(BaseButton);
108
- MemoizedBaseButton.displayName = "BaseButton::pkg=odyssey&odysseyV=1.57.0";
108
+ MemoizedBaseButton.displayName = "BaseButton::pkg=odyssey&odysseyV=1.58.0";
109
109
  //# sourceMappingURL=BaseButton.cjs.map
@@ -172,5 +172,5 @@ const BaseMenuButton = ({
172
172
  });
173
173
  };
174
174
  const MemoizedBaseMenuButton = exports.BaseMenuButton = (0, _react.memo)(BaseMenuButton);
175
- MemoizedBaseMenuButton.displayName = "BaseMenuButton::pkg=odyssey&odysseyV=1.57.0";
175
+ MemoizedBaseMenuButton.displayName = "BaseMenuButton::pkg=odyssey&odysseyV=1.58.0";
176
176
  //# sourceMappingURL=BaseMenuButton.cjs.map
@@ -25,5 +25,5 @@ const Button = props => {
25
25
  });
26
26
  };
27
27
  const MemoizedButton = exports.Button = (0, _react.memo)(Button);
28
- MemoizedButton.displayName = "Button::pkg=odyssey&odysseyV=1.57.0";
28
+ MemoizedButton.displayName = "Button::pkg=odyssey&odysseyV=1.58.0";
29
29
  //# sourceMappingURL=Button.cjs.map
@@ -25,5 +25,5 @@ const MenuButton = props => {
25
25
  });
26
26
  };
27
27
  const MemoizedMenuButton = exports.MenuButton = (0, _react.memo)(MenuButton);
28
- MemoizedMenuButton.displayName = "MenuButton::pkg=odyssey&odysseyV=1.57.0";
28
+ MemoizedMenuButton.displayName = "MenuButton::pkg=odyssey&odysseyV=1.58.0";
29
29
  //# sourceMappingURL=MenuButton.cjs.map
@@ -55,5 +55,5 @@ const MenuItem = ({
55
55
  });
56
56
  };
57
57
  const MemoizedMenuItem = exports.MenuItem = (0, _react.memo)(MenuItem);
58
- MemoizedMenuItem.displayName = "MenuItem::pkg=odyssey&odysseyV=1.57.0";
58
+ MemoizedMenuItem.displayName = "MenuItem::pkg=odyssey&odysseyV=1.58.0";
59
59
  //# sourceMappingURL=MenuItem.cjs.map
@@ -91,5 +91,5 @@ const Callout = ({
91
91
  });
92
92
  };
93
93
  const MemoizedCallout = exports.Callout = (0, _react.memo)(Callout);
94
- MemoizedCallout.displayName = "Callout::pkg=odyssey&odysseyV=1.57.0";
94
+ MemoizedCallout.displayName = "Callout::pkg=odyssey&odysseyV=1.58.0";
95
95
  //# sourceMappingURL=Callout.cjs.map
package/dist/cjs/Card.cjs CHANGED
@@ -337,5 +337,5 @@ const Card = ({
337
337
  });
338
338
  };
339
339
  const MemoizedCard = exports.Card = (0, _react.memo)(Card);
340
- MemoizedCard.displayName = "Card::pkg=odyssey&odysseyV=1.57.0";
340
+ MemoizedCard.displayName = "Card::pkg=odyssey&odysseyV=1.58.0";
341
341
  //# sourceMappingURL=Card.cjs.map
@@ -31,5 +31,5 @@ const CircularProgress = ({
31
31
  variant: value ? "determinate" : "indeterminate"
32
32
  });
33
33
  const MemoizedCircularProgress = exports.CircularProgress = (0, _react.memo)(CircularProgress);
34
- MemoizedCircularProgress.displayName = "CircularProgress::pkg=odyssey&odysseyV=1.57.0";
34
+ MemoizedCircularProgress.displayName = "CircularProgress::pkg=odyssey&odysseyV=1.58.0";
35
35
  //# sourceMappingURL=CircularProgress.cjs.map
@@ -26,5 +26,5 @@ const ConditionalWrapper = ({
26
26
  children: children
27
27
  });
28
28
  const MemoizedConditionalWrapper = exports.ConditionalWrapper = (0, _react.memo)(ConditionalWrapper);
29
- MemoizedConditionalWrapper.displayName = "ConditionalWrapper::pkg=odyssey&odysseyV=1.57.0";
29
+ MemoizedConditionalWrapper.displayName = "ConditionalWrapper::pkg=odyssey&odysseyV=1.58.0";
30
30
  //# sourceMappingURL=ConditionalWrapper.cjs.map
@@ -443,7 +443,7 @@ const DataTable = ({
443
443
  enableSorting: hasSorting,
444
444
  onSortingChange: setColumnSorting,
445
445
  muiTableHeadCellProps,
446
- enableRowVirtualization: paginationType !== "loadMore" && pagination.pageSize > 50,
446
+ enableRowVirtualization: paginationType !== "loadMore" && pagination.pageSize > 50 && data.length > 0,
447
447
  rowVirtualizerInstanceRef: (0, _react.useRef)(null),
448
448
  rowVirtualizerOptions: {
449
449
  overscan: 4
@@ -579,5 +579,5 @@ const DataTable = ({
579
579
  });
580
580
  };
581
581
  const MemoizedDataTable = exports.DataTable = (0, _react.memo)(DataTable);
582
- MemoizedDataTable.displayName = "DataTable::pkg=odyssey&odysseyV=1.57.0";
582
+ MemoizedDataTable.displayName = "DataTable::pkg=odyssey&odysseyV=1.58.0";
583
583
  //# sourceMappingURL=DataTable.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.cjs","names":["_styled","_interopRequireDefault","require","_materialReactTable","_react","_Box","_Button","_MenuButton","_Callout","_EmptyState","_i18n","_index","_DataFilters","_OdysseyDesignTokensContext","_Pagination","_usePagination","_constants","_DataTableRowActions","_DataTableSettings","_useRowReordering","_useScrollIndication","_jsxRuntime","e","__esModule","default","ScrollableTableContainer","styled","shouldForwardProp","prop","odysseyDesignTokens","isScrollableStart","isScrollableEnd","marginBlockEnd","Spacing4","position","borderInlineStartColor","HueNeutral200","borderInlineStartStyle","borderInlineStartWidth","BorderWidthMain","background","content","opacity","pointerEvents","top","left","bottom","width","Spacing6","zIndex","transition","TransitionDurationMain","TransitionTimingMain","borderInlineEndColor","borderInlineEndStyle","borderInlineEndWidth","right","defaultGetRowId","row","id","DataTable","additionalActionButton","additionalActionMenuItems","bulkActionMenuItems","columns","currentPage","emptyPlaceholder","errorMessage","errorMessageProp","filters","filtersProp","getData","getRowId","hasChangeableDensity","hasColumnResizing","hasColumnVisibility","hasFilters","hasPagination","hasRowReordering","hasRowSelection","hasSearch","hasSearchSubmitButton","hasSorting","initialDensity","densityValues","initialSearchValue","isPaginationMoreDisabled","noResultsPlaceholder","onChangeRowSelection","onReorderRows","paginationType","renderDetailPanel","resultsPerPage","maxResultsPerPage","maxPages","rowActionButtons","rowActionMenuItems","searchDelayTime","selectedRows","totalRows","t","useTranslation","data","setData","useState","pagination","setPagination","pageIndex","pageSize","draggingRow","setDraggingRow","isTableContainerScrolledToStart","setIsTableContainerScrolledToStart","isTableContainerScrolledToEnd","setIsTableContainerScrolledToEnd","tableInnerContainerWidth","setTableInnerContainerWidth","tableOuterContainerRef","useRef","tableInnerContainerRef","tableContentRef","columnSorting","setColumnSorting","columnVisibility","setColumnVisibility","rowDensity","setRowDensity","search","setSearch","setFilters","initialFilters","setInitialFilters","isLoading","setIsLoading","isEmpty","setIsEmpty","setErrorMessage","rowSelection","setRowSelection","useScrollIndication","tableOuterContainer","current","tableInnerContainer","useOdysseyDesignTokens","dragHandleStyles","dragHandleText","draggableTableBodyRowClassName","handleDragHandleKeyDown","handleDragHandleOnDragCapture","handleDragHandleOnDragEnd","resetDraggingAndHoveredRow","updateRowOrder","useRowReordering","page","rowDensityClassName","useMemo","renderRowActions","useCallback","currentIndex","index","jsx","DataTableRowActions","rowIndex","undefined","convertFilterSelectOptions","options","map","option","label","value","convertColumnToFilter","column","enableColumnFilter","accessorKey","header","variant","filterVariant","filterSelectOptions","dataTableFilters","providedFilters","reduce","accumulator","item","foundColumn","find","filter","concat","defaultCell","cell","getValue","hasTextWrapping","columnDef","enableWrapping","Box","sx","whiteSpace","textOverflow","overflow","children","emptyState","noResultsInnerContent","EmptyState","description","heading","emptyStateInnerContent","columnIds","columnOrder","shouldDisplayRowActions","muiTableBodyProps","className","muiTableBodyCellProps","getIsResizing","overflowWrap","muiDetailPanelProps","paddingBlock","getIsExpanded","Spacing3","muiTableBodyRowProps","table","isDetailPanel","currentRowId","draggingRowId","hoveredRowId","getState","hoveredRow","border","backgroundColor","muiRowDragHandleProps","onKeyDown","event","onBlur","onDragEnd","onDragCapture","muiTableHeadCellProps","currentColumn","sortedColumn","hasColumnWithGrow","some","grow","dataTable","useMaterialReactTable","state","sorting","globalFilter","icons","ArrowDownwardIcon","ArrowDownIcon","DragHandleIcon","DragIndicatorIcon","SyncAltIcon","ArrowUnsortedIcon","ExpandMoreIcon","ChevronDownIcon","enableColumnActions","enableColumnResizing","enableDensityToggle","enableFilters","enableFullScreenToggle","enableGlobalFilter","enableHiding","enablePagination","layoutMode","manualFiltering","manualSorting","muiTablePaperProps","elevation","selectAllMode","displayColumnDefOptions","align","jsxs","display","visibility","Button","ariaLabel","endIcon","MoreIcon","isDisabled","size","minWidth","marginInline","padding","defaultColumn","Cell","enableRowOrdering","Boolean","enableRowDragging","enableRowActions","positionActionsColumn","enableRowSelection","onRowSelectionChange","enableSorting","onSortingChange","enableRowVirtualization","rowVirtualizerInstanceRef","rowVirtualizerOptions","overscan","renderEmptyRowsFallback","muiTableProps","ref","muiTableContainerProps","enableExpandAll","bulkActionMenuButton","Fragment","MenuButton","buttonVariant","Object","keys","length","useEffect","incomingData","sort","error","prev","lastRow","usePagination","currentRowsCount","marginBottom","DataFilters","additionalActions","DataTableSettings","menuAlignment","defaultSearchTerm","onChangeFilters","onChangeSearch","Callout","severity","text","MRT_TableContainer","Pagination","currentPageLabel","isMoreDisabled","loadMoreLabel","maxPageIndex","maxPageSize","nextLabel","onPaginationChange","previousLabel","rowsPerPageLabel","MemoizedDataTable","exports","memo","displayName"],"sources":["../../../src/DataTable/DataTable.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport {\n MRT_Cell,\n MRT_Column,\n MRT_ColumnDef,\n MRT_DensityState,\n MRT_Row,\n MRT_RowData,\n MRT_RowSelectionState,\n MRT_RowVirtualizer,\n MRT_SortingState,\n MRT_TableContainer,\n MRT_TableInstance,\n MRT_TableOptions,\n MRT_VisibilityState,\n useMaterialReactTable,\n} from \"material-react-table\";\nimport {\n memo,\n ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport { Box } from \"../Box.js\";\nimport { Button } from \"../Buttons/Button.js\";\nimport { MenuButton, type MenuButtonProps } from \"../Buttons/MenuButton.js\";\nimport { Callout } from \"../Callout.js\";\nimport { EmptyState } from \"../EmptyState.js\";\nimport { useTranslation } from \"../i18n.generated/i18n.js\";\nimport {\n ArrowDownIcon,\n ArrowUnsortedIcon,\n ChevronDownIcon,\n DragIndicatorIcon,\n MoreIcon,\n} from \"../icons.generated/index.js\";\nimport { DataTableRowData, DataTableRowSelectionState } from \"../index.js\";\nimport { DataFilter, DataFilters } from \"../labs/DataFilters.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../OdysseyDesignTokensContext.js\";\nimport { paginationTypeValues } from \"../Pagination/constants.js\";\nimport { Pagination } from \"../Pagination/Pagination.js\";\nimport { usePagination } from \"../Pagination/usePagination.js\";\nimport { densityValues } from \"./constants.js\";\nimport {\n DataTableRowActions,\n DataTableRowActionsProps,\n} from \"./DataTableRowActions.js\";\nimport { DataTableSettings } from \"./DataTableSettings.js\";\nimport { useRowReordering } from \"./useRowReordering.js\";\nimport { useScrollIndication } from \"./useScrollIndication.js\";\n\nexport type DataTableColumn<T extends DataTableRowData> = MRT_ColumnDef<T> & {\n /**\n * @deprecated use hasTextWrapping instead of enableWrapping\n */\n enableWrapping?: boolean;\n hasTextWrapping?: boolean;\n};\n\ntype DataTableColumnInstance<T extends DataTableRowData> = Omit<\n MRT_Column<T, unknown>,\n \"columnDef\"\n> & {\n columnDef: DataTableColumn<T>;\n};\n\ntype DataTableCell<T extends DataTableRowData> = Omit<MRT_Cell<T>, \"column\"> & {\n column: DataTableColumnInstance<T>;\n};\n\n/**\n * Utility type to extract a callback function type from a given key of `MRT_TableOptions`.\n *\n * The `Extract<>` utility is used to filter out only the function type from the property,\n * as some `MRT_TableOptions` properties can be union types (e.g., `function` | `object`).\n *\n * The `@typescript-eslint/no-unsafe-function-type` rule is disabled here because we must extract\n * a function type from a property of `MRT_TableOptions`, but the exact function signature varies\n * depending on the key.\n */\ntype MRT_TableOptionsCallback<\n TableOptionKey extends keyof Required<MRT_TableOptions<MRT_RowData>>,\n TData extends MRT_RowData = MRT_RowData,\n> = Extract<\n Required<MRT_TableOptions<TData>>[TableOptionKey],\n Function // eslint-disable-line @typescript-eslint/no-unsafe-function-type\n>;\n\nexport type DataTableGetDataType = {\n filters?: DataFilter[];\n page?: number;\n resultsPerPage?: number;\n search?: string;\n sort?: MRT_SortingState;\n};\n\nexport type DataTableOnReorderRowsType = {\n newRowIndex: number;\n rowId: string;\n};\n\nexport type DataTableRenderDetailPanelType = {\n row: MRT_Row<DataTableRowData>;\n table: MRT_TableInstance<DataTableRowData>;\n};\n\nexport type DataTableProps = {\n /**\n * An optional action button above the table.\n */\n additionalActionButton?: ReactNode;\n /**\n * MenuItems that go in an optional action menu above the table.\n */\n additionalActionMenuItems?: ReactNode;\n /**\n * Menu items to include in the bulk actions menu, which appears above the table if a row or rows are selected\n */\n bulkActionMenuItems?: (\n selectedRows: MRT_RowSelectionState,\n ) => MenuButtonProps[\"children\"];\n /**\n * The columns that make up the table\n */\n columns: DataTableColumn<DataTableRowData>[];\n /**\n * The current page number.\n */\n currentPage?: number;\n /**\n * The component to display when the table is displaying the initial empty state\n */\n emptyPlaceholder?: ReactNode;\n /**\n * If `error` is not undefined, the DataTable will indicate an error.\n */\n errorMessage?: string;\n /**\n * An optional set of filters to render in the filters menu\n */\n filters?: Array<DataFilter | DataTableColumn<DataTableRowData> | string>;\n /**\n * Callback that fires whenever the table needs to fetch new data, due to changes in\n * page, results per page, search input, filters, or sorting\n */\n getData: ({\n page,\n resultsPerPage,\n search,\n filters,\n sort,\n }: DataTableGetDataType) =>\n | MRT_TableOptions<DataTableRowData>[\"data\"]\n | Promise<MRT_TableOptions<DataTableRowData>[\"data\"]>;\n /**\n * The function to get the ID of a row\n */\n getRowId?: MRT_TableOptions<DataTableRowData>[\"getRowId\"];\n /**\n * If true, the end user will be able to change the table density.\n */\n hasChangeableDensity?: boolean;\n /**\n * If true, the end user can resize individual columns.\n */\n hasColumnResizing?: boolean;\n /**\n * If true, the end user will be able to show/hide columns.\n */\n hasColumnVisibility?: boolean;\n /**\n * If true, the end user will be able to filter columns.\n */\n hasFilters?: boolean;\n /**\n * If true, the table will include pagination controls.\n */\n hasPagination?: boolean;\n /**\n * If true, the end user can reorder rows via a drag-and-drop interface\n */\n hasRowReordering?: boolean;\n /**\n * If true, the table will include checkboxes on each row, enabling\n * the user to select some or all rows.\n */\n hasRowSelection?: boolean;\n /**\n * If true, the global table search controls will be shown.\n */\n hasSearch?: boolean;\n /**\n * If true, the search field will include a Search button, rather than\n * firing on input change.\n */\n hasSearchSubmitButton?: boolean;\n /**\n * If true, the end user can sort columns (ascending, descending, or neither)\n */\n hasSorting?: boolean;\n /**\n * The initial density (height & padding) of the table rows. This is available even if the\n * table density isn't changeable by the end user via hasChangeableDensity.\n */\n initialDensity?: (typeof densityValues)[number];\n /**\n * The initial search value\n */\n initialSearchValue?: string;\n /**\n * Is the next or show-more button disabled\n */\n isPaginationMoreDisabled?: boolean;\n /**\n * The highest page number allowed to be manually input in pagination\n */\n maxPages?: number;\n /**\n * The largest number of rows allowed to be shown per page. This only affects the row input\n * in pagination.\n */\n maxResultsPerPage?: number;\n /**\n * The component to display when the query returns no results\n */\n noResultsPlaceholder?: ReactNode;\n /**\n * Callback that fires when a row (or rows) is selected or unselected.\n */\n onChangeRowSelection?: (rowSelection: DataTableRowSelectionState) => void;\n /**\n * Callback that fires when the user reorders rows within the table. Can be used\n * to propagate order change to the backend.\n */\n onReorderRows?: ({ rowId, newRowIndex }: DataTableOnReorderRowsType) => void;\n /**\n * The type of pagination controls shown. Defaults to next/prev buttons, but can be\n * set to a simple \"Load more\" button by setting to \"loadMore\".\n */\n paginationType?: (typeof paginationTypeValues)[number];\n /**\n * The optional component to display when expanding a row.\n */\n renderDetailPanel?: MRT_TableOptions<DataTableRowData>[\"renderDetailPanel\"];\n /**\n * The number of results per page.\n */\n resultsPerPage?: number;\n /**\n * Action buttons to display in each row\n */\n rowActionButtons?: DataTableRowActionsProps[\"rowActionButtons\"];\n /**\n * Menu items to include in the optional actions menu on each row.\n */\n rowActionMenuItems?: DataTableRowActionsProps[\"rowActionMenuItems\"];\n /**\n * The debounce time, in milliseconds, for the search input firing\n * `onChangeSearch` when changed. If `hasSearchSubmitButton` is true,\n * this doesn't do anything.\n */\n searchDelayTime?: number;\n /**\n * Allows for external control of the selected row state\n * use in tandem with onChangeRowSelection to manage your state\n */\n selectedRows?: DataTableRowSelectionState;\n /**\n * The total number of rows in the table. Optional, because it's sometimes impossible\n * to calculate. Used in table pagination to know when to disable the \"next\"/\"more\" button.\n */\n totalRows?: number;\n};\n\nconst ScrollableTableContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"isScrollableStart\" &&\n prop !== \"isScrollableEnd\",\n})<{\n isScrollableEnd: boolean;\n isScrollableStart: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens, isScrollableStart, isScrollableEnd }) => ({\n marginBlockEnd: odysseyDesignTokens.Spacing4,\n position: \"relative\",\n borderInlineStartColor: isScrollableStart\n ? odysseyDesignTokens.HueNeutral200\n : \"transparent\",\n borderInlineStartStyle: \"solid\",\n borderInlineStartWidth: odysseyDesignTokens.BorderWidthMain,\n \"::before\": {\n background:\n \"linear-gradient(-90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.33) 50%, rgba(0, 0, 0, 1) 100%)\",\n content: '\"\"',\n opacity: isScrollableStart ? \"0.075\" : \"0\",\n pointerEvents: \"none\",\n position: \"absolute\",\n top: 0,\n left: 0,\n bottom: 0,\n width: odysseyDesignTokens.Spacing6,\n zIndex: 100,\n transition: `opacity ${odysseyDesignTokens.TransitionDurationMain} ${odysseyDesignTokens.TransitionTimingMain}`,\n },\n borderInlineEndColor: isScrollableEnd\n ? odysseyDesignTokens.HueNeutral200\n : \"transparent\",\n borderInlineEndStyle: \"solid\",\n borderInlineEndWidth: odysseyDesignTokens.BorderWidthMain,\n \"::after\": {\n background:\n \"linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.33) 50%, rgba(0, 0, 0, 1) 100%)\",\n content: '\"\"',\n opacity: isScrollableEnd ? \"0.075\" : \"0\",\n pointerEvents: \"none\",\n position: \"absolute\",\n top: 0,\n right: 0,\n bottom: 0,\n width: odysseyDesignTokens.Spacing6,\n transition: `opacity ${odysseyDesignTokens.TransitionDurationMain} ${odysseyDesignTokens.TransitionTimingMain}`,\n },\n}));\n\nconst defaultGetRowId: DataTableProps[\"getRowId\"] = (row) => row.id as string;\n\nconst DataTable = ({\n additionalActionButton,\n additionalActionMenuItems,\n bulkActionMenuItems,\n columns,\n currentPage = 1,\n emptyPlaceholder,\n errorMessage: errorMessageProp,\n filters: filtersProp,\n getData,\n getRowId = defaultGetRowId,\n hasChangeableDensity,\n hasColumnResizing,\n hasColumnVisibility,\n hasFilters,\n hasPagination,\n hasRowReordering,\n hasRowSelection,\n hasSearch,\n hasSearchSubmitButton,\n hasSorting,\n initialDensity = densityValues[0],\n initialSearchValue = \"\",\n isPaginationMoreDisabled,\n noResultsPlaceholder,\n onChangeRowSelection,\n onReorderRows,\n paginationType = \"paged\",\n renderDetailPanel,\n resultsPerPage = 20,\n maxResultsPerPage,\n maxPages,\n rowActionButtons,\n rowActionMenuItems,\n searchDelayTime,\n selectedRows,\n totalRows,\n}: DataTableProps) => {\n const { t } = useTranslation();\n\n const [data, setData] = useState<DataTableRowData[]>([]);\n const [pagination, setPagination] = useState({\n pageIndex: currentPage,\n pageSize: resultsPerPage,\n });\n const [draggingRow, setDraggingRow] =\n useState<MRT_Row<DataTableRowData> | null>();\n const [isTableContainerScrolledToStart, setIsTableContainerScrolledToStart] =\n useState(true);\n const [isTableContainerScrolledToEnd, setIsTableContainerScrolledToEnd] =\n useState(true);\n const [tableInnerContainerWidth, setTableInnerContainerWidth] =\n useState<string>(\"100%\");\n const tableOuterContainerRef = useRef<HTMLDivElement>(null);\n const tableInnerContainerRef = useRef<HTMLDivElement>(null);\n const tableContentRef = useRef<HTMLTableElement>(null);\n\n // Table states\n const [columnSorting, setColumnSorting] = useState<MRT_SortingState>([]);\n const [columnVisibility, setColumnVisibility] =\n useState<MRT_VisibilityState>();\n const [rowDensity, setRowDensity] =\n useState<MRT_DensityState>(initialDensity);\n const [search, setSearch] = useState<string>(initialSearchValue);\n const [filters, setFilters] = useState<DataFilter[]>();\n const [initialFilters, setInitialFilters] = useState<DataFilter[]>();\n const [isLoading, setIsLoading] = useState<boolean | undefined>(true);\n const [isEmpty, setIsEmpty] = useState<boolean | undefined>();\n const [errorMessage, setErrorMessage] = useState<string | undefined>(\n errorMessageProp,\n );\n const [rowSelection, setRowSelection] = useState<MRT_RowSelectionState>(\n selectedRows ?? {},\n );\n\n useScrollIndication({\n tableOuterContainer: tableOuterContainerRef.current,\n tableInnerContainer: tableInnerContainerRef.current,\n setIsTableContainerScrolledToStart: setIsTableContainerScrolledToStart,\n setIsTableContainerScrolledToEnd: setIsTableContainerScrolledToEnd,\n setTableInnerContainerWidth: setTableInnerContainerWidth,\n });\n\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n const {\n dragHandleStyles,\n dragHandleText,\n draggableTableBodyRowClassName,\n handleDragHandleKeyDown,\n handleDragHandleOnDragCapture,\n handleDragHandleOnDragEnd,\n resetDraggingAndHoveredRow,\n updateRowOrder,\n } = useRowReordering({\n totalRows,\n onReorderRows,\n data,\n setData,\n draggingRow,\n setDraggingRow,\n resultsPerPage: pagination.pageSize,\n page: pagination.pageIndex,\n });\n\n const rowDensityClassName = useMemo(() => {\n return rowDensity === \"spacious\"\n ? \"MuiTableBody-spacious\"\n : rowDensity === \"compact\"\n ? \"MuiTableBody-compact\"\n : \"MuiTableBody-default\";\n }, [rowDensity]);\n\n const renderRowActions = useCallback(\n ({ row }: { row: MRT_Row<DataTableRowData> }) => {\n const currentIndex =\n row.index + (pagination.pageIndex - 1) * pagination.pageSize;\n return (\n <DataTableRowActions\n row={row}\n rowActionButtons={rowActionButtons}\n rowActionMenuItems={rowActionMenuItems}\n rowIndex={currentIndex}\n totalRows={totalRows}\n updateRowOrder={\n hasRowReordering && onReorderRows ? updateRowOrder : undefined\n }\n />\n );\n },\n [\n pagination,\n rowActionButtons,\n rowActionMenuItems,\n hasRowReordering,\n onReorderRows,\n totalRows,\n updateRowOrder,\n ],\n );\n\n /**\n * This hack is to provide compatibility with Material-React-Table's\n * filterOptions format, which allows for strings and { label: string, value: string }\n */\n const convertFilterSelectOptions = useCallback(\n (options: DataTableColumn<DataTableRowData>[\"filterSelectOptions\"]) =>\n options?.map((option) =>\n typeof option === \"string\"\n ? {\n label: option,\n value: option,\n }\n : {\n // If the option isn't a string, it must have value and/or option defined\n // If either is undefined, use the other\n // These shouldn't need `as`, but this is a legacy file now. --Kevin Ghadyani\n label: (option.label ?? option.value) as string,\n value: (option.value ?? option.label) as string,\n },\n ),\n [],\n );\n\n const convertColumnToFilter = useCallback(\n (column: DataTableColumn<DataTableRowData>) =>\n column.enableColumnFilter !== false && column.accessorKey\n ? ({\n id: column.accessorKey,\n label: column.header,\n variant: column.filterVariant,\n options: convertFilterSelectOptions(column.filterSelectOptions),\n } satisfies DataFilter as DataFilter)\n : null,\n [convertFilterSelectOptions],\n );\n\n /**\n * Filters default to the columns, but can be overridden\n * with the `filters` prop. `filters` should be an array\n * of column accessorKeys, column defs, or DataFilters.\n */\n const dataTableFilters = useMemo(() => {\n const providedFilters = filtersProp || columns;\n return providedFilters.reduce<DataFilter[]>((accumulator, item) => {\n if (typeof item === \"string\") {\n const foundColumn = columns.find(\n (column) => column.accessorKey === item,\n );\n if (foundColumn) {\n const filter = convertColumnToFilter(foundColumn);\n if (filter) {\n return accumulator.concat(filter);\n }\n }\n } else if (\"accessorKey\" in item) {\n // Checks if it's a column\n const filter = convertColumnToFilter(item);\n if (filter) {\n return accumulator.concat(filter);\n }\n } else if (\"label\" in item) {\n // Checks if it's a DataFilter\n return accumulator.concat(item);\n }\n // If none of the conditions match, item is ignored (not mapping to undefined)\n return accumulator;\n }, []);\n }, [columns, filtersProp, convertColumnToFilter]);\n\n const defaultCell = useCallback(\n ({ cell }: { cell: DataTableCell<DataTableRowData> }) => {\n const value = cell.getValue<string>();\n const hasTextWrapping =\n cell.column.columnDef.hasTextWrapping ||\n cell.column.columnDef.enableWrapping;\n\n return hasTextWrapping ? (\n value\n ) : (\n <Box\n sx={{\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n }}\n >\n {value}\n </Box>\n );\n },\n [],\n );\n\n const emptyState = useCallback(() => {\n const noResultsInnerContent = noResultsPlaceholder || (\n <EmptyState\n description={t(\"table.noresults.text\")}\n heading={t(\"table.noresults.heading\")}\n />\n );\n\n const emptyStateInnerContent =\n emptyPlaceholder && isEmpty ? emptyPlaceholder : noResultsInnerContent;\n\n return (\n <Box sx={{ width: tableInnerContainerWidth }}>\n {emptyStateInnerContent}\n </Box>\n );\n }, [\n emptyPlaceholder,\n isEmpty,\n noResultsPlaceholder,\n t,\n tableInnerContainerWidth,\n ]);\n\n const columnIds = useMemo(() => {\n return columns.map((column) => column.accessorKey);\n }, [columns]);\n\n const columnOrder = useMemo(\n () => [\n \"mrt-row-drag\",\n \"mrt-row-select\",\n \"mrt-row-expand\",\n ...columnIds,\n \"mrt-row-actions\",\n ],\n [columnIds],\n ) as string[];\n\n const shouldDisplayRowActions = useMemo(\n () =>\n (hasRowReordering === true && onReorderRows) ||\n rowActionButtons ||\n rowActionMenuItems\n ? true\n : false,\n [hasRowReordering, onReorderRows, rowActionButtons, rowActionMenuItems],\n );\n\n const muiTableBodyProps = useCallback<\n MRT_TableOptionsCallback<\"muiTableBodyProps\">\n >(\n () => ({\n className: rowDensityClassName,\n }),\n [rowDensityClassName],\n );\n\n const muiTableBodyCellProps = useCallback<\n MRT_TableOptionsCallback<\"muiTableBodyCellProps\">\n >(\n ({ column }) => ({\n className: column.getIsResizing() ? \"isResizing\" : \"\",\n sx: {\n overflowWrap: \"anywhere\",\n },\n }),\n [],\n );\n\n const muiDetailPanelProps = useCallback<\n MRT_TableOptionsCallback<\"muiDetailPanelProps\">\n >(\n ({ row }) => ({\n sx: {\n paddingBlock: row.getIsExpanded()\n ? `${odysseyDesignTokens.Spacing3} !important`\n : undefined,\n },\n }),\n [odysseyDesignTokens.Spacing3],\n );\n\n const muiTableBodyRowProps = useCallback<\n MRT_TableOptionsCallback<\"muiTableBodyRowProps\">\n >(\n ({ table, row, isDetailPanel }) => ({\n className: draggableTableBodyRowClassName({\n currentRowId: row.id,\n draggingRowId: draggingRow?.id,\n hoveredRowId: table.getState().hoveredRow?.id,\n }),\n sx: {\n ...(isDetailPanel && {\n paddingBlock: \"0 !important\",\n border: 0,\n [\"&:hover\"]: {\n backgroundColor: `transparent !important`,\n },\n }),\n },\n }),\n [draggableTableBodyRowClassName, draggingRow?.id],\n );\n\n const muiRowDragHandleProps = useCallback<\n MRT_TableOptionsCallback<\"muiRowDragHandleProps\">\n >(\n ({ table, row }) => ({\n onKeyDown: (event) => handleDragHandleKeyDown({ table, row, event }),\n onBlur: () => resetDraggingAndHoveredRow(table),\n onDragEnd: () => handleDragHandleOnDragEnd(table),\n onDragCapture: () => handleDragHandleOnDragCapture(table),\n sx: dragHandleStyles,\n ...dragHandleText,\n }),\n [\n dragHandleStyles,\n dragHandleText,\n handleDragHandleKeyDown,\n resetDraggingAndHoveredRow,\n handleDragHandleOnDragEnd,\n handleDragHandleOnDragCapture,\n ],\n );\n\n const muiTableHeadCellProps = useCallback<\n MRT_TableOptionsCallback<\"muiTableHeadCellProps\">\n >(\n ({ column: currentColumn }) => ({\n className: columnSorting.find(\n (sortedColumn) => sortedColumn.id === currentColumn.id,\n )\n ? \"isSorted\"\n : \"isUnsorted\",\n }),\n [columnSorting],\n );\n\n const hasColumnWithGrow = useMemo(\n () => columns.some((column) => column.grow === true),\n [columns],\n );\n\n const dataTable = useMaterialReactTable({\n columns: columns,\n data: data,\n getRowId,\n state: {\n sorting: columnSorting,\n globalFilter: search,\n columnVisibility,\n isLoading,\n rowSelection,\n columnOrder,\n },\n icons: {\n ArrowDownwardIcon: ArrowDownIcon,\n DragHandleIcon: DragIndicatorIcon,\n SyncAltIcon: ArrowUnsortedIcon,\n ExpandMoreIcon: ChevronDownIcon,\n },\n\n // Base table settings\n enableColumnActions: false,\n enableColumnResizing: hasColumnResizing,\n enableDensityToggle: false,\n enableFilters: false,\n enableFullScreenToggle: false,\n enableGlobalFilter: false,\n enableHiding: false,\n enablePagination: false,\n layoutMode: \"grid-no-grow\",\n manualFiltering: true,\n manualSorting: true,\n muiTablePaperProps: {\n elevation: 0,\n sx: {\n overflow: \"visible\",\n },\n },\n selectAllMode: \"all\",\n displayColumnDefOptions: {\n \"mrt-row-actions\": {\n header: \"\",\n grow: true,\n muiTableBodyCellProps: {\n align: \"right\",\n sx: {\n overflow: \"visible\",\n width: \"unset\",\n },\n className: \"ods-actions-cell\",\n },\n muiTableHeadCellProps: {\n align: \"right\",\n sx: {\n width: \"unset\",\n },\n className: \"ods-actions-cell\",\n children: (\n <Box sx={{ display: \"flex\", visibility: \"hidden\" }}>\n {rowActionButtons && rowActionButtons({ id: null })}\n {((hasRowReordering && onReorderRows) || rowActionMenuItems) && (\n <Box>\n <Button\n ariaLabel={t(\"table.moreactions.arialabel\")}\n endIcon={<MoreIcon />}\n isDisabled\n size=\"small\"\n variant=\"floating\"\n />\n </Box>\n )}\n </Box>\n ),\n },\n },\n \"mrt-row-drag\": {\n header: \"\",\n muiTableBodyCellProps: {\n sx: {\n minWidth: 0,\n width: \"auto\",\n },\n className: \"ods-drag-handle\",\n },\n muiTableHeadCellProps: {\n sx: {\n minWidth: 0,\n width: \"auto\",\n },\n children: (\n // Add a spacer to simulate the width of the drag handle in the column.\n // Without this, the head cells are offset from their body cell counterparts\n <Box sx={{ marginInline: \"-0.1rem\" }}>\n <DragIndicatorIcon sx={{ marginInline: 1, opacity: 0 }} />\n </Box>\n ),\n },\n },\n \"mrt-row-select\": {\n muiTableHeadCellProps: {\n padding: \"checkbox\",\n },\n muiTableBodyCellProps: {\n padding: \"checkbox\",\n },\n },\n \"mrt-row-expand\": {\n header: \"\",\n },\n },\n muiTableBodyProps,\n defaultColumn: {\n Cell: defaultCell,\n },\n muiTableBodyCellProps,\n\n // Reordering\n enableRowOrdering: hasRowReordering && Boolean(onReorderRows),\n enableRowDragging: hasRowReordering && Boolean(onReorderRows),\n muiDetailPanelProps,\n muiTableBodyRowProps,\n muiRowDragHandleProps,\n\n // Row actions\n enableRowActions: shouldDisplayRowActions,\n positionActionsColumn:\n \"last\" as MRT_TableOptions<DataTableRowData>[\"positionActionsColumn\"],\n renderRowActions: ({ row }) => renderRowActions({ row }),\n\n // Row selection\n enableRowSelection: hasRowSelection,\n onRowSelectionChange: setRowSelection,\n\n // Sorting\n enableSorting: hasSorting,\n onSortingChange: setColumnSorting,\n muiTableHeadCellProps,\n\n // Virtualization\n enableRowVirtualization:\n paginationType !== \"loadMore\" && pagination.pageSize > 50,\n rowVirtualizerInstanceRef:\n useRef<MRT_RowVirtualizer<HTMLDivElement, HTMLTableRowElement>>(null),\n rowVirtualizerOptions: {\n overscan: 4,\n },\n\n // States\n renderEmptyRowsFallback: emptyState,\n\n // Refs\n muiTableProps: {\n ref: tableContentRef,\n className:\n !shouldDisplayRowActions && hasColumnResizing\n ? hasColumnWithGrow\n ? \"ods-hide-spacer-column\"\n : \"ods-hide-spacer-column ods-column-grow\"\n : \"\",\n },\n\n muiTableContainerProps: {\n ref: tableInnerContainerRef,\n },\n\n // Row expansion\n enableExpandAll: false,\n renderDetailPanel: renderDetailPanel,\n });\n\n // Effects\n const bulkActionMenuButton = useMemo(\n () => (\n <>\n <MenuButton\n ariaLabel=\"More actions\"\n buttonVariant=\"secondary\"\n endIcon={<MoreIcon />}\n isDisabled={Object.keys(rowSelection).length === 0}\n >\n {bulkActionMenuItems?.(rowSelection)}\n </MenuButton>\n </>\n ),\n [bulkActionMenuItems, rowSelection],\n );\n\n useEffect(() => {\n (async () => {\n setIsLoading(true);\n setErrorMessage(errorMessageProp);\n try {\n const incomingData = await getData?.({\n page: pagination.pageIndex,\n resultsPerPage: pagination.pageSize,\n search,\n filters,\n sort: columnSorting,\n });\n setData(incomingData);\n } catch (error) {\n setErrorMessage(typeof error === \"string\" ? error : t(\"table.error\"));\n } finally {\n setIsLoading(false);\n }\n })();\n }, [\n columnSorting,\n errorMessageProp,\n filters,\n getData,\n pagination,\n search,\n t,\n ]);\n\n useEffect(() => {\n if (!initialFilters && filters) {\n setInitialFilters(filters);\n }\n\n setIsEmpty(\n pagination.pageIndex === currentPage &&\n pagination.pageSize === resultsPerPage &&\n search === \"\" &&\n filters === initialFilters &&\n data.length === 0,\n );\n }, [\n filters,\n pagination,\n search,\n data,\n currentPage,\n initialFilters,\n resultsPerPage,\n ]);\n\n useEffect(() => {\n setPagination((prev) => ({\n pageIndex: 1,\n pageSize: prev.pageSize,\n }));\n }, [filters, search]);\n\n useEffect(() => {\n onChangeRowSelection?.(rowSelection);\n }, [rowSelection, onChangeRowSelection]);\n\n const { lastRow } = usePagination({\n currentRowsCount: data.length,\n pageIndex: pagination.pageIndex,\n pageSize: pagination.pageSize,\n totalRows,\n });\n\n // Render the table\n return (\n <>\n {(hasSearch ||\n hasFilters ||\n hasChangeableDensity ||\n hasColumnVisibility ||\n bulkActionMenuItems ||\n additionalActionButton ||\n additionalActionMenuItems) && (\n <Box sx={{ marginBottom: 5 }}>\n <DataFilters\n additionalActions={\n <>\n <DataTableSettings\n columns={columns}\n columnVisibility={columnVisibility}\n hasChangeableDensity={hasChangeableDensity}\n hasColumnVisibility={hasColumnVisibility}\n rowDensity={rowDensity}\n setColumnVisibility={setColumnVisibility}\n setRowDensity={setRowDensity}\n />\n {bulkActionMenuItems && bulkActionMenuButton}\n {additionalActionButton}\n {additionalActionMenuItems && (\n <MenuButton\n ariaLabel={t(\"table.moreactions.arialabel\")}\n buttonVariant=\"secondary\"\n endIcon={<MoreIcon />}\n menuAlignment=\"right\"\n >\n {additionalActionMenuItems}\n </MenuButton>\n )}\n </>\n }\n defaultSearchTerm={initialSearchValue}\n filters={hasFilters ? dataTableFilters : undefined}\n hasSearchSubmitButton={hasSearchSubmitButton}\n isDisabled={isEmpty}\n onChangeFilters={hasFilters ? setFilters : undefined}\n onChangeSearch={hasSearch ? setSearch : undefined}\n searchDelayTime={searchDelayTime}\n />\n </Box>\n )}\n\n {errorMessage && (\n <Box sx={{ marginBlockEnd: 2 }}>\n <Callout severity=\"error\" text={errorMessage} />\n </Box>\n )}\n\n <ScrollableTableContainer\n isScrollableEnd={!isTableContainerScrolledToEnd}\n isScrollableStart={!isTableContainerScrolledToStart}\n odysseyDesignTokens={odysseyDesignTokens}\n ref={tableOuterContainerRef}\n >\n <MRT_TableContainer table={dataTable} />\n </ScrollableTableContainer>\n\n {hasPagination && (\n <Pagination\n currentPageLabel={t(\"pagination.page\")}\n currentRowsCount={data.length}\n isDisabled={isEmpty}\n isMoreDisabled={isPaginationMoreDisabled}\n lastRow={lastRow}\n loadMoreLabel={t(\"pagination.loadmore\")}\n maxPageIndex={maxPages}\n maxPageSize={maxResultsPerPage}\n nextLabel={t(\"pagination.next\")}\n onPaginationChange={setPagination}\n pageIndex={pagination.pageIndex}\n pageSize={pagination.pageSize}\n previousLabel={t(\"pagination.previous\")}\n rowsPerPageLabel={t(\"pagination.rowsperpage\")}\n totalRows={totalRows}\n variant={paginationType}\n />\n )}\n </>\n );\n};\n\nconst MemoizedDataTable = memo(DataTable);\nMemoizedDataTable.displayName = \"DataTable\";\n\nexport { MemoizedDataTable as DataTable };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DataTable.cjs","names":["_styled","_interopRequireDefault","require","_materialReactTable","_react","_Box","_Button","_MenuButton","_Callout","_EmptyState","_i18n","_index","_DataFilters","_OdysseyDesignTokensContext","_Pagination","_usePagination","_constants","_DataTableRowActions","_DataTableSettings","_useRowReordering","_useScrollIndication","_jsxRuntime","e","__esModule","default","ScrollableTableContainer","styled","shouldForwardProp","prop","odysseyDesignTokens","isScrollableStart","isScrollableEnd","marginBlockEnd","Spacing4","position","borderInlineStartColor","HueNeutral200","borderInlineStartStyle","borderInlineStartWidth","BorderWidthMain","background","content","opacity","pointerEvents","top","left","bottom","width","Spacing6","zIndex","transition","TransitionDurationMain","TransitionTimingMain","borderInlineEndColor","borderInlineEndStyle","borderInlineEndWidth","right","defaultGetRowId","row","id","DataTable","additionalActionButton","additionalActionMenuItems","bulkActionMenuItems","columns","currentPage","emptyPlaceholder","errorMessage","errorMessageProp","filters","filtersProp","getData","getRowId","hasChangeableDensity","hasColumnResizing","hasColumnVisibility","hasFilters","hasPagination","hasRowReordering","hasRowSelection","hasSearch","hasSearchSubmitButton","hasSorting","initialDensity","densityValues","initialSearchValue","isPaginationMoreDisabled","noResultsPlaceholder","onChangeRowSelection","onReorderRows","paginationType","renderDetailPanel","resultsPerPage","maxResultsPerPage","maxPages","rowActionButtons","rowActionMenuItems","searchDelayTime","selectedRows","totalRows","t","useTranslation","data","setData","useState","pagination","setPagination","pageIndex","pageSize","draggingRow","setDraggingRow","isTableContainerScrolledToStart","setIsTableContainerScrolledToStart","isTableContainerScrolledToEnd","setIsTableContainerScrolledToEnd","tableInnerContainerWidth","setTableInnerContainerWidth","tableOuterContainerRef","useRef","tableInnerContainerRef","tableContentRef","columnSorting","setColumnSorting","columnVisibility","setColumnVisibility","rowDensity","setRowDensity","search","setSearch","setFilters","initialFilters","setInitialFilters","isLoading","setIsLoading","isEmpty","setIsEmpty","setErrorMessage","rowSelection","setRowSelection","useScrollIndication","tableOuterContainer","current","tableInnerContainer","useOdysseyDesignTokens","dragHandleStyles","dragHandleText","draggableTableBodyRowClassName","handleDragHandleKeyDown","handleDragHandleOnDragCapture","handleDragHandleOnDragEnd","resetDraggingAndHoveredRow","updateRowOrder","useRowReordering","page","rowDensityClassName","useMemo","renderRowActions","useCallback","currentIndex","index","jsx","DataTableRowActions","rowIndex","undefined","convertFilterSelectOptions","options","map","option","label","value","convertColumnToFilter","column","enableColumnFilter","accessorKey","header","variant","filterVariant","filterSelectOptions","dataTableFilters","providedFilters","reduce","accumulator","item","foundColumn","find","filter","concat","defaultCell","cell","getValue","hasTextWrapping","columnDef","enableWrapping","Box","sx","whiteSpace","textOverflow","overflow","children","emptyState","noResultsInnerContent","EmptyState","description","heading","emptyStateInnerContent","columnIds","columnOrder","shouldDisplayRowActions","muiTableBodyProps","className","muiTableBodyCellProps","getIsResizing","overflowWrap","muiDetailPanelProps","paddingBlock","getIsExpanded","Spacing3","muiTableBodyRowProps","table","isDetailPanel","currentRowId","draggingRowId","hoveredRowId","getState","hoveredRow","border","backgroundColor","muiRowDragHandleProps","onKeyDown","event","onBlur","onDragEnd","onDragCapture","muiTableHeadCellProps","currentColumn","sortedColumn","hasColumnWithGrow","some","grow","dataTable","useMaterialReactTable","state","sorting","globalFilter","icons","ArrowDownwardIcon","ArrowDownIcon","DragHandleIcon","DragIndicatorIcon","SyncAltIcon","ArrowUnsortedIcon","ExpandMoreIcon","ChevronDownIcon","enableColumnActions","enableColumnResizing","enableDensityToggle","enableFilters","enableFullScreenToggle","enableGlobalFilter","enableHiding","enablePagination","layoutMode","manualFiltering","manualSorting","muiTablePaperProps","elevation","selectAllMode","displayColumnDefOptions","align","jsxs","display","visibility","Button","ariaLabel","endIcon","MoreIcon","isDisabled","size","minWidth","marginInline","padding","defaultColumn","Cell","enableRowOrdering","Boolean","enableRowDragging","enableRowActions","positionActionsColumn","enableRowSelection","onRowSelectionChange","enableSorting","onSortingChange","enableRowVirtualization","length","rowVirtualizerInstanceRef","rowVirtualizerOptions","overscan","renderEmptyRowsFallback","muiTableProps","ref","muiTableContainerProps","enableExpandAll","bulkActionMenuButton","Fragment","MenuButton","buttonVariant","Object","keys","useEffect","incomingData","sort","error","prev","lastRow","usePagination","currentRowsCount","marginBottom","DataFilters","additionalActions","DataTableSettings","menuAlignment","defaultSearchTerm","onChangeFilters","onChangeSearch","Callout","severity","text","MRT_TableContainer","Pagination","currentPageLabel","isMoreDisabled","loadMoreLabel","maxPageIndex","maxPageSize","nextLabel","onPaginationChange","previousLabel","rowsPerPageLabel","MemoizedDataTable","exports","memo","displayName"],"sources":["../../../src/DataTable/DataTable.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport {\n MRT_Cell,\n MRT_Column,\n MRT_ColumnDef,\n MRT_DensityState,\n MRT_Row,\n MRT_RowData,\n MRT_RowSelectionState,\n MRT_RowVirtualizer,\n MRT_SortingState,\n MRT_TableContainer,\n MRT_TableInstance,\n MRT_TableOptions,\n MRT_VisibilityState,\n useMaterialReactTable,\n} from \"material-react-table\";\nimport {\n memo,\n ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport { Box } from \"../Box.js\";\nimport { Button } from \"../Buttons/Button.js\";\nimport { MenuButton, type MenuButtonProps } from \"../Buttons/MenuButton.js\";\nimport { Callout } from \"../Callout.js\";\nimport { EmptyState } from \"../EmptyState.js\";\nimport { useTranslation } from \"../i18n.generated/i18n.js\";\nimport {\n ArrowDownIcon,\n ArrowUnsortedIcon,\n ChevronDownIcon,\n DragIndicatorIcon,\n MoreIcon,\n} from \"../icons.generated/index.js\";\nimport { DataTableRowData, DataTableRowSelectionState } from \"../index.js\";\nimport { DataFilter, DataFilters } from \"../labs/DataFilters.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../OdysseyDesignTokensContext.js\";\nimport { paginationTypeValues } from \"../Pagination/constants.js\";\nimport { Pagination } from \"../Pagination/Pagination.js\";\nimport { usePagination } from \"../Pagination/usePagination.js\";\nimport { densityValues } from \"./constants.js\";\nimport {\n DataTableRowActions,\n DataTableRowActionsProps,\n} from \"./DataTableRowActions.js\";\nimport { DataTableSettings } from \"./DataTableSettings.js\";\nimport { useRowReordering } from \"./useRowReordering.js\";\nimport { useScrollIndication } from \"./useScrollIndication.js\";\n\nexport type DataTableColumn<T extends DataTableRowData> = MRT_ColumnDef<T> & {\n /**\n * @deprecated use hasTextWrapping instead of enableWrapping\n */\n enableWrapping?: boolean;\n hasTextWrapping?: boolean;\n};\n\ntype DataTableColumnInstance<T extends DataTableRowData> = Omit<\n MRT_Column<T, unknown>,\n \"columnDef\"\n> & {\n columnDef: DataTableColumn<T>;\n};\n\ntype DataTableCell<T extends DataTableRowData> = Omit<MRT_Cell<T>, \"column\"> & {\n column: DataTableColumnInstance<T>;\n};\n\n/**\n * Utility type to extract a callback function type from a given key of `MRT_TableOptions`.\n *\n * The `Extract<>` utility is used to filter out only the function type from the property,\n * as some `MRT_TableOptions` properties can be union types (e.g., `function` | `object`).\n *\n * The `@typescript-eslint/no-unsafe-function-type` rule is disabled here because we must extract\n * a function type from a property of `MRT_TableOptions`, but the exact function signature varies\n * depending on the key.\n */\ntype MRT_TableOptionsCallback<\n TableOptionKey extends keyof Required<MRT_TableOptions<MRT_RowData>>,\n TData extends MRT_RowData = MRT_RowData,\n> = Extract<\n Required<MRT_TableOptions<TData>>[TableOptionKey],\n Function // eslint-disable-line @typescript-eslint/no-unsafe-function-type\n>;\n\nexport type DataTableGetDataType = {\n filters?: DataFilter[];\n page?: number;\n resultsPerPage?: number;\n search?: string;\n sort?: MRT_SortingState;\n};\n\nexport type DataTableOnReorderRowsType = {\n newRowIndex: number;\n rowId: string;\n};\n\nexport type DataTableRenderDetailPanelType = {\n row: MRT_Row<DataTableRowData>;\n table: MRT_TableInstance<DataTableRowData>;\n};\n\nexport type DataTableProps = {\n /**\n * An optional action button above the table.\n */\n additionalActionButton?: ReactNode;\n /**\n * MenuItems that go in an optional action menu above the table.\n */\n additionalActionMenuItems?: ReactNode;\n /**\n * Menu items to include in the bulk actions menu, which appears above the table if a row or rows are selected\n */\n bulkActionMenuItems?: (\n selectedRows: MRT_RowSelectionState,\n ) => MenuButtonProps[\"children\"];\n /**\n * The columns that make up the table\n */\n columns: DataTableColumn<DataTableRowData>[];\n /**\n * The current page number.\n */\n currentPage?: number;\n /**\n * The component to display when the table is displaying the initial empty state\n */\n emptyPlaceholder?: ReactNode;\n /**\n * If `error` is not undefined, the DataTable will indicate an error.\n */\n errorMessage?: string;\n /**\n * An optional set of filters to render in the filters menu\n */\n filters?: Array<DataFilter | DataTableColumn<DataTableRowData> | string>;\n /**\n * Callback that fires whenever the table needs to fetch new data, due to changes in\n * page, results per page, search input, filters, or sorting\n */\n getData: ({\n page,\n resultsPerPage,\n search,\n filters,\n sort,\n }: DataTableGetDataType) =>\n | MRT_TableOptions<DataTableRowData>[\"data\"]\n | Promise<MRT_TableOptions<DataTableRowData>[\"data\"]>;\n /**\n * The function to get the ID of a row\n */\n getRowId?: MRT_TableOptions<DataTableRowData>[\"getRowId\"];\n /**\n * If true, the end user will be able to change the table density.\n */\n hasChangeableDensity?: boolean;\n /**\n * If true, the end user can resize individual columns.\n */\n hasColumnResizing?: boolean;\n /**\n * If true, the end user will be able to show/hide columns.\n */\n hasColumnVisibility?: boolean;\n /**\n * If true, the end user will be able to filter columns.\n */\n hasFilters?: boolean;\n /**\n * If true, the table will include pagination controls.\n */\n hasPagination?: boolean;\n /**\n * If true, the end user can reorder rows via a drag-and-drop interface\n */\n hasRowReordering?: boolean;\n /**\n * If true, the table will include checkboxes on each row, enabling\n * the user to select some or all rows.\n */\n hasRowSelection?: boolean;\n /**\n * If true, the global table search controls will be shown.\n */\n hasSearch?: boolean;\n /**\n * If true, the search field will include a Search button, rather than\n * firing on input change.\n */\n hasSearchSubmitButton?: boolean;\n /**\n * If true, the end user can sort columns (ascending, descending, or neither)\n */\n hasSorting?: boolean;\n /**\n * The initial density (height & padding) of the table rows. This is available even if the\n * table density isn't changeable by the end user via hasChangeableDensity.\n */\n initialDensity?: (typeof densityValues)[number];\n /**\n * The initial search value\n */\n initialSearchValue?: string;\n /**\n * Is the next or show-more button disabled\n */\n isPaginationMoreDisabled?: boolean;\n /**\n * The highest page number allowed to be manually input in pagination\n */\n maxPages?: number;\n /**\n * The largest number of rows allowed to be shown per page. This only affects the row input\n * in pagination.\n */\n maxResultsPerPage?: number;\n /**\n * The component to display when the query returns no results\n */\n noResultsPlaceholder?: ReactNode;\n /**\n * Callback that fires when a row (or rows) is selected or unselected.\n */\n onChangeRowSelection?: (rowSelection: DataTableRowSelectionState) => void;\n /**\n * Callback that fires when the user reorders rows within the table. Can be used\n * to propagate order change to the backend.\n */\n onReorderRows?: ({ rowId, newRowIndex }: DataTableOnReorderRowsType) => void;\n /**\n * The type of pagination controls shown. Defaults to next/prev buttons, but can be\n * set to a simple \"Load more\" button by setting to \"loadMore\".\n */\n paginationType?: (typeof paginationTypeValues)[number];\n /**\n * The optional component to display when expanding a row.\n */\n renderDetailPanel?: MRT_TableOptions<DataTableRowData>[\"renderDetailPanel\"];\n /**\n * The number of results per page.\n */\n resultsPerPage?: number;\n /**\n * Action buttons to display in each row\n */\n rowActionButtons?: DataTableRowActionsProps[\"rowActionButtons\"];\n /**\n * Menu items to include in the optional actions menu on each row.\n */\n rowActionMenuItems?: DataTableRowActionsProps[\"rowActionMenuItems\"];\n /**\n * The debounce time, in milliseconds, for the search input firing\n * `onChangeSearch` when changed. If `hasSearchSubmitButton` is true,\n * this doesn't do anything.\n */\n searchDelayTime?: number;\n /**\n * Allows for external control of the selected row state\n * use in tandem with onChangeRowSelection to manage your state\n */\n selectedRows?: DataTableRowSelectionState;\n /**\n * The total number of rows in the table. Optional, because it's sometimes impossible\n * to calculate. Used in table pagination to know when to disable the \"next\"/\"more\" button.\n */\n totalRows?: number;\n};\n\nconst ScrollableTableContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"isScrollableStart\" &&\n prop !== \"isScrollableEnd\",\n})<{\n isScrollableEnd: boolean;\n isScrollableStart: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens, isScrollableStart, isScrollableEnd }) => ({\n marginBlockEnd: odysseyDesignTokens.Spacing4,\n position: \"relative\",\n borderInlineStartColor: isScrollableStart\n ? odysseyDesignTokens.HueNeutral200\n : \"transparent\",\n borderInlineStartStyle: \"solid\",\n borderInlineStartWidth: odysseyDesignTokens.BorderWidthMain,\n \"::before\": {\n background:\n \"linear-gradient(-90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.33) 50%, rgba(0, 0, 0, 1) 100%)\",\n content: '\"\"',\n opacity: isScrollableStart ? \"0.075\" : \"0\",\n pointerEvents: \"none\",\n position: \"absolute\",\n top: 0,\n left: 0,\n bottom: 0,\n width: odysseyDesignTokens.Spacing6,\n zIndex: 100,\n transition: `opacity ${odysseyDesignTokens.TransitionDurationMain} ${odysseyDesignTokens.TransitionTimingMain}`,\n },\n borderInlineEndColor: isScrollableEnd\n ? odysseyDesignTokens.HueNeutral200\n : \"transparent\",\n borderInlineEndStyle: \"solid\",\n borderInlineEndWidth: odysseyDesignTokens.BorderWidthMain,\n \"::after\": {\n background:\n \"linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.33) 50%, rgba(0, 0, 0, 1) 100%)\",\n content: '\"\"',\n opacity: isScrollableEnd ? \"0.075\" : \"0\",\n pointerEvents: \"none\",\n position: \"absolute\",\n top: 0,\n right: 0,\n bottom: 0,\n width: odysseyDesignTokens.Spacing6,\n transition: `opacity ${odysseyDesignTokens.TransitionDurationMain} ${odysseyDesignTokens.TransitionTimingMain}`,\n },\n}));\n\nconst defaultGetRowId: DataTableProps[\"getRowId\"] = (row) => row.id as string;\n\nconst DataTable = ({\n additionalActionButton,\n additionalActionMenuItems,\n bulkActionMenuItems,\n columns,\n currentPage = 1,\n emptyPlaceholder,\n errorMessage: errorMessageProp,\n filters: filtersProp,\n getData,\n getRowId = defaultGetRowId,\n hasChangeableDensity,\n hasColumnResizing,\n hasColumnVisibility,\n hasFilters,\n hasPagination,\n hasRowReordering,\n hasRowSelection,\n hasSearch,\n hasSearchSubmitButton,\n hasSorting,\n initialDensity = densityValues[0],\n initialSearchValue = \"\",\n isPaginationMoreDisabled,\n noResultsPlaceholder,\n onChangeRowSelection,\n onReorderRows,\n paginationType = \"paged\",\n renderDetailPanel,\n resultsPerPage = 20,\n maxResultsPerPage,\n maxPages,\n rowActionButtons,\n rowActionMenuItems,\n searchDelayTime,\n selectedRows,\n totalRows,\n}: DataTableProps) => {\n const { t } = useTranslation();\n\n const [data, setData] = useState<DataTableRowData[]>([]);\n const [pagination, setPagination] = useState({\n pageIndex: currentPage,\n pageSize: resultsPerPage,\n });\n const [draggingRow, setDraggingRow] =\n useState<MRT_Row<DataTableRowData> | null>();\n const [isTableContainerScrolledToStart, setIsTableContainerScrolledToStart] =\n useState(true);\n const [isTableContainerScrolledToEnd, setIsTableContainerScrolledToEnd] =\n useState(true);\n const [tableInnerContainerWidth, setTableInnerContainerWidth] =\n useState<string>(\"100%\");\n const tableOuterContainerRef = useRef<HTMLDivElement>(null);\n const tableInnerContainerRef = useRef<HTMLDivElement>(null);\n const tableContentRef = useRef<HTMLTableElement>(null);\n\n // Table states\n const [columnSorting, setColumnSorting] = useState<MRT_SortingState>([]);\n const [columnVisibility, setColumnVisibility] =\n useState<MRT_VisibilityState>();\n const [rowDensity, setRowDensity] =\n useState<MRT_DensityState>(initialDensity);\n const [search, setSearch] = useState<string>(initialSearchValue);\n const [filters, setFilters] = useState<DataFilter[]>();\n const [initialFilters, setInitialFilters] = useState<DataFilter[]>();\n const [isLoading, setIsLoading] = useState<boolean | undefined>(true);\n const [isEmpty, setIsEmpty] = useState<boolean | undefined>();\n const [errorMessage, setErrorMessage] = useState<string | undefined>(\n errorMessageProp,\n );\n const [rowSelection, setRowSelection] = useState<MRT_RowSelectionState>(\n selectedRows ?? {},\n );\n\n useScrollIndication({\n tableOuterContainer: tableOuterContainerRef.current,\n tableInnerContainer: tableInnerContainerRef.current,\n setIsTableContainerScrolledToStart: setIsTableContainerScrolledToStart,\n setIsTableContainerScrolledToEnd: setIsTableContainerScrolledToEnd,\n setTableInnerContainerWidth: setTableInnerContainerWidth,\n });\n\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n const {\n dragHandleStyles,\n dragHandleText,\n draggableTableBodyRowClassName,\n handleDragHandleKeyDown,\n handleDragHandleOnDragCapture,\n handleDragHandleOnDragEnd,\n resetDraggingAndHoveredRow,\n updateRowOrder,\n } = useRowReordering({\n totalRows,\n onReorderRows,\n data,\n setData,\n draggingRow,\n setDraggingRow,\n resultsPerPage: pagination.pageSize,\n page: pagination.pageIndex,\n });\n\n const rowDensityClassName = useMemo(() => {\n return rowDensity === \"spacious\"\n ? \"MuiTableBody-spacious\"\n : rowDensity === \"compact\"\n ? \"MuiTableBody-compact\"\n : \"MuiTableBody-default\";\n }, [rowDensity]);\n\n const renderRowActions = useCallback(\n ({ row }: { row: MRT_Row<DataTableRowData> }) => {\n const currentIndex =\n row.index + (pagination.pageIndex - 1) * pagination.pageSize;\n return (\n <DataTableRowActions\n row={row}\n rowActionButtons={rowActionButtons}\n rowActionMenuItems={rowActionMenuItems}\n rowIndex={currentIndex}\n totalRows={totalRows}\n updateRowOrder={\n hasRowReordering && onReorderRows ? updateRowOrder : undefined\n }\n />\n );\n },\n [\n pagination,\n rowActionButtons,\n rowActionMenuItems,\n hasRowReordering,\n onReorderRows,\n totalRows,\n updateRowOrder,\n ],\n );\n\n /**\n * This hack is to provide compatibility with Material-React-Table's\n * filterOptions format, which allows for strings and { label: string, value: string }\n */\n const convertFilterSelectOptions = useCallback(\n (options: DataTableColumn<DataTableRowData>[\"filterSelectOptions\"]) =>\n options?.map((option) =>\n typeof option === \"string\"\n ? {\n label: option,\n value: option,\n }\n : {\n // If the option isn't a string, it must have value and/or option defined\n // If either is undefined, use the other\n // These shouldn't need `as`, but this is a legacy file now. --Kevin Ghadyani\n label: (option.label ?? option.value) as string,\n value: (option.value ?? option.label) as string,\n },\n ),\n [],\n );\n\n const convertColumnToFilter = useCallback(\n (column: DataTableColumn<DataTableRowData>) =>\n column.enableColumnFilter !== false && column.accessorKey\n ? ({\n id: column.accessorKey,\n label: column.header,\n variant: column.filterVariant,\n options: convertFilterSelectOptions(column.filterSelectOptions),\n } satisfies DataFilter as DataFilter)\n : null,\n [convertFilterSelectOptions],\n );\n\n /**\n * Filters default to the columns, but can be overridden\n * with the `filters` prop. `filters` should be an array\n * of column accessorKeys, column defs, or DataFilters.\n */\n const dataTableFilters = useMemo(() => {\n const providedFilters = filtersProp || columns;\n return providedFilters.reduce<DataFilter[]>((accumulator, item) => {\n if (typeof item === \"string\") {\n const foundColumn = columns.find(\n (column) => column.accessorKey === item,\n );\n if (foundColumn) {\n const filter = convertColumnToFilter(foundColumn);\n if (filter) {\n return accumulator.concat(filter);\n }\n }\n } else if (\"accessorKey\" in item) {\n // Checks if it's a column\n const filter = convertColumnToFilter(item);\n if (filter) {\n return accumulator.concat(filter);\n }\n } else if (\"label\" in item) {\n // Checks if it's a DataFilter\n return accumulator.concat(item);\n }\n // If none of the conditions match, item is ignored (not mapping to undefined)\n return accumulator;\n }, []);\n }, [columns, filtersProp, convertColumnToFilter]);\n\n const defaultCell = useCallback(\n ({ cell }: { cell: DataTableCell<DataTableRowData> }) => {\n const value = cell.getValue<string>();\n const hasTextWrapping =\n cell.column.columnDef.hasTextWrapping ||\n cell.column.columnDef.enableWrapping;\n\n return hasTextWrapping ? (\n value\n ) : (\n <Box\n sx={{\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n }}\n >\n {value}\n </Box>\n );\n },\n [],\n );\n\n const emptyState = useCallback(() => {\n const noResultsInnerContent = noResultsPlaceholder || (\n <EmptyState\n description={t(\"table.noresults.text\")}\n heading={t(\"table.noresults.heading\")}\n />\n );\n\n const emptyStateInnerContent =\n emptyPlaceholder && isEmpty ? emptyPlaceholder : noResultsInnerContent;\n\n return (\n <Box sx={{ width: tableInnerContainerWidth }}>\n {emptyStateInnerContent}\n </Box>\n );\n }, [\n emptyPlaceholder,\n isEmpty,\n noResultsPlaceholder,\n t,\n tableInnerContainerWidth,\n ]);\n\n const columnIds = useMemo(() => {\n return columns.map((column) => column.accessorKey);\n }, [columns]);\n\n const columnOrder = useMemo(\n () => [\n \"mrt-row-drag\",\n \"mrt-row-select\",\n \"mrt-row-expand\",\n ...columnIds,\n \"mrt-row-actions\",\n ],\n [columnIds],\n ) as string[];\n\n const shouldDisplayRowActions = useMemo(\n () =>\n (hasRowReordering === true && onReorderRows) ||\n rowActionButtons ||\n rowActionMenuItems\n ? true\n : false,\n [hasRowReordering, onReorderRows, rowActionButtons, rowActionMenuItems],\n );\n\n const muiTableBodyProps = useCallback<\n MRT_TableOptionsCallback<\"muiTableBodyProps\">\n >(\n () => ({\n className: rowDensityClassName,\n }),\n [rowDensityClassName],\n );\n\n const muiTableBodyCellProps = useCallback<\n MRT_TableOptionsCallback<\"muiTableBodyCellProps\">\n >(\n ({ column }) => ({\n className: column.getIsResizing() ? \"isResizing\" : \"\",\n sx: {\n overflowWrap: \"anywhere\",\n },\n }),\n [],\n );\n\n const muiDetailPanelProps = useCallback<\n MRT_TableOptionsCallback<\"muiDetailPanelProps\">\n >(\n ({ row }) => ({\n sx: {\n paddingBlock: row.getIsExpanded()\n ? `${odysseyDesignTokens.Spacing3} !important`\n : undefined,\n },\n }),\n [odysseyDesignTokens.Spacing3],\n );\n\n const muiTableBodyRowProps = useCallback<\n MRT_TableOptionsCallback<\"muiTableBodyRowProps\">\n >(\n ({ table, row, isDetailPanel }) => ({\n className: draggableTableBodyRowClassName({\n currentRowId: row.id,\n draggingRowId: draggingRow?.id,\n hoveredRowId: table.getState().hoveredRow?.id,\n }),\n sx: {\n ...(isDetailPanel && {\n paddingBlock: \"0 !important\",\n border: 0,\n [\"&:hover\"]: {\n backgroundColor: `transparent !important`,\n },\n }),\n },\n }),\n [draggableTableBodyRowClassName, draggingRow?.id],\n );\n\n const muiRowDragHandleProps = useCallback<\n MRT_TableOptionsCallback<\"muiRowDragHandleProps\">\n >(\n ({ table, row }) => ({\n onKeyDown: (event) => handleDragHandleKeyDown({ table, row, event }),\n onBlur: () => resetDraggingAndHoveredRow(table),\n onDragEnd: () => handleDragHandleOnDragEnd(table),\n onDragCapture: () => handleDragHandleOnDragCapture(table),\n sx: dragHandleStyles,\n ...dragHandleText,\n }),\n [\n dragHandleStyles,\n dragHandleText,\n handleDragHandleKeyDown,\n resetDraggingAndHoveredRow,\n handleDragHandleOnDragEnd,\n handleDragHandleOnDragCapture,\n ],\n );\n\n const muiTableHeadCellProps = useCallback<\n MRT_TableOptionsCallback<\"muiTableHeadCellProps\">\n >(\n ({ column: currentColumn }) => ({\n className: columnSorting.find(\n (sortedColumn) => sortedColumn.id === currentColumn.id,\n )\n ? \"isSorted\"\n : \"isUnsorted\",\n }),\n [columnSorting],\n );\n\n const hasColumnWithGrow = useMemo(\n () => columns.some((column) => column.grow === true),\n [columns],\n );\n\n const dataTable = useMaterialReactTable({\n columns: columns,\n data: data,\n getRowId,\n state: {\n sorting: columnSorting,\n globalFilter: search,\n columnVisibility,\n isLoading,\n rowSelection,\n columnOrder,\n },\n icons: {\n ArrowDownwardIcon: ArrowDownIcon,\n DragHandleIcon: DragIndicatorIcon,\n SyncAltIcon: ArrowUnsortedIcon,\n ExpandMoreIcon: ChevronDownIcon,\n },\n\n // Base table settings\n enableColumnActions: false,\n enableColumnResizing: hasColumnResizing,\n enableDensityToggle: false,\n enableFilters: false,\n enableFullScreenToggle: false,\n enableGlobalFilter: false,\n enableHiding: false,\n enablePagination: false,\n layoutMode: \"grid-no-grow\",\n manualFiltering: true,\n manualSorting: true,\n muiTablePaperProps: {\n elevation: 0,\n sx: {\n overflow: \"visible\",\n },\n },\n selectAllMode: \"all\",\n displayColumnDefOptions: {\n \"mrt-row-actions\": {\n header: \"\",\n grow: true,\n muiTableBodyCellProps: {\n align: \"right\",\n sx: {\n overflow: \"visible\",\n width: \"unset\",\n },\n className: \"ods-actions-cell\",\n },\n muiTableHeadCellProps: {\n align: \"right\",\n sx: {\n width: \"unset\",\n },\n className: \"ods-actions-cell\",\n children: (\n <Box sx={{ display: \"flex\", visibility: \"hidden\" }}>\n {rowActionButtons && rowActionButtons({ id: null })}\n {((hasRowReordering && onReorderRows) || rowActionMenuItems) && (\n <Box>\n <Button\n ariaLabel={t(\"table.moreactions.arialabel\")}\n endIcon={<MoreIcon />}\n isDisabled\n size=\"small\"\n variant=\"floating\"\n />\n </Box>\n )}\n </Box>\n ),\n },\n },\n \"mrt-row-drag\": {\n header: \"\",\n muiTableBodyCellProps: {\n sx: {\n minWidth: 0,\n width: \"auto\",\n },\n className: \"ods-drag-handle\",\n },\n muiTableHeadCellProps: {\n sx: {\n minWidth: 0,\n width: \"auto\",\n },\n children: (\n // Add a spacer to simulate the width of the drag handle in the column.\n // Without this, the head cells are offset from their body cell counterparts\n <Box sx={{ marginInline: \"-0.1rem\" }}>\n <DragIndicatorIcon sx={{ marginInline: 1, opacity: 0 }} />\n </Box>\n ),\n },\n },\n \"mrt-row-select\": {\n muiTableHeadCellProps: {\n padding: \"checkbox\",\n },\n muiTableBodyCellProps: {\n padding: \"checkbox\",\n },\n },\n \"mrt-row-expand\": {\n header: \"\",\n },\n },\n muiTableBodyProps,\n defaultColumn: {\n Cell: defaultCell,\n },\n muiTableBodyCellProps,\n\n // Reordering\n enableRowOrdering: hasRowReordering && Boolean(onReorderRows),\n enableRowDragging: hasRowReordering && Boolean(onReorderRows),\n muiDetailPanelProps,\n muiTableBodyRowProps,\n muiRowDragHandleProps,\n\n // Row actions\n enableRowActions: shouldDisplayRowActions,\n positionActionsColumn:\n \"last\" as MRT_TableOptions<DataTableRowData>[\"positionActionsColumn\"],\n renderRowActions: ({ row }) => renderRowActions({ row }),\n\n // Row selection\n enableRowSelection: hasRowSelection,\n onRowSelectionChange: setRowSelection,\n\n // Sorting\n enableSorting: hasSorting,\n onSortingChange: setColumnSorting,\n muiTableHeadCellProps,\n\n // Virtualization\n enableRowVirtualization:\n paginationType !== \"loadMore\" &&\n pagination.pageSize > 50 &&\n data.length > 0,\n rowVirtualizerInstanceRef:\n useRef<MRT_RowVirtualizer<HTMLDivElement, HTMLTableRowElement>>(null),\n rowVirtualizerOptions: {\n overscan: 4,\n },\n\n // States\n renderEmptyRowsFallback: emptyState,\n\n // Refs\n muiTableProps: {\n ref: tableContentRef,\n className:\n !shouldDisplayRowActions && hasColumnResizing\n ? hasColumnWithGrow\n ? \"ods-hide-spacer-column\"\n : \"ods-hide-spacer-column ods-column-grow\"\n : \"\",\n },\n\n muiTableContainerProps: {\n ref: tableInnerContainerRef,\n },\n\n // Row expansion\n enableExpandAll: false,\n renderDetailPanel: renderDetailPanel,\n });\n\n // Effects\n const bulkActionMenuButton = useMemo(\n () => (\n <>\n <MenuButton\n ariaLabel=\"More actions\"\n buttonVariant=\"secondary\"\n endIcon={<MoreIcon />}\n isDisabled={Object.keys(rowSelection).length === 0}\n >\n {bulkActionMenuItems?.(rowSelection)}\n </MenuButton>\n </>\n ),\n [bulkActionMenuItems, rowSelection],\n );\n\n useEffect(() => {\n (async () => {\n setIsLoading(true);\n setErrorMessage(errorMessageProp);\n try {\n const incomingData = await getData?.({\n page: pagination.pageIndex,\n resultsPerPage: pagination.pageSize,\n search,\n filters,\n sort: columnSorting,\n });\n setData(incomingData);\n } catch (error) {\n setErrorMessage(typeof error === \"string\" ? error : t(\"table.error\"));\n } finally {\n setIsLoading(false);\n }\n })();\n }, [\n columnSorting,\n errorMessageProp,\n filters,\n getData,\n pagination,\n search,\n t,\n ]);\n\n useEffect(() => {\n if (!initialFilters && filters) {\n setInitialFilters(filters);\n }\n\n setIsEmpty(\n pagination.pageIndex === currentPage &&\n pagination.pageSize === resultsPerPage &&\n search === \"\" &&\n filters === initialFilters &&\n data.length === 0,\n );\n }, [\n filters,\n pagination,\n search,\n data,\n currentPage,\n initialFilters,\n resultsPerPage,\n ]);\n\n useEffect(() => {\n setPagination((prev) => ({\n pageIndex: 1,\n pageSize: prev.pageSize,\n }));\n }, [filters, search]);\n\n useEffect(() => {\n onChangeRowSelection?.(rowSelection);\n }, [rowSelection, onChangeRowSelection]);\n\n const { lastRow } = usePagination({\n currentRowsCount: data.length,\n pageIndex: pagination.pageIndex,\n pageSize: pagination.pageSize,\n totalRows,\n });\n\n // Render the table\n return (\n <>\n {(hasSearch ||\n hasFilters ||\n hasChangeableDensity ||\n hasColumnVisibility ||\n bulkActionMenuItems ||\n additionalActionButton ||\n additionalActionMenuItems) && (\n <Box sx={{ marginBottom: 5 }}>\n <DataFilters\n additionalActions={\n <>\n <DataTableSettings\n columns={columns}\n columnVisibility={columnVisibility}\n hasChangeableDensity={hasChangeableDensity}\n hasColumnVisibility={hasColumnVisibility}\n rowDensity={rowDensity}\n setColumnVisibility={setColumnVisibility}\n setRowDensity={setRowDensity}\n />\n {bulkActionMenuItems && bulkActionMenuButton}\n {additionalActionButton}\n {additionalActionMenuItems && (\n <MenuButton\n ariaLabel={t(\"table.moreactions.arialabel\")}\n buttonVariant=\"secondary\"\n endIcon={<MoreIcon />}\n menuAlignment=\"right\"\n >\n {additionalActionMenuItems}\n </MenuButton>\n )}\n </>\n }\n defaultSearchTerm={initialSearchValue}\n filters={hasFilters ? dataTableFilters : undefined}\n hasSearchSubmitButton={hasSearchSubmitButton}\n isDisabled={isEmpty}\n onChangeFilters={hasFilters ? setFilters : undefined}\n onChangeSearch={hasSearch ? setSearch : undefined}\n searchDelayTime={searchDelayTime}\n />\n </Box>\n )}\n\n {errorMessage && (\n <Box sx={{ marginBlockEnd: 2 }}>\n <Callout severity=\"error\" text={errorMessage} />\n </Box>\n )}\n\n <ScrollableTableContainer\n isScrollableEnd={!isTableContainerScrolledToEnd}\n isScrollableStart={!isTableContainerScrolledToStart}\n odysseyDesignTokens={odysseyDesignTokens}\n ref={tableOuterContainerRef}\n >\n <MRT_TableContainer table={dataTable} />\n </ScrollableTableContainer>\n\n {hasPagination && (\n <Pagination\n currentPageLabel={t(\"pagination.page\")}\n currentRowsCount={data.length}\n isDisabled={isEmpty}\n isMoreDisabled={isPaginationMoreDisabled}\n lastRow={lastRow}\n loadMoreLabel={t(\"pagination.loadmore\")}\n maxPageIndex={maxPages}\n maxPageSize={maxResultsPerPage}\n nextLabel={t(\"pagination.next\")}\n onPaginationChange={setPagination}\n pageIndex={pagination.pageIndex}\n pageSize={pagination.pageSize}\n previousLabel={t(\"pagination.previous\")}\n rowsPerPageLabel={t(\"pagination.rowsperpage\")}\n totalRows={totalRows}\n variant={paginationType}\n />\n )}\n </>\n );\n};\n\nconst MemoizedDataTable = memo(DataTable);\nMemoizedDataTable.displayName = \"DataTable\";\n\nexport { MemoizedDataTable as DataTable };\n"],"mappings":"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","ignoreList":[]}