@okta/odyssey-react-mui 1.28.1 → 1.29.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 (326) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/Breadcrumbs.js +1 -0
  3. package/dist/Breadcrumbs.js.map +1 -1
  4. package/dist/Buttons/MenuItem.js +1 -0
  5. package/dist/Buttons/MenuItem.js.map +1 -1
  6. package/dist/Checkbox.js +62 -35
  7. package/dist/Checkbox.js.map +1 -1
  8. package/dist/DataTable/reorderDataRowsLocally.js.map +1 -1
  9. package/dist/DataTable/useRowReordering.js.map +1 -1
  10. package/dist/HtmlProps.js.map +1 -1
  11. package/dist/Pagination/Pagination.js +2 -1
  12. package/dist/Pagination/Pagination.js.map +1 -1
  13. package/dist/Radio.js +65 -38
  14. package/dist/Radio.js.map +1 -1
  15. package/dist/Typography.js +20 -0
  16. package/dist/Typography.js.map +1 -1
  17. package/dist/index.scss +1 -1
  18. package/dist/labs/DataFilters.js +9 -5
  19. package/dist/labs/DataFilters.js.map +1 -1
  20. package/dist/labs/DataTable.js +7 -7
  21. package/dist/labs/DataTable.js.map +1 -1
  22. package/dist/labs/DataView/BulkActionsMenu.js.map +1 -1
  23. package/dist/labs/DataView/CardLayoutContent.js +6 -5
  24. package/dist/labs/DataView/CardLayoutContent.js.map +1 -1
  25. package/dist/labs/DataView/DataCard.js +1 -0
  26. package/dist/labs/DataView/DataCard.js.map +1 -1
  27. package/dist/labs/DataView/DataTable.js.map +1 -1
  28. package/dist/labs/DataView/DataView.js +2 -2
  29. package/dist/labs/DataView/DataView.js.map +1 -1
  30. package/dist/labs/DataView/DetailPanel.js.map +1 -1
  31. package/dist/labs/DataView/RowActions.js.map +1 -1
  32. package/dist/labs/DataView/TableLayoutContent.js +1 -1
  33. package/dist/labs/DataView/TableLayoutContent.js.map +1 -1
  34. package/dist/labs/DataView/TableSettings.js.map +1 -1
  35. package/dist/labs/DataView/componentTypes.js.map +1 -1
  36. package/dist/labs/DataView/dataTypes.js.map +1 -1
  37. package/dist/labs/DataView/fetchData.js.map +1 -1
  38. package/dist/labs/DataView/testSupportData.js +201 -0
  39. package/dist/labs/DataView/testSupportData.js.map +1 -0
  40. package/dist/labs/DataView/useFilterConversion.js.map +1 -1
  41. package/dist/labs/{DateField.js → DatePickers/DateField.js} +1 -1
  42. package/dist/labs/DatePickers/DateField.js.map +1 -0
  43. package/dist/labs/DatePickers/DateFieldActionBar.js +56 -0
  44. package/dist/labs/DatePickers/DateFieldActionBar.js.map +1 -0
  45. package/dist/labs/DatePickers/DateFieldLocalizationProvider.js +32 -0
  46. package/dist/labs/DatePickers/DateFieldLocalizationProvider.js.map +1 -0
  47. package/dist/labs/{DatePicker.js → DatePickers/DatePicker.js} +30 -73
  48. package/dist/labs/DatePickers/DatePicker.js.map +1 -0
  49. package/dist/labs/DatePickers/DatePicker.types.d.js.map +1 -0
  50. package/dist/labs/DatePickers/DateTimeField.js +166 -0
  51. package/dist/labs/DatePickers/DateTimeField.js.map +1 -0
  52. package/dist/labs/DatePickers/DateTimePicker.js +233 -0
  53. package/dist/labs/DatePickers/DateTimePicker.js.map +1 -0
  54. package/dist/labs/{datePickerTheme.js → DatePickers/datePickerTheme.js} +2 -2
  55. package/dist/labs/DatePickers/datePickerTheme.js.map +1 -0
  56. package/dist/labs/DatePickers/dateTimePickerTheme.js +230 -0
  57. package/dist/labs/DatePickers/dateTimePickerTheme.js.map +1 -0
  58. package/dist/labs/DatePickers/index.js +15 -0
  59. package/dist/labs/DatePickers/index.js.map +1 -0
  60. package/dist/labs/DatePickers/useDateFieldsTranslations.js.map +1 -0
  61. package/dist/labs/{useOdysseyDateFields.js → DatePickers/useOdysseyDateFields.js} +36 -3
  62. package/dist/labs/DatePickers/useOdysseyDateFields.js.map +1 -0
  63. package/dist/labs/PageTemplate.js +1 -1
  64. package/dist/labs/PageTemplate.js.map +1 -1
  65. package/dist/labs/SideNav/SideNav.js +40 -34
  66. package/dist/labs/SideNav/SideNav.js.map +1 -1
  67. package/dist/labs/SideNav/SideNavHeader.js +6 -4
  68. package/dist/labs/SideNav/SideNavHeader.js.map +1 -1
  69. package/dist/labs/SideNav/SideNavItemContent.js +11 -11
  70. package/dist/labs/SideNav/SideNavItemContent.js.map +1 -1
  71. package/dist/labs/SideNav/SideNavToggleButton.js +1 -1
  72. package/dist/labs/SideNav/SideNavToggleButton.js.map +1 -1
  73. package/dist/labs/SideNav/types.js.map +1 -1
  74. package/dist/labs/TimeZonePicker.js.map +1 -1
  75. package/dist/labs/index.js +1 -3
  76. package/dist/labs/index.js.map +1 -1
  77. package/dist/properties/ts/odyssey-react-mui.js +2 -0
  78. package/dist/properties/ts/odyssey-react-mui.js.map +1 -1
  79. package/dist/src/Breadcrumbs.d.ts.map +1 -1
  80. package/dist/src/Buttons/MenuItem.d.ts.map +1 -1
  81. package/dist/src/Checkbox.d.ts.map +1 -1
  82. package/dist/src/DataTable/reorderDataRowsLocally.d.ts +3 -3
  83. package/dist/src/DataTable/reorderDataRowsLocally.d.ts.map +1 -1
  84. package/dist/src/DataTable/useRowReordering.d.ts +10 -10
  85. package/dist/src/DataTable/useRowReordering.d.ts.map +1 -1
  86. package/dist/src/HtmlProps.d.ts +27 -0
  87. package/dist/src/HtmlProps.d.ts.map +1 -1
  88. package/dist/src/OdysseyTranslationProvider.d.ts +1 -1
  89. package/dist/src/OdysseyTranslationProvider.d.ts.map +1 -1
  90. package/dist/src/Radio.d.ts +1 -1
  91. package/dist/src/Radio.d.ts.map +1 -1
  92. package/dist/src/Typography.d.ts +11 -11
  93. package/dist/src/Typography.d.ts.map +1 -1
  94. package/dist/src/labs/DataFilters.d.ts.map +1 -1
  95. package/dist/src/labs/DataTable.d.ts +11 -11
  96. package/dist/src/labs/DataTable.d.ts.map +1 -1
  97. package/dist/src/labs/DataView/BulkActionsMenu.d.ts +3 -3
  98. package/dist/src/labs/DataView/BulkActionsMenu.d.ts.map +1 -1
  99. package/dist/src/labs/DataView/CardLayoutContent.d.ts +18 -15
  100. package/dist/src/labs/DataView/CardLayoutContent.d.ts.map +1 -1
  101. package/dist/src/labs/DataView/DataCard.d.ts +7 -4
  102. package/dist/src/labs/DataView/DataCard.d.ts.map +1 -1
  103. package/dist/src/labs/DataView/DataTable.d.ts +6 -2
  104. package/dist/src/labs/DataView/DataTable.d.ts.map +1 -1
  105. package/dist/src/labs/DataView/DataView.d.ts +6 -2
  106. package/dist/src/labs/DataView/DataView.d.ts.map +1 -1
  107. package/dist/src/labs/DataView/DetailPanel.d.ts +5 -5
  108. package/dist/src/labs/DataView/DetailPanel.d.ts.map +1 -1
  109. package/dist/src/labs/DataView/RowActions.d.ts +3 -3
  110. package/dist/src/labs/DataView/RowActions.d.ts.map +1 -1
  111. package/dist/src/labs/DataView/TableLayoutContent.d.ts +18 -15
  112. package/dist/src/labs/DataView/TableLayoutContent.d.ts.map +1 -1
  113. package/dist/src/labs/DataView/TableSettings.d.ts +7 -3
  114. package/dist/src/labs/DataView/TableSettings.d.ts.map +1 -1
  115. package/dist/src/labs/DataView/componentTypes.d.ts +17 -17
  116. package/dist/src/labs/DataView/componentTypes.d.ts.map +1 -1
  117. package/dist/src/labs/DataView/dataTypes.d.ts +6 -6
  118. package/dist/src/labs/DataView/dataTypes.d.ts.map +1 -1
  119. package/dist/src/labs/DataView/fetchData.d.ts +6 -6
  120. package/dist/src/labs/DataView/fetchData.d.ts.map +1 -1
  121. package/dist/src/labs/DataView/testSupportData.d.ts +33 -0
  122. package/dist/src/labs/DataView/testSupportData.d.ts.map +1 -0
  123. package/dist/src/labs/DataView/useFilterConversion.d.ts +5 -4
  124. package/dist/src/labs/DataView/useFilterConversion.d.ts.map +1 -1
  125. package/dist/src/labs/{DateField.d.ts → DatePickers/DateField.d.ts} +1 -1
  126. package/dist/src/labs/DatePickers/DateField.d.ts.map +1 -0
  127. package/dist/src/labs/DatePickers/DateFieldActionBar.d.ts +15 -0
  128. package/dist/src/labs/DatePickers/DateFieldActionBar.d.ts.map +1 -0
  129. package/dist/src/labs/DatePickers/DateFieldLocalizationProvider.d.ts +20 -0
  130. package/dist/src/labs/DatePickers/DateFieldLocalizationProvider.d.ts.map +1 -0
  131. package/dist/src/labs/DatePickers/DatePicker.d.ts +17 -0
  132. package/dist/src/labs/DatePickers/DatePicker.d.ts.map +1 -0
  133. package/dist/src/labs/DatePickers/DateTimeField.d.ts +20 -0
  134. package/dist/src/labs/DatePickers/DateTimeField.d.ts.map +1 -0
  135. package/dist/src/labs/DatePickers/DateTimePicker.d.ts +17 -0
  136. package/dist/src/labs/DatePickers/DateTimePicker.d.ts.map +1 -0
  137. package/dist/src/labs/DatePickers/datePickerTheme.d.ts +22 -0
  138. package/dist/src/labs/DatePickers/datePickerTheme.d.ts.map +1 -0
  139. package/dist/src/labs/{datePickerTheme.d.ts → DatePickers/dateTimePickerTheme.d.ts} +2 -2
  140. package/dist/src/labs/DatePickers/dateTimePickerTheme.d.ts.map +1 -0
  141. package/dist/src/labs/DatePickers/index.d.ts +15 -0
  142. package/dist/src/labs/DatePickers/index.d.ts.map +1 -0
  143. package/dist/src/labs/DatePickers/useDateFieldsTranslations.d.ts.map +1 -0
  144. package/dist/src/labs/{useOdysseyDateFields.d.ts → DatePickers/useOdysseyDateFields.d.ts} +49 -6
  145. package/dist/src/labs/DatePickers/useOdysseyDateFields.d.ts.map +1 -0
  146. package/dist/src/labs/SideNav/SideNav.d.ts.map +1 -1
  147. package/dist/src/labs/SideNav/SideNavHeader.d.ts.map +1 -1
  148. package/dist/src/labs/SideNav/SideNavItemContent.d.ts +1 -1
  149. package/dist/src/labs/SideNav/SideNavItemContent.d.ts.map +1 -1
  150. package/dist/src/labs/SideNav/types.d.ts +2 -2
  151. package/dist/src/labs/SideNav/types.d.ts.map +1 -1
  152. package/dist/src/labs/TimeZonePicker.d.ts +4 -1
  153. package/dist/src/labs/TimeZonePicker.d.ts.map +1 -1
  154. package/dist/src/labs/index.d.ts +1 -3
  155. package/dist/src/labs/index.d.ts.map +1 -1
  156. package/dist/src/properties/ts/odyssey-react-mui.d.ts +2 -0
  157. package/dist/src/properties/ts/odyssey-react-mui.d.ts.map +1 -1
  158. package/dist/src/theme/components.d.ts.map +1 -1
  159. package/dist/src/theme/mixins.d.ts.map +1 -1
  160. package/dist/src/theme/mixins.types.d.ts +2 -0
  161. package/dist/src/theme/mixins.types.d.ts.map +1 -1
  162. package/dist/src/{labs → ui-shell}/UiShell/UiShell.d.ts +2 -2
  163. package/dist/src/ui-shell/UiShell/UiShell.d.ts.map +1 -0
  164. package/dist/src/{labs → ui-shell}/UiShell/UiShellContent.d.ts +12 -8
  165. package/dist/src/ui-shell/UiShell/UiShellContent.d.ts.map +1 -0
  166. package/dist/src/ui-shell/UiShell/bufferLatest.d.ts.map +1 -0
  167. package/dist/src/ui-shell/UiShell/createMessageBus.d.ts.map +1 -0
  168. package/dist/src/ui-shell/UiShell/createStore.d.ts.map +1 -0
  169. package/dist/src/ui-shell/UiShell/index.d.ts.map +1 -0
  170. package/dist/src/{labs → ui-shell}/UiShell/renderUiShell.d.ts +3 -4
  171. package/dist/src/ui-shell/UiShell/renderUiShell.d.ts.map +1 -0
  172. package/dist/src/{labs → ui-shell}/UiShell/useHasUiShell.d.ts +1 -0
  173. package/dist/src/ui-shell/UiShell/useHasUiShell.d.ts.map +1 -0
  174. package/dist/src/ui-shell/UiShell/useScrollState.d.ts.map +1 -0
  175. package/dist/src/ui-shell/index.d.ts +14 -0
  176. package/dist/src/ui-shell/index.d.ts.map +1 -0
  177. package/dist/src/{web-component → ui-shell}/renderReactInWebComponent.d.ts +3 -23
  178. package/dist/src/ui-shell/renderReactInWebComponent.d.ts.map +1 -0
  179. package/dist/src/web-component/index.d.ts +0 -1
  180. package/dist/src/web-component/index.d.ts.map +1 -1
  181. package/dist/src/web-component/shadow-dom.d.ts +23 -2
  182. package/dist/src/web-component/shadow-dom.d.ts.map +1 -1
  183. package/dist/theme/components.js +38 -4
  184. package/dist/theme/components.js.map +1 -1
  185. package/dist/theme/mixins.js +2 -1
  186. package/dist/theme/mixins.js.map +1 -1
  187. package/dist/theme/mixins.types.js.map +1 -1
  188. package/dist/tsconfig.production.tsbuildinfo +1 -1
  189. package/dist/{labs → ui-shell}/UiShell/UiShell.js +2 -0
  190. package/dist/ui-shell/UiShell/UiShell.js.map +1 -0
  191. package/dist/{labs → ui-shell}/UiShell/UiShellContent.js +19 -11
  192. package/dist/ui-shell/UiShell/UiShellContent.js.map +1 -0
  193. package/dist/ui-shell/UiShell/bufferLatest.js.map +1 -0
  194. package/dist/ui-shell/UiShell/createMessageBus.js.map +1 -0
  195. package/dist/ui-shell/UiShell/createStore.js.map +1 -0
  196. package/dist/ui-shell/UiShell/index.js.map +1 -0
  197. package/dist/{labs → ui-shell}/UiShell/renderUiShell.js +4 -2
  198. package/dist/ui-shell/UiShell/renderUiShell.js.map +1 -0
  199. package/dist/{labs → ui-shell}/UiShell/useHasUiShell.js +1 -1
  200. package/dist/ui-shell/UiShell/useHasUiShell.js.map +1 -0
  201. package/dist/ui-shell/UiShell/useScrollState.js.map +1 -0
  202. package/dist/ui-shell/index.js +14 -0
  203. package/dist/ui-shell/index.js.map +1 -0
  204. package/dist/{web-component → ui-shell}/renderReactInWebComponent.js +7 -17
  205. package/dist/ui-shell/renderReactInWebComponent.js.map +1 -0
  206. package/dist/web-component/index.js +0 -1
  207. package/dist/web-component/index.js.map +1 -1
  208. package/dist/web-component/shadow-dom.js +12 -2
  209. package/dist/web-component/shadow-dom.js.map +1 -1
  210. package/package.json +10 -3
  211. package/src/Breadcrumbs.tsx +5 -1
  212. package/src/Buttons/MenuItem.tsx +1 -0
  213. package/src/Checkbox.tsx +86 -44
  214. package/src/DataTable/reorderDataRowsLocally.tsx +3 -3
  215. package/src/DataTable/useRowReordering.tsx +16 -23
  216. package/src/HtmlProps.ts +27 -0
  217. package/src/Pagination/Pagination.tsx +2 -2
  218. package/src/Radio.tsx +78 -39
  219. package/src/Typography.tsx +26 -1
  220. package/src/labs/DataFilters.tsx +7 -3
  221. package/src/labs/DataTable.tsx +41 -33
  222. package/src/labs/DataView/BulkActionsMenu.tsx +4 -4
  223. package/src/labs/DataView/CardLayoutContent.tsx +34 -28
  224. package/src/labs/DataView/DataCard.tsx +13 -6
  225. package/src/labs/DataView/DataTable.tsx +11 -4
  226. package/src/labs/DataView/DataView.test.tsx +1012 -87
  227. package/src/labs/DataView/DataView.tsx +18 -11
  228. package/src/labs/DataView/DetailPanel.tsx +4 -4
  229. package/src/labs/DataView/RowActions.tsx +4 -4
  230. package/src/labs/DataView/TableLayoutContent.tsx +30 -24
  231. package/src/labs/DataView/TableSettings.tsx +12 -6
  232. package/src/labs/DataView/componentTypes.ts +17 -17
  233. package/src/labs/DataView/dataTypes.ts +14 -8
  234. package/src/labs/DataView/fetchData.ts +9 -7
  235. package/src/labs/DataView/testSupportData.tsx +301 -0
  236. package/src/labs/DataView/useFilterConversion.ts +8 -8
  237. package/src/labs/{DateField.tsx → DatePickers/DateField.tsx} +2 -2
  238. package/src/labs/DatePickers/DateFieldActionBar.tsx +65 -0
  239. package/src/labs/DatePickers/DateFieldLocalizationProvider.tsx +46 -0
  240. package/src/labs/{DatePicker.tsx → DatePickers/DatePicker.tsx} +31 -136
  241. package/src/labs/DatePickers/DateTimeField.tsx +271 -0
  242. package/src/labs/DatePickers/DateTimePicker.test.tsx +66 -0
  243. package/src/labs/DatePickers/DateTimePicker.tsx +303 -0
  244. package/src/labs/{datePickerTheme.tsx → DatePickers/datePickerTheme.tsx} +2 -2
  245. package/src/labs/DatePickers/dateTimePickerTheme.ts +213 -0
  246. package/src/labs/DatePickers/index.ts +15 -0
  247. package/src/labs/{useOdysseyDateFields.ts → DatePickers/useOdysseyDateFields.ts} +112 -10
  248. package/src/labs/PageTemplate.tsx +1 -1
  249. package/src/labs/SideNav/SideNav.tsx +38 -39
  250. package/src/labs/SideNav/SideNavHeader.tsx +6 -4
  251. package/src/labs/SideNav/SideNavItemContent.tsx +21 -18
  252. package/src/labs/SideNav/SideNavToggleButton.tsx +1 -1
  253. package/src/labs/SideNav/types.ts +2 -2
  254. package/src/labs/TimeZonePicker.tsx +5 -1
  255. package/src/labs/index.ts +2 -3
  256. package/src/properties/odyssey-react-mui.properties +2 -0
  257. package/src/properties/ts/odyssey-react-mui.ts +1 -1
  258. package/src/theme/components.tsx +45 -4
  259. package/src/theme/mixins.ts +1 -0
  260. package/src/theme/mixins.types.ts +2 -0
  261. package/src/{labs → ui-shell}/UiShell/UiShell.tsx +3 -0
  262. package/src/{labs → ui-shell}/UiShell/UiShellContent.tsx +60 -31
  263. package/src/{labs → ui-shell}/UiShell/renderUiShell.test.tsx +16 -22
  264. package/src/{labs → ui-shell}/UiShell/renderUiShell.tsx +7 -4
  265. package/src/{labs → ui-shell}/UiShell/useHasUiShell.ts +1 -1
  266. package/src/ui-shell/index.ts +14 -0
  267. package/src/{web-component → ui-shell}/renderReactInWebComponent.test.tsx +1 -1
  268. package/src/{web-component → ui-shell}/renderReactInWebComponent.ts +9 -45
  269. package/src/web-component/index.ts +0 -1
  270. package/src/web-component/shadow-dom.ts +36 -3
  271. package/dist/labs/DateField.js.map +0 -1
  272. package/dist/labs/DatePicker.js.map +0 -1
  273. package/dist/labs/DatePicker.types.d.js.map +0 -1
  274. package/dist/labs/UiShell/UiShell.js.map +0 -1
  275. package/dist/labs/UiShell/UiShellContent.js.map +0 -1
  276. package/dist/labs/UiShell/bufferLatest.js.map +0 -1
  277. package/dist/labs/UiShell/createMessageBus.js.map +0 -1
  278. package/dist/labs/UiShell/createStore.js.map +0 -1
  279. package/dist/labs/UiShell/index.js.map +0 -1
  280. package/dist/labs/UiShell/renderUiShell.js.map +0 -1
  281. package/dist/labs/UiShell/useHasUiShell.js.map +0 -1
  282. package/dist/labs/UiShell/useScrollState.js.map +0 -1
  283. package/dist/labs/datePickerTheme.js.map +0 -1
  284. package/dist/labs/useDateFieldsTranslations.js.map +0 -1
  285. package/dist/labs/useOdysseyDateFields.js.map +0 -1
  286. package/dist/src/labs/DateField.d.ts.map +0 -1
  287. package/dist/src/labs/DatePicker.d.ts +0 -47
  288. package/dist/src/labs/DatePicker.d.ts.map +0 -1
  289. package/dist/src/labs/UiShell/UiShell.d.ts.map +0 -1
  290. package/dist/src/labs/UiShell/UiShellContent.d.ts.map +0 -1
  291. package/dist/src/labs/UiShell/bufferLatest.d.ts.map +0 -1
  292. package/dist/src/labs/UiShell/createMessageBus.d.ts.map +0 -1
  293. package/dist/src/labs/UiShell/createStore.d.ts.map +0 -1
  294. package/dist/src/labs/UiShell/index.d.ts.map +0 -1
  295. package/dist/src/labs/UiShell/renderUiShell.d.ts.map +0 -1
  296. package/dist/src/labs/UiShell/useHasUiShell.d.ts.map +0 -1
  297. package/dist/src/labs/UiShell/useScrollState.d.ts.map +0 -1
  298. package/dist/src/labs/datePickerTheme.d.ts.map +0 -1
  299. package/dist/src/labs/useDateFieldsTranslations.d.ts.map +0 -1
  300. package/dist/src/labs/useOdysseyDateFields.d.ts.map +0 -1
  301. package/dist/src/web-component/renderReactInWebComponent.d.ts.map +0 -1
  302. package/dist/web-component/renderReactInWebComponent.js.map +0 -1
  303. /package/dist/labs/{DatePicker.types.d.js → DatePickers/DatePicker.types.d.js} +0 -0
  304. /package/dist/labs/{useDateFieldsTranslations.js → DatePickers/useDateFieldsTranslations.js} +0 -0
  305. /package/dist/src/labs/{useDateFieldsTranslations.d.ts → DatePickers/useDateFieldsTranslations.d.ts} +0 -0
  306. /package/dist/src/{labs → ui-shell}/UiShell/bufferLatest.d.ts +0 -0
  307. /package/dist/src/{labs → ui-shell}/UiShell/createMessageBus.d.ts +0 -0
  308. /package/dist/src/{labs → ui-shell}/UiShell/createStore.d.ts +0 -0
  309. /package/dist/src/{labs → ui-shell}/UiShell/index.d.ts +0 -0
  310. /package/dist/src/{labs → ui-shell}/UiShell/useScrollState.d.ts +0 -0
  311. /package/dist/{labs → ui-shell}/UiShell/bufferLatest.js +0 -0
  312. /package/dist/{labs → ui-shell}/UiShell/createMessageBus.js +0 -0
  313. /package/dist/{labs → ui-shell}/UiShell/createStore.js +0 -0
  314. /package/dist/{labs → ui-shell}/UiShell/index.js +0 -0
  315. /package/dist/{labs → ui-shell}/UiShell/useScrollState.js +0 -0
  316. /package/src/labs/{DatePicker.types.d.ts → DatePickers/DatePicker.types.d.ts} +0 -0
  317. /package/src/labs/{useDateFieldsTranslations.ts → DatePickers/useDateFieldsTranslations.ts} +0 -0
  318. /package/src/{labs → ui-shell}/UiShell/UiShell.test.tsx +0 -0
  319. /package/src/{labs → ui-shell}/UiShell/bufferLatest.test.ts +0 -0
  320. /package/src/{labs → ui-shell}/UiShell/bufferLatest.ts +0 -0
  321. /package/src/{labs → ui-shell}/UiShell/createMessageBus.test.ts +0 -0
  322. /package/src/{labs → ui-shell}/UiShell/createMessageBus.ts +0 -0
  323. /package/src/{labs → ui-shell}/UiShell/createStore.test.ts +0 -0
  324. /package/src/{labs → ui-shell}/UiShell/createStore.ts +0 -0
  325. /package/src/{labs → ui-shell}/UiShell/index.ts +0 -0
  326. /package/src/{labs → ui-shell}/UiShell/useScrollState.ts +0 -0
@@ -433,9 +433,9 @@ const DataFilters = ({
433
433
  <>
434
434
  <Box>
435
435
  <Button
436
- aria-controls={isFiltersMenuOpen ? "filters-menu" : undefined}
437
- aria-expanded={isFiltersMenuOpen ? "true" : undefined}
438
- aria-haspopup="true"
436
+ ariaControls={isFiltersMenuOpen ? "filters-menu" : undefined}
437
+ ariaExpanded={isFiltersMenuOpen ? "true" : undefined}
438
+ ariaHasPopup="true"
439
439
  ariaLabel={t("filters.filters.arialabel")}
440
440
  isDisabled={isDisabled}
441
441
  endIcon={<FilterIcon />}
@@ -469,6 +469,7 @@ const DataFilters = ({
469
469
  return (
470
470
  <MuiMenuItem
471
471
  key={filter.id}
472
+ aria-controls={isFilterPopoverOpen ? "filter-form" : undefined}
472
473
  onClick={(event) => {
473
474
  setIsFilterPopoverOpen(true);
474
475
  setFilterPopoverAnchorElement(event.currentTarget);
@@ -563,6 +564,7 @@ const DataFilters = ({
563
564
  {filterMenu}
564
565
  {/* Filter popover */}
565
566
  <MuiPopover
567
+ id="filter-form"
566
568
  anchorEl={filterPopoverAnchorElement}
567
569
  // Positions the popover flush with the edge of the parent menu
568
570
  // and at the right shadow elevation. These magic values are simply
@@ -630,6 +632,7 @@ const DataFilters = ({
630
632
  variant="primary"
631
633
  endIcon={<CheckIcon />}
632
634
  type="submit"
635
+ ariaLabel={t("filters.submit.label")}
633
636
  />
634
637
  </AutocompleteOuterContainer>
635
638
  )}
@@ -697,6 +700,7 @@ const DataFilters = ({
697
700
  variant="primary"
698
701
  endIcon={<CheckIcon />}
699
702
  type="submit"
703
+ ariaLabel={t("filters.submit.label")}
700
704
  />
701
705
  </Box>
702
706
  )}
@@ -69,7 +69,7 @@ export type {
69
69
 
70
70
  // The shape of the table columns,
71
71
  // with props named to match their MRT_ColumnDef counterparts
72
- export type DataTableColumn = {
72
+ export type DataTableColumn<TData extends MRT_RowData> = {
73
73
  /**
74
74
  * The unique ID of the column
75
75
  */
@@ -82,12 +82,12 @@ export type DataTableColumn = {
82
82
  * Customize the way each cell in the column is
83
83
  * displayed via a custom React component.
84
84
  */
85
- Cell?: MRT_ColumnDef<MRT_RowData>["Cell"];
85
+ Cell?: MRT_ColumnDef<TData>["Cell"];
86
86
  /**
87
87
  * The UI control that will be used to filter the column.
88
88
  * Defaults to a standard text input.
89
89
  */
90
- filterVariant?: MRT_ColumnDef<MRT_RowData>["filterVariant"];
90
+ filterVariant?: MRT_ColumnDef<TData>["filterVariant"];
91
91
  /**
92
92
  * If the filter control has preset options (such as a select or multi-select),
93
93
  * these are the options provided.
@@ -127,16 +127,16 @@ export type DataTableColumn = {
127
127
  enableHiding?: boolean;
128
128
  };
129
129
 
130
- export type DataTableProps = {
130
+ export type DataTableProps<TData extends MRT_RowData> = {
131
131
  /**
132
132
  * The columns that make up the table
133
133
  */
134
- columns: DataTableColumn[];
134
+ columns: DataTableColumn<TData>[];
135
135
  /**
136
136
  * The data that goes into the table, which will be displayed
137
137
  * as the table rows
138
138
  */
139
- data: MRT_TableOptions<MRT_RowData>["data"];
139
+ data: MRT_TableOptions<TData>["data"];
140
140
  /**
141
141
  * The total number of rows in the table. Optional, because it's sometimes impossible
142
142
  * to calculate. Used in table pagination to know when to disable the "next"/"more" button.
@@ -145,7 +145,7 @@ export type DataTableProps = {
145
145
  /**
146
146
  * The function to get the ID of a row
147
147
  */
148
- getRowId?: MRT_TableOptions<MRT_RowData>["getRowId"];
148
+ getRowId?: MRT_TableOptions<TData>["getRowId"];
149
149
  /**
150
150
  * The initial density of the table. This is available even if the table density
151
151
  * isn't changeable.
@@ -219,7 +219,7 @@ export type DataTableProps = {
219
219
  search?: string;
220
220
  filters?: DataFilter[];
221
221
  sort?: MRT_SortingState;
222
- }) => MRT_TableOptions<MRT_RowData>["data"];
222
+ }) => MRT_TableOptions<TData>["data"];
223
223
  /**
224
224
  * Callback that fires when the user reorders rows within the table. Can be used
225
225
  * to propogate order change to the backend.
@@ -248,24 +248,24 @@ export type DataTableProps = {
248
248
  * Action buttons to display in each row
249
249
  */
250
250
  rowActionButtons?: (
251
- row: MRT_RowData,
251
+ row: TData,
252
252
  ) => ReactElement<typeof Button | typeof Fragment>;
253
253
  /**
254
254
  * Menu items to include in the optional actions menu on each row.
255
255
  */
256
256
  rowActionMenuItems?: (
257
- row: MRT_RowData,
257
+ row: TData,
258
258
  ) => ReactElement<typeof MenuItem | typeof Fragment>;
259
259
  };
260
260
 
261
- type TableType = MRT_TableInstance<MRT_RowData>;
261
+ type TableType<TData extends MRT_RowData> = MRT_TableInstance<TData>;
262
262
 
263
- const reorderDataRowsLocally = ({
263
+ const reorderDataRowsLocally = <TData extends MRT_RowData>({
264
264
  currentData,
265
265
  rowId,
266
266
  newIndex,
267
267
  }: {
268
- currentData: MRT_TableOptions<MRT_RowData>["data"];
268
+ currentData: MRT_TableOptions<TData>["data"];
269
269
  rowId: string;
270
270
  newIndex: number;
271
271
  }) => {
@@ -284,7 +284,7 @@ const reorderDataRowsLocally = ({
284
284
  return updatedData;
285
285
  };
286
286
 
287
- const DataTable = ({
287
+ const DataTable = <TData extends MRT_RowData>({
288
288
  columns,
289
289
  data: dataProp,
290
290
  getRowId,
@@ -309,13 +309,12 @@ const DataTable = ({
309
309
  hasRowSelection,
310
310
  hasSearch,
311
311
  hasSorting,
312
- }: DataTableProps) => {
312
+ }: DataTableProps<TData>) => {
313
313
  const odysseyDesignTokens = useOdysseyDesignTokens();
314
314
  const { t } = useTranslation();
315
- const [draggingRow, setDraggingRow] = useState<MRT_Row<MRT_RowData> | null>();
315
+ const [draggingRow, setDraggingRow] = useState<MRT_Row<TData> | null>();
316
316
  const [showSkeletons, setShowSkeletons] = useState<boolean>(true);
317
- const [data, setData] =
318
- useState<MRT_TableOptions<MRT_RowData>["data"]>(dataProp);
317
+ const [data, setData] = useState<MRT_TableOptions<TData>["data"]>(dataProp);
319
318
  const [page, setPage] = useState<number>(pageProp);
320
319
  const [resultsPerPage, setResultsPerPage] =
321
320
  useState<number>(resultsPerPageProp);
@@ -428,24 +427,31 @@ const DataTable = ({
428
427
  const rowVirtualizerInstanceRef =
429
428
  useRef<MRT_RowVirtualizer<HTMLDivElement, HTMLTableRowElement>>(null);
430
429
 
431
- const setHoveredRow = (table: TableType, id: MRT_RowData["id"]) => {
430
+ const setHoveredRow = useCallback<
431
+ (table: TableType<TData>, id: TData["id"]) => void
432
+ >((table, id) => {
432
433
  if (id) {
433
- const nextRow: MRT_RowData = table.getRow(id);
434
+ const nextRow = table.getRow(id) as MRT_Row<TData>;
434
435
 
435
436
  if (nextRow) {
436
437
  table.setHoveredRow(nextRow);
437
438
  }
438
439
  }
439
- };
440
+ }, []);
440
441
 
441
- const resetDraggingAndHoveredRow = (table: TableType) => {
442
- setDraggingRow(null);
443
- table.setHoveredRow(null);
444
- };
442
+ const resetDraggingAndHoveredRow = useCallback<
443
+ (table: TableType<TData>) => void
444
+ >(
445
+ (table) => {
446
+ setDraggingRow(null);
447
+ table.setHoveredRow(null);
448
+ },
449
+ [setDraggingRow],
450
+ );
445
451
 
446
452
  type HandleDragHandleKeyDownArgs = {
447
- table: TableType;
448
- row: MRT_Row<MRT_RowData>;
453
+ table: TableType<TData>;
454
+ row: MRT_Row<TData>;
449
455
  event: KeyboardEvent<HTMLButtonElement>;
450
456
  };
451
457
 
@@ -515,15 +521,17 @@ const DataTable = ({
515
521
  [
516
522
  data,
517
523
  draggingRow,
518
- odysseyDesignTokens,
524
+ odysseyDesignTokens.TransitionDurationMainAsNumber,
519
525
  page,
526
+ resetDraggingAndHoveredRow,
520
527
  resultsPerPage,
528
+ setHoveredRow,
521
529
  updateRowOrder,
522
530
  ],
523
531
  );
524
532
 
525
533
  const handleDragHandleOnDragEnd = useCallback(
526
- (table: TableType) => {
534
+ (table: TableType<TData>) => {
527
535
  const cols = table.getAllColumns();
528
536
  cols[0].toggleVisibility();
529
537
 
@@ -531,7 +539,7 @@ const DataTable = ({
531
539
  if (draggingRow) {
532
540
  updateRowOrder({
533
541
  rowId: draggingRow.id,
534
- newIndex: (hoveredRow as MRT_RowData).index,
542
+ newIndex: (hoveredRow as TData).index,
535
543
  });
536
544
  }
537
545
 
@@ -541,7 +549,7 @@ const DataTable = ({
541
549
  );
542
550
 
543
551
  const handleDragHandleOnDragCapture = useCallback(
544
- (table: TableType) => {
552
+ (table: TableType<TData>) => {
545
553
  if (!draggingRow && table.getState().draggingRow?.id) {
546
554
  setDraggingRow(table.getState().draggingRow);
547
555
  }
@@ -683,7 +691,7 @@ const DataTable = ({
683
691
 
684
692
  return (
685
693
  <Box sx={{ display: "flex" }}>
686
- {rowActionButtons?.(row)}
694
+ {rowActionButtons?.(row.original)}
687
695
  {(rowActionMenuItems || hasRowReordering) && (
688
696
  <MenuButton
689
697
  endIcon={<MoreIcon />}
@@ -694,7 +702,7 @@ const DataTable = ({
694
702
  >
695
703
  {rowActionMenuItems && (
696
704
  <>
697
- {rowActionMenuItems(row)}
705
+ {rowActionMenuItems(row.original)}
698
706
  <hr />
699
707
  </>
700
708
  )}
@@ -24,9 +24,9 @@ import {
24
24
  useOdysseyDesignTokens,
25
25
  } from "../../OdysseyDesignTokensContext";
26
26
 
27
- export type BulkActionsMenuProps = {
27
+ export type BulkActionsMenuProps<TData extends MRT_RowData> = {
28
28
  data: MRT_RowData[];
29
- menuItems: UniversalProps["bulkActionMenuItems"];
29
+ menuItems: UniversalProps<TData>["bulkActionMenuItems"];
30
30
  rowSelection: MRT_RowSelectionState;
31
31
  setRowSelection: Dispatch<SetStateAction<MRT_RowSelectionState>>;
32
32
  };
@@ -40,12 +40,12 @@ const BulkActionsContainer = styled("div", {
40
40
  gap: odysseyDesignTokens.Spacing2,
41
41
  }));
42
42
 
43
- const BulkActionsMenu = ({
43
+ const BulkActionsMenu = <TData extends MRT_RowData>({
44
44
  data,
45
45
  menuItems,
46
46
  rowSelection,
47
47
  setRowSelection,
48
- }: BulkActionsMenuProps) => {
48
+ }: BulkActionsMenuProps<TData>) => {
49
49
  const odysseyDesignTokens = useOdysseyDesignTokens();
50
50
  const { t } = useTranslation();
51
51
 
@@ -30,19 +30,19 @@ import { RowActions } from "./RowActions";
30
30
  import { DataCard } from "./DataCard";
31
31
  import { CardLayout, CardLayoutProps, UniversalProps } from "./componentTypes";
32
32
 
33
- export type CardLayoutContentProps = {
33
+ export type CardLayoutContentProps<TData extends MRT_RowData> = {
34
34
  currentLayout: CardLayout;
35
- data: MRT_RowData[];
36
- draggingRow?: MRT_Row<MRT_RowData> | null;
35
+ data: TData[];
36
+ draggingRow?: MRT_Row<TData> | null;
37
37
  emptyState: ReactNode;
38
- getRowId: UniversalProps["getRowId"];
39
- hasRowReordering: UniversalProps["hasRowReordering"];
40
- hasRowSelection: UniversalProps["hasRowSelection"];
38
+ getRowId: UniversalProps<TData>["getRowId"];
39
+ hasRowReordering: UniversalProps<TData>["hasRowReordering"];
40
+ hasRowSelection: UniversalProps<TData>["hasRowSelection"];
41
41
  isEmpty?: boolean;
42
42
  isLoading: boolean;
43
43
  isNoResults?: boolean;
44
44
  isRowReorderingDisabled?: boolean;
45
- onReorderRows: UniversalProps["onReorderRows"];
45
+ onReorderRows: UniversalProps<TData>["onReorderRows"];
46
46
  pagination: { pageIndex: number; pageSize: number };
47
47
  rowReorderingUtilities: {
48
48
  dragHandleStyles: CSSObject;
@@ -64,15 +64,13 @@ export type CardLayoutContentProps = {
64
64
  row,
65
65
  event,
66
66
  }: {
67
- table: MRT_TableInstance<MRT_RowData>;
68
- row: MRT_Row<MRT_RowData>;
67
+ table: MRT_TableInstance<TData>;
68
+ row: MRT_Row<TData>;
69
69
  event: React.KeyboardEvent<HTMLButtonElement>;
70
70
  }) => void;
71
- handleDragHandleOnDragCapture: (
72
- table: MRT_TableInstance<MRT_RowData>,
73
- ) => void;
74
- handleDragHandleOnDragEnd: (table: MRT_TableInstance<MRT_RowData>) => void;
75
- resetDraggingAndHoveredRow: (table: MRT_TableInstance<MRT_RowData>) => void;
71
+ handleDragHandleOnDragCapture: (table: MRT_TableInstance<TData>) => void;
72
+ handleDragHandleOnDragEnd: (table: MRT_TableInstance<TData>) => void;
73
+ resetDraggingAndHoveredRow: (table: MRT_TableInstance<TData>) => void;
76
74
  updateRowOrder: ({
77
75
  rowId,
78
76
  newRowIndex,
@@ -83,8 +81,13 @@ export type CardLayoutContentProps = {
83
81
  };
84
82
  rowSelection: MRT_RowSelectionState;
85
83
  setRowSelection: Dispatch<SetStateAction<MRT_RowSelectionState>>;
86
- cardLayoutOptions: CardLayoutProps;
87
- totalRows: UniversalProps["totalRows"];
84
+ cardLayoutOptions: CardLayoutProps<TData>;
85
+ totalRows: UniversalProps<TData>["totalRows"];
86
+ };
87
+ type CardLayoutContentComponent = (<TData extends MRT_RowData>(
88
+ props: CardLayoutContentProps<TData>,
89
+ ) => JSX.Element) & {
90
+ displayName?: string;
88
91
  };
89
92
 
90
93
  const StackContainer = styled("div", {
@@ -134,7 +137,7 @@ const CheckboxContainer = styled("div", {
134
137
  marginBlockStart: `-${odysseyDesignTokens.Spacing1}`,
135
138
  }));
136
139
 
137
- const CardLayoutContent = ({
140
+ const CardLayoutContent = <TData extends MRT_RowData>({
138
141
  currentLayout,
139
142
  data,
140
143
  emptyState,
@@ -151,7 +154,7 @@ const CardLayoutContent = ({
151
154
  setRowSelection,
152
155
  cardLayoutOptions,
153
156
  totalRows,
154
- }: CardLayoutContentProps) => {
157
+ }: CardLayoutContentProps<TData>) => {
155
158
  const odysseyDesignTokens = useOdysseyDesignTokens();
156
159
 
157
160
  const handleRowSelectionChange = useCallback(
@@ -170,11 +173,7 @@ const CardLayoutContent = ({
170
173
  const { updateRowOrder } = rowReorderingUtilities;
171
174
 
172
175
  return (
173
- <StackContainer
174
- odysseyDesignTokens={odysseyDesignTokens}
175
- currentLayout={currentLayout}
176
- maxGridColumns={cardLayoutOptions.maxGridColumns ?? 3}
177
- >
176
+ <Box>
178
177
  {isLoading ? (
179
178
  <LoadingContainer odysseyDesignTokens={odysseyDesignTokens}>
180
179
  <CircularProgress />
@@ -184,8 +183,13 @@ const CardLayoutContent = ({
184
183
  {!data || data.length === 0 || isEmpty || isNoResults ? (
185
184
  <Box>{emptyState}</Box>
186
185
  ) : (
187
- <>
188
- {data.map((row: MRT_RowData, index: number) => {
186
+ <StackContainer
187
+ odysseyDesignTokens={odysseyDesignTokens}
188
+ currentLayout={currentLayout}
189
+ maxGridColumns={cardLayoutOptions.maxGridColumns ?? 3}
190
+ role="list"
191
+ >
192
+ {data.map((row: TData, index: number) => {
189
193
  const {
190
194
  overline,
191
195
  title,
@@ -243,15 +247,17 @@ const CardLayoutContent = ({
243
247
  />
244
248
  );
245
249
  })}
246
- </>
250
+ </StackContainer>
247
251
  )}
248
252
  </>
249
253
  )}
250
- </StackContainer>
254
+ </Box>
251
255
  );
252
256
  };
253
257
 
254
- const MemoizedCardLayoutContent = memo(CardLayoutContent);
258
+ const MemoizedCardLayoutContent = memo(
259
+ CardLayoutContent,
260
+ ) as CardLayoutContentComponent;
255
261
  MemoizedCardLayoutContent.displayName = "CardLayoutContent";
256
262
 
257
263
  export { MemoizedCardLayoutContent as CardLayoutContent };
@@ -53,13 +53,13 @@ export const CARD_IMAGE_SIZE_COMPACT = "48px";
53
53
 
54
54
  export const cardVariantValues = ["tile", "stack", "compact"] as const;
55
55
 
56
- export type DataCardProps = {
56
+ export type DataCardProps<TData extends MRT_RowData> = {
57
57
  children?: ReactNode;
58
58
  description?: string;
59
59
  image?: ReactElement;
60
60
  overline?: string;
61
- renderDetailPanel?: CardLayoutProps["renderDetailPanel"];
62
- row: MRT_RowData;
61
+ renderDetailPanel?: CardLayoutProps<TData>["renderDetailPanel"];
62
+ row: TData;
63
63
  title?: string;
64
64
  variant?: (typeof cardVariantValues)[number];
65
65
  } & (
@@ -77,6 +77,12 @@ export type DataCardProps = {
77
77
  }
78
78
  );
79
79
 
80
+ type DataCardComponent = (<TData extends MRT_RowData>(
81
+ props: DataCardProps<TData>,
82
+ ) => JSX.Element) & {
83
+ displayName?: string;
84
+ };
85
+
80
86
  const AccessoryContainer = styled("div", {
81
87
  shouldForwardProp: (prop) =>
82
88
  prop !== "odysseyDesignTokens" && prop !== "variant",
@@ -170,7 +176,7 @@ const AccessoryPlaceholder = styled(MuiIconButton)(() => ({
170
176
  }));
171
177
  const buttonProviderValue = { isFullWidth: true };
172
178
 
173
- const DataCard = ({
179
+ const DataCard: DataCardComponent = <TData extends MRT_RowData>({
174
180
  Accessory: AccessoryProp,
175
181
  button,
176
182
  children,
@@ -183,7 +189,7 @@ const DataCard = ({
183
189
  row,
184
190
  title,
185
191
  variant = "tile",
186
- }: DataCardProps) => {
192
+ }: DataCardProps<TData>) => {
187
193
  const odysseyDesignTokens = useOdysseyDesignTokens();
188
194
  const { t } = useTranslation();
189
195
 
@@ -315,6 +321,7 @@ const DataCard = ({
315
321
  return (
316
322
  <MuiCard
317
323
  className={`${onClick ? "isClickable" : ""} ${Accessory ? "hasAccessory" : ""} ods-card-${variant}`}
324
+ role="listitem"
318
325
  >
319
326
  {onClick ? (
320
327
  <MuiCardActionArea onClick={onClick}>{cardContent}</MuiCardActionArea>
@@ -343,7 +350,7 @@ const DataCard = ({
343
350
  );
344
351
  };
345
352
 
346
- const MemoizedDataCard = memo(DataCard);
353
+ const MemoizedDataCard = memo(DataCard) as DataCardComponent;
347
354
  MemoizedDataCard.displayName = "DataCard";
348
355
 
349
356
  export { MemoizedDataCard as DataCard };
@@ -14,10 +14,17 @@ import { memo, useMemo } from "react";
14
14
 
15
15
  import { DataView } from "./DataView";
16
16
  import { TableLayoutProps, UniversalProps } from "./componentTypes";
17
+ import { MRT_RowData } from "material-react-table";
17
18
 
18
- export type DataTableProps = UniversalProps & TableLayoutProps;
19
+ export type DataTableProps<TData extends MRT_RowData> = UniversalProps<TData> &
20
+ TableLayoutProps<TData>;
21
+ type DataTableComponent = (<TData extends MRT_RowData>(
22
+ props: DataTableProps<TData>,
23
+ ) => JSX.Element) & {
24
+ displayName?: string;
25
+ };
19
26
 
20
- const DataTable = ({
27
+ const DataTable = <TData extends MRT_RowData>({
21
28
  additionalActionButton,
22
29
  additionalActionMenuItems,
23
30
  bulkActionMenuItems,
@@ -54,7 +61,7 @@ const DataTable = ({
54
61
  rowActionMenuItems,
55
62
  searchDelayTime,
56
63
  totalRows,
57
- }: DataTableProps) => {
64
+ }: DataTableProps<TData>) => {
58
65
  const tableLayoutOptions = useMemo(
59
66
  () => ({
60
67
  columns,
@@ -115,7 +122,7 @@ const DataTable = ({
115
122
  );
116
123
  };
117
124
 
118
- const MemoizedDataTable = memo(DataTable);
125
+ const MemoizedDataTable = memo(DataTable) as DataTableComponent;
119
126
  MemoizedDataTable.displayName = "DataTable";
120
127
 
121
128
  export { MemoizedDataTable as DataTable };