@okta/odyssey-react-mui 1.15.9 → 1.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (960) hide show
  1. package/CHANGELOG.md +35 -0
  2. package/dist/Accordion.js +2 -0
  3. package/dist/Accordion.js.map +1 -1
  4. package/dist/Autocomplete.js +9 -0
  5. package/dist/Autocomplete.js.map +1 -1
  6. package/dist/Badge.js +1 -0
  7. package/dist/Badge.js.map +1 -1
  8. package/dist/Banner.js +6 -5
  9. package/dist/Banner.js.map +1 -1
  10. package/dist/Button.js +15 -11
  11. package/dist/Button.js.map +1 -1
  12. package/dist/Callout.js +45 -7
  13. package/dist/Callout.js.map +1 -1
  14. package/dist/{Tile.js → Card.js} +43 -28
  15. package/dist/Card.js.map +1 -0
  16. package/dist/DataTable/DataTable.js +68 -41
  17. package/dist/DataTable/DataTable.js.map +1 -1
  18. package/dist/DataTable/DataTableRowActions.js.map +1 -1
  19. package/dist/DataTable/constants.js +0 -1
  20. package/dist/DataTable/constants.js.map +1 -1
  21. package/dist/DataTable/index.js +0 -1
  22. package/dist/DataTable/index.js.map +1 -1
  23. package/dist/Dialog.js +9 -3
  24. package/dist/Dialog.js.map +1 -1
  25. package/dist/{labs/Drawer.js → Drawer.js} +5 -5
  26. package/dist/Drawer.js.map +1 -0
  27. package/dist/{DataTable/DataTableEmptyState.js → EmptyState.js} +17 -15
  28. package/dist/EmptyState.js.map +1 -0
  29. package/dist/ErrorMessageList.js +1 -1
  30. package/dist/ErrorMessageList.js.map +1 -1
  31. package/dist/FieldError.js +3 -2
  32. package/dist/FieldError.js.map +1 -1
  33. package/dist/HtmlProps.js.map +1 -1
  34. package/dist/MenuItem.js +1 -0
  35. package/dist/MenuItem.js.map +1 -1
  36. package/dist/OdysseyCacheProvider.js +5 -2
  37. package/dist/OdysseyCacheProvider.js.map +1 -1
  38. package/dist/OdysseyProvider.js +1 -1
  39. package/dist/OdysseyProvider.js.map +1 -1
  40. package/dist/OdysseyTranslationProvider.js +1 -6
  41. package/dist/OdysseyTranslationProvider.js.map +1 -1
  42. package/dist/{DataTable/DataTablePagination.js → Pagination/Pagination.js} +56 -59
  43. package/dist/Pagination/Pagination.js.map +1 -0
  44. package/dist/Pagination/constants.js +14 -0
  45. package/dist/Pagination/constants.js.map +1 -0
  46. package/dist/Pagination/index.js +15 -0
  47. package/dist/Pagination/index.js.map +1 -0
  48. package/dist/Pagination/usePagination.js +51 -0
  49. package/dist/Pagination/usePagination.js.map +1 -0
  50. package/dist/Radio.js +17 -5
  51. package/dist/Radio.js.map +1 -1
  52. package/dist/ScreenReaderText.js +4 -0
  53. package/dist/ScreenReaderText.js.map +1 -1
  54. package/dist/Select.js +1 -0
  55. package/dist/Select.js.map +1 -1
  56. package/dist/Status.js +5 -3
  57. package/dist/Status.js.map +1 -1
  58. package/dist/Surface.js +38 -0
  59. package/dist/Surface.js.map +1 -0
  60. package/dist/Tabs.js +22 -0
  61. package/dist/Tabs.js.map +1 -1
  62. package/dist/TextField.js +48 -0
  63. package/dist/TextField.js.map +1 -1
  64. package/dist/Toast.js +37 -34
  65. package/dist/Toast.js.map +1 -1
  66. package/dist/assertEnv.d.ts +18 -0
  67. package/dist/assertEnv.d.ts.map +1 -0
  68. package/dist/assertEnv.js +32 -0
  69. package/dist/icons.generated/Add.js +1 -1
  70. package/dist/icons.generated/Add.js.map +1 -1
  71. package/dist/icons.generated/AddCircle.js +1 -1
  72. package/dist/icons.generated/AddCircle.js.map +1 -1
  73. package/dist/icons.generated/Apps.js +1 -1
  74. package/dist/icons.generated/Apps.js.map +1 -1
  75. package/dist/icons.generated/ArrowBottom.js +2 -2
  76. package/dist/icons.generated/ArrowBottom.js.map +1 -1
  77. package/dist/icons.generated/ArrowDown.js +1 -1
  78. package/dist/icons.generated/ArrowDown.js.map +1 -1
  79. package/dist/icons.generated/ArrowLeft.js +1 -1
  80. package/dist/icons.generated/ArrowLeft.js.map +1 -1
  81. package/dist/icons.generated/ArrowLowerLeft.js +1 -1
  82. package/dist/icons.generated/ArrowLowerLeft.js.map +1 -1
  83. package/dist/icons.generated/ArrowLowerRight.js +1 -1
  84. package/dist/icons.generated/ArrowLowerRight.js.map +1 -1
  85. package/dist/icons.generated/ArrowRight.js +1 -1
  86. package/dist/icons.generated/ArrowRight.js.map +1 -1
  87. package/dist/icons.generated/ArrowTop.js +2 -2
  88. package/dist/icons.generated/ArrowTop.js.map +1 -1
  89. package/dist/icons.generated/ArrowUnsorted.js +1 -1
  90. package/dist/icons.generated/ArrowUnsorted.js.map +1 -1
  91. package/dist/icons.generated/ArrowUp.js +1 -1
  92. package/dist/icons.generated/ArrowUp.js.map +1 -1
  93. package/dist/icons.generated/ArrowUpperLeft.js +1 -1
  94. package/dist/icons.generated/ArrowUpperLeft.js.map +1 -1
  95. package/dist/icons.generated/ArrowUpperRight.js +1 -1
  96. package/dist/icons.generated/ArrowUpperRight.js.map +1 -1
  97. package/dist/icons.generated/Bug.js +1 -1
  98. package/dist/icons.generated/Bug.js.map +1 -1
  99. package/dist/icons.generated/Calendar.js +1 -1
  100. package/dist/icons.generated/Calendar.js.map +1 -1
  101. package/dist/icons.generated/Call.js +1 -1
  102. package/dist/icons.generated/Call.js.map +1 -1
  103. package/dist/icons.generated/Chat.js +1 -1
  104. package/dist/icons.generated/Chat.js.map +1 -1
  105. package/dist/icons.generated/Check.js +1 -1
  106. package/dist/icons.generated/Check.js.map +1 -1
  107. package/dist/icons.generated/CheckCircleFilled.js +1 -1
  108. package/dist/icons.generated/CheckCircleFilled.js.map +1 -1
  109. package/dist/icons.generated/ChevronDown.js +1 -1
  110. package/dist/icons.generated/ChevronDown.js.map +1 -1
  111. package/dist/icons.generated/ChevronLeft.js +1 -1
  112. package/dist/icons.generated/ChevronLeft.js.map +1 -1
  113. package/dist/icons.generated/ChevronRight.js +1 -1
  114. package/dist/icons.generated/ChevronRight.js.map +1 -1
  115. package/dist/icons.generated/ChevronUp.js +1 -1
  116. package/dist/icons.generated/ChevronUp.js.map +1 -1
  117. package/dist/icons.generated/Clock.js +1 -1
  118. package/dist/icons.generated/Clock.js.map +1 -1
  119. package/dist/icons.generated/Close.js +1 -1
  120. package/dist/icons.generated/Close.js.map +1 -1
  121. package/dist/icons.generated/CloseCircleFilled.js +1 -1
  122. package/dist/icons.generated/CloseCircleFilled.js.map +1 -1
  123. package/dist/icons.generated/CollapseLeft.js +1 -1
  124. package/dist/icons.generated/CollapseLeft.js.map +1 -1
  125. package/dist/icons.generated/CollapseRight.js +1 -1
  126. package/dist/icons.generated/CollapseRight.js.map +1 -1
  127. package/dist/icons.generated/Copy.js +1 -1
  128. package/dist/icons.generated/Copy.js.map +1 -1
  129. package/dist/icons.generated/Custom.js +39 -0
  130. package/dist/icons.generated/Custom.js.map +1 -0
  131. package/dist/icons.generated/DangerDiamond.js +1 -1
  132. package/dist/icons.generated/DangerDiamond.js.map +1 -1
  133. package/dist/icons.generated/DangerDiamondFilled.js +1 -1
  134. package/dist/icons.generated/DangerDiamondFilled.js.map +1 -1
  135. package/dist/icons.generated/Delete.js +1 -1
  136. package/dist/icons.generated/Delete.js.map +1 -1
  137. package/dist/icons.generated/Deny.js +1 -1
  138. package/dist/icons.generated/Deny.js.map +1 -1
  139. package/dist/icons.generated/Devices.js +1 -1
  140. package/dist/icons.generated/Devices.js.map +1 -1
  141. package/dist/icons.generated/Directory.js +1 -1
  142. package/dist/icons.generated/Directory.js.map +1 -1
  143. package/dist/icons.generated/Documentation.js +1 -1
  144. package/dist/icons.generated/Documentation.js.map +1 -1
  145. package/dist/icons.generated/Download.js +1 -1
  146. package/dist/icons.generated/Download.js.map +1 -1
  147. package/dist/icons.generated/DragIndicator.js +1 -1
  148. package/dist/icons.generated/DragIndicator.js.map +1 -1
  149. package/dist/icons.generated/Duo.js +47 -0
  150. package/dist/icons.generated/Duo.js.map +1 -0
  151. package/dist/icons.generated/Edit.js +1 -1
  152. package/dist/icons.generated/Edit.js.map +1 -1
  153. package/dist/icons.generated/Email.js +38 -0
  154. package/dist/icons.generated/Email.js.map +1 -0
  155. package/dist/icons.generated/ExpandLeft.js +1 -1
  156. package/dist/icons.generated/ExpandLeft.js.map +1 -1
  157. package/dist/icons.generated/ExpandRight.js +1 -1
  158. package/dist/icons.generated/ExpandRight.js.map +1 -1
  159. package/dist/icons.generated/ExternalLink.js +1 -1
  160. package/dist/icons.generated/ExternalLink.js.map +1 -1
  161. package/dist/icons.generated/Fido2.js +57 -0
  162. package/dist/icons.generated/Fido2.js.map +1 -0
  163. package/dist/icons.generated/Filter.js +1 -1
  164. package/dist/icons.generated/Filter.js.map +1 -1
  165. package/dist/icons.generated/Folder.js +1 -1
  166. package/dist/icons.generated/Folder.js.map +1 -1
  167. package/dist/icons.generated/Globe.js +1 -1
  168. package/dist/icons.generated/Globe.js.map +1 -1
  169. package/dist/icons.generated/GoogleAuth.js +54 -0
  170. package/dist/icons.generated/GoogleAuth.js.map +1 -0
  171. package/dist/icons.generated/Grid.js +1 -1
  172. package/dist/icons.generated/Grid.js.map +1 -1
  173. package/dist/icons.generated/Group.js +1 -1
  174. package/dist/icons.generated/Group.js.map +1 -1
  175. package/dist/icons.generated/Hide.js +1 -1
  176. package/dist/icons.generated/Hide.js.map +1 -1
  177. package/dist/icons.generated/Home.js +1 -1
  178. package/dist/icons.generated/Home.js.map +1 -1
  179. package/dist/icons.generated/Idp.js +42 -0
  180. package/dist/icons.generated/Idp.js.map +1 -0
  181. package/dist/icons.generated/InformationCircle.js +1 -1
  182. package/dist/icons.generated/InformationCircle.js.map +1 -1
  183. package/dist/icons.generated/InformationCircleFilled.js +1 -1
  184. package/dist/icons.generated/InformationCircleFilled.js.map +1 -1
  185. package/dist/icons.generated/Link.js +1 -1
  186. package/dist/icons.generated/Link.js.map +1 -1
  187. package/dist/icons.generated/List.js +1 -1
  188. package/dist/icons.generated/List.js.map +1 -1
  189. package/dist/icons.generated/Lock.js +1 -1
  190. package/dist/icons.generated/Lock.js.map +1 -1
  191. package/dist/icons.generated/More.js +1 -1
  192. package/dist/icons.generated/More.js.map +1 -1
  193. package/dist/icons.generated/Notification.js +1 -1
  194. package/dist/icons.generated/Notification.js.map +1 -1
  195. package/dist/icons.generated/OktaVerify.js +33 -0
  196. package/dist/icons.generated/OktaVerify.js.map +1 -0
  197. package/dist/icons.generated/OnPremMfa.js +39 -0
  198. package/dist/icons.generated/OnPremMfa.js.map +1 -0
  199. package/dist/icons.generated/OneTimePassword.js +49 -0
  200. package/dist/icons.generated/OneTimePassword.js.map +1 -0
  201. package/dist/icons.generated/Password.js +61 -0
  202. package/dist/icons.generated/Password.js.map +1 -0
  203. package/dist/icons.generated/Pause.js +1 -1
  204. package/dist/icons.generated/Pause.js.map +1 -1
  205. package/dist/icons.generated/QuestionCircle.js +1 -1
  206. package/dist/icons.generated/QuestionCircle.js.map +1 -1
  207. package/dist/icons.generated/QuestionCircleFilled.js +1 -1
  208. package/dist/icons.generated/QuestionCircleFilled.js.map +1 -1
  209. package/dist/icons.generated/Refresh.js +1 -1
  210. package/dist/icons.generated/Refresh.js.map +1 -1
  211. package/dist/icons.generated/Reset.js +1 -1
  212. package/dist/icons.generated/Reset.js.map +1 -1
  213. package/dist/icons.generated/Resume.js +1 -1
  214. package/dist/icons.generated/Resume.js.map +1 -1
  215. package/dist/icons.generated/Search.js +1 -1
  216. package/dist/icons.generated/Search.js.map +1 -1
  217. package/dist/icons.generated/SecurityQuestion.js +41 -0
  218. package/dist/icons.generated/SecurityQuestion.js.map +1 -0
  219. package/dist/icons.generated/Server.js +1 -1
  220. package/dist/icons.generated/Server.js.map +1 -1
  221. package/dist/icons.generated/Settings.js +1 -1
  222. package/dist/icons.generated/Settings.js.map +1 -1
  223. package/dist/icons.generated/Show.js +1 -1
  224. package/dist/icons.generated/Show.js.map +1 -1
  225. package/dist/icons.generated/SmartCard.js +49 -0
  226. package/dist/icons.generated/SmartCard.js.map +1 -0
  227. package/dist/icons.generated/Sms.js +49 -0
  228. package/dist/icons.generated/Sms.js.map +1 -0
  229. package/dist/icons.generated/Subtract.js +1 -1
  230. package/dist/icons.generated/Subtract.js.map +1 -1
  231. package/dist/icons.generated/SymantecVip.js +38 -0
  232. package/dist/icons.generated/SymantecVip.js.map +1 -0
  233. package/dist/icons.generated/Sync.js +1 -1
  234. package/dist/icons.generated/Sync.js.map +1 -1
  235. package/dist/icons.generated/ThumbsDown.js +33 -0
  236. package/dist/icons.generated/ThumbsDown.js.map +1 -0
  237. package/dist/icons.generated/ThumbsUp.js +33 -0
  238. package/dist/icons.generated/ThumbsUp.js.map +1 -0
  239. package/dist/icons.generated/Unlock.js +1 -1
  240. package/dist/icons.generated/Unlock.js.map +1 -1
  241. package/dist/icons.generated/Upload.js +1 -1
  242. package/dist/icons.generated/Upload.js.map +1 -1
  243. package/dist/icons.generated/User.js +1 -1
  244. package/dist/icons.generated/User.js.map +1 -1
  245. package/dist/icons.generated/Video.js +1 -1
  246. package/dist/icons.generated/Video.js.map +1 -1
  247. package/dist/icons.generated/VoiceCall.js +54 -0
  248. package/dist/icons.generated/VoiceCall.js.map +1 -0
  249. package/dist/icons.generated/Warning.js +1 -1
  250. package/dist/icons.generated/Warning.js.map +1 -1
  251. package/dist/icons.generated/WarningFilled.js +1 -1
  252. package/dist/icons.generated/WarningFilled.js.map +1 -1
  253. package/dist/icons.generated/Yubikey.js +31 -0
  254. package/dist/icons.generated/Yubikey.js.map +1 -0
  255. package/dist/icons.generated/index.js +18 -0
  256. package/dist/icons.generated/index.js.map +1 -1
  257. package/dist/index.d.ts +24 -0
  258. package/dist/index.d.ts.map +1 -0
  259. package/dist/index.js +7 -2
  260. package/dist/index.js.map +1 -1
  261. package/dist/index.scss +457 -0
  262. package/dist/labs/DataComponents/BulkActionsMenu.js +77 -0
  263. package/dist/labs/DataComponents/BulkActionsMenu.js.map +1 -0
  264. package/dist/labs/DataComponents/DataStack.js +79 -0
  265. package/dist/labs/DataComponents/DataStack.js.map +1 -0
  266. package/dist/labs/DataComponents/DataTable.js +90 -0
  267. package/dist/labs/DataComponents/DataTable.js.map +1 -0
  268. package/dist/labs/DataComponents/DataView.js +278 -0
  269. package/dist/labs/DataComponents/DataView.js.map +1 -0
  270. package/dist/{src/DataTable/DataTableEmptyState.d.ts → labs/DataComponents/DetailPanel.js} +14 -9
  271. package/dist/labs/DataComponents/DetailPanel.js.map +1 -0
  272. package/dist/labs/DataComponents/LayoutSwitcher.js +53 -0
  273. package/dist/labs/DataComponents/LayoutSwitcher.js.map +1 -0
  274. package/dist/labs/DataComponents/RowActions.js +80 -0
  275. package/dist/labs/DataComponents/RowActions.js.map +1 -0
  276. package/dist/labs/DataComponents/StackCard.js +163 -0
  277. package/dist/labs/DataComponents/StackCard.js.map +1 -0
  278. package/dist/labs/DataComponents/StackContent.js +143 -0
  279. package/dist/labs/DataComponents/StackContent.js.map +1 -0
  280. package/dist/labs/DataComponents/TableContent.js +248 -0
  281. package/dist/labs/DataComponents/TableContent.js.map +1 -0
  282. package/dist/labs/DataComponents/TableSettings.js +96 -0
  283. package/dist/labs/DataComponents/TableSettings.js.map +1 -0
  284. package/dist/labs/DataComponents/componentTypes.js +2 -0
  285. package/dist/labs/DataComponents/componentTypes.js.map +1 -0
  286. package/dist/labs/DataComponents/constants.js +17 -0
  287. package/dist/labs/DataComponents/constants.js.map +1 -0
  288. package/dist/labs/DataComponents/dataTypes.js +2 -0
  289. package/dist/labs/DataComponents/dataTypes.js.map +1 -0
  290. package/dist/labs/DataComponents/fetchData.js +33 -0
  291. package/dist/labs/DataComponents/fetchData.js.map +1 -0
  292. package/dist/labs/DataComponents/index.js +18 -0
  293. package/dist/labs/DataComponents/index.js.map +1 -0
  294. package/dist/labs/DataComponents/tableConstants.js +146 -0
  295. package/dist/labs/DataComponents/tableConstants.js.map +1 -0
  296. package/dist/labs/DataComponents/useFilterConversion.js +58 -0
  297. package/dist/labs/DataComponents/useFilterConversion.js.map +1 -0
  298. package/dist/labs/DataFilters.js +139 -82
  299. package/dist/labs/DataFilters.js.map +1 -1
  300. package/dist/labs/DateField.js +77 -0
  301. package/dist/labs/DateField.js.map +1 -0
  302. package/dist/labs/DatePicker.js +186 -23
  303. package/dist/labs/DatePicker.js.map +1 -1
  304. package/dist/labs/{DatePicker.types.js → DatePicker.types.d.js} +1 -1
  305. package/dist/labs/DatePicker.types.d.js.map +1 -0
  306. package/dist/labs/FileUpload.js +28 -25
  307. package/dist/labs/FileUpload.js.map +1 -1
  308. package/dist/labs/FileUploadIllustration.js +1 -1
  309. package/dist/labs/FileUploadIllustration.js.map +1 -1
  310. package/dist/labs/FileUploadPreview.js +1 -0
  311. package/dist/labs/FileUploadPreview.js.map +1 -1
  312. package/dist/labs/Layout.js +49 -0
  313. package/dist/labs/Layout.js.map +1 -0
  314. package/dist/labs/NavAccordion.js +80 -0
  315. package/dist/labs/NavAccordion.js.map +1 -0
  316. package/dist/labs/PageTemplate.js +140 -0
  317. package/dist/labs/PageTemplate.js.map +1 -0
  318. package/dist/labs/SideNav.js +478 -0
  319. package/dist/labs/SideNav.js.map +1 -0
  320. package/dist/labs/Switch.js +186 -77
  321. package/dist/labs/Switch.js.map +1 -1
  322. package/dist/labs/datePickerTheme.js +138 -80
  323. package/dist/labs/datePickerTheme.js.map +1 -1
  324. package/dist/labs/index.js +5 -1
  325. package/dist/labs/index.js.map +1 -1
  326. package/dist/labs/useDatePickerTranslations.js +71 -0
  327. package/dist/labs/useDatePickerTranslations.js.map +1 -0
  328. package/dist/preset.d.ts +23 -0
  329. package/dist/preset.d.ts.map +1 -0
  330. package/dist/preset.js +35 -0
  331. package/dist/properties/ts/odyssey-react-mui.js +68 -10
  332. package/dist/properties/ts/odyssey-react-mui.js.map +1 -1
  333. package/dist/properties/ts/odyssey-react-mui_cs.js +55 -8
  334. package/dist/properties/ts/odyssey-react-mui_cs.js.map +1 -1
  335. package/dist/properties/ts/odyssey-react-mui_da.js +55 -8
  336. package/dist/properties/ts/odyssey-react-mui_da.js.map +1 -1
  337. package/dist/properties/ts/odyssey-react-mui_de.js +55 -8
  338. package/dist/properties/ts/odyssey-react-mui_de.js.map +1 -1
  339. package/dist/properties/ts/odyssey-react-mui_el.js +55 -8
  340. package/dist/properties/ts/odyssey-react-mui_el.js.map +1 -1
  341. package/dist/properties/ts/odyssey-react-mui_es.js +55 -8
  342. package/dist/properties/ts/odyssey-react-mui_es.js.map +1 -1
  343. package/dist/properties/ts/odyssey-react-mui_fi.js +55 -8
  344. package/dist/properties/ts/odyssey-react-mui_fi.js.map +1 -1
  345. package/dist/properties/ts/odyssey-react-mui_fr.js +55 -8
  346. package/dist/properties/ts/odyssey-react-mui_fr.js.map +1 -1
  347. package/dist/properties/ts/odyssey-react-mui_ht.js +98 -0
  348. package/dist/properties/ts/odyssey-react-mui_ht.js.map +1 -0
  349. package/dist/properties/ts/odyssey-react-mui_hu.js +55 -8
  350. package/dist/properties/ts/odyssey-react-mui_hu.js.map +1 -1
  351. package/dist/properties/ts/odyssey-react-mui_id.js +55 -8
  352. package/dist/properties/ts/odyssey-react-mui_id.js.map +1 -1
  353. package/dist/properties/ts/odyssey-react-mui_it.js +55 -8
  354. package/dist/properties/ts/odyssey-react-mui_it.js.map +1 -1
  355. package/dist/properties/ts/odyssey-react-mui_ja.js +55 -8
  356. package/dist/properties/ts/odyssey-react-mui_ja.js.map +1 -1
  357. package/dist/properties/ts/odyssey-react-mui_ko.js +55 -8
  358. package/dist/properties/ts/odyssey-react-mui_ko.js.map +1 -1
  359. package/dist/properties/ts/odyssey-react-mui_ms.js +55 -8
  360. package/dist/properties/ts/odyssey-react-mui_ms.js.map +1 -1
  361. package/dist/properties/ts/odyssey-react-mui_nb.js +55 -8
  362. package/dist/properties/ts/odyssey-react-mui_nb.js.map +1 -1
  363. package/dist/properties/ts/odyssey-react-mui_nl_NL.js +55 -8
  364. package/dist/properties/ts/odyssey-react-mui_nl_NL.js.map +1 -1
  365. package/dist/properties/ts/odyssey-react-mui_pl.js +55 -8
  366. package/dist/properties/ts/odyssey-react-mui_pl.js.map +1 -1
  367. package/dist/properties/ts/odyssey-react-mui_pt_BR.js +55 -8
  368. package/dist/properties/ts/odyssey-react-mui_pt_BR.js.map +1 -1
  369. package/dist/properties/ts/odyssey-react-mui_ro.js +55 -8
  370. package/dist/properties/ts/odyssey-react-mui_ro.js.map +1 -1
  371. package/dist/properties/ts/odyssey-react-mui_ru.js +55 -8
  372. package/dist/properties/ts/odyssey-react-mui_ru.js.map +1 -1
  373. package/dist/properties/ts/odyssey-react-mui_sv.js +55 -8
  374. package/dist/properties/ts/odyssey-react-mui_sv.js.map +1 -1
  375. package/dist/properties/ts/odyssey-react-mui_th.js +55 -8
  376. package/dist/properties/ts/odyssey-react-mui_th.js.map +1 -1
  377. package/dist/properties/ts/odyssey-react-mui_tr.js +55 -8
  378. package/dist/properties/ts/odyssey-react-mui_tr.js.map +1 -1
  379. package/dist/properties/ts/odyssey-react-mui_uk.js +55 -8
  380. package/dist/properties/ts/odyssey-react-mui_uk.js.map +1 -1
  381. package/dist/properties/ts/odyssey-react-mui_vi.js +55 -8
  382. package/dist/properties/ts/odyssey-react-mui_vi.js.map +1 -1
  383. package/dist/properties/ts/odyssey-react-mui_zh_CN.js +55 -8
  384. package/dist/properties/ts/odyssey-react-mui_zh_CN.js.map +1 -1
  385. package/dist/properties/ts/odyssey-react-mui_zh_TW.js +55 -8
  386. package/dist/properties/ts/odyssey-react-mui_zh_TW.js.map +1 -1
  387. package/dist/remUtils.js +14 -0
  388. package/dist/remUtils.js.map +1 -0
  389. package/dist/scripts/generateTestSelectorsJson.d.ts +13 -0
  390. package/dist/scripts/generateTestSelectorsJson.d.ts.map +1 -0
  391. package/dist/src/Accordion.d.ts +1 -1
  392. package/dist/src/Accordion.d.ts.map +1 -1
  393. package/dist/src/Autocomplete.d.ts +7 -1
  394. package/dist/src/Autocomplete.d.ts.map +1 -1
  395. package/dist/src/Badge.d.ts +2 -2
  396. package/dist/src/Badge.d.ts.map +1 -1
  397. package/dist/src/Banner.d.ts.map +1 -1
  398. package/dist/src/Button.d.ts +10 -6
  399. package/dist/src/Button.d.ts.map +1 -1
  400. package/dist/src/Callout.d.ts +38 -2
  401. package/dist/src/Callout.d.ts.map +1 -1
  402. package/dist/src/{Tile.d.ts → Card.d.ts} +6 -27
  403. package/dist/src/Card.d.ts.map +1 -0
  404. package/dist/src/DataTable/DataTable.d.ts +65 -48
  405. package/dist/src/DataTable/DataTable.d.ts.map +1 -1
  406. package/dist/src/DataTable/DataTableRowActions.d.ts +1 -1
  407. package/dist/src/DataTable/DataTableRowActions.d.ts.map +1 -1
  408. package/dist/src/DataTable/constants.d.ts +0 -1
  409. package/dist/src/DataTable/constants.d.ts.map +1 -1
  410. package/dist/src/DataTable/index.d.ts +1 -2
  411. package/dist/src/DataTable/index.d.ts.map +1 -1
  412. package/dist/src/DataTable/reorderDataRowsLocally.d.ts.map +1 -1
  413. package/dist/src/DataTable/useRowReordering.d.ts +3 -3
  414. package/dist/src/DataTable/useRowReordering.d.ts.map +1 -1
  415. package/dist/src/Dialog.d.ts +19 -7
  416. package/dist/src/Dialog.d.ts.map +1 -1
  417. package/dist/src/{labs/Drawer.d.ts → Drawer.d.ts} +3 -3
  418. package/dist/src/Drawer.d.ts.map +1 -0
  419. package/dist/src/EmptyState.d.ts +34 -0
  420. package/dist/src/EmptyState.d.ts.map +1 -0
  421. package/dist/src/ErrorMessageList.d.ts.map +1 -1
  422. package/dist/src/FieldError.d.ts.map +1 -1
  423. package/dist/src/HtmlProps.d.ts +1 -0
  424. package/dist/src/HtmlProps.d.ts.map +1 -1
  425. package/dist/src/MenuItem.d.ts.map +1 -1
  426. package/dist/src/OdysseyCacheProvider.d.ts +6 -2
  427. package/dist/src/OdysseyCacheProvider.d.ts.map +1 -1
  428. package/dist/src/OdysseyProvider.d.ts.map +1 -1
  429. package/dist/src/OdysseyTranslationProvider.d.ts +1 -1
  430. package/dist/src/OdysseyTranslationProvider.d.ts.map +1 -1
  431. package/dist/src/Pagination/Pagination.d.ts +70 -0
  432. package/dist/src/Pagination/Pagination.d.ts.map +1 -0
  433. package/dist/src/Pagination/constants.d.ts +13 -0
  434. package/dist/src/Pagination/constants.d.ts.map +1 -0
  435. package/dist/src/Pagination/index.d.ts +15 -0
  436. package/dist/src/Pagination/index.d.ts.map +1 -0
  437. package/dist/src/Pagination/usePagination.d.ts +23 -0
  438. package/dist/src/Pagination/usePagination.d.ts.map +1 -0
  439. package/dist/src/Radio.d.ts +2 -2
  440. package/dist/src/Radio.d.ts.map +1 -1
  441. package/dist/src/ScreenReaderText.d.ts +3 -2
  442. package/dist/src/ScreenReaderText.d.ts.map +1 -1
  443. package/dist/src/Select.d.ts.map +1 -1
  444. package/dist/src/Status.d.ts +7 -2
  445. package/dist/src/Status.d.ts.map +1 -1
  446. package/dist/src/{labs/DatePicker.types.d.ts → Surface.d.ts} +7 -8
  447. package/dist/src/Surface.d.ts.map +1 -0
  448. package/dist/src/Tabs.d.ts +22 -0
  449. package/dist/src/Tabs.d.ts.map +1 -1
  450. package/dist/src/TextField.d.ts +48 -0
  451. package/dist/src/TextField.d.ts.map +1 -1
  452. package/dist/src/Toast.d.ts.map +1 -1
  453. package/dist/src/icons.generated/Add.d.ts +1 -1
  454. package/dist/src/icons.generated/AddCircle.d.ts +1 -1
  455. package/dist/src/icons.generated/Apps.d.ts +1 -1
  456. package/dist/src/icons.generated/ArrowBottom.d.ts +1 -1
  457. package/dist/src/icons.generated/ArrowDown.d.ts +1 -1
  458. package/dist/src/icons.generated/ArrowLeft.d.ts +1 -1
  459. package/dist/src/icons.generated/ArrowLowerLeft.d.ts +1 -1
  460. package/dist/src/icons.generated/ArrowLowerRight.d.ts +1 -1
  461. package/dist/src/icons.generated/ArrowRight.d.ts +1 -1
  462. package/dist/src/icons.generated/ArrowTop.d.ts +1 -1
  463. package/dist/src/icons.generated/ArrowUnsorted.d.ts +1 -1
  464. package/dist/src/icons.generated/ArrowUp.d.ts +1 -1
  465. package/dist/src/icons.generated/ArrowUpperLeft.d.ts +1 -1
  466. package/dist/src/icons.generated/ArrowUpperRight.d.ts +1 -1
  467. package/dist/src/icons.generated/Bug.d.ts +1 -1
  468. package/dist/src/icons.generated/Calendar.d.ts +1 -1
  469. package/dist/src/icons.generated/Call.d.ts +1 -1
  470. package/dist/src/icons.generated/Chat.d.ts +1 -1
  471. package/dist/src/icons.generated/Check.d.ts +1 -1
  472. package/dist/src/icons.generated/CheckCircleFilled.d.ts +1 -1
  473. package/dist/src/icons.generated/ChevronDown.d.ts +1 -1
  474. package/dist/src/icons.generated/ChevronLeft.d.ts +1 -1
  475. package/dist/src/icons.generated/ChevronRight.d.ts +1 -1
  476. package/dist/src/icons.generated/ChevronUp.d.ts +1 -1
  477. package/dist/src/icons.generated/Clock.d.ts +1 -1
  478. package/dist/src/icons.generated/Close.d.ts +1 -1
  479. package/dist/src/icons.generated/CloseCircleFilled.d.ts +1 -1
  480. package/dist/src/icons.generated/CollapseLeft.d.ts +1 -1
  481. package/dist/src/icons.generated/CollapseRight.d.ts +1 -1
  482. package/dist/src/icons.generated/Copy.d.ts +1 -1
  483. package/dist/src/icons.generated/Custom.d.ts +16 -0
  484. package/dist/src/icons.generated/Custom.d.ts.map +1 -0
  485. package/dist/src/icons.generated/DangerDiamond.d.ts +1 -1
  486. package/dist/src/icons.generated/DangerDiamondFilled.d.ts +1 -1
  487. package/dist/src/icons.generated/Delete.d.ts +1 -1
  488. package/dist/src/icons.generated/Deny.d.ts +1 -1
  489. package/dist/src/icons.generated/Devices.d.ts +1 -1
  490. package/dist/src/icons.generated/Directory.d.ts +1 -1
  491. package/dist/src/icons.generated/Documentation.d.ts +1 -1
  492. package/dist/src/icons.generated/Download.d.ts +1 -1
  493. package/dist/src/icons.generated/DragIndicator.d.ts +1 -1
  494. package/dist/src/icons.generated/Duo.d.ts +16 -0
  495. package/dist/src/icons.generated/Duo.d.ts.map +1 -0
  496. package/dist/src/icons.generated/Edit.d.ts +1 -1
  497. package/dist/src/icons.generated/Email.d.ts +16 -0
  498. package/dist/src/icons.generated/Email.d.ts.map +1 -0
  499. package/dist/src/icons.generated/ExpandLeft.d.ts +1 -1
  500. package/dist/src/icons.generated/ExpandRight.d.ts +1 -1
  501. package/dist/src/icons.generated/ExternalLink.d.ts +1 -1
  502. package/dist/src/icons.generated/Fido2.d.ts +16 -0
  503. package/dist/src/icons.generated/Fido2.d.ts.map +1 -0
  504. package/dist/src/icons.generated/Filter.d.ts +1 -1
  505. package/dist/src/icons.generated/Folder.d.ts +1 -1
  506. package/dist/src/icons.generated/Globe.d.ts +1 -1
  507. package/dist/src/icons.generated/GoogleAuth.d.ts +16 -0
  508. package/dist/src/icons.generated/GoogleAuth.d.ts.map +1 -0
  509. package/dist/src/icons.generated/Grid.d.ts +1 -1
  510. package/dist/src/icons.generated/Group.d.ts +1 -1
  511. package/dist/src/icons.generated/Hide.d.ts +1 -1
  512. package/dist/src/icons.generated/Home.d.ts +1 -1
  513. package/dist/src/icons.generated/Idp.d.ts +16 -0
  514. package/dist/src/icons.generated/Idp.d.ts.map +1 -0
  515. package/dist/src/icons.generated/InformationCircle.d.ts +1 -1
  516. package/dist/src/icons.generated/InformationCircleFilled.d.ts +1 -1
  517. package/dist/src/icons.generated/Link.d.ts +1 -1
  518. package/dist/src/icons.generated/List.d.ts +1 -1
  519. package/dist/src/icons.generated/Lock.d.ts +1 -1
  520. package/dist/src/icons.generated/More.d.ts +1 -1
  521. package/dist/src/icons.generated/Notification.d.ts +1 -1
  522. package/dist/src/icons.generated/OktaVerify.d.ts +16 -0
  523. package/dist/src/icons.generated/OktaVerify.d.ts.map +1 -0
  524. package/dist/src/icons.generated/OnPremMfa.d.ts +16 -0
  525. package/dist/src/icons.generated/OnPremMfa.d.ts.map +1 -0
  526. package/dist/src/icons.generated/OneTimePassword.d.ts +16 -0
  527. package/dist/src/icons.generated/OneTimePassword.d.ts.map +1 -0
  528. package/dist/src/icons.generated/Password.d.ts +16 -0
  529. package/dist/src/icons.generated/Password.d.ts.map +1 -0
  530. package/dist/src/icons.generated/Pause.d.ts +1 -1
  531. package/dist/src/icons.generated/QuestionCircle.d.ts +1 -1
  532. package/dist/src/icons.generated/QuestionCircleFilled.d.ts +1 -1
  533. package/dist/src/icons.generated/Refresh.d.ts +1 -1
  534. package/dist/src/icons.generated/Reset.d.ts +1 -1
  535. package/dist/src/icons.generated/Resume.d.ts +1 -1
  536. package/dist/src/icons.generated/Search.d.ts +1 -1
  537. package/dist/src/icons.generated/SecurityQuestion.d.ts +16 -0
  538. package/dist/src/icons.generated/SecurityQuestion.d.ts.map +1 -0
  539. package/dist/src/icons.generated/Server.d.ts +1 -1
  540. package/dist/src/icons.generated/Settings.d.ts +1 -1
  541. package/dist/src/icons.generated/Show.d.ts +1 -1
  542. package/dist/src/icons.generated/SmartCard.d.ts +16 -0
  543. package/dist/src/icons.generated/SmartCard.d.ts.map +1 -0
  544. package/dist/src/icons.generated/Sms.d.ts +16 -0
  545. package/dist/src/icons.generated/Sms.d.ts.map +1 -0
  546. package/dist/src/icons.generated/Subtract.d.ts +1 -1
  547. package/dist/src/icons.generated/SymantecVip.d.ts +16 -0
  548. package/dist/src/icons.generated/SymantecVip.d.ts.map +1 -0
  549. package/dist/src/icons.generated/Sync.d.ts +1 -1
  550. package/dist/src/icons.generated/ThumbsDown.d.ts +16 -0
  551. package/dist/src/icons.generated/ThumbsDown.d.ts.map +1 -0
  552. package/dist/src/icons.generated/ThumbsUp.d.ts +16 -0
  553. package/dist/src/icons.generated/ThumbsUp.d.ts.map +1 -0
  554. package/dist/src/icons.generated/Unlock.d.ts +1 -1
  555. package/dist/src/icons.generated/Upload.d.ts +1 -1
  556. package/dist/src/icons.generated/User.d.ts +1 -1
  557. package/dist/src/icons.generated/Video.d.ts +1 -1
  558. package/dist/src/icons.generated/VoiceCall.d.ts +16 -0
  559. package/dist/src/icons.generated/VoiceCall.d.ts.map +1 -0
  560. package/dist/src/icons.generated/Warning.d.ts +1 -1
  561. package/dist/src/icons.generated/WarningFilled.d.ts +1 -1
  562. package/dist/src/icons.generated/Yubikey.d.ts +16 -0
  563. package/dist/src/icons.generated/Yubikey.d.ts.map +1 -0
  564. package/dist/src/icons.generated/index.d.ts +18 -0
  565. package/dist/src/icons.generated/index.d.ts.map +1 -1
  566. package/dist/src/index.d.ts +7 -2
  567. package/dist/src/index.d.ts.map +1 -1
  568. package/dist/src/inputUtils.d.ts.map +1 -1
  569. package/dist/src/labs/DataComponents/BulkActionsMenu.d.ts +23 -0
  570. package/dist/src/labs/DataComponents/BulkActionsMenu.d.ts.map +1 -0
  571. package/dist/src/labs/DataComponents/DataStack.d.ts +21 -0
  572. package/dist/src/labs/DataComponents/DataStack.d.ts.map +1 -0
  573. package/dist/src/labs/DataComponents/DataTable.d.ts +17 -0
  574. package/dist/src/labs/DataComponents/DataTable.d.ts.map +1 -0
  575. package/dist/src/labs/DataComponents/DataView.d.ts +17 -0
  576. package/dist/src/labs/DataComponents/DataView.d.ts.map +1 -0
  577. package/dist/src/labs/DataComponents/DetailPanel.d.ts +20 -0
  578. package/dist/src/labs/DataComponents/DetailPanel.d.ts.map +1 -0
  579. package/dist/src/labs/DataComponents/LayoutSwitcher.d.ts +21 -0
  580. package/dist/src/labs/DataComponents/LayoutSwitcher.d.ts.map +1 -0
  581. package/dist/src/labs/DataComponents/RowActions.d.ts +31 -0
  582. package/dist/src/labs/DataComponents/RowActions.d.ts.map +1 -0
  583. package/dist/src/labs/DataComponents/StackCard.d.ts +36 -0
  584. package/dist/src/labs/DataComponents/StackCard.d.ts.map +1 -0
  585. package/dist/src/labs/DataComponents/StackContent.d.ts +64 -0
  586. package/dist/src/labs/DataComponents/StackContent.d.ts.map +1 -0
  587. package/dist/src/labs/DataComponents/TableContent.d.ts +66 -0
  588. package/dist/src/labs/DataComponents/TableContent.d.ts.map +1 -0
  589. package/dist/src/labs/DataComponents/TableSettings.d.ts +21 -0
  590. package/dist/src/labs/DataComponents/TableSettings.d.ts.map +1 -0
  591. package/dist/src/labs/DataComponents/componentTypes.d.ts +81 -0
  592. package/dist/src/labs/DataComponents/componentTypes.d.ts.map +1 -0
  593. package/dist/src/labs/DataComponents/constants.d.ts +16 -0
  594. package/dist/src/labs/DataComponents/constants.d.ts.map +1 -0
  595. package/dist/src/labs/DataComponents/dataTypes.d.ts +52 -0
  596. package/dist/src/labs/DataComponents/dataTypes.d.ts.map +1 -0
  597. package/dist/src/labs/DataComponents/fetchData.d.ts +26 -0
  598. package/dist/src/labs/DataComponents/fetchData.d.ts.map +1 -0
  599. package/dist/src/labs/DataComponents/index.d.ts +18 -0
  600. package/dist/src/labs/DataComponents/index.d.ts.map +1 -0
  601. package/dist/src/labs/DataComponents/tableConstants.d.ts +100 -0
  602. package/dist/src/labs/DataComponents/tableConstants.d.ts.map +1 -0
  603. package/dist/src/labs/DataComponents/useFilterConversion.d.ts +20 -0
  604. package/dist/src/labs/DataComponents/useFilterConversion.d.ts.map +1 -0
  605. package/dist/src/labs/DataFilters.d.ts +14 -7
  606. package/dist/src/labs/DataFilters.d.ts.map +1 -1
  607. package/dist/src/labs/DateField.d.ts +23 -0
  608. package/dist/src/labs/DateField.d.ts.map +1 -0
  609. package/dist/src/labs/DatePicker.d.ts +31 -8
  610. package/dist/src/labs/DatePicker.d.ts.map +1 -1
  611. package/dist/src/labs/FileUpload.d.ts +2 -2
  612. package/dist/src/labs/FileUpload.d.ts.map +1 -1
  613. package/dist/src/labs/FileUploadPreview.d.ts.map +1 -1
  614. package/dist/src/labs/GroupPicker.d.ts.map +1 -1
  615. package/dist/src/labs/Layout.d.ts +28 -0
  616. package/dist/src/labs/Layout.d.ts.map +1 -0
  617. package/dist/src/labs/NavAccordion.d.ts +52 -0
  618. package/dist/src/labs/NavAccordion.d.ts.map +1 -0
  619. package/dist/src/labs/PageTemplate.d.ts +57 -0
  620. package/dist/src/labs/PageTemplate.d.ts.map +1 -0
  621. package/dist/src/labs/PaginatedTable.d.ts.map +1 -1
  622. package/dist/src/labs/SideNav.d.ts +120 -0
  623. package/dist/src/labs/SideNav.d.ts.map +1 -0
  624. package/dist/src/labs/StaticTable.d.ts.map +1 -1
  625. package/dist/src/labs/Switch.d.ts +3 -7
  626. package/dist/src/labs/Switch.d.ts.map +1 -1
  627. package/dist/src/labs/datePickerTheme.d.ts.map +1 -1
  628. package/dist/src/labs/index.d.ts +5 -1
  629. package/dist/src/labs/index.d.ts.map +1 -1
  630. package/dist/src/labs/useDatePickerTranslations.d.ts +15 -0
  631. package/dist/src/labs/useDatePickerTranslations.d.ts.map +1 -0
  632. package/dist/src/properties/ts/odyssey-react-mui.d.ts +66 -8
  633. package/dist/src/properties/ts/odyssey-react-mui.d.ts.map +1 -1
  634. package/dist/src/properties/ts/odyssey-react-mui_cs.d.ts +54 -7
  635. package/dist/src/properties/ts/odyssey-react-mui_cs.d.ts.map +1 -1
  636. package/dist/src/properties/ts/odyssey-react-mui_da.d.ts +54 -7
  637. package/dist/src/properties/ts/odyssey-react-mui_da.d.ts.map +1 -1
  638. package/dist/src/properties/ts/odyssey-react-mui_de.d.ts +54 -7
  639. package/dist/src/properties/ts/odyssey-react-mui_de.d.ts.map +1 -1
  640. package/dist/src/properties/ts/odyssey-react-mui_el.d.ts +54 -7
  641. package/dist/src/properties/ts/odyssey-react-mui_el.d.ts.map +1 -1
  642. package/dist/src/properties/ts/odyssey-react-mui_es.d.ts +54 -7
  643. package/dist/src/properties/ts/odyssey-react-mui_es.d.ts.map +1 -1
  644. package/dist/src/properties/ts/odyssey-react-mui_fi.d.ts +54 -7
  645. package/dist/src/properties/ts/odyssey-react-mui_fi.d.ts.map +1 -1
  646. package/dist/src/properties/ts/odyssey-react-mui_fr.d.ts +54 -7
  647. package/dist/src/properties/ts/odyssey-react-mui_fr.d.ts.map +1 -1
  648. package/dist/src/properties/ts/odyssey-react-mui_ht.d.ts +98 -0
  649. package/dist/src/properties/ts/odyssey-react-mui_ht.d.ts.map +1 -0
  650. package/dist/src/properties/ts/odyssey-react-mui_hu.d.ts +54 -7
  651. package/dist/src/properties/ts/odyssey-react-mui_hu.d.ts.map +1 -1
  652. package/dist/src/properties/ts/odyssey-react-mui_id.d.ts +54 -7
  653. package/dist/src/properties/ts/odyssey-react-mui_id.d.ts.map +1 -1
  654. package/dist/src/properties/ts/odyssey-react-mui_it.d.ts +54 -7
  655. package/dist/src/properties/ts/odyssey-react-mui_it.d.ts.map +1 -1
  656. package/dist/src/properties/ts/odyssey-react-mui_ja.d.ts +54 -7
  657. package/dist/src/properties/ts/odyssey-react-mui_ja.d.ts.map +1 -1
  658. package/dist/src/properties/ts/odyssey-react-mui_ko.d.ts +54 -7
  659. package/dist/src/properties/ts/odyssey-react-mui_ko.d.ts.map +1 -1
  660. package/dist/src/properties/ts/odyssey-react-mui_ms.d.ts +54 -7
  661. package/dist/src/properties/ts/odyssey-react-mui_ms.d.ts.map +1 -1
  662. package/dist/src/properties/ts/odyssey-react-mui_nb.d.ts +54 -7
  663. package/dist/src/properties/ts/odyssey-react-mui_nb.d.ts.map +1 -1
  664. package/dist/src/properties/ts/odyssey-react-mui_nl_NL.d.ts +54 -7
  665. package/dist/src/properties/ts/odyssey-react-mui_nl_NL.d.ts.map +1 -1
  666. package/dist/src/properties/ts/odyssey-react-mui_pl.d.ts +54 -7
  667. package/dist/src/properties/ts/odyssey-react-mui_pl.d.ts.map +1 -1
  668. package/dist/src/properties/ts/odyssey-react-mui_pt_BR.d.ts +54 -7
  669. package/dist/src/properties/ts/odyssey-react-mui_pt_BR.d.ts.map +1 -1
  670. package/dist/src/properties/ts/odyssey-react-mui_ro.d.ts +54 -7
  671. package/dist/src/properties/ts/odyssey-react-mui_ro.d.ts.map +1 -1
  672. package/dist/src/properties/ts/odyssey-react-mui_ru.d.ts +54 -7
  673. package/dist/src/properties/ts/odyssey-react-mui_ru.d.ts.map +1 -1
  674. package/dist/src/properties/ts/odyssey-react-mui_sv.d.ts +54 -7
  675. package/dist/src/properties/ts/odyssey-react-mui_sv.d.ts.map +1 -1
  676. package/dist/src/properties/ts/odyssey-react-mui_th.d.ts +54 -7
  677. package/dist/src/properties/ts/odyssey-react-mui_th.d.ts.map +1 -1
  678. package/dist/src/properties/ts/odyssey-react-mui_tr.d.ts +54 -7
  679. package/dist/src/properties/ts/odyssey-react-mui_tr.d.ts.map +1 -1
  680. package/dist/src/properties/ts/odyssey-react-mui_uk.d.ts +54 -7
  681. package/dist/src/properties/ts/odyssey-react-mui_uk.d.ts.map +1 -1
  682. package/dist/src/properties/ts/odyssey-react-mui_vi.d.ts +54 -7
  683. package/dist/src/properties/ts/odyssey-react-mui_vi.d.ts.map +1 -1
  684. package/dist/src/properties/ts/odyssey-react-mui_zh_CN.d.ts +54 -7
  685. package/dist/src/properties/ts/odyssey-react-mui_zh_CN.d.ts.map +1 -1
  686. package/dist/src/properties/ts/odyssey-react-mui_zh_TW.d.ts +54 -7
  687. package/dist/src/properties/ts/odyssey-react-mui_zh_TW.d.ts.map +1 -1
  688. package/dist/src/remUtils.d.ts +24 -0
  689. package/dist/src/remUtils.d.ts.map +1 -0
  690. package/dist/src/test-selectors/featureTestSelector.d.ts +31 -0
  691. package/dist/src/test-selectors/featureTestSelector.d.ts.map +1 -0
  692. package/dist/src/test-selectors/index.d.ts +15 -0
  693. package/dist/src/test-selectors/index.d.ts.map +1 -0
  694. package/dist/src/test-selectors/odysseyTestSelectors.d.ts +120 -0
  695. package/dist/src/test-selectors/odysseyTestSelectors.d.ts.map +1 -0
  696. package/dist/src/test-selectors/querySelector.d.ts +3632 -0
  697. package/dist/src/test-selectors/querySelector.d.ts.map +1 -0
  698. package/dist/src/theme/components.d.ts +1 -1
  699. package/dist/src/theme/components.d.ts.map +1 -1
  700. package/dist/src/theme/components.types.d.ts +5 -3
  701. package/dist/src/theme/components.types.d.ts.map +1 -1
  702. package/dist/src/theme/createOdysseyMuiTheme.d.ts +1 -1
  703. package/dist/src/theme/createOdysseyMuiTheme.d.ts.map +1 -1
  704. package/dist/src/theme/mixins.d.ts.map +1 -1
  705. package/dist/src/theme/palette.d.ts.map +1 -1
  706. package/dist/src/theme/shape.d.ts.map +1 -1
  707. package/dist/src/theme/spacing.d.ts.map +1 -1
  708. package/dist/src/theme/typography.d.ts.map +1 -1
  709. package/dist/test-selectors/featureTestSelector.js +2 -0
  710. package/dist/test-selectors/featureTestSelector.js.map +1 -0
  711. package/dist/test-selectors/index.js +15 -0
  712. package/dist/test-selectors/index.js.map +1 -0
  713. package/dist/test-selectors/odysseyTestSelectors.js +20 -0
  714. package/dist/test-selectors/odysseyTestSelectors.js.map +1 -0
  715. package/dist/test-selectors/querySelector.js +78 -0
  716. package/dist/test-selectors/querySelector.js.map +1 -0
  717. package/dist/test-selectors/testSelectors.json +1 -0
  718. package/dist/theme/components.js +248 -177
  719. package/dist/theme/components.js.map +1 -1
  720. package/dist/theme/components.types.js.map +1 -1
  721. package/dist/tsconfig.production.tsbuildinfo +1 -1
  722. package/dist/tsconfig.tsbuildinfo +1 -0
  723. package/i18n.config.json +3 -1
  724. package/package.json +13 -5
  725. package/scripts/generateTestSelectorsJson.ts +28 -0
  726. package/src/Accordion.tsx +3 -0
  727. package/src/Autocomplete.tsx +13 -0
  728. package/src/Badge.tsx +4 -3
  729. package/src/Banner.tsx +4 -4
  730. package/src/Button.tsx +30 -16
  731. package/src/Callout.tsx +59 -12
  732. package/src/{Tile.tsx → Card.tsx} +63 -57
  733. package/src/DataTable/DataTable.tsx +164 -95
  734. package/src/DataTable/DataTableRowActions.tsx +1 -1
  735. package/src/DataTable/constants.ts +0 -1
  736. package/src/DataTable/index.tsx +1 -1
  737. package/src/Dialog.tsx +38 -13
  738. package/src/{labs/Drawer.tsx → Drawer.tsx} +10 -9
  739. package/src/{DataTable/DataTableEmptyState.tsx → EmptyState.tsx} +34 -19
  740. package/src/ErrorMessageList.tsx +6 -1
  741. package/src/FieldError.tsx +10 -5
  742. package/src/HtmlProps.ts +1 -0
  743. package/src/MenuItem.tsx +1 -0
  744. package/src/OdysseyCacheProvider.tsx +11 -3
  745. package/src/OdysseyProvider.tsx +1 -1
  746. package/src/OdysseyTranslationProvider.tsx +1 -17
  747. package/src/{DataTable/DataTablePagination.tsx → Pagination/Pagination.tsx} +107 -74
  748. package/src/Pagination/constants.ts +13 -0
  749. package/src/Pagination/index.ts +15 -0
  750. package/src/Pagination/usePagination.ts +49 -0
  751. package/src/Radio.tsx +18 -6
  752. package/src/ScreenReaderText.tsx +15 -3
  753. package/src/Select.tsx +2 -0
  754. package/src/Status.tsx +14 -2
  755. package/src/Surface.tsx +48 -0
  756. package/src/Tabs.tsx +24 -0
  757. package/src/TextField.tsx +50 -0
  758. package/src/Toast.tsx +44 -40
  759. package/src/icons.generated/Add.tsx +1 -1
  760. package/src/icons.generated/AddCircle.tsx +1 -1
  761. package/src/icons.generated/Apps.tsx +1 -1
  762. package/src/icons.generated/ArrowBottom.tsx +2 -2
  763. package/src/icons.generated/ArrowDown.tsx +1 -1
  764. package/src/icons.generated/ArrowLeft.tsx +1 -1
  765. package/src/icons.generated/ArrowLowerLeft.tsx +1 -1
  766. package/src/icons.generated/ArrowLowerRight.tsx +1 -1
  767. package/src/icons.generated/ArrowRight.tsx +1 -1
  768. package/src/icons.generated/ArrowTop.tsx +2 -2
  769. package/src/icons.generated/ArrowUnsorted.tsx +1 -1
  770. package/src/icons.generated/ArrowUp.tsx +1 -1
  771. package/src/icons.generated/ArrowUpperLeft.tsx +1 -1
  772. package/src/icons.generated/ArrowUpperRight.tsx +1 -1
  773. package/src/icons.generated/Bug.tsx +1 -1
  774. package/src/icons.generated/Calendar.tsx +1 -1
  775. package/src/icons.generated/Call.tsx +1 -1
  776. package/src/icons.generated/Chat.tsx +1 -1
  777. package/src/icons.generated/Check.tsx +1 -1
  778. package/src/icons.generated/CheckCircleFilled.tsx +1 -1
  779. package/src/icons.generated/ChevronDown.tsx +1 -1
  780. package/src/icons.generated/ChevronLeft.tsx +1 -1
  781. package/src/icons.generated/ChevronRight.tsx +1 -1
  782. package/src/icons.generated/ChevronUp.tsx +1 -1
  783. package/src/icons.generated/Clock.tsx +1 -1
  784. package/src/icons.generated/Close.tsx +1 -1
  785. package/src/icons.generated/CloseCircleFilled.tsx +1 -1
  786. package/src/icons.generated/CollapseLeft.tsx +1 -1
  787. package/src/icons.generated/CollapseRight.tsx +1 -1
  788. package/src/icons.generated/Copy.tsx +1 -1
  789. package/src/icons.generated/Custom.tsx +49 -0
  790. package/src/icons.generated/DangerDiamond.tsx +1 -1
  791. package/src/icons.generated/DangerDiamondFilled.tsx +1 -1
  792. package/src/icons.generated/Delete.tsx +1 -1
  793. package/src/icons.generated/Deny.tsx +1 -1
  794. package/src/icons.generated/Devices.tsx +1 -1
  795. package/src/icons.generated/Directory.tsx +1 -1
  796. package/src/icons.generated/Documentation.tsx +1 -1
  797. package/src/icons.generated/Download.tsx +1 -1
  798. package/src/icons.generated/DragIndicator.tsx +1 -1
  799. package/src/icons.generated/Duo.tsx +59 -0
  800. package/src/icons.generated/Edit.tsx +1 -1
  801. package/src/icons.generated/Email.tsx +48 -0
  802. package/src/icons.generated/ExpandLeft.tsx +1 -1
  803. package/src/icons.generated/ExpandRight.tsx +1 -1
  804. package/src/icons.generated/ExternalLink.tsx +1 -1
  805. package/src/icons.generated/Fido2.tsx +71 -0
  806. package/src/icons.generated/Filter.tsx +1 -1
  807. package/src/icons.generated/Folder.tsx +1 -1
  808. package/src/icons.generated/Globe.tsx +1 -1
  809. package/src/icons.generated/GoogleAuth.tsx +67 -0
  810. package/src/icons.generated/Grid.tsx +1 -1
  811. package/src/icons.generated/Group.tsx +1 -1
  812. package/src/icons.generated/Hide.tsx +1 -1
  813. package/src/icons.generated/Home.tsx +1 -1
  814. package/src/icons.generated/Idp.tsx +51 -0
  815. package/src/icons.generated/InformationCircle.tsx +1 -1
  816. package/src/icons.generated/InformationCircleFilled.tsx +1 -1
  817. package/src/icons.generated/Link.tsx +1 -1
  818. package/src/icons.generated/List.tsx +1 -1
  819. package/src/icons.generated/Lock.tsx +1 -1
  820. package/src/icons.generated/More.tsx +1 -1
  821. package/src/icons.generated/Notification.tsx +1 -1
  822. package/src/icons.generated/OktaVerify.tsx +43 -0
  823. package/src/icons.generated/OnPremMfa.tsx +49 -0
  824. package/src/icons.generated/OneTimePassword.tsx +63 -0
  825. package/src/icons.generated/Password.tsx +77 -0
  826. package/src/icons.generated/Pause.tsx +1 -1
  827. package/src/icons.generated/QuestionCircle.tsx +1 -1
  828. package/src/icons.generated/QuestionCircleFilled.tsx +1 -1
  829. package/src/icons.generated/Refresh.tsx +1 -1
  830. package/src/icons.generated/Reset.tsx +1 -1
  831. package/src/icons.generated/Resume.tsx +1 -1
  832. package/src/icons.generated/Search.tsx +1 -1
  833. package/src/icons.generated/SecurityQuestion.tsx +48 -0
  834. package/src/icons.generated/Server.tsx +1 -1
  835. package/src/icons.generated/Settings.tsx +1 -1
  836. package/src/icons.generated/Show.tsx +1 -1
  837. package/src/icons.generated/SmartCard.tsx +62 -0
  838. package/src/icons.generated/Sms.tsx +52 -0
  839. package/src/icons.generated/Subtract.tsx +1 -1
  840. package/src/icons.generated/SymantecVip.tsx +49 -0
  841. package/src/icons.generated/Sync.tsx +1 -1
  842. package/src/icons.generated/ThumbsDown.tsx +43 -0
  843. package/src/icons.generated/ThumbsUp.tsx +43 -0
  844. package/src/icons.generated/Unlock.tsx +1 -1
  845. package/src/icons.generated/Upload.tsx +1 -1
  846. package/src/icons.generated/User.tsx +1 -1
  847. package/src/icons.generated/Video.tsx +1 -1
  848. package/src/icons.generated/VoiceCall.tsx +59 -0
  849. package/src/icons.generated/Warning.tsx +1 -1
  850. package/src/icons.generated/WarningFilled.tsx +1 -1
  851. package/src/icons.generated/Yubikey.tsx +41 -0
  852. package/src/icons.generated/index.ts +18 -0
  853. package/src/index.ts +7 -2
  854. package/src/labs/DataComponents/BulkActionsMenu.tsx +97 -0
  855. package/src/labs/DataComponents/DataStack.tsx +99 -0
  856. package/src/labs/DataComponents/DataTable.tsx +111 -0
  857. package/src/labs/DataComponents/DataView.tsx +394 -0
  858. package/src/labs/DataComponents/DetailPanel.tsx +31 -0
  859. package/src/labs/DataComponents/LayoutSwitcher.tsx +73 -0
  860. package/src/labs/DataComponents/RowActions.tsx +122 -0
  861. package/src/labs/DataComponents/StackCard.tsx +256 -0
  862. package/src/labs/DataComponents/StackContent.tsx +254 -0
  863. package/src/labs/DataComponents/TableContent.tsx +390 -0
  864. package/src/labs/DataComponents/TableSettings.tsx +138 -0
  865. package/src/labs/DataComponents/componentTypes.ts +111 -0
  866. package/src/labs/DataComponents/constants.tsx +20 -0
  867. package/src/labs/DataComponents/dataTypes.ts +77 -0
  868. package/src/labs/DataComponents/fetchData.ts +47 -0
  869. package/src/labs/DataComponents/index.tsx +19 -0
  870. package/src/labs/DataComponents/tableConstants.tsx +162 -0
  871. package/src/labs/DataComponents/useFilterConversion.ts +92 -0
  872. package/src/labs/DataFilters.tsx +250 -162
  873. package/src/labs/DateField.tsx +119 -0
  874. package/src/labs/DatePicker.tsx +304 -31
  875. package/src/labs/{DatePicker.types.ts → DatePicker.types.d.ts} +0 -10
  876. package/src/labs/FileUpload.tsx +30 -21
  877. package/src/labs/FileUploadIllustration.tsx +1 -1
  878. package/src/labs/FileUploadPreview.tsx +1 -0
  879. package/src/labs/Layout.tsx +85 -0
  880. package/src/labs/NavAccordion.tsx +133 -0
  881. package/src/labs/PageTemplate.tsx +225 -0
  882. package/src/labs/SideNav.tsx +745 -0
  883. package/src/labs/Switch.tsx +240 -119
  884. package/src/labs/datePickerTheme.tsx +119 -83
  885. package/src/labs/index.ts +7 -1
  886. package/src/labs/useDatePickerTranslations.ts +92 -0
  887. package/src/properties/odyssey-react-mui.properties +76 -10
  888. package/src/properties/translations/odyssey-react-mui_cs.properties +64 -7
  889. package/src/properties/translations/odyssey-react-mui_da.properties +64 -7
  890. package/src/properties/translations/odyssey-react-mui_de.properties +64 -7
  891. package/src/properties/translations/odyssey-react-mui_el.properties +64 -7
  892. package/src/properties/translations/odyssey-react-mui_es.properties +65 -8
  893. package/src/properties/translations/odyssey-react-mui_fi.properties +64 -7
  894. package/src/properties/translations/odyssey-react-mui_fr.properties +65 -8
  895. package/src/properties/translations/odyssey-react-mui_ht.properties +112 -0
  896. package/src/properties/translations/odyssey-react-mui_hu.properties +64 -7
  897. package/src/properties/translations/odyssey-react-mui_id.properties +64 -7
  898. package/src/properties/translations/odyssey-react-mui_it.properties +64 -7
  899. package/src/properties/translations/odyssey-react-mui_ja.properties +64 -7
  900. package/src/properties/translations/odyssey-react-mui_ko.properties +64 -7
  901. package/src/properties/translations/odyssey-react-mui_ms.properties +64 -7
  902. package/src/properties/translations/odyssey-react-mui_nb.properties +64 -7
  903. package/src/properties/translations/odyssey-react-mui_nl_NL.properties +64 -7
  904. package/src/properties/translations/odyssey-react-mui_pl.properties +65 -8
  905. package/src/properties/translations/odyssey-react-mui_pt_BR.properties +64 -7
  906. package/src/properties/translations/odyssey-react-mui_ro.properties +64 -7
  907. package/src/properties/translations/odyssey-react-mui_ru.properties +65 -8
  908. package/src/properties/translations/odyssey-react-mui_sv.properties +64 -7
  909. package/src/properties/translations/odyssey-react-mui_th.properties +64 -7
  910. package/src/properties/translations/odyssey-react-mui_tr.properties +64 -7
  911. package/src/properties/translations/odyssey-react-mui_uk.properties +64 -7
  912. package/src/properties/translations/odyssey-react-mui_vi.properties +64 -7
  913. package/src/properties/translations/odyssey-react-mui_zh_CN.properties +64 -7
  914. package/src/properties/translations/odyssey-react-mui_zh_TW.properties +64 -7
  915. package/src/properties/ts/odyssey-react-mui.ts +1 -1
  916. package/src/properties/ts/odyssey-react-mui_cs.ts +1 -1
  917. package/src/properties/ts/odyssey-react-mui_da.ts +1 -1
  918. package/src/properties/ts/odyssey-react-mui_de.ts +1 -1
  919. package/src/properties/ts/odyssey-react-mui_el.ts +1 -1
  920. package/src/properties/ts/odyssey-react-mui_es.ts +1 -1
  921. package/src/properties/ts/odyssey-react-mui_fi.ts +1 -1
  922. package/src/properties/ts/odyssey-react-mui_fr.ts +1 -1
  923. package/src/properties/ts/odyssey-react-mui_ht.ts +1 -0
  924. package/src/properties/ts/odyssey-react-mui_hu.ts +1 -1
  925. package/src/properties/ts/odyssey-react-mui_id.ts +1 -1
  926. package/src/properties/ts/odyssey-react-mui_it.ts +1 -1
  927. package/src/properties/ts/odyssey-react-mui_ja.ts +1 -1
  928. package/src/properties/ts/odyssey-react-mui_ko.ts +1 -1
  929. package/src/properties/ts/odyssey-react-mui_ms.ts +1 -1
  930. package/src/properties/ts/odyssey-react-mui_nb.ts +1 -1
  931. package/src/properties/ts/odyssey-react-mui_nl_NL.ts +1 -1
  932. package/src/properties/ts/odyssey-react-mui_pl.ts +1 -1
  933. package/src/properties/ts/odyssey-react-mui_pt_BR.ts +1 -1
  934. package/src/properties/ts/odyssey-react-mui_ro.ts +1 -1
  935. package/src/properties/ts/odyssey-react-mui_ru.ts +1 -1
  936. package/src/properties/ts/odyssey-react-mui_sv.ts +1 -1
  937. package/src/properties/ts/odyssey-react-mui_th.ts +1 -1
  938. package/src/properties/ts/odyssey-react-mui_tr.ts +1 -1
  939. package/src/properties/ts/odyssey-react-mui_uk.ts +1 -1
  940. package/src/properties/ts/odyssey-react-mui_vi.ts +1 -1
  941. package/src/properties/ts/odyssey-react-mui_zh_CN.ts +1 -1
  942. package/src/properties/ts/odyssey-react-mui_zh_TW.ts +1 -1
  943. package/src/remUtils.ts +27 -0
  944. package/src/test-selectors/featureTestSelector.ts +41 -0
  945. package/src/test-selectors/index.ts +15 -0
  946. package/src/test-selectors/odysseyTestSelectors.ts +22 -0
  947. package/src/test-selectors/querySelector.ts +198 -0
  948. package/src/theme/components.tsx +270 -189
  949. package/src/theme/components.types.ts +5 -3
  950. package/dist/DataTable/DataTableEmptyState.js.map +0 -1
  951. package/dist/DataTable/DataTablePagination.js.map +0 -1
  952. package/dist/Tile.js.map +0 -1
  953. package/dist/labs/DatePicker.types.js.map +0 -1
  954. package/dist/labs/Drawer.js.map +0 -1
  955. package/dist/src/DataTable/DataTableEmptyState.d.ts.map +0 -1
  956. package/dist/src/DataTable/DataTablePagination.d.ts +0 -33
  957. package/dist/src/DataTable/DataTablePagination.d.ts.map +0 -1
  958. package/dist/src/Tile.d.ts.map +0 -1
  959. package/dist/src/labs/DatePicker.types.d.ts.map +0 -1
  960. package/dist/src/labs/Drawer.d.ts.map +0 -1
@@ -0,0 +1,146 @@
1
+ /*!
2
+ * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.
3
+ * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
4
+ *
5
+ * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
6
+ * Unless required by applicable law or agreed to in writing, software
7
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
8
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ *
10
+ * See the License for the specific language governing permissions and limitations under the License.
11
+ */
12
+
13
+ import styled from "@emotion/styled";
14
+ import { Box } from "../../Box.js";
15
+ import { DragIndicatorIcon } from "../../icons.generated/index.js";
16
+ import { jsx as _jsx } from "react/jsx-runtime";
17
+ export const dataTableImmutableSettings = {
18
+ enableColumnActions: false,
19
+ enableDensityToggle: false,
20
+ enableExpandAll: false,
21
+ enableFilters: false,
22
+ enableFullScreenToggle: false,
23
+ enableGlobalFilter: false,
24
+ enableHiding: false,
25
+ enablePagination: false,
26
+ layoutMode: "grid-no-grow",
27
+ manualFiltering: true,
28
+ manualSorting: true,
29
+ muiTablePaperProps: {
30
+ elevation: 0,
31
+ sx: {
32
+ overflow: "visible"
33
+ }
34
+ },
35
+ positionActionsColumn: "last",
36
+ rowVirtualizerOptions: {
37
+ overscan: 4
38
+ },
39
+ selectAllMode: "all"
40
+ };
41
+ export const displayColumnDefOptions = {
42
+ "mrt-row-actions": {
43
+ header: "",
44
+ grow: true,
45
+ muiTableBodyCellProps: {
46
+ align: "right",
47
+ sx: {
48
+ overflow: "visible",
49
+ width: "unset"
50
+ },
51
+ className: "ods-actions-cell"
52
+ },
53
+ muiTableHeadCellProps: {
54
+ align: "right",
55
+ sx: {
56
+ width: "unset"
57
+ },
58
+ className: "ods-actions-cell"
59
+ }
60
+ },
61
+ "mrt-row-drag": {
62
+ header: "",
63
+ muiTableBodyCellProps: {
64
+ sx: {
65
+ minWidth: 0,
66
+ width: "auto"
67
+ },
68
+ className: "ods-drag-handle"
69
+ },
70
+ muiTableHeadCellProps: {
71
+ sx: {
72
+ minWidth: 0,
73
+ width: "auto"
74
+ },
75
+ children: _jsx(Box, {
76
+ sx: {
77
+ marginInline: "-0.1rem"
78
+ },
79
+ children: _jsx(DragIndicatorIcon, {
80
+ sx: {
81
+ marginInline: 1,
82
+ opacity: 0
83
+ }
84
+ })
85
+ })
86
+ }
87
+ },
88
+ "mrt-row-select": {
89
+ muiTableHeadCellProps: {
90
+ padding: "checkbox"
91
+ },
92
+ muiTableBodyCellProps: {
93
+ padding: "checkbox"
94
+ }
95
+ },
96
+ "mrt-row-expand": {
97
+ header: "",
98
+ muiTableBodyCellProps: {
99
+ sx: {
100
+ overflow: "visible"
101
+ }
102
+ }
103
+ }
104
+ };
105
+ export const ScrollableTableContainer = styled("div", {
106
+ shouldForwardProp: prop => prop !== "odysseyDesignTokens" && prop !== "isScrollableStart" && prop !== "isScrollableEnd"
107
+ })(({
108
+ odysseyDesignTokens,
109
+ isScrollableStart,
110
+ isScrollableEnd
111
+ }) => ({
112
+ marginBlockEnd: odysseyDesignTokens.Spacing4,
113
+ position: "relative",
114
+ borderInlineStartColor: isScrollableStart ? odysseyDesignTokens.HueNeutral200 : "transparent",
115
+ borderInlineStartStyle: "solid",
116
+ borderInlineStartWidth: odysseyDesignTokens.BorderWidthMain,
117
+ "::before": {
118
+ background: "linear-gradient(-90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.33) 50%, rgba(0, 0, 0, 1) 100%)",
119
+ content: '""',
120
+ opacity: isScrollableStart ? "0.075" : "0",
121
+ pointerEvents: "none",
122
+ position: "absolute",
123
+ top: 0,
124
+ left: 0,
125
+ bottom: 0,
126
+ width: odysseyDesignTokens.Spacing6,
127
+ zIndex: 100,
128
+ transition: `opacity ${odysseyDesignTokens.TransitionDurationMain} ${odysseyDesignTokens.TransitionTimingMain}`
129
+ },
130
+ borderInlineEndColor: isScrollableEnd ? odysseyDesignTokens.HueNeutral200 : "transparent",
131
+ borderInlineEndStyle: "solid",
132
+ borderInlineEndWidth: odysseyDesignTokens.BorderWidthMain,
133
+ "::after": {
134
+ background: "linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.33) 50%, rgba(0, 0, 0, 1) 100%)",
135
+ content: '""',
136
+ opacity: isScrollableEnd ? "0.075" : "0",
137
+ pointerEvents: "none",
138
+ position: "absolute",
139
+ top: 0,
140
+ right: 0,
141
+ bottom: 0,
142
+ width: odysseyDesignTokens.Spacing6,
143
+ transition: `opacity ${odysseyDesignTokens.TransitionDurationMain} ${odysseyDesignTokens.TransitionTimingMain}`
144
+ }
145
+ }));
146
+ //# sourceMappingURL=tableConstants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tableConstants.js","names":["styled","Box","DragIndicatorIcon","jsx","_jsx","dataTableImmutableSettings","enableColumnActions","enableDensityToggle","enableExpandAll","enableFilters","enableFullScreenToggle","enableGlobalFilter","enableHiding","enablePagination","layoutMode","manualFiltering","manualSorting","muiTablePaperProps","elevation","sx","overflow","positionActionsColumn","rowVirtualizerOptions","overscan","selectAllMode","displayColumnDefOptions","header","grow","muiTableBodyCellProps","align","width","className","muiTableHeadCellProps","minWidth","children","marginInline","opacity","padding","ScrollableTableContainer","shouldForwardProp","prop","odysseyDesignTokens","isScrollableStart","isScrollableEnd","marginBlockEnd","Spacing4","position","borderInlineStartColor","HueNeutral200","borderInlineStartStyle","borderInlineStartWidth","BorderWidthMain","background","content","pointerEvents","top","left","bottom","Spacing6","zIndex","transition","TransitionDurationMain","TransitionTimingMain","borderInlineEndColor","borderInlineEndStyle","borderInlineEndWidth","right"],"sources":["../../../src/labs/DataComponents/tableConstants.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport { MRT_RowData, MRT_TableOptions } from \"material-react-table\";\n\nimport { Box } from \"../../Box\";\nimport { DesignTokens } from \"../../OdysseyDesignTokensContext\";\nimport { DragIndicatorIcon } from \"../../icons.generated\";\n\nexport const dataTableImmutableSettings = {\n enableColumnActions: false,\n enableDensityToggle: false,\n enableExpandAll: false,\n enableFilters: false,\n enableFullScreenToggle: false,\n enableGlobalFilter: false,\n enableHiding: false,\n enablePagination: false,\n layoutMode: \"grid-no-grow\" as MRT_TableOptions<MRT_RowData>[\"layoutMode\"],\n manualFiltering: true,\n manualSorting: true,\n muiTablePaperProps: {\n elevation: 0,\n sx: {\n overflow: \"visible\",\n },\n },\n positionActionsColumn:\n \"last\" as MRT_TableOptions<MRT_RowData>[\"positionActionsColumn\"],\n rowVirtualizerOptions: {\n overscan: 4,\n },\n selectAllMode: \"all\" as MRT_TableOptions<MRT_RowData>[\"selectAllMode\"],\n};\n\nexport const displayColumnDefOptions = {\n \"mrt-row-actions\": {\n header: \"\",\n grow: true,\n muiTableBodyCellProps: {\n align: \"right\" as const,\n sx: {\n overflow: \"visible\",\n width: \"unset\",\n },\n className: \"ods-actions-cell\",\n },\n muiTableHeadCellProps: {\n align: \"right\" as const,\n sx: {\n width: \"unset\",\n },\n className: \"ods-actions-cell\",\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\" as const,\n },\n muiTableBodyCellProps: {\n padding: \"checkbox\" as const,\n },\n },\n \"mrt-row-expand\": {\n header: \"\",\n muiTableBodyCellProps: {\n sx: {\n overflow: \"visible\",\n },\n },\n },\n};\n\nexport const ScrollableTableContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"isScrollableStart\" &&\n prop !== \"isScrollableEnd\",\n})(\n ({\n odysseyDesignTokens,\n isScrollableStart,\n isScrollableEnd,\n }: {\n odysseyDesignTokens: DesignTokens;\n isScrollableStart: boolean;\n isScrollableEnd: boolean;\n }) => ({\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);\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,MAAM,MAAM,iBAAiB;AAAC,SAG5BC,GAAG;AAAA,SAEHC,iBAAiB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAE1B,OAAO,MAAMC,0BAA0B,GAAG;EACxCC,mBAAmB,EAAE,KAAK;EAC1BC,mBAAmB,EAAE,KAAK;EAC1BC,eAAe,EAAE,KAAK;EACtBC,aAAa,EAAE,KAAK;EACpBC,sBAAsB,EAAE,KAAK;EAC7BC,kBAAkB,EAAE,KAAK;EACzBC,YAAY,EAAE,KAAK;EACnBC,gBAAgB,EAAE,KAAK;EACvBC,UAAU,EAAE,cAA6D;EACzEC,eAAe,EAAE,IAAI;EACrBC,aAAa,EAAE,IAAI;EACnBC,kBAAkB,EAAE;IAClBC,SAAS,EAAE,CAAC;IACZC,EAAE,EAAE;MACFC,QAAQ,EAAE;IACZ;EACF,CAAC;EACDC,qBAAqB,EACnB,MAAgE;EAClEC,qBAAqB,EAAE;IACrBC,QAAQ,EAAE;EACZ,CAAC;EACDC,aAAa,EAAE;AACjB,CAAC;AAED,OAAO,MAAMC,uBAAuB,GAAG;EACrC,iBAAiB,EAAE;IACjBC,MAAM,EAAE,EAAE;IACVC,IAAI,EAAE,IAAI;IACVC,qBAAqB,EAAE;MACrBC,KAAK,EAAE,OAAgB;MACvBV,EAAE,EAAE;QACFC,QAAQ,EAAE,SAAS;QACnBU,KAAK,EAAE;MACT,CAAC;MACDC,SAAS,EAAE;IACb,CAAC;IACDC,qBAAqB,EAAE;MACrBH,KAAK,EAAE,OAAgB;MACvBV,EAAE,EAAE;QACFW,KAAK,EAAE;MACT,CAAC;MACDC,SAAS,EAAE;IACb;EACF,CAAC;EACD,cAAc,EAAE;IACdL,MAAM,EAAE,EAAE;IACVE,qBAAqB,EAAE;MACrBT,EAAE,EAAE;QACFc,QAAQ,EAAE,CAAC;QACXH,KAAK,EAAE;MACT,CAAC;MACDC,SAAS,EAAE;IACb,CAAC;IACDC,qBAAqB,EAAE;MACrBb,EAAE,EAAE;QACFc,QAAQ,EAAE,CAAC;QACXH,KAAK,EAAE;MACT,CAAC;MACDI,QAAQ,EAGN9B,IAAA,CAACH,GAAG;QAACkB,EAAE,EAAE;UAAEgB,YAAY,EAAE;QAAU,CAAE;QAAAD,QAAA,EACnC9B,IAAA,CAACF,iBAAiB;UAACiB,EAAE,EAAE;YAAEgB,YAAY,EAAE,CAAC;YAAEC,OAAO,EAAE;UAAE;QAAE,CAAE;MAAC,CACvD;IAET;EACF,CAAC;EACD,gBAAgB,EAAE;IAChBJ,qBAAqB,EAAE;MACrBK,OAAO,EAAE;IACX,CAAC;IACDT,qBAAqB,EAAE;MACrBS,OAAO,EAAE;IACX;EACF,CAAC;EACD,gBAAgB,EAAE;IAChBX,MAAM,EAAE,EAAE;IACVE,qBAAqB,EAAE;MACrBT,EAAE,EAAE;QACFC,QAAQ,EAAE;MACZ;IACF;EACF;AACF,CAAC;AAED,OAAO,MAAMkB,wBAAwB,GAAGtC,MAAM,CAAC,KAAK,EAAE;EACpDuC,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,qBAAqB,IAC9BA,IAAI,KAAK,mBAAmB,IAC5BA,IAAI,KAAK;AACb,CAAC,CAAC,CACA,CAAC;EACCC,mBAAmB;EACnBC,iBAAiB;EACjBC;AAKF,CAAC,MAAM;EACLC,cAAc,EAAEH,mBAAmB,CAACI,QAAQ;EAC5CC,QAAQ,EAAE,UAAU;EACpBC,sBAAsB,EAAEL,iBAAiB,GACrCD,mBAAmB,CAACO,aAAa,GACjC,aAAa;EACjBC,sBAAsB,EAAE,OAAO;EAC/BC,sBAAsB,EAAET,mBAAmB,CAACU,eAAe;EAC3D,UAAU,EAAE;IACVC,UAAU,EACR,8FAA8F;IAChGC,OAAO,EAAE,IAAI;IACbjB,OAAO,EAAEM,iBAAiB,GAAG,OAAO,GAAG,GAAG;IAC1CY,aAAa,EAAE,MAAM;IACrBR,QAAQ,EAAE,UAAU;IACpBS,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,MAAM,EAAE,CAAC;IACT3B,KAAK,EAAEW,mBAAmB,CAACiB,QAAQ;IACnCC,MAAM,EAAE,GAAG;IACXC,UAAU,EAAG,WAAUnB,mBAAmB,CAACoB,sBAAuB,IAAGpB,mBAAmB,CAACqB,oBAAqB;EAChH,CAAC;EACDC,oBAAoB,EAAEpB,eAAe,GACjCF,mBAAmB,CAACO,aAAa,GACjC,aAAa;EACjBgB,oBAAoB,EAAE,OAAO;EAC7BC,oBAAoB,EAAExB,mBAAmB,CAACU,eAAe;EACzD,SAAS,EAAE;IACTC,UAAU,EACR,6FAA6F;IAC/FC,OAAO,EAAE,IAAI;IACbjB,OAAO,EAAEO,eAAe,GAAG,OAAO,GAAG,GAAG;IACxCW,aAAa,EAAE,MAAM;IACrBR,QAAQ,EAAE,UAAU;IACpBS,GAAG,EAAE,CAAC;IACNW,KAAK,EAAE,CAAC;IACRT,MAAM,EAAE,CAAC;IACT3B,KAAK,EAAEW,mBAAmB,CAACiB,QAAQ;IACnCE,UAAU,EAAG,WAAUnB,mBAAmB,CAACoB,sBAAuB,IAAGpB,mBAAmB,CAACqB,oBAAqB;EAChH;AACF,CAAC,CACH,CAAC"}
@@ -0,0 +1,58 @@
1
+ /*!
2
+ * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.
3
+ * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
4
+ *
5
+ * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
6
+ * Unless required by applicable law or agreed to in writing, software
7
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
8
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ *
10
+ * See the License for the specific language governing permissions and limitations under the License.
11
+ */
12
+
13
+ import { useCallback, useMemo } from "react";
14
+ export const useFilterConversion = ({
15
+ columns,
16
+ filters
17
+ }) => {
18
+ const convertFilterSelectOptions = useCallback(options => options?.map(option => typeof option === "string" ? {
19
+ label: option,
20
+ value: option
21
+ } : {
22
+ label: option.label ?? option.value,
23
+ value: option.value ?? option.label
24
+ }), []);
25
+ const convertColumnToFilter = useCallback(column => column.enableColumnFilter !== false && column.accessorKey ? {
26
+ id: column.accessorKey,
27
+ label: column.header,
28
+ variant: column.filterVariant,
29
+ options: convertFilterSelectOptions(column.filterSelectOptions)
30
+ } : null, [convertFilterSelectOptions]);
31
+ const dataTableFilters = useMemo(() => {
32
+ const providedFilters = filters || columns;
33
+ if (!providedFilters) {
34
+ return [];
35
+ }
36
+ return providedFilters.reduce((accumulator, item) => {
37
+ if (typeof item === "string") {
38
+ const foundColumn = columns?.find(column => column.accessorKey === item);
39
+ if (foundColumn) {
40
+ const filter = convertColumnToFilter(foundColumn);
41
+ if (filter) {
42
+ return accumulator.concat(filter);
43
+ }
44
+ }
45
+ } else if ("accessorKey" in item) {
46
+ const filter = convertColumnToFilter(item);
47
+ if (filter) {
48
+ return accumulator.concat(filter);
49
+ }
50
+ } else if ("label" in item) {
51
+ return accumulator.concat(item);
52
+ }
53
+ return accumulator;
54
+ }, []);
55
+ }, [columns, filters]);
56
+ return dataTableFilters;
57
+ };
58
+ //# sourceMappingURL=useFilterConversion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFilterConversion.js","names":["useCallback","useMemo","useFilterConversion","columns","filters","convertFilterSelectOptions","options","map","option","label","value","convertColumnToFilter","column","enableColumnFilter","accessorKey","id","header","variant","filterVariant","filterSelectOptions","dataTableFilters","providedFilters","reduce","accumulator","item","foundColumn","find","filter","concat"],"sources":["../../../src/labs/DataComponents/useFilterConversion.ts"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { useCallback, useMemo } from \"react\";\nimport { MRT_RowData } from \"material-react-table\";\n\nimport { DataFilter } from \"../DataFilters\";\nimport { DataTableColumn } from \"../../DataTable\";\nimport { UniversalProps, TableProps } from \"./componentTypes\";\n\ntype FilterConversionType = {\n columns?: TableProps[\"columns\"];\n filters?: UniversalProps[\"filters\"];\n};\n\nexport const useFilterConversion = ({\n columns,\n filters,\n}: FilterConversionType) => {\n const convertFilterSelectOptions = useCallback(\n (options: DataTableColumn<MRT_RowData>[\"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 label: option.label ?? option.value,\n value: option.value ?? option.label,\n },\n ),\n [],\n );\n\n const convertColumnToFilter = useCallback(\n (column: DataTableColumn<MRT_RowData>) =>\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 const dataTableFilters = useMemo(() => {\n const providedFilters = filters || columns;\n if (!providedFilters) {\n return [];\n }\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, filters]);\n\n return dataTableFilters;\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAY5C,OAAO,MAAMC,mBAAmB,GAAGA,CAAC;EAClCC,OAAO;EACPC;AACoB,CAAC,KAAK;EAC1B,MAAMC,0BAA0B,GAAGL,WAAW,CAC3CM,OAA4D,IAC3DA,OAAO,EAAEC,GAAG,CAAEC,MAAM,IAClB,OAAOA,MAAM,KAAK,QAAQ,GACtB;IACEC,KAAK,EAAED,MAAM;IACbE,KAAK,EAAEF;EACT,CAAC,GACD;IAGEC,KAAK,EAAED,MAAM,CAACC,KAAK,IAAID,MAAM,CAACE,KAAK;IACnCA,KAAK,EAAEF,MAAM,CAACE,KAAK,IAAIF,MAAM,CAACC;EAChC,CACN,CAAC,EACH,EACF,CAAC;EAED,MAAME,qBAAqB,GAAGX,WAAW,CACtCY,MAAoC,IACnCA,MAAM,CAACC,kBAAkB,KAAK,KAAK,IAAID,MAAM,CAACE,WAAW,GACpD;IACCC,EAAE,EAAEH,MAAM,CAACE,WAAW;IACtBL,KAAK,EAAEG,MAAM,CAACI,MAAM;IACpBC,OAAO,EAAEL,MAAM,CAACM,aAAa;IAC7BZ,OAAO,EAAED,0BAA0B,CAACO,MAAM,CAACO,mBAAmB;EAChE,CAAC,GACD,IAAI,EACV,CAACd,0BAA0B,CAC7B,CAAC;EAED,MAAMe,gBAAgB,GAAGnB,OAAO,CAAC,MAAM;IACrC,MAAMoB,eAAe,GAAGjB,OAAO,IAAID,OAAO;IAC1C,IAAI,CAACkB,eAAe,EAAE;MACpB,OAAO,EAAE;IACX;IACA,OAAOA,eAAe,CAACC,MAAM,CAAe,CAACC,WAAW,EAAEC,IAAI,KAAK;MACjE,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;QAC5B,MAAMC,WAAW,GAAGtB,OAAO,EAAEuB,IAAI,CAC9Bd,MAAM,IAAKA,MAAM,CAACE,WAAW,KAAKU,IACrC,CAAC;QACD,IAAIC,WAAW,EAAE;UACf,MAAME,MAAM,GAAGhB,qBAAqB,CAACc,WAAW,CAAC;UACjD,IAAIE,MAAM,EAAE;YACV,OAAOJ,WAAW,CAACK,MAAM,CAACD,MAAM,CAAC;UACnC;QACF;MACF,CAAC,MAAM,IAAI,aAAa,IAAIH,IAAI,EAAE;QAEhC,MAAMG,MAAM,GAAGhB,qBAAqB,CAACa,IAAI,CAAC;QAC1C,IAAIG,MAAM,EAAE;UACV,OAAOJ,WAAW,CAACK,MAAM,CAACD,MAAM,CAAC;QACnC;MACF,CAAC,MAAM,IAAI,OAAO,IAAIH,IAAI,EAAE;QAE1B,OAAOD,WAAW,CAACK,MAAM,CAACJ,IAAI,CAAC;MACjC;MAEA,OAAOD,WAAW;IACpB,CAAC,EAAE,EAAE,CAAC;EACR,CAAC,EAAE,CAACpB,OAAO,EAAEC,OAAO,CAAC,CAAC;EAEtB,OAAOgB,gBAAgB;AACzB,CAAC"}
@@ -16,24 +16,95 @@ import _Typography from "@mui/material/Typography";
16
16
  */
17
17
 
18
18
  import { memo, useCallback, useEffect, useMemo, useRef, useState } from "react";
19
+ import { Trans, useTranslation } from "react-i18next";
19
20
  import styled from "@emotion/styled";
20
21
  import { Autocomplete } from "../Autocomplete.js";
21
22
  import { Box } from "../Box.js";
22
- import { TagList } from "../TagList.js";
23
- import { Tag } from "../Tag.js";
24
- import { SearchField } from "../SearchField.js";
25
23
  import { Button } from "../Button.js";
26
- import { CheckIcon, ChevronRightIcon, CloseCircleFilledIcon, FilterIcon } from "../icons.generated/index.js";
27
- import { Subordinate } from "../Typography.js";
28
- import { TextField } from "../TextField.js";
29
24
  import { CheckboxGroup } from "../CheckboxGroup.js";
30
25
  import { Checkbox } from "../Checkbox.js";
26
+ import { CheckIcon, ChevronRightIcon, CloseCircleFilledIcon, FilterIcon } from "../icons.generated/index.js";
27
+ import { useOdysseyDesignTokens } from "../OdysseyDesignTokensContext.js";
31
28
  import { RadioGroup } from "../RadioGroup.js";
32
29
  import { Radio } from "../Radio.js";
33
- import { Trans, useTranslation } from "react-i18next";
30
+ import { SearchField } from "../SearchField.js";
31
+ import { Tag } from "../Tag.js";
32
+ import { TagList } from "../TagList.js";
33
+ import { TextField } from "../TextField.js";
34
+ import { Subordinate } from "../Typography.js";
34
35
  import { jsx as _jsx } from "react/jsx-runtime";
35
36
  import { jsxs as _jsxs } from "react/jsx-runtime";
36
37
  import { Fragment as _Fragment } from "react/jsx-runtime";
38
+ const AutocompleteOuterContainer = styled("div", {
39
+ shouldForwardProp: prop => prop !== "odysseyDesignTokens"
40
+ })(({
41
+ odysseyDesignTokens
42
+ }) => ({
43
+ display: "flex",
44
+ alignItems: "flex-end",
45
+ gap: odysseyDesignTokens.Spacing2
46
+ }));
47
+ const AutocompleteInnerContainer = styled("div")({
48
+ width: "100%"
49
+ });
50
+ const FilterTags = ({
51
+ activeFilters,
52
+ updateFilterAndInputValues
53
+ }) => {
54
+ const filtersWithValues = activeFilters.filter(activeFilter => activeFilter.value);
55
+ const filtersToRender = [];
56
+ filtersWithValues.forEach(filter => {
57
+ if (Array.isArray(filter.value)) {
58
+ filter.value.forEach(filterValue => {
59
+ const formattedValue = typeof filterValue === "string" ? filterValue : filterValue.value;
60
+ filtersToRender.push({
61
+ id: filter.id,
62
+ label: filter.label,
63
+ value: formattedValue
64
+ });
65
+ });
66
+ }
67
+ if (typeof filter.value === "string") {
68
+ filtersToRender.push({
69
+ id: filter.id,
70
+ label: filter.label,
71
+ value: filter.value
72
+ });
73
+ }
74
+ });
75
+ const getFilter = id => filtersWithValues.find(filter => filter.id === id);
76
+ const removeValueFromFilterAndInput = (id, removedFilterValue) => {
77
+ const currentFilter = getFilter(id);
78
+ if (currentFilter) {
79
+ const {
80
+ value
81
+ } = currentFilter;
82
+ if (Array.isArray(value)) {
83
+ const updatedValues = value.filter(currentValue => {
84
+ return currentValue.value !== removedFilterValue;
85
+ });
86
+ updateFilterAndInputValues({
87
+ filterId: id,
88
+ value: updatedValues.length > 0 ? updatedValues : undefined
89
+ });
90
+ }
91
+ if (typeof value === "string") {
92
+ updateFilterAndInputValues({
93
+ filterId: id,
94
+ value: undefined
95
+ });
96
+ }
97
+ }
98
+ };
99
+ return _jsx(TagList, {
100
+ children: filtersToRender.map(filter => _jsx(Tag, {
101
+ label: `${filter.label}: ${filter.value}`,
102
+ onRemove: () => removeValueFromFilterAndInput(filter.id, filter.value)
103
+ }, `${filter.label}: ${filter.value}`))
104
+ });
105
+ };
106
+ const MemoizedFilterTags = memo(FilterTags);
107
+ MemoizedFilterTags.displayName = "FilterTags";
37
108
  const DataFilters = ({
38
109
  onChangeSearch,
39
110
  onChangeFilters,
@@ -48,6 +119,7 @@ const DataFilters = ({
48
119
  const {
49
120
  t
50
121
  } = useTranslation();
122
+ const odysseyDesignTokens = useOdysseyDesignTokens();
51
123
  const initialInputValues = useMemo(() => {
52
124
  return filtersProp.reduce((accumulator, filter) => {
53
125
  accumulator[filter.id] = filter.value;
@@ -57,7 +129,7 @@ const DataFilters = ({
57
129
  const [inputValues, setInputValues] = useState(initialInputValues);
58
130
  const [searchValue, setSearchValue] = useState(defaultSearchTerm);
59
131
  const activeFilters = useMemo(() => {
60
- return filters.filter(filter => typeof filter.value === "string" && filter.value);
132
+ return filters.filter(filter => filter.value);
61
133
  }, [filters]);
62
134
  const [isFiltersMenuOpen, setIsFiltersMenuOpen] = useState(false);
63
135
  const [filtersMenuAnchorElement, setFiltersMenuAnchorElement] = useState();
@@ -80,12 +152,7 @@ const DataFilters = ({
80
152
  }
81
153
  }, [onChangeSearch, searchValue, searchDelayTime, hasSearchSubmitButton]);
82
154
  const autocompleteOptions = useMemo(() => {
83
- if (filterPopoverCurrentFilter?.variant === "autocomplete" && filterPopoverCurrentFilter?.options) {
84
- return filterPopoverCurrentFilter.options.map(option => ({
85
- label: option.label
86
- }));
87
- }
88
- return [];
155
+ return filterPopoverCurrentFilter?.options || [];
89
156
  }, [filterPopoverCurrentFilter]);
90
157
  const updateInputValue = useCallback(({
91
158
  filterId,
@@ -100,40 +167,49 @@ const DataFilters = ({
100
167
  filterId,
101
168
  value
102
169
  }) => {
170
+ setInputValues(prevInputValues => ({
171
+ ...prevInputValues,
172
+ [filterId]: value
173
+ }));
103
174
  const updatedFilters = filtersProp.map(filter => ({
104
175
  ...filter,
105
176
  value: filter.id === filterId ? value : inputValues[filter.id]
106
177
  }));
107
178
  setFilters(updatedFilters);
108
179
  }, [inputValues, filtersProp]);
109
- const getAutoCompleteLabel = value => {
110
- if (Array.isArray(value)) {
111
- return value.map(valueElement => {
112
- if (typeof valueElement === "string") {
113
- return undefined;
114
- }
115
- return valueElement.label;
116
- }).filter(item => Boolean(item));
117
- }
118
- return value?.label;
119
- };
120
- const handleMultiSelectChange = useCallback((filterId, value, submit = false) => {
121
- const startingValues = filtersProp.find(filter => filter.id === filterId)?.options?.map(option => option.value);
122
- const currentValues = inputValues[filterId] ?? startingValues;
123
- const updatedValues = currentValues.includes(value) ? currentValues.filter(item => item !== value) : [...currentValues, value];
124
- const valuesToSave = updatedValues.sort().join() === startingValues?.sort().join() ? undefined : updatedValues;
180
+ const updateFilterAndInputValues = useCallback(({
181
+ filterId,
182
+ value
183
+ }) => {
184
+ updateInputValue({
185
+ filterId,
186
+ value
187
+ });
188
+ updateFilters({
189
+ filterId,
190
+ value
191
+ });
192
+ }, [updateFilters, updateInputValue]);
193
+ const handleCheckboxFilterAndInputValueChange = useCallback((filterId, option, checked) => {
194
+ const currentValues = inputValues[filterId] || [];
195
+ const updatedValues = checked ? [...currentValues, option] : currentValues.filter(inputValue => inputValue.value !== option.value);
196
+ const normalizedUpdatedValues = updatedValues.length > 0 ? updatedValues : undefined;
125
197
  setInputValues({
126
198
  ...inputValues,
127
- [filterId]: valuesToSave
199
+ [filterId]: normalizedUpdatedValues
128
200
  });
129
- if (submit) {
130
- const updatedFilters = filtersProp.map(filter => ({
131
- ...filter,
132
- value: filter.id === filterId ? valuesToSave : inputValues[filter.id]
133
- }));
134
- setFilters(updatedFilters);
135
- }
136
- }, [inputValues, filtersProp]);
201
+ const updatedFilters = filters.map(filter => ({
202
+ ...filter,
203
+ value: filter.id === filterId ? normalizedUpdatedValues : inputValues[filter.id]
204
+ }));
205
+ setFilters(updatedFilters);
206
+ }, [filters, inputValues]);
207
+ const handleAutocompleteFilterChange = useCallback((filterId, option) => {
208
+ setInputValues({
209
+ ...inputValues,
210
+ [filterId]: option
211
+ });
212
+ }, [inputValues]);
137
213
  const clearAllFilters = useCallback(() => {
138
214
  const updatedInputValues = filtersProp.reduce((accumulator, filter) => {
139
215
  accumulator[filter.id] = undefined;
@@ -153,14 +229,6 @@ const DataFilters = ({
153
229
  }));
154
230
  setFilters(updatedFilters);
155
231
  }, [inputValues, filtersProp]);
156
- const AutocompleteOuterContainer = styled("div")({
157
- display: "flex",
158
- gap: "2",
159
- alignItems: "flex-end"
160
- });
161
- const AutocompleteInnerContainer = styled("div")({
162
- width: "100%"
163
- });
164
232
  const filterMenu = useMemo(() => _jsxs(_Fragment, {
165
233
  children: [_jsx(Box, {
166
234
  children: _jsx(Button, {
@@ -243,6 +311,7 @@ const DataFilters = ({
243
311
  })
244
312
  })]
245
313
  }), [isFiltersMenuOpen, isDisabled, filterPopoverCurrentFilter, isFilterPopoverOpen, filtersMenuAnchorElement, filtersProp, filters, t]);
314
+ const autoCompleteValue = useMemo(() => filterPopoverCurrentFilter?.id ? inputValues[filterPopoverCurrentFilter.id] : undefined, [filterPopoverCurrentFilter, inputValues]);
246
315
  return _jsxs(Box, {
247
316
  children: [_jsxs(Box, {
248
317
  sx: {
@@ -277,6 +346,7 @@ const DataFilters = ({
277
346
  setIsFiltersMenuOpen(false);
278
347
  }
279
348
  }
349
+ handleFilterSubmit();
280
350
  setIsFilterPopoverOpen(false);
281
351
  },
282
352
  children: _jsx(Box, {
@@ -291,22 +361,18 @@ const DataFilters = ({
291
361
  setIsFilterPopoverOpen(false);
292
362
  setIsFiltersMenuOpen(false);
293
363
  },
364
+ noValidate: true,
294
365
  children: filterPopoverCurrentFilter?.render ? filterPopoverCurrentFilter.render(updateFilters) : _jsxs(_Fragment, {
295
366
  children: [filterPopoverCurrentFilter?.variant === "autocomplete" && filterPopoverCurrentFilter?.options && _jsxs(AutocompleteOuterContainer, {
367
+ odysseyDesignTokens: odysseyDesignTokens,
296
368
  children: [_jsx(AutocompleteInnerContainer, {
297
369
  children: _jsx(Autocomplete, {
370
+ hasMultipleChoices: true,
371
+ isCustomValueAllowed: filterPopoverCurrentFilter?.isCustomValueAllowed,
298
372
  label: filterPopoverCurrentFilter.label,
299
- value: inputValues[filterPopoverCurrentFilter.id] ?? "",
373
+ value: autoCompleteValue,
300
374
  onChange: (_, value) => {
301
- const label = typeof value === "string" ? getAutoCompleteLabel({
302
- label: value
303
- }) : Array.isArray(value) ? getAutoCompleteLabel(value.map(item => typeof item === "string" ? {
304
- label: item
305
- } : item)) : value ? getAutoCompleteLabel(value) : "";
306
- updateInputValue({
307
- filterId: filterPopoverCurrentFilter.id,
308
- value: label
309
- });
375
+ handleAutocompleteFilterChange(filterPopoverCurrentFilter.id, value);
310
376
  },
311
377
  options: autocompleteOptions
312
378
  })
@@ -358,20 +424,22 @@ const DataFilters = ({
358
424
  }), filterPopoverCurrentFilter?.variant === "multi-select" && filterPopoverCurrentFilter?.options && _jsx(CheckboxGroup, {
359
425
  label: filterPopoverCurrentFilter.label,
360
426
  isRequired: true,
361
- children: filterPopoverCurrentFilter.options.map(option => _jsx(Checkbox, {
362
- label: option.label,
363
- value: option.value,
364
- isDefaultChecked: inputValues[filterPopoverCurrentFilter.id]?.includes(option.value) || inputValues[filterPopoverCurrentFilter.id] === undefined,
365
- onChange: () => handleMultiSelectChange(filterPopoverCurrentFilter.id, option.value, true)
366
- }, option.value))
427
+ children: filterPopoverCurrentFilter.options.map(option => {
428
+ const checkFilterInputValuesAsArray = inputValues[filterPopoverCurrentFilter.id] || [];
429
+ const isOptionValueInInputValues = checkFilterInputValuesAsArray.some(inputValue => inputValue.value === option.value);
430
+ return _jsx(Checkbox, {
431
+ label: option.label,
432
+ value: option.value,
433
+ isChecked: isOptionValueInInputValues,
434
+ onChange: (_, checked) => {
435
+ handleCheckboxFilterAndInputValueChange(filterPopoverCurrentFilter.id, option, checked);
436
+ }
437
+ }, option.value);
438
+ })
367
439
  }), filterPopoverCurrentFilter?.variant === "select" && filterPopoverCurrentFilter?.options && _jsxs(RadioGroup, {
368
440
  label: filterPopoverCurrentFilter.label,
369
441
  onChange: (_, value) => {
370
- updateInputValue({
371
- filterId: filterPopoverCurrentFilter.id,
372
- value
373
- });
374
- updateFilters({
442
+ updateFilterAndInputValues({
375
443
  filterId: filterPopoverCurrentFilter.id,
376
444
  value
377
445
  });
@@ -448,20 +516,9 @@ const DataFilters = ({
448
516
  paddingTop: 4,
449
517
  marginTop: 4
450
518
  },
451
- children: _jsx(TagList, {
452
- children: activeFilters.map(filter => _jsx(Tag, {
453
- label: `${filter.label}: ${filter.value}`,
454
- onRemove: () => {
455
- updateInputValue({
456
- filterId: filter.id,
457
- value: undefined
458
- });
459
- updateFilters({
460
- filterId: filter.id,
461
- value: undefined
462
- });
463
- }
464
- }, filter.label))
519
+ children: _jsx(MemoizedFilterTags, {
520
+ activeFilters: activeFilters,
521
+ updateFilterAndInputValues: updateFilterAndInputValues
465
522
  })
466
523
  })]
467
524
  });