@okta/odyssey-react-mui 1.21.2 → 1.23.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 (593) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/@types/i18next.d.js.map +1 -1
  3. package/dist/Autocomplete.js +106 -38
  4. package/dist/Autocomplete.js.map +1 -1
  5. package/dist/Callout.js +12 -24
  6. package/dist/Callout.js.map +1 -1
  7. package/dist/Checkbox.js +26 -11
  8. package/dist/Checkbox.js.map +1 -1
  9. package/dist/CheckboxGroup.js +14 -3
  10. package/dist/CheckboxGroup.js.map +1 -1
  11. package/dist/DataTable/DataTable.js +10 -2
  12. package/dist/DataTable/DataTable.js.map +1 -1
  13. package/dist/DataTable/useScrollIndication.js +9 -5
  14. package/dist/DataTable/useScrollIndication.js.map +1 -1
  15. package/dist/Field.js +3 -1
  16. package/dist/Field.js.map +1 -1
  17. package/dist/FileUploader/FileUploadIllustration.js.map +1 -0
  18. package/dist/FileUploader/FileUploadPreview.js.map +1 -0
  19. package/dist/{labs/FileUpload.js → FileUploader/FileUploader.js} +6 -5
  20. package/dist/FileUploader/FileUploader.js.map +1 -0
  21. package/dist/FileUploader/index.js +13 -0
  22. package/dist/FileUploader/index.js.map +1 -0
  23. package/dist/OdysseyCacheProvider.js +4 -3
  24. package/dist/OdysseyCacheProvider.js.map +1 -1
  25. package/dist/OdysseyProvider.js +10 -3
  26. package/dist/OdysseyProvider.js.map +1 -1
  27. package/dist/OdysseyThemeProvider.js +3 -2
  28. package/dist/OdysseyThemeProvider.js.map +1 -1
  29. package/dist/Radio.js +33 -6
  30. package/dist/Radio.js.map +1 -1
  31. package/dist/RadioGroup.js +17 -5
  32. package/dist/RadioGroup.js.map +1 -1
  33. package/dist/Select.js +89 -31
  34. package/dist/Select.js.map +1 -1
  35. package/dist/{labs/Switch.js → Switch.js} +77 -23
  36. package/dist/Switch.js.map +1 -0
  37. package/dist/Tabs.js +7 -9
  38. package/dist/Tabs.js.map +1 -1
  39. package/dist/Tag.js +102 -4
  40. package/dist/Tag.js.map +1 -1
  41. package/dist/TextField.js +16 -39
  42. package/dist/TextField.js.map +1 -1
  43. package/dist/Toast.js +2 -2
  44. package/dist/Toast.js.map +1 -1
  45. package/dist/ToastStack.js.map +1 -1
  46. package/dist/createShadowDomElements.js +43 -0
  47. package/dist/createShadowDomElements.js.map +1 -0
  48. package/dist/i18n.js +1 -1
  49. package/dist/i18n.js.map +1 -1
  50. package/dist/index.js +3 -2
  51. package/dist/index.js.map +1 -1
  52. package/dist/index.scss +96 -8
  53. package/dist/labs/AppTile.js +124 -0
  54. package/dist/labs/AppTile.js.map +1 -0
  55. package/dist/labs/DataView/BulkActionsMenu.js.map +1 -0
  56. package/dist/labs/{DataComponents/StackContent.js → DataView/CardLayoutContent.js} +14 -14
  57. package/dist/labs/DataView/CardLayoutContent.js.map +1 -0
  58. package/dist/labs/{DataComponents/StackCard.js → DataView/DataCard.js} +6 -6
  59. package/dist/labs/DataView/DataCard.js.map +1 -0
  60. package/dist/labs/{DataComponents → DataView}/DataTable.js +6 -2
  61. package/dist/labs/DataView/DataTable.js.map +1 -0
  62. package/dist/labs/{DataComponents → DataView}/DataView.js +79 -30
  63. package/dist/labs/DataView/DataView.js.map +1 -0
  64. package/dist/labs/DataView/DetailPanel.js.map +1 -0
  65. package/dist/labs/DataView/LayoutSwitcher.js.map +1 -0
  66. package/dist/labs/DataView/RowActions.js.map +1 -0
  67. package/dist/labs/{DataComponents/TableContent.js → DataView/TableLayoutContent.js} +34 -20
  68. package/dist/labs/DataView/TableLayoutContent.js.map +1 -0
  69. package/dist/labs/{DataComponents → DataView}/TableSettings.js +2 -2
  70. package/dist/labs/DataView/TableSettings.js.map +1 -0
  71. package/dist/labs/DataView/componentTypes.js.map +1 -0
  72. package/dist/labs/{DataComponents → DataView}/constants.js +2 -2
  73. package/dist/labs/DataView/constants.js.map +1 -0
  74. package/dist/labs/DataView/dataTypes.js.map +1 -0
  75. package/dist/labs/DataView/fetchData.js.map +1 -0
  76. package/dist/labs/{DataComponents → DataView}/index.js +0 -1
  77. package/dist/labs/DataView/index.js.map +1 -0
  78. package/dist/labs/DataView/tableConstants.js.map +1 -0
  79. package/dist/labs/DataView/useFilterConversion.js.map +1 -0
  80. package/dist/labs/DateField.js +2 -0
  81. package/dist/labs/DateField.js.map +1 -1
  82. package/dist/labs/DatePicker.js +5 -1
  83. package/dist/labs/DatePicker.js.map +1 -1
  84. package/dist/labs/SideNav/CollapseIcon.js +44 -0
  85. package/dist/labs/SideNav/CollapseIcon.js.map +1 -0
  86. package/dist/labs/SideNav/OktaLogo.js +36 -0
  87. package/dist/labs/SideNav/OktaLogo.js.map +1 -0
  88. package/dist/labs/SideNav/SideNav.js +335 -0
  89. package/dist/labs/SideNav/SideNav.js.map +1 -0
  90. package/dist/labs/SideNav/SideNavFooterContent.js +49 -0
  91. package/dist/labs/SideNav/SideNavFooterContent.js.map +1 -0
  92. package/dist/labs/SideNav/SideNavHeader.js +81 -0
  93. package/dist/labs/SideNav/SideNavHeader.js.map +1 -0
  94. package/dist/labs/SideNav/SideNavItemContent.js +157 -0
  95. package/dist/labs/SideNav/SideNavItemContent.js.map +1 -0
  96. package/dist/labs/SideNav/SideNavItemLinkContent.js +71 -0
  97. package/dist/labs/SideNav/SideNavItemLinkContent.js.map +1 -0
  98. package/dist/labs/SideNav/index.js +14 -0
  99. package/dist/labs/SideNav/index.js.map +1 -0
  100. package/dist/labs/SideNav/types.js +2 -0
  101. package/dist/labs/SideNav/types.js.map +1 -0
  102. package/dist/labs/TopNav.js +2 -1
  103. package/dist/labs/TopNav.js.map +1 -1
  104. package/dist/labs/index.js +3 -4
  105. package/dist/labs/index.js.map +1 -1
  106. package/dist/labs/useDateFieldsTranslations.js +1 -1
  107. package/dist/labs/useDateFieldsTranslations.js.map +1 -1
  108. package/dist/properties/ts/odyssey-react-mui.js +3 -1
  109. package/dist/properties/ts/odyssey-react-mui.js.map +1 -1
  110. package/dist/properties/ts/odyssey-react-mui_cs.js +17 -3
  111. package/dist/properties/ts/odyssey-react-mui_cs.js.map +1 -1
  112. package/dist/properties/ts/odyssey-react-mui_da.js +17 -3
  113. package/dist/properties/ts/odyssey-react-mui_da.js.map +1 -1
  114. package/dist/properties/ts/odyssey-react-mui_de.js +16 -2
  115. package/dist/properties/ts/odyssey-react-mui_de.js.map +1 -1
  116. package/dist/properties/ts/odyssey-react-mui_el.js +18 -4
  117. package/dist/properties/ts/odyssey-react-mui_el.js.map +1 -1
  118. package/dist/properties/ts/odyssey-react-mui_es.js +17 -3
  119. package/dist/properties/ts/odyssey-react-mui_es.js.map +1 -1
  120. package/dist/properties/ts/odyssey-react-mui_fi.js +17 -3
  121. package/dist/properties/ts/odyssey-react-mui_fi.js.map +1 -1
  122. package/dist/properties/ts/odyssey-react-mui_fr.js +17 -3
  123. package/dist/properties/ts/odyssey-react-mui_fr.js.map +1 -1
  124. package/dist/properties/ts/odyssey-react-mui_ht.js +18 -4
  125. package/dist/properties/ts/odyssey-react-mui_ht.js.map +1 -1
  126. package/dist/properties/ts/odyssey-react-mui_hu.js +17 -3
  127. package/dist/properties/ts/odyssey-react-mui_hu.js.map +1 -1
  128. package/dist/properties/ts/odyssey-react-mui_id.js +17 -3
  129. package/dist/properties/ts/odyssey-react-mui_id.js.map +1 -1
  130. package/dist/properties/ts/odyssey-react-mui_it.js +17 -3
  131. package/dist/properties/ts/odyssey-react-mui_it.js.map +1 -1
  132. package/dist/properties/ts/odyssey-react-mui_ja.js +16 -2
  133. package/dist/properties/ts/odyssey-react-mui_ja.js.map +1 -1
  134. package/dist/properties/ts/odyssey-react-mui_ko.js +16 -2
  135. package/dist/properties/ts/odyssey-react-mui_ko.js.map +1 -1
  136. package/dist/properties/ts/odyssey-react-mui_ms.js +17 -3
  137. package/dist/properties/ts/odyssey-react-mui_ms.js.map +1 -1
  138. package/dist/properties/ts/odyssey-react-mui_nb.js +17 -3
  139. package/dist/properties/ts/odyssey-react-mui_nb.js.map +1 -1
  140. package/dist/properties/ts/odyssey-react-mui_nl_NL.js +17 -3
  141. package/dist/properties/ts/odyssey-react-mui_nl_NL.js.map +1 -1
  142. package/dist/properties/ts/odyssey-react-mui_pl.js +17 -3
  143. package/dist/properties/ts/odyssey-react-mui_pl.js.map +1 -1
  144. package/dist/properties/ts/odyssey-react-mui_pt_BR.js +17 -3
  145. package/dist/properties/ts/odyssey-react-mui_pt_BR.js.map +1 -1
  146. package/dist/properties/ts/odyssey-react-mui_ro.js +17 -3
  147. package/dist/properties/ts/odyssey-react-mui_ro.js.map +1 -1
  148. package/dist/properties/ts/odyssey-react-mui_ru.js +17 -3
  149. package/dist/properties/ts/odyssey-react-mui_ru.js.map +1 -1
  150. package/dist/properties/ts/odyssey-react-mui_sv.js +17 -3
  151. package/dist/properties/ts/odyssey-react-mui_sv.js.map +1 -1
  152. package/dist/properties/ts/odyssey-react-mui_th.js +16 -2
  153. package/dist/properties/ts/odyssey-react-mui_th.js.map +1 -1
  154. package/dist/properties/ts/odyssey-react-mui_tr.js +17 -3
  155. package/dist/properties/ts/odyssey-react-mui_tr.js.map +1 -1
  156. package/dist/properties/ts/odyssey-react-mui_uk.js +17 -3
  157. package/dist/properties/ts/odyssey-react-mui_uk.js.map +1 -1
  158. package/dist/properties/ts/odyssey-react-mui_vi.js +17 -3
  159. package/dist/properties/ts/odyssey-react-mui_vi.js.map +1 -1
  160. package/dist/properties/ts/odyssey-react-mui_zh_CN.js +16 -2
  161. package/dist/properties/ts/odyssey-react-mui_zh_CN.js.map +1 -1
  162. package/dist/properties/ts/odyssey-react-mui_zh_TW.js +16 -2
  163. package/dist/properties/ts/odyssey-react-mui_zh_TW.js.map +1 -1
  164. package/dist/src/Autocomplete.d.ts +30 -0
  165. package/dist/src/Autocomplete.d.ts.map +1 -1
  166. package/dist/src/Callout.d.ts +11 -23
  167. package/dist/src/Callout.d.ts.map +1 -1
  168. package/dist/src/Checkbox.d.ts +2 -2
  169. package/dist/src/Checkbox.d.ts.map +1 -1
  170. package/dist/src/CheckboxGroup.d.ts +3 -3
  171. package/dist/src/CheckboxGroup.d.ts.map +1 -1
  172. package/dist/src/DataTable/DataTable.d.ts +9 -1
  173. package/dist/src/DataTable/DataTable.d.ts.map +1 -1
  174. package/dist/src/DataTable/useScrollIndication.d.ts.map +1 -1
  175. package/dist/src/Field.d.ts +3 -2
  176. package/dist/src/Field.d.ts.map +1 -1
  177. package/dist/src/FileUploader/FileUploadIllustration.d.ts.map +1 -0
  178. package/dist/src/{labs → FileUploader}/FileUploadPreview.d.ts +2 -2
  179. package/dist/src/FileUploader/FileUploadPreview.d.ts.map +1 -0
  180. package/dist/src/{labs/FileUpload.d.ts → FileUploader/FileUploader.d.ts} +5 -4
  181. package/dist/src/FileUploader/FileUploader.d.ts.map +1 -0
  182. package/dist/src/FileUploader/index.d.ts +13 -0
  183. package/dist/src/FileUploader/index.d.ts.map +1 -0
  184. package/dist/src/NativeSelect.d.ts +1 -1
  185. package/dist/src/OdysseyCacheProvider.d.ts +7 -3
  186. package/dist/src/OdysseyCacheProvider.d.ts.map +1 -1
  187. package/dist/src/OdysseyProvider.d.ts +1 -1
  188. package/dist/src/OdysseyProvider.d.ts.map +1 -1
  189. package/dist/src/OdysseyThemeProvider.d.ts +3 -1
  190. package/dist/src/OdysseyThemeProvider.d.ts.map +1 -1
  191. package/dist/src/OdysseyTranslationProvider.d.ts +1 -1
  192. package/dist/src/OdysseyTranslationProvider.d.ts.map +1 -1
  193. package/dist/src/PasswordField.d.ts +1 -1
  194. package/dist/src/Radio.d.ts +6 -8
  195. package/dist/src/Radio.d.ts.map +1 -1
  196. package/dist/src/RadioGroup.d.ts +4 -5
  197. package/dist/src/RadioGroup.d.ts.map +1 -1
  198. package/dist/src/SearchField.d.ts +1 -1
  199. package/dist/src/Select.d.ts +38 -2
  200. package/dist/src/Select.d.ts.map +1 -1
  201. package/dist/src/{labs/Switch.d.ts → Switch.d.ts} +8 -4
  202. package/dist/src/Switch.d.ts.map +1 -0
  203. package/dist/src/Tabs.d.ts +6 -8
  204. package/dist/src/Tabs.d.ts.map +1 -1
  205. package/dist/src/Tag.d.ts +7 -1
  206. package/dist/src/Tag.d.ts.map +1 -1
  207. package/dist/src/TextField.d.ts +17 -40
  208. package/dist/src/TextField.d.ts.map +1 -1
  209. package/dist/src/ToastStack.d.ts +2 -2
  210. package/dist/src/ToastStack.d.ts.map +1 -1
  211. package/dist/src/{createShadowRootElement.d.ts → createShadowDomElements.d.ts} +6 -1
  212. package/dist/src/createShadowDomElements.d.ts.map +1 -0
  213. package/dist/src/i18n.d.ts +2 -2
  214. package/dist/src/i18n.d.ts.map +1 -1
  215. package/dist/src/index.d.ts +3 -2
  216. package/dist/src/index.d.ts.map +1 -1
  217. package/dist/src/labs/AppTile.d.ts +39 -0
  218. package/dist/src/labs/AppTile.d.ts.map +1 -0
  219. package/dist/src/labs/DataView/BulkActionsMenu.d.ts.map +1 -0
  220. package/dist/src/labs/{DataComponents/StackContent.d.ts → DataView/CardLayoutContent.d.ts} +7 -7
  221. package/dist/src/labs/DataView/CardLayoutContent.d.ts.map +1 -0
  222. package/dist/src/labs/{DataComponents/StackCard.d.ts → DataView/DataCard.d.ts} +4 -4
  223. package/dist/src/labs/DataView/DataCard.d.ts.map +1 -0
  224. package/dist/src/labs/DataView/DataTable.d.ts +16 -0
  225. package/dist/src/labs/DataView/DataTable.d.ts.map +1 -0
  226. package/dist/src/labs/{DataComponents → DataView}/DataView.d.ts +1 -1
  227. package/dist/src/labs/DataView/DataView.d.ts.map +1 -0
  228. package/dist/src/labs/{DataComponents → DataView}/DetailPanel.d.ts +2 -2
  229. package/dist/src/labs/DataView/DetailPanel.d.ts.map +1 -0
  230. package/dist/src/labs/DataView/LayoutSwitcher.d.ts.map +1 -0
  231. package/dist/src/labs/DataView/RowActions.d.ts.map +1 -0
  232. package/dist/src/labs/{DataComponents/TableContent.d.ts → DataView/TableLayoutContent.d.ts} +8 -7
  233. package/dist/src/labs/DataView/TableLayoutContent.d.ts.map +1 -0
  234. package/dist/src/labs/{DataComponents → DataView}/TableSettings.d.ts +3 -3
  235. package/dist/src/labs/DataView/TableSettings.d.ts.map +1 -0
  236. package/dist/src/labs/{DataComponents → DataView}/componentTypes.d.ts +21 -9
  237. package/dist/src/labs/DataView/componentTypes.d.ts.map +1 -0
  238. package/dist/src/labs/{DataComponents → DataView}/constants.d.ts +1 -1
  239. package/dist/src/labs/DataView/constants.d.ts.map +1 -0
  240. package/dist/src/labs/DataView/dataTypes.d.ts.map +1 -0
  241. package/dist/src/labs/DataView/fetchData.d.ts.map +1 -0
  242. package/dist/src/labs/{DataComponents → DataView}/index.d.ts +0 -1
  243. package/dist/src/labs/DataView/index.d.ts.map +1 -0
  244. package/dist/src/labs/DataView/tableConstants.d.ts.map +1 -0
  245. package/dist/src/labs/{DataComponents → DataView}/useFilterConversion.d.ts +2 -2
  246. package/dist/src/labs/DataView/useFilterConversion.d.ts.map +1 -0
  247. package/dist/src/labs/DateField.d.ts +2 -2
  248. package/dist/src/labs/DateField.d.ts.map +1 -1
  249. package/dist/src/labs/DatePicker.d.ts +2 -2
  250. package/dist/src/labs/DatePicker.d.ts.map +1 -1
  251. package/dist/src/labs/SideNav/CollapseIcon.d.ts +17 -0
  252. package/dist/src/labs/SideNav/CollapseIcon.d.ts.map +1 -0
  253. package/dist/src/labs/SideNav/OktaLogo.d.ts +14 -0
  254. package/dist/src/labs/SideNav/OktaLogo.d.ts.map +1 -0
  255. package/dist/src/labs/SideNav/SideNav.d.ts +16 -0
  256. package/dist/src/labs/SideNav/SideNav.d.ts.map +1 -0
  257. package/dist/{test-selectors/odysseyTestSelectors.js → src/labs/SideNav/SideNavFooterContent.d.ts} +6 -9
  258. package/dist/src/labs/SideNav/SideNavFooterContent.d.ts.map +1 -0
  259. package/dist/src/labs/SideNav/SideNavHeader.d.ts +16 -0
  260. package/dist/src/labs/SideNav/SideNavHeader.d.ts.map +1 -0
  261. package/dist/src/labs/SideNav/SideNavItemContent.d.ts +33 -0
  262. package/dist/src/labs/SideNav/SideNavItemContent.d.ts.map +1 -0
  263. package/dist/src/labs/SideNav/SideNavItemLinkContent.d.ts +16 -0
  264. package/dist/src/labs/SideNav/SideNavItemLinkContent.d.ts.map +1 -0
  265. package/dist/src/labs/SideNav/index.d.ts +14 -0
  266. package/dist/src/labs/SideNav/index.d.ts.map +1 -0
  267. package/dist/src/labs/{SideNav.d.ts → SideNav/types.d.ts} +54 -33
  268. package/dist/src/labs/SideNav/types.d.ts.map +1 -0
  269. package/dist/src/labs/TopNav.d.ts +1 -0
  270. package/dist/src/labs/TopNav.d.ts.map +1 -1
  271. package/dist/src/labs/index.d.ts +2 -3
  272. package/dist/src/labs/index.d.ts.map +1 -1
  273. package/dist/src/properties/ts/odyssey-react-mui.d.ts +2 -0
  274. package/dist/src/properties/ts/odyssey-react-mui.d.ts.map +1 -1
  275. package/dist/src/properties/ts/odyssey-react-mui_cs.d.ts +15 -1
  276. package/dist/src/properties/ts/odyssey-react-mui_cs.d.ts.map +1 -1
  277. package/dist/src/properties/ts/odyssey-react-mui_da.d.ts +15 -1
  278. package/dist/src/properties/ts/odyssey-react-mui_da.d.ts.map +1 -1
  279. package/dist/src/properties/ts/odyssey-react-mui_de.d.ts +15 -1
  280. package/dist/src/properties/ts/odyssey-react-mui_de.d.ts.map +1 -1
  281. package/dist/src/properties/ts/odyssey-react-mui_el.d.ts +15 -1
  282. package/dist/src/properties/ts/odyssey-react-mui_el.d.ts.map +1 -1
  283. package/dist/src/properties/ts/odyssey-react-mui_es.d.ts +15 -1
  284. package/dist/src/properties/ts/odyssey-react-mui_es.d.ts.map +1 -1
  285. package/dist/src/properties/ts/odyssey-react-mui_fi.d.ts +15 -1
  286. package/dist/src/properties/ts/odyssey-react-mui_fi.d.ts.map +1 -1
  287. package/dist/src/properties/ts/odyssey-react-mui_fr.d.ts +15 -1
  288. package/dist/src/properties/ts/odyssey-react-mui_fr.d.ts.map +1 -1
  289. package/dist/src/properties/ts/odyssey-react-mui_ht.d.ts +16 -2
  290. package/dist/src/properties/ts/odyssey-react-mui_ht.d.ts.map +1 -1
  291. package/dist/src/properties/ts/odyssey-react-mui_hu.d.ts +15 -1
  292. package/dist/src/properties/ts/odyssey-react-mui_hu.d.ts.map +1 -1
  293. package/dist/src/properties/ts/odyssey-react-mui_id.d.ts +15 -1
  294. package/dist/src/properties/ts/odyssey-react-mui_id.d.ts.map +1 -1
  295. package/dist/src/properties/ts/odyssey-react-mui_it.d.ts +15 -1
  296. package/dist/src/properties/ts/odyssey-react-mui_it.d.ts.map +1 -1
  297. package/dist/src/properties/ts/odyssey-react-mui_ja.d.ts +15 -1
  298. package/dist/src/properties/ts/odyssey-react-mui_ja.d.ts.map +1 -1
  299. package/dist/src/properties/ts/odyssey-react-mui_ko.d.ts +15 -1
  300. package/dist/src/properties/ts/odyssey-react-mui_ko.d.ts.map +1 -1
  301. package/dist/src/properties/ts/odyssey-react-mui_ms.d.ts +15 -1
  302. package/dist/src/properties/ts/odyssey-react-mui_ms.d.ts.map +1 -1
  303. package/dist/src/properties/ts/odyssey-react-mui_nb.d.ts +15 -1
  304. package/dist/src/properties/ts/odyssey-react-mui_nb.d.ts.map +1 -1
  305. package/dist/src/properties/ts/odyssey-react-mui_nl_NL.d.ts +15 -1
  306. package/dist/src/properties/ts/odyssey-react-mui_nl_NL.d.ts.map +1 -1
  307. package/dist/src/properties/ts/odyssey-react-mui_pl.d.ts +15 -1
  308. package/dist/src/properties/ts/odyssey-react-mui_pl.d.ts.map +1 -1
  309. package/dist/src/properties/ts/odyssey-react-mui_pt_BR.d.ts +15 -1
  310. package/dist/src/properties/ts/odyssey-react-mui_pt_BR.d.ts.map +1 -1
  311. package/dist/src/properties/ts/odyssey-react-mui_ro.d.ts +15 -1
  312. package/dist/src/properties/ts/odyssey-react-mui_ro.d.ts.map +1 -1
  313. package/dist/src/properties/ts/odyssey-react-mui_ru.d.ts +15 -1
  314. package/dist/src/properties/ts/odyssey-react-mui_ru.d.ts.map +1 -1
  315. package/dist/src/properties/ts/odyssey-react-mui_sv.d.ts +15 -1
  316. package/dist/src/properties/ts/odyssey-react-mui_sv.d.ts.map +1 -1
  317. package/dist/src/properties/ts/odyssey-react-mui_th.d.ts +15 -1
  318. package/dist/src/properties/ts/odyssey-react-mui_th.d.ts.map +1 -1
  319. package/dist/src/properties/ts/odyssey-react-mui_tr.d.ts +15 -1
  320. package/dist/src/properties/ts/odyssey-react-mui_tr.d.ts.map +1 -1
  321. package/dist/src/properties/ts/odyssey-react-mui_uk.d.ts +15 -1
  322. package/dist/src/properties/ts/odyssey-react-mui_uk.d.ts.map +1 -1
  323. package/dist/src/properties/ts/odyssey-react-mui_vi.d.ts +15 -1
  324. package/dist/src/properties/ts/odyssey-react-mui_vi.d.ts.map +1 -1
  325. package/dist/src/properties/ts/odyssey-react-mui_zh_CN.d.ts +15 -1
  326. package/dist/src/properties/ts/odyssey-react-mui_zh_CN.d.ts.map +1 -1
  327. package/dist/src/properties/ts/odyssey-react-mui_zh_TW.d.ts +15 -1
  328. package/dist/src/properties/ts/odyssey-react-mui_zh_TW.d.ts.map +1 -1
  329. package/dist/src/test-selectors/getByQuerySelector.d.ts +148 -0
  330. package/dist/src/test-selectors/getByQuerySelector.d.ts.map +1 -0
  331. package/dist/src/test-selectors/getComputedAccessibleErrorMessageText.d.ts +14 -0
  332. package/dist/src/test-selectors/getComputedAccessibleErrorMessageText.d.ts.map +1 -0
  333. package/dist/src/test-selectors/getComputedAccessibleText.d.ts +23 -0
  334. package/dist/src/test-selectors/getComputedAccessibleText.d.ts.map +1 -0
  335. package/dist/src/test-selectors/index.d.ts +2 -2
  336. package/dist/src/test-selectors/index.d.ts.map +1 -1
  337. package/{src/test-selectors/odysseyTestSelectors.ts → dist/src/test-selectors/interpolateString.d.ts} +4 -11
  338. package/dist/src/test-selectors/interpolateString.d.ts.map +1 -0
  339. package/dist/src/test-selectors/linkedHtmlSelectors.d.ts +24 -0
  340. package/dist/src/test-selectors/linkedHtmlSelectors.d.ts.map +1 -0
  341. package/dist/src/test-selectors/queryOdysseySelector.d.ts +5755 -0
  342. package/dist/src/test-selectors/queryOdysseySelector.d.ts.map +1 -0
  343. package/dist/src/test-selectors/querySelector.d.ts +59 -3613
  344. package/dist/src/test-selectors/querySelector.d.ts.map +1 -1
  345. package/dist/src/test-selectors/sanityChecks.d.ts +18 -0
  346. package/dist/src/test-selectors/sanityChecks.d.ts.map +1 -0
  347. package/dist/src/test-selectors/testSelector.d.ts +46 -0
  348. package/dist/src/test-selectors/testSelector.d.ts.map +1 -0
  349. package/dist/src/theme/components.d.ts +3 -1
  350. package/dist/src/theme/components.d.ts.map +1 -1
  351. package/dist/src/theme/createOdysseyMuiTheme.d.ts +3 -1
  352. package/dist/src/theme/createOdysseyMuiTheme.d.ts.map +1 -1
  353. package/dist/test-selectors/getByQuerySelector.js +64 -0
  354. package/dist/test-selectors/getByQuerySelector.js.map +1 -0
  355. package/dist/test-selectors/getComputedAccessibleErrorMessageText.js +25 -0
  356. package/dist/test-selectors/getComputedAccessibleErrorMessageText.js.map +1 -0
  357. package/dist/test-selectors/getComputedAccessibleText.js +24 -0
  358. package/dist/test-selectors/getComputedAccessibleText.js.map +1 -0
  359. package/dist/test-selectors/index.js +2 -2
  360. package/dist/test-selectors/index.js.map +1 -1
  361. package/dist/test-selectors/interpolateString.js +25 -0
  362. package/dist/test-selectors/interpolateString.js.map +1 -0
  363. package/dist/test-selectors/linkedHtmlSelectors.js +34 -0
  364. package/dist/test-selectors/linkedHtmlSelectors.js.map +1 -0
  365. package/dist/test-selectors/queryOdysseySelector.js +26 -0
  366. package/dist/test-selectors/queryOdysseySelector.js.map +1 -0
  367. package/dist/test-selectors/querySelector.js +82 -58
  368. package/dist/test-selectors/querySelector.js.map +1 -1
  369. package/dist/test-selectors/sanityChecks.js +33 -0
  370. package/dist/test-selectors/sanityChecks.js.map +1 -0
  371. package/dist/test-selectors/testSelector.js +2 -0
  372. package/dist/test-selectors/testSelector.js.map +1 -0
  373. package/dist/test-selectors/testSelectors.json +1 -1
  374. package/dist/theme/components.js +231 -146
  375. package/dist/theme/components.js.map +1 -1
  376. package/dist/theme/createOdysseyMuiTheme.js +3 -2
  377. package/dist/theme/createOdysseyMuiTheme.js.map +1 -1
  378. package/dist/tsconfig.production.tsbuildinfo +1 -1
  379. package/dist/tsconfig.tsbuildinfo +1 -1
  380. package/jest.setup.js +3 -0
  381. package/package.json +5 -5
  382. package/scripts/generateTestSelectorsJson.ts +1 -1
  383. package/src/@types/i18next.d.ts +1 -1
  384. package/src/Autocomplete.tsx +140 -45
  385. package/src/Callout.tsx +13 -25
  386. package/src/Checkbox.tsx +39 -9
  387. package/src/CheckboxGroup.tsx +20 -4
  388. package/src/DataTable/DataTable.tsx +24 -1
  389. package/src/DataTable/useScrollIndication.tsx +11 -4
  390. package/src/Field.tsx +5 -2
  391. package/src/{labs → FileUploader}/FileUploadPreview.tsx +3 -3
  392. package/src/{labs/FileUpload.tsx → FileUploader/FileUploader.tsx} +7 -6
  393. package/src/FileUploader/index.ts +13 -0
  394. package/src/OdysseyCacheProvider.test.tsx +1 -0
  395. package/src/OdysseyCacheProvider.tsx +18 -4
  396. package/src/OdysseyProvider.tsx +12 -4
  397. package/src/OdysseyThemeProvider.tsx +6 -2
  398. package/src/Radio.tsx +41 -12
  399. package/src/RadioGroup.tsx +26 -7
  400. package/src/Select.tsx +116 -45
  401. package/src/{labs/Switch.tsx → Switch.tsx} +95 -41
  402. package/src/Tabs.tsx +8 -10
  403. package/src/Tag.tsx +134 -3
  404. package/src/TextField.tsx +18 -41
  405. package/src/Toast.tsx +1 -1
  406. package/src/ToastStack.tsx +2 -2
  407. package/src/createShadowDomElements.ts +53 -0
  408. package/src/i18n.ts +3 -3
  409. package/src/index.ts +7 -2
  410. package/src/labs/AppTile.tsx +200 -0
  411. package/src/labs/{DataComponents/StackContent.tsx → DataView/CardLayoutContent.tsx} +24 -19
  412. package/src/labs/{DataComponents/StackCard.tsx → DataView/DataCard.tsx} +7 -7
  413. package/src/labs/{DataComponents → DataView}/DataTable.tsx +8 -4
  414. package/src/labs/DataView/DataView.test.tsx +158 -0
  415. package/src/labs/{DataComponents → DataView}/DataView.tsx +119 -42
  416. package/src/labs/{DataComponents → DataView}/DetailPanel.tsx +2 -2
  417. package/src/labs/{DataComponents/TableContent.tsx → DataView/TableLayoutContent.tsx} +59 -27
  418. package/src/labs/{DataComponents → DataView}/TableSettings.tsx +5 -4
  419. package/src/labs/{DataComponents → DataView}/componentTypes.ts +24 -9
  420. package/src/labs/{DataComponents → DataView}/constants.tsx +2 -2
  421. package/src/labs/{DataComponents → DataView}/index.tsx +0 -1
  422. package/src/labs/{DataComponents → DataView}/useFilterConversion.ts +2 -2
  423. package/src/labs/DateField.tsx +3 -0
  424. package/src/labs/DatePicker.tsx +12 -1
  425. package/src/labs/SideNav/CollapseIcon.tsx +48 -0
  426. package/src/labs/SideNav/OktaLogo.tsx +39 -0
  427. package/src/labs/SideNav/SideNav.tsx +486 -0
  428. package/src/labs/SideNav/SideNavFooterContent.tsx +64 -0
  429. package/src/labs/SideNav/SideNavHeader.tsx +88 -0
  430. package/src/labs/SideNav/SideNavItemContent.tsx +216 -0
  431. package/src/labs/SideNav/SideNavItemLinkContent.tsx +87 -0
  432. package/src/labs/SideNav/index.ts +15 -0
  433. package/src/labs/SideNav/types.ts +152 -0
  434. package/src/labs/TopNav.tsx +3 -1
  435. package/src/labs/index.ts +3 -4
  436. package/src/labs/useDateFieldsTranslations.ts +1 -1
  437. package/src/properties/odyssey-react-mui.properties +2 -1
  438. package/src/properties/translations/odyssey-react-mui_cs.properties +15 -3
  439. package/src/properties/translations/odyssey-react-mui_da.properties +15 -3
  440. package/src/properties/translations/odyssey-react-mui_de.properties +14 -2
  441. package/src/properties/translations/odyssey-react-mui_el.properties +16 -4
  442. package/src/properties/translations/odyssey-react-mui_es.properties +15 -3
  443. package/src/properties/translations/odyssey-react-mui_fi.properties +15 -3
  444. package/src/properties/translations/odyssey-react-mui_fr.properties +15 -3
  445. package/src/properties/translations/odyssey-react-mui_ht.properties +17 -6
  446. package/src/properties/translations/odyssey-react-mui_hu.properties +15 -3
  447. package/src/properties/translations/odyssey-react-mui_id.properties +15 -3
  448. package/src/properties/translations/odyssey-react-mui_it.properties +15 -3
  449. package/src/properties/translations/odyssey-react-mui_ja.properties +14 -2
  450. package/src/properties/translations/odyssey-react-mui_ko.properties +14 -2
  451. package/src/properties/translations/odyssey-react-mui_ms.properties +15 -3
  452. package/src/properties/translations/odyssey-react-mui_nb.properties +15 -3
  453. package/src/properties/translations/odyssey-react-mui_nl_NL.properties +15 -3
  454. package/src/properties/translations/odyssey-react-mui_pl.properties +15 -3
  455. package/src/properties/translations/odyssey-react-mui_pt_BR.properties +15 -3
  456. package/src/properties/translations/odyssey-react-mui_ro.properties +15 -3
  457. package/src/properties/translations/odyssey-react-mui_ru.properties +15 -3
  458. package/src/properties/translations/odyssey-react-mui_sv.properties +15 -3
  459. package/src/properties/translations/odyssey-react-mui_th.properties +14 -2
  460. package/src/properties/translations/odyssey-react-mui_tr.properties +15 -3
  461. package/src/properties/translations/odyssey-react-mui_uk.properties +15 -3
  462. package/src/properties/translations/odyssey-react-mui_vi.properties +15 -3
  463. package/src/properties/translations/odyssey-react-mui_zh_CN.properties +14 -2
  464. package/src/properties/translations/odyssey-react-mui_zh_TW.properties +14 -2
  465. package/src/properties/ts/odyssey-react-mui.ts +1 -1
  466. package/src/properties/ts/odyssey-react-mui_cs.ts +1 -1
  467. package/src/properties/ts/odyssey-react-mui_da.ts +1 -1
  468. package/src/properties/ts/odyssey-react-mui_de.ts +1 -1
  469. package/src/properties/ts/odyssey-react-mui_el.ts +1 -1
  470. package/src/properties/ts/odyssey-react-mui_es.ts +1 -1
  471. package/src/properties/ts/odyssey-react-mui_fi.ts +1 -1
  472. package/src/properties/ts/odyssey-react-mui_fr.ts +1 -1
  473. package/src/properties/ts/odyssey-react-mui_ht.ts +1 -1
  474. package/src/properties/ts/odyssey-react-mui_hu.ts +1 -1
  475. package/src/properties/ts/odyssey-react-mui_id.ts +1 -1
  476. package/src/properties/ts/odyssey-react-mui_it.ts +1 -1
  477. package/src/properties/ts/odyssey-react-mui_ja.ts +1 -1
  478. package/src/properties/ts/odyssey-react-mui_ko.ts +1 -1
  479. package/src/properties/ts/odyssey-react-mui_ms.ts +1 -1
  480. package/src/properties/ts/odyssey-react-mui_nb.ts +1 -1
  481. package/src/properties/ts/odyssey-react-mui_nl_NL.ts +1 -1
  482. package/src/properties/ts/odyssey-react-mui_pl.ts +1 -1
  483. package/src/properties/ts/odyssey-react-mui_pt_BR.ts +1 -1
  484. package/src/properties/ts/odyssey-react-mui_ro.ts +1 -1
  485. package/src/properties/ts/odyssey-react-mui_ru.ts +1 -1
  486. package/src/properties/ts/odyssey-react-mui_sv.ts +1 -1
  487. package/src/properties/ts/odyssey-react-mui_th.ts +1 -1
  488. package/src/properties/ts/odyssey-react-mui_tr.ts +1 -1
  489. package/src/properties/ts/odyssey-react-mui_uk.ts +1 -1
  490. package/src/properties/ts/odyssey-react-mui_vi.ts +1 -1
  491. package/src/properties/ts/odyssey-react-mui_zh_CN.ts +1 -1
  492. package/src/properties/ts/odyssey-react-mui_zh_TW.ts +1 -1
  493. package/src/test-selectors/getByQuerySelector.ts +176 -0
  494. package/src/test-selectors/getComputedAccessibleErrorMessageText.ts +52 -0
  495. package/src/test-selectors/getComputedAccessibleText.ts +36 -0
  496. package/src/test-selectors/index.ts +2 -2
  497. package/src/test-selectors/interpolateString.ts +41 -0
  498. package/src/test-selectors/linkedHtmlSelectors.ts +73 -0
  499. package/src/test-selectors/queryOdysseySelector.ts +36 -0
  500. package/src/test-selectors/querySelector.ts +221 -170
  501. package/src/test-selectors/sanityChecks.ts +53 -0
  502. package/src/test-selectors/testSelector.ts +143 -0
  503. package/src/theme/components.tsx +238 -150
  504. package/src/theme/createOdysseyMuiTheme.ts +4 -1
  505. package/dist/createShadowRootElement.js +0 -26
  506. package/dist/createShadowRootElement.js.map +0 -1
  507. package/dist/labs/DataComponents/BulkActionsMenu.js.map +0 -1
  508. package/dist/labs/DataComponents/DataStack.js +0 -85
  509. package/dist/labs/DataComponents/DataStack.js.map +0 -1
  510. package/dist/labs/DataComponents/DataTable.js.map +0 -1
  511. package/dist/labs/DataComponents/DataView.js.map +0 -1
  512. package/dist/labs/DataComponents/DetailPanel.js.map +0 -1
  513. package/dist/labs/DataComponents/LayoutSwitcher.js.map +0 -1
  514. package/dist/labs/DataComponents/RowActions.js.map +0 -1
  515. package/dist/labs/DataComponents/StackCard.js.map +0 -1
  516. package/dist/labs/DataComponents/StackContent.js.map +0 -1
  517. package/dist/labs/DataComponents/TableContent.js.map +0 -1
  518. package/dist/labs/DataComponents/TableSettings.js.map +0 -1
  519. package/dist/labs/DataComponents/componentTypes.js.map +0 -1
  520. package/dist/labs/DataComponents/constants.js.map +0 -1
  521. package/dist/labs/DataComponents/dataTypes.js.map +0 -1
  522. package/dist/labs/DataComponents/fetchData.js.map +0 -1
  523. package/dist/labs/DataComponents/index.js.map +0 -1
  524. package/dist/labs/DataComponents/tableConstants.js.map +0 -1
  525. package/dist/labs/DataComponents/useFilterConversion.js.map +0 -1
  526. package/dist/labs/FileUpload.js.map +0 -1
  527. package/dist/labs/FileUploadIllustration.js.map +0 -1
  528. package/dist/labs/FileUploadPreview.js.map +0 -1
  529. package/dist/labs/SideNav.js +0 -478
  530. package/dist/labs/SideNav.js.map +0 -1
  531. package/dist/labs/Switch.js.map +0 -1
  532. package/dist/src/createShadowRootElement.d.ts.map +0 -1
  533. package/dist/src/labs/DataComponents/BulkActionsMenu.d.ts.map +0 -1
  534. package/dist/src/labs/DataComponents/DataStack.d.ts +0 -20
  535. package/dist/src/labs/DataComponents/DataStack.d.ts.map +0 -1
  536. package/dist/src/labs/DataComponents/DataTable.d.ts +0 -16
  537. package/dist/src/labs/DataComponents/DataTable.d.ts.map +0 -1
  538. package/dist/src/labs/DataComponents/DataView.d.ts.map +0 -1
  539. package/dist/src/labs/DataComponents/DetailPanel.d.ts.map +0 -1
  540. package/dist/src/labs/DataComponents/LayoutSwitcher.d.ts.map +0 -1
  541. package/dist/src/labs/DataComponents/RowActions.d.ts.map +0 -1
  542. package/dist/src/labs/DataComponents/StackCard.d.ts.map +0 -1
  543. package/dist/src/labs/DataComponents/StackContent.d.ts.map +0 -1
  544. package/dist/src/labs/DataComponents/TableContent.d.ts.map +0 -1
  545. package/dist/src/labs/DataComponents/TableSettings.d.ts.map +0 -1
  546. package/dist/src/labs/DataComponents/componentTypes.d.ts.map +0 -1
  547. package/dist/src/labs/DataComponents/constants.d.ts.map +0 -1
  548. package/dist/src/labs/DataComponents/dataTypes.d.ts.map +0 -1
  549. package/dist/src/labs/DataComponents/fetchData.d.ts.map +0 -1
  550. package/dist/src/labs/DataComponents/index.d.ts.map +0 -1
  551. package/dist/src/labs/DataComponents/tableConstants.d.ts.map +0 -1
  552. package/dist/src/labs/DataComponents/useFilterConversion.d.ts.map +0 -1
  553. package/dist/src/labs/FileUpload.d.ts.map +0 -1
  554. package/dist/src/labs/FileUploadIllustration.d.ts.map +0 -1
  555. package/dist/src/labs/FileUploadPreview.d.ts.map +0 -1
  556. package/dist/src/labs/SideNav.d.ts.map +0 -1
  557. package/dist/src/labs/Switch.d.ts.map +0 -1
  558. package/dist/src/test-selectors/featureTestSelector.d.ts +0 -31
  559. package/dist/src/test-selectors/featureTestSelector.d.ts.map +0 -1
  560. package/dist/src/test-selectors/odysseyTestSelectors.d.ts +0 -120
  561. package/dist/src/test-selectors/odysseyTestSelectors.d.ts.map +0 -1
  562. package/dist/test-selectors/featureTestSelector.js +0 -2
  563. package/dist/test-selectors/featureTestSelector.js.map +0 -1
  564. package/dist/test-selectors/odysseyTestSelectors.js.map +0 -1
  565. package/src/createShadowRootElement.ts +0 -31
  566. package/src/labs/DataComponents/DataStack.tsx +0 -105
  567. package/src/labs/SideNav.tsx +0 -745
  568. package/src/test-selectors/featureTestSelector.ts +0 -41
  569. /package/dist/{labs → FileUploader}/FileUploadIllustration.js +0 -0
  570. /package/dist/{labs → FileUploader}/FileUploadPreview.js +0 -0
  571. /package/dist/labs/{DataComponents → DataView}/BulkActionsMenu.js +0 -0
  572. /package/dist/labs/{DataComponents → DataView}/DetailPanel.js +0 -0
  573. /package/dist/labs/{DataComponents → DataView}/LayoutSwitcher.js +0 -0
  574. /package/dist/labs/{DataComponents → DataView}/RowActions.js +0 -0
  575. /package/dist/labs/{DataComponents → DataView}/componentTypes.js +0 -0
  576. /package/dist/labs/{DataComponents → DataView}/dataTypes.js +0 -0
  577. /package/dist/labs/{DataComponents → DataView}/fetchData.js +0 -0
  578. /package/dist/labs/{DataComponents → DataView}/tableConstants.js +0 -0
  579. /package/dist/labs/{DataComponents → DataView}/useFilterConversion.js +0 -0
  580. /package/dist/src/{labs → FileUploader}/FileUploadIllustration.d.ts +0 -0
  581. /package/dist/src/labs/{DataComponents → DataView}/BulkActionsMenu.d.ts +0 -0
  582. /package/dist/src/labs/{DataComponents → DataView}/LayoutSwitcher.d.ts +0 -0
  583. /package/dist/src/labs/{DataComponents → DataView}/RowActions.d.ts +0 -0
  584. /package/dist/src/labs/{DataComponents → DataView}/dataTypes.d.ts +0 -0
  585. /package/dist/src/labs/{DataComponents → DataView}/fetchData.d.ts +0 -0
  586. /package/dist/src/labs/{DataComponents → DataView}/tableConstants.d.ts +0 -0
  587. /package/src/{labs → FileUploader}/FileUploadIllustration.tsx +0 -0
  588. /package/src/labs/{DataComponents → DataView}/BulkActionsMenu.tsx +0 -0
  589. /package/src/labs/{DataComponents → DataView}/LayoutSwitcher.tsx +0 -0
  590. /package/src/labs/{DataComponents → DataView}/RowActions.tsx +0 -0
  591. /package/src/labs/{DataComponents → DataView}/dataTypes.ts +0 -0
  592. /package/src/labs/{DataComponents → DataView}/fetchData.ts +0 -0
  593. /package/src/labs/{DataComponents → DataView}/tableConstants.tsx +0 -0
@@ -20,16 +20,18 @@ import { DataFilters } from "../DataFilters.js";
20
20
  import { EmptyState } from "../../EmptyState.js";
21
21
  import { fetchData } from "./fetchData.js";
22
22
  import { LayoutSwitcher } from "./LayoutSwitcher.js";
23
+ import { MenuButton } from "../../MenuButton.js";
24
+ import { MoreIcon } from "../../icons.generated/index.js";
23
25
  import { TableSettings } from "./TableSettings.js";
24
26
  import { Pagination, usePagination } from "../../Pagination/index.js";
25
- import { TableContent } from "./TableContent.js";
26
- import { StackContent } from "./StackContent.js";
27
+ import { TableLayoutContent } from "./TableLayoutContent.js";
28
+ import { CardLayoutContent } from "./CardLayoutContent.js";
27
29
  import { useFilterConversion } from "./useFilterConversion.js";
28
30
  import { useRowReordering } from "../../DataTable/useRowReordering.js";
31
+ import { Typography } from "../../Typography.js";
29
32
  import { useOdysseyDesignTokens } from "../../OdysseyDesignTokensContext.js";
30
33
  import styled from "@emotion/styled";
31
34
  import { jsx as _jsx } from "react/jsx-runtime";
32
- import { Fragment as _Fragment } from "react/jsx-runtime";
33
35
  import { jsxs as _jsxs } from "react/jsx-runtime";
34
36
  const DataViewContainer = styled("div", {
35
37
  shouldForwardProp: prop => prop !== "odysseyDesignTokens"
@@ -44,15 +46,39 @@ const BulkActionsContainer = styled("div")(() => ({
44
46
  display: "flex",
45
47
  justifyContent: "space-between"
46
48
  }));
47
- const AdditionalActionsContainer = styled("div")(() => ({
49
+ const AdditionalActionsContainer = styled("div", {
50
+ shouldForwardProp: prop => prop !== "odysseyDesignTokens"
51
+ })(({
52
+ odysseyDesignTokens
53
+ }) => ({
54
+ display: "flex",
55
+ justifyContent: "flex-end",
56
+ gap: odysseyDesignTokens.Spacing2
57
+ }));
58
+ const AdditionalActionsInner = styled("div", {
59
+ shouldForwardProp: prop => prop !== "odysseyDesignTokens"
60
+ })(({
61
+ odysseyDesignTokens
62
+ }) => ({
48
63
  display: "flex",
49
- justifyContent: "flex-end"
64
+ alignItems: "center",
65
+ gap: odysseyDesignTokens.Spacing2
66
+ }));
67
+ const MetaTextContainer = styled("div", {
68
+ shouldForwardProp: prop => prop !== "odysseyDesignTokens"
69
+ })(({
70
+ odysseyDesignTokens
71
+ }) => ({
72
+ marginInlineEnd: odysseyDesignTokens.Spacing2
50
73
  }));
51
74
  const DataView = ({
75
+ additionalActionButton,
76
+ additionalActionMenuItems,
52
77
  availableLayouts = allAvailableLayouts,
53
78
  bulkActionMenuItems,
54
79
  currentPage = 1,
55
80
  emptyPlaceholder,
81
+ enableVirtualization: enableVirtualizationProp,
56
82
  errorMessage: errorMessageProp,
57
83
  filters: filtersProp,
58
84
  getData,
@@ -69,17 +95,19 @@ const DataView = ({
69
95
  isNoResults: isNoResultsProp,
70
96
  isPaginationMoreDisabled,
71
97
  isRowReorderingDisabled,
98
+ metaText,
72
99
  noResultsPlaceholder,
73
100
  onChangeRowSelection,
74
101
  onReorderRows,
75
102
  paginationType = "paged",
76
103
  resultsPerPage = 20,
77
104
  searchDelayTime,
78
- stackOptions,
79
- tableOptions,
105
+ cardLayoutOptions,
106
+ tableLayoutOptions,
80
107
  totalRows,
81
108
  maxPages,
82
- maxResultsPerPage
109
+ maxResultsPerPage,
110
+ onPaginationChange
83
111
  }) => {
84
112
  const odysseyDesignTokens = useOdysseyDesignTokens();
85
113
  const {
@@ -106,12 +134,12 @@ const DataView = ({
106
134
  const [tableState, setTableState] = useState({
107
135
  columnSorting: [],
108
136
  columnVisibility: {},
109
- rowDensity: tableOptions?.initialDensity ?? densityValues[0]
137
+ rowDensity: tableLayoutOptions?.initialDensity ?? densityValues[0]
110
138
  });
111
- const shouldShowFilters = hasSearch || hasFilters;
139
+ const shouldShowFilters = hasSearch || hasFilters || additionalActionButton || additionalActionMenuItems;
112
140
  const availableFilters = useFilterConversion({
113
141
  filters: filters,
114
- columns: tableOptions?.columns
142
+ columns: tableLayoutOptions?.columns
115
143
  });
116
144
  useEffect(() => {
117
145
  if (!initialFilters && availableFilters) {
@@ -135,9 +163,12 @@ const DataView = ({
135
163
  useEffect(() => {
136
164
  setPagination(prev => ({
137
165
  pageIndex: 1,
138
- pageSize: prev.pageSize
166
+ pageSize: paginationType == "loadMore" ? resultsPerPage : prev.pageSize
139
167
  }));
140
- }, [filters, search]);
168
+ }, [filters, paginationType, resultsPerPage, search]);
169
+ useEffect(() => {
170
+ onPaginationChange?.(pagination);
171
+ }, [onPaginationChange, pagination]);
141
172
  useEffect(() => {
142
173
  fetchData({
143
174
  dataQueryParams,
@@ -173,17 +204,33 @@ const DataView = ({
173
204
  }
174
205
  return;
175
206
  }, [noResultsPlaceholder, t, isEmpty, isNoResults, emptyPlaceholder]);
176
- const additionalActions = useMemo(() => _jsxs(_Fragment, {
177
- children: [currentLayout === "table" && tableOptions && _jsx(TableSettings, {
178
- setTableState: setTableState,
179
- tableOptions: tableOptions,
180
- tableState: tableState
181
- }), availableLayouts.length > 1 && _jsx(LayoutSwitcher, {
182
- availableLayouts: availableLayouts,
183
- currentLayout: currentLayout,
184
- setCurrentLayout: setCurrentLayout
185
- })]
186
- }), [currentLayout, tableOptions, tableState, availableLayouts]);
207
+ const additionalActions = useMemo(() => {
208
+ return (metaText || currentLayout === "table" && tableLayoutOptions || availableLayouts.length > 1 || additionalActionButton || additionalActionMenuItems) && _jsxs(AdditionalActionsInner, {
209
+ odysseyDesignTokens: odysseyDesignTokens,
210
+ children: [metaText && _jsx(MetaTextContainer, {
211
+ odysseyDesignTokens: odysseyDesignTokens,
212
+ children: _jsx(Typography, {
213
+ color: "textSecondary",
214
+ children: metaText
215
+ })
216
+ }), currentLayout === "table" && tableLayoutOptions && _jsx(TableSettings, {
217
+ setTableState: setTableState,
218
+ tableLayoutOptions: tableLayoutOptions,
219
+ tableState: tableState
220
+ }), availableLayouts.length > 1 && _jsx(LayoutSwitcher, {
221
+ availableLayouts: availableLayouts,
222
+ currentLayout: currentLayout,
223
+ setCurrentLayout: setCurrentLayout
224
+ }), additionalActionButton, additionalActionMenuItems && _jsx(MenuButton, {
225
+ endIcon: _jsx(MoreIcon, {}),
226
+ ariaLabel: t("table.moreactions.arialabel"),
227
+ buttonVariant: "secondary",
228
+ menuAlignment: "right",
229
+ children: additionalActionMenuItems
230
+ })]
231
+ });
232
+ }, [additionalActionButton, additionalActionMenuItems, availableLayouts, currentLayout, metaText, odysseyDesignTokens, tableLayoutOptions, tableState, t]);
233
+ const enableVirtualization = useMemo(() => enableVirtualizationProp ?? paginationType === "loadMore", [enableVirtualizationProp, paginationType]);
187
234
  const {
188
235
  lastRow: lastRowOnPage
189
236
  } = usePagination({
@@ -224,13 +271,15 @@ const DataView = ({
224
271
  rowSelection: rowSelection,
225
272
  setRowSelection: setRowSelection
226
273
  }), !shouldShowFilters && additionalActions]
227
- }), !shouldShowFilters && !bulkActionMenuItems && !hasRowSelection && _jsx(AdditionalActionsContainer, {
274
+ }), !shouldShowFilters && !bulkActionMenuItems && !hasRowSelection && additionalActions && _jsx(AdditionalActionsContainer, {
275
+ odysseyDesignTokens: odysseyDesignTokens,
228
276
  children: additionalActions
229
- }), currentLayout === "table" && tableOptions && _jsx(TableContent, {
230
- columns: tableOptions.columns,
277
+ }), currentLayout === "table" && tableLayoutOptions && _jsx(TableLayoutContent, {
278
+ columns: tableLayoutOptions.columns,
231
279
  data: data,
232
280
  draggingRow: draggingRow,
233
281
  emptyState: emptyState,
282
+ enableVirtualization: enableVirtualization,
234
283
  getRowId: getRowId,
235
284
  hasRowReordering: hasRowReordering,
236
285
  hasRowSelection: hasRowSelection,
@@ -244,10 +293,10 @@ const DataView = ({
244
293
  rowSelection: rowSelection,
245
294
  setRowSelection: setRowSelection,
246
295
  setTableState: setTableState,
247
- tableOptions: tableOptions,
296
+ tableLayoutOptions: tableLayoutOptions,
248
297
  tableState: tableState,
249
298
  totalRows: totalRows
250
- }), (currentLayout === "list" || currentLayout === "grid") && stackOptions && _jsx(StackContent, {
299
+ }), (currentLayout === "list" || currentLayout === "grid") && cardLayoutOptions && _jsx(CardLayoutContent, {
251
300
  currentLayout: currentLayout,
252
301
  data: data,
253
302
  draggingRow: draggingRow,
@@ -264,7 +313,7 @@ const DataView = ({
264
313
  rowReorderingUtilities: rowReorderingUtilities,
265
314
  rowSelection: rowSelection,
266
315
  setRowSelection: setRowSelection,
267
- stackOptions: stackOptions,
316
+ cardLayoutOptions: cardLayoutOptions,
268
317
  totalRows: totalRows
269
318
  }), hasPagination && _jsx(Pagination, {
270
319
  currentPageLabel: t("pagination.page"),
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataView.js","names":["memo","useEffect","useMemo","useState","useTranslation","availableLayouts","allAvailableLayouts","densityValues","Box","BulkActionsMenu","Callout","DataFilters","EmptyState","fetchData","LayoutSwitcher","MenuButton","MoreIcon","TableSettings","Pagination","usePagination","TableLayoutContent","CardLayoutContent","useFilterConversion","useRowReordering","Typography","useOdysseyDesignTokens","styled","jsx","_jsx","jsxs","_jsxs","DataViewContainer","shouldForwardProp","prop","odysseyDesignTokens","display","flexDirection","gap","Spacing4","BulkActionsContainer","justifyContent","AdditionalActionsContainer","Spacing2","AdditionalActionsInner","alignItems","MetaTextContainer","marginInlineEnd","DataView","additionalActionButton","additionalActionMenuItems","bulkActionMenuItems","currentPage","emptyPlaceholder","enableVirtualization","enableVirtualizationProp","errorMessage","errorMessageProp","filters","filtersProp","getData","getRowId","getRowIdProp","hasFilters","hasPagination","hasSearch","hasSearchSubmitButton","hasRowReordering","hasRowSelection","initialLayout","isEmpty","isEmptyProp","isLoading","isLoadingProp","isNoResults","isNoResultsProp","isPaginationMoreDisabled","isRowReorderingDisabled","metaText","noResultsPlaceholder","onChangeRowSelection","onReorderRows","paginationType","resultsPerPage","searchDelayTime","cardLayoutOptions","tableLayoutOptions","totalRows","maxPages","maxResultsPerPage","onPaginationChange","t","currentLayout","setCurrentLayout","data","setData","setIsLoading","setIsEmpty","setIsNoResults","setErrorMessage","search","setSearch","initialFilters","setInitialFilters","setFilters","draggingRow","setDraggingRow","rowSelection","setRowSelection","pagination","setPagination","pageIndex","pageSize","tableState","setTableState","columnSorting","columnVisibility","rowDensity","initialDensity","shouldShowFilters","availableFilters","columns","dataQueryParams","page","sort","row","id","prev","undefined","length","prevValue","emptyState","noResultsInnerContent","description","heading","additionalActions","children","color","endIcon","ariaLabel","buttonVariant","menuAlignment","lastRow","lastRowOnPage","currentRowsCount","rowReorderingUtilities","severity","text","isDisabled","onChangeFilters","onChangeSearch","menuItems","currentPageLabel","isMoreDisabled","loadMoreLabel","maxPageIndex","maxPageSize","nextLabel","previousLabel","rowsPerPageLabel","variant","MemoizedDataView","displayName"],"sources":["../../../src/labs/DataView/DataView.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 { memo, useEffect, useMemo, useState } from \"react\";\nimport {\n MRT_Row,\n MRT_RowData,\n MRT_RowSelectionState,\n} from \"material-react-table\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n availableLayouts as allAvailableLayouts,\n densityValues,\n} from \"./constants\";\nimport {\n DataLayout,\n UniversalProps,\n ViewProps,\n TableState,\n} from \"./componentTypes\";\nimport { Box } from \"../../Box\";\nimport { BulkActionsMenu } from \"./BulkActionsMenu\";\nimport { Callout } from \"../../Callout\";\nimport { DataFilters } from \"../DataFilters\";\nimport { EmptyState } from \"../../EmptyState\";\nimport { fetchData } from \"./fetchData\";\nimport { LayoutSwitcher } from \"./LayoutSwitcher\";\nimport { MenuButton } from \"../../MenuButton\";\nimport { MoreIcon } from \"../../icons.generated\";\nimport { TableSettings } from \"./TableSettings\";\nimport { Pagination, usePagination } from \"../../Pagination\";\nimport { TableLayoutContent } from \"./TableLayoutContent\";\nimport { CardLayoutContent } from \"./CardLayoutContent\";\nimport { useFilterConversion } from \"./useFilterConversion\";\nimport { useRowReordering } from \"../../DataTable/useRowReordering\";\nimport { Typography } from \"../../Typography\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext\";\nimport styled from \"@emotion/styled\";\n\nexport type DataViewProps = UniversalProps & ViewProps<DataLayout>;\n\nconst DataViewContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n flexDirection: \"column\",\n gap: odysseyDesignTokens.Spacing4,\n}));\n\nconst BulkActionsContainer = styled(\"div\")(() => ({\n display: \"flex\",\n justifyContent: \"space-between\",\n}));\n\nconst AdditionalActionsContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n justifyContent: \"flex-end\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst AdditionalActionsInner = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n alignItems: \"center\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst MetaTextContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n marginInlineEnd: odysseyDesignTokens.Spacing2,\n}));\n\nconst DataView = ({\n additionalActionButton,\n additionalActionMenuItems,\n availableLayouts = allAvailableLayouts,\n bulkActionMenuItems,\n currentPage = 1,\n emptyPlaceholder,\n enableVirtualization: enableVirtualizationProp,\n errorMessage: errorMessageProp,\n filters: filtersProp,\n getData,\n getRowId: getRowIdProp,\n hasFilters,\n hasPagination,\n hasSearch,\n hasSearchSubmitButton,\n hasRowReordering,\n hasRowSelection,\n initialLayout,\n isEmpty: isEmptyProp,\n isLoading: isLoadingProp,\n isNoResults: isNoResultsProp,\n isPaginationMoreDisabled,\n isRowReorderingDisabled,\n metaText,\n noResultsPlaceholder,\n onChangeRowSelection,\n onReorderRows,\n paginationType = \"paged\",\n resultsPerPage = 20,\n searchDelayTime,\n cardLayoutOptions,\n tableLayoutOptions,\n totalRows,\n maxPages,\n maxResultsPerPage,\n onPaginationChange,\n}: DataViewProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const [currentLayout, setCurrentLayout] = useState<DataLayout>(\n initialLayout ?? availableLayouts[0],\n );\n\n const [data, setData] = useState<MRT_RowData[]>([]);\n const [isLoading, setIsLoading] = useState<boolean>(isLoadingProp ?? true);\n const [isEmpty, setIsEmpty] = useState<boolean>(isEmptyProp ?? true);\n const [isNoResults, setIsNoResults] = useState<boolean>(\n isNoResultsProp ?? false,\n );\n const [errorMessage, setErrorMessage] =\n useState<UniversalProps[\"errorMessage\"]>(errorMessageProp);\n\n const [search, setSearch] = useState<string>(\"\");\n\n const [initialFilters, setInitialFilters] =\n useState<UniversalProps[\"filters\"]>(filtersProp);\n const [filters, setFilters] =\n useState<UniversalProps[\"filters\"]>(filtersProp);\n\n const [draggingRow, setDraggingRow] = useState<MRT_Row<MRT_RowData> | null>();\n\n const [rowSelection, setRowSelection] = useState<MRT_RowSelectionState>({});\n\n useEffect(() => {\n onChangeRowSelection?.(rowSelection);\n }, [rowSelection, onChangeRowSelection]);\n\n const [pagination, setPagination] = useState({\n pageIndex: currentPage,\n pageSize: resultsPerPage,\n });\n\n const [tableState, setTableState] = useState<TableState>({\n columnSorting: [],\n columnVisibility: {},\n rowDensity: tableLayoutOptions?.initialDensity ?? densityValues[0],\n });\n\n const shouldShowFilters =\n hasSearch ||\n hasFilters ||\n additionalActionButton ||\n additionalActionMenuItems;\n\n const availableFilters = useFilterConversion({\n filters: filters,\n columns: tableLayoutOptions?.columns,\n });\n\n useEffect(() => {\n if (!initialFilters && availableFilters) {\n setInitialFilters(availableFilters);\n }\n }, [availableFilters, initialFilters]);\n\n const dataQueryParams = useMemo(\n () => ({\n page: pagination.pageIndex,\n resultsPerPage: pagination.pageSize,\n search,\n filters: availableFilters,\n sort: tableState?.columnSorting,\n }),\n [\n pagination.pageIndex,\n pagination.pageSize,\n search,\n availableFilters,\n tableState?.columnSorting,\n ],\n );\n\n const getRowId = getRowIdProp ? getRowIdProp : (row: MRT_RowData) => row.id;\n\n // Update pagination state if props change\n useEffect(() => {\n setPagination({\n pageIndex: currentPage,\n pageSize: resultsPerPage,\n });\n }, [currentPage, resultsPerPage]);\n\n // Reset pagination if search or filters change\n useEffect(() => {\n setPagination((prev) => ({\n pageIndex: 1,\n pageSize: paginationType == \"loadMore\" ? resultsPerPage : prev.pageSize,\n }));\n }, [filters, paginationType, resultsPerPage, search]);\n\n // Fire onPaginationChange if pagination changes\n useEffect(() => {\n onPaginationChange?.(pagination);\n }, [onPaginationChange, pagination]);\n\n // Retrieve the data\n useEffect(() => {\n fetchData({\n dataQueryParams,\n errorMessageProp,\n getData,\n setData,\n setErrorMessage,\n // Only include setIsLoading if that's not being controlled manually\n setIsLoading: isLoadingProp ? undefined : setIsLoading,\n });\n }, [dataQueryParams, errorMessageProp, getData, isLoadingProp]);\n\n // When data is updated\n useEffect(() => {\n setIsEmpty(\n pagination.pageIndex === currentPage &&\n pagination.pageSize === resultsPerPage &&\n search === \"\" &&\n filters === initialFilters &&\n data.length === 0,\n );\n }, [\n currentPage,\n data,\n filters,\n initialFilters,\n pagination,\n resultsPerPage,\n search,\n ]);\n\n // Change loading, empty and noResults state on prop change\n useEffect(() => {\n setIsLoading((prevValue) => isLoadingProp ?? prevValue);\n }, [isLoadingProp]);\n\n useEffect(() => {\n setIsEmpty((prevValue) => isEmptyProp ?? prevValue);\n }, [isEmptyProp]);\n\n useEffect(() => {\n setIsNoResults((prevValue) => isNoResultsProp ?? prevValue);\n }, [isNoResultsProp]);\n\n const emptyState = useMemo(() => {\n const noResultsInnerContent = noResultsPlaceholder || (\n <EmptyState\n description={t(\"table.noresults.text\")}\n heading={t(\"table.noresults.heading\")}\n />\n );\n\n if (isEmpty) {\n return emptyPlaceholder || noResultsInnerContent;\n }\n\n if (isNoResults) {\n return noResultsInnerContent;\n }\n\n return;\n }, [noResultsPlaceholder, t, isEmpty, isNoResults, emptyPlaceholder]);\n\n const additionalActions = useMemo(() => {\n return (\n (metaText ||\n (currentLayout === \"table\" && tableLayoutOptions) ||\n availableLayouts.length > 1 ||\n additionalActionButton ||\n additionalActionMenuItems) && (\n <AdditionalActionsInner odysseyDesignTokens={odysseyDesignTokens}>\n {metaText && (\n <MetaTextContainer odysseyDesignTokens={odysseyDesignTokens}>\n <Typography color=\"textSecondary\">{metaText}</Typography>\n </MetaTextContainer>\n )}\n\n {currentLayout === \"table\" && tableLayoutOptions && (\n <TableSettings\n setTableState={setTableState}\n tableLayoutOptions={tableLayoutOptions}\n tableState={tableState}\n />\n )}\n\n {availableLayouts.length > 1 && (\n <LayoutSwitcher\n availableLayouts={availableLayouts}\n currentLayout={currentLayout}\n setCurrentLayout={setCurrentLayout}\n />\n )}\n\n {additionalActionButton}\n\n {additionalActionMenuItems && (\n <MenuButton\n endIcon={<MoreIcon />}\n ariaLabel={t(\"table.moreactions.arialabel\")}\n buttonVariant=\"secondary\"\n menuAlignment=\"right\"\n >\n {additionalActionMenuItems}\n </MenuButton>\n )}\n </AdditionalActionsInner>\n )\n );\n }, [\n additionalActionButton,\n additionalActionMenuItems,\n availableLayouts,\n currentLayout,\n metaText,\n odysseyDesignTokens,\n tableLayoutOptions,\n tableState,\n t,\n ]);\n\n const enableVirtualization = useMemo(\n () => enableVirtualizationProp ?? paginationType === \"loadMore\",\n [enableVirtualizationProp, paginationType],\n );\n\n const { lastRow: lastRowOnPage } = usePagination({\n currentRowsCount: data.length,\n pageIndex: pagination.pageIndex,\n pageSize: pagination.pageSize,\n totalRows,\n });\n\n const rowReorderingUtilities = useRowReordering({\n totalRows,\n onReorderRows,\n data,\n setData,\n draggingRow,\n setDraggingRow,\n resultsPerPage: pagination.pageSize,\n page: pagination.pageIndex,\n });\n\n return (\n <DataViewContainer odysseyDesignTokens={odysseyDesignTokens}>\n {errorMessage && (\n <Box>\n <Callout severity=\"error\" text={errorMessage} />\n </Box>\n )}\n\n {shouldShowFilters && (\n <DataFilters\n additionalActions={additionalActions}\n filters={hasFilters ? availableFilters : undefined}\n hasSearchSubmitButton={hasSearchSubmitButton}\n isDisabled={isEmpty}\n onChangeFilters={hasFilters ? setFilters : undefined}\n onChangeSearch={hasSearch ? setSearch : undefined}\n searchDelayTime={searchDelayTime}\n />\n )}\n\n {(bulkActionMenuItems || hasRowSelection) && (\n <BulkActionsContainer>\n <BulkActionsMenu\n data={data}\n menuItems={bulkActionMenuItems}\n rowSelection={rowSelection}\n setRowSelection={setRowSelection}\n />\n {!shouldShowFilters && additionalActions}\n </BulkActionsContainer>\n )}\n\n {!shouldShowFilters &&\n !bulkActionMenuItems &&\n !hasRowSelection &&\n additionalActions && (\n <AdditionalActionsContainer odysseyDesignTokens={odysseyDesignTokens}>\n {additionalActions}\n </AdditionalActionsContainer>\n )}\n\n {currentLayout === \"table\" && tableLayoutOptions && (\n <TableLayoutContent\n columns={tableLayoutOptions.columns}\n data={data}\n draggingRow={draggingRow}\n emptyState={emptyState}\n enableVirtualization={enableVirtualization}\n getRowId={getRowId}\n hasRowReordering={hasRowReordering}\n hasRowSelection={hasRowSelection}\n isEmpty={isEmpty}\n isLoading={isLoading}\n isNoResults={isNoResults}\n isRowReorderingDisabled={isRowReorderingDisabled}\n onReorderRows={onReorderRows}\n pagination={pagination}\n rowReorderingUtilities={rowReorderingUtilities}\n rowSelection={rowSelection}\n setRowSelection={setRowSelection}\n setTableState={setTableState}\n tableLayoutOptions={tableLayoutOptions}\n tableState={tableState}\n totalRows={totalRows}\n />\n )}\n {(currentLayout === \"list\" || currentLayout === \"grid\") &&\n cardLayoutOptions && (\n <CardLayoutContent\n currentLayout={currentLayout}\n data={data}\n draggingRow={draggingRow}\n emptyState={emptyState}\n getRowId={getRowId}\n hasRowReordering={hasRowReordering}\n hasRowSelection={hasRowSelection}\n isEmpty={isEmpty}\n isLoading={isLoading}\n isNoResults={isNoResults}\n isRowReorderingDisabled={isRowReorderingDisabled}\n onReorderRows={onReorderRows}\n pagination={pagination}\n rowReorderingUtilities={rowReorderingUtilities}\n rowSelection={rowSelection}\n setRowSelection={setRowSelection}\n cardLayoutOptions={cardLayoutOptions}\n totalRows={totalRows}\n />\n )}\n\n {hasPagination && (\n <Pagination\n currentPageLabel={t(\"pagination.page\")}\n isDisabled={isEmpty}\n isMoreDisabled={isPaginationMoreDisabled}\n lastRow={lastRowOnPage}\n loadMoreLabel={t(\"pagination.loadmore\")}\n maxPageIndex={maxPages}\n maxPageSize={maxResultsPerPage}\n nextLabel={t(\"pagination.next\")}\n onPaginationChange={setPagination}\n pageIndex={pagination.pageIndex}\n pageSize={pagination.pageSize}\n previousLabel={t(\"pagination.previous\")}\n rowsPerPageLabel={t(\"pagination.rowsperpage\")}\n totalRows={totalRows}\n currentRowsCount={data.length}\n variant={paginationType}\n />\n )}\n </DataViewContainer>\n );\n};\n\nconst MemoizedDataView = memo(DataView);\nMemoizedDataView.displayName = \"DataView\";\n\nexport { MemoizedDataView as DataView };\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DetailPanel.js","names":["memo","DetailPanel","row","renderDetailPanel","MemoizedDetailPanel","displayName"],"sources":["../../../src/labs/DataView/DetailPanel.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 { memo } from \"react\";\nimport { CardLayoutProps } from \"./componentTypes\";\nimport { DataRow } from \"./dataTypes\";\n\nconst DetailPanel = ({\n row,\n renderDetailPanel,\n}: {\n row: DataRow;\n renderDetailPanel: CardLayoutProps[\"renderDetailPanel\"];\n}) => {\n if (!renderDetailPanel) return null;\n return renderDetailPanel({ row });\n};\n\nconst MemoizedDetailPanel = memo(DetailPanel);\nMemoizedDetailPanel.displayName = \"DetailPanel\";\n\nexport { MemoizedDetailPanel as DetailPanel };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,IAAI,QAAQ,OAAO;AAI5B,MAAMC,WAAW,GAAGA,CAAC;EACnBC,GAAG;EACHC;AAIF,CAAC,KAAK;EACJ,IAAI,CAACA,iBAAiB,EAAE,OAAO,IAAI;EACnC,OAAOA,iBAAiB,CAAC;IAAED;EAAI,CAAC,CAAC;AACnC,CAAC;AAED,MAAME,mBAAmB,GAAGJ,IAAI,CAACC,WAAW,CAAC;AAC7CG,mBAAmB,CAACC,WAAW,GAAG,aAAa;AAE/C,SAASD,mBAAmB,IAAIH,WAAW"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayoutSwitcher.js","names":["memo","useCallback","useMemo","useTranslation","MenuButton","MenuItem","jsx","_jsx","LayoutSwitcher","availableLayouts","currentLayout","setCurrentLayout","t","changeLayout","value","memoizedMenuItems","map","onClick","label","ariaLabel","buttonLabel","charAt","toUpperCase","slice","menuAlignment","shouldCloseOnSelect","children","isSelected","MemoizedLayoutSwitcher","displayName"],"sources":["../../../src/labs/DataView/LayoutSwitcher.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 { Dispatch, memo, useCallback, SetStateAction, useMemo } from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { AvailableLayouts, DataLayout } from \"./componentTypes\";\nimport { MenuButton } from \"../../MenuButton\";\nimport { MenuItem } from \"../../MenuItem\";\n\nexport type LayoutSwitcherProps = {\n availableLayouts: AvailableLayouts;\n currentLayout: DataLayout;\n setCurrentLayout: Dispatch<SetStateAction<DataLayout>>;\n};\n\nconst LayoutSwitcher = ({\n availableLayouts,\n currentLayout,\n setCurrentLayout,\n}: LayoutSwitcherProps) => {\n const { t } = useTranslation();\n\n const changeLayout = useCallback(\n (value: DataLayout) => {\n setCurrentLayout(value);\n },\n [setCurrentLayout],\n );\n\n const memoizedMenuItems = useMemo(\n () =>\n availableLayouts.map((value: DataLayout) => ({\n value,\n onClick: () => changeLayout(value),\n label: t(`dataview.layout.${value}`),\n })),\n [availableLayouts, changeLayout, t],\n );\n\n return (\n <MenuButton\n ariaLabel=\"Layout\"\n buttonLabel={`${currentLayout.charAt(0).toUpperCase()}${currentLayout.slice(1)}`}\n menuAlignment=\"right\"\n shouldCloseOnSelect={false}\n >\n {memoizedMenuItems.map(({ value, onClick, label }) => (\n <MenuItem\n key={value}\n isSelected={currentLayout === value}\n onClick={onClick}\n >\n {label}\n </MenuItem>\n ))}\n </MenuButton>\n );\n};\n\nconst MemoizedLayoutSwitcher = memo(LayoutSwitcher);\nMemoizedLayoutSwitcher.displayName = \"LayoutSwitcher\";\n\nexport { MemoizedLayoutSwitcher as LayoutSwitcher };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAmBA,IAAI,EAAEC,WAAW,EAAkBC,OAAO,QAAQ,OAAO;AAC5E,SAASC,cAAc,QAAQ,eAAe;AAAC,SAGtCC,UAAU;AAAA,SACVC,QAAQ;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAQjB,MAAMC,cAAc,GAAGA,CAAC;EACtBC,gBAAgB;EAChBC,aAAa;EACbC;AACmB,CAAC,KAAK;EACzB,MAAM;IAAEC;EAAE,CAAC,GAAGT,cAAc,CAAC,CAAC;EAE9B,MAAMU,YAAY,GAAGZ,WAAW,CAC7Ba,KAAiB,IAAK;IACrBH,gBAAgB,CAACG,KAAK,CAAC;EACzB,CAAC,EACD,CAACH,gBAAgB,CACnB,CAAC;EAED,MAAMI,iBAAiB,GAAGb,OAAO,CAC/B,MACEO,gBAAgB,CAACO,GAAG,CAAEF,KAAiB,KAAM;IAC3CA,KAAK;IACLG,OAAO,EAAEA,CAAA,KAAMJ,YAAY,CAACC,KAAK,CAAC;IAClCI,KAAK,EAAEN,CAAC,CAAE,mBAAkBE,KAAM,EAAC;EACrC,CAAC,CAAC,CAAC,EACL,CAACL,gBAAgB,EAAEI,YAAY,EAAED,CAAC,CACpC,CAAC;EAED,OACEL,IAAA,CAACH,UAAU;IACTe,SAAS,EAAC,QAAQ;IAClBC,WAAW,EAAG,GAAEV,aAAa,CAACW,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAE,GAAEZ,aAAa,CAACa,KAAK,CAAC,CAAC,CAAE,EAAE;IACjFC,aAAa,EAAC,OAAO;IACrBC,mBAAmB,EAAE,KAAM;IAAAC,QAAA,EAE1BX,iBAAiB,CAACC,GAAG,CAAC,CAAC;MAAEF,KAAK;MAAEG,OAAO;MAAEC;IAAM,CAAC,KAC/CX,IAAA,CAACF,QAAQ;MAEPsB,UAAU,EAAEjB,aAAa,KAAKI,KAAM;MACpCG,OAAO,EAAEA,OAAQ;MAAAS,QAAA,EAEhBR;IAAK,GAJDJ,KAKG,CACX;EAAC,CACQ,CAAC;AAEjB,CAAC;AAED,MAAMc,sBAAsB,GAAG5B,IAAI,CAACQ,cAAc,CAAC;AACnDoB,sBAAsB,CAACC,WAAW,GAAG,gBAAgB;AAErD,SAASD,sBAAsB,IAAIpB,cAAc"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RowActions.js","names":["memo","useCallback","useTranslation","ArrowBottomIcon","ArrowDownIcon","ArrowTopIcon","ArrowUpIcon","MenuItem","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","RowActions","isRowReorderingDisabled","row","rowActionMenuItems","rowIndex","totalRows","updateRowOrder","t","handleToFrontClick","rowId","id","newRowIndex","handleForwardClick","Math","max","handleBackwardClick","handleToBackClick","children","isDisabled","onClick","MemoizedRowActions","displayName"],"sources":["../../../src/labs/DataView/RowActions.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { Fragment, ReactElement, memo, useCallback } from \"react\";\nimport { MRT_Row, MRT_RowData } from \"material-react-table\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n ArrowBottomIcon,\n ArrowDownIcon,\n ArrowTopIcon,\n ArrowUpIcon,\n} from \"../../icons.generated\";\nimport { Button } from \"../../Button\";\nimport { MenuItem } from \"../../MenuItem\";\nimport { DataTableProps } from \"./DataTable\";\nimport { MenuButtonProps } from \"../../MenuButton\";\n\nexport type RowActionsProps = {\n isRowReorderingDisabled?: boolean;\n row: MRT_Row<MRT_RowData> | MRT_RowData;\n rowActionButtons?: (\n row: MRT_RowData,\n ) => ReactElement<typeof Button> | ReactElement<typeof Fragment>;\n rowActionMenuItems?: (row: MRT_RowData) => MenuButtonProps[\"children\"];\n rowIndex: number;\n totalRows?: DataTableProps[\"totalRows\"];\n updateRowOrder?: ({\n newRowIndex,\n rowId,\n }: {\n newRowIndex: number;\n rowId: string;\n }) => void;\n};\n\nconst RowActions = ({\n isRowReorderingDisabled,\n row,\n rowActionMenuItems,\n rowIndex,\n totalRows,\n updateRowOrder,\n}: RowActionsProps) => {\n const { t } = useTranslation();\n\n const handleToFrontClick = useCallback(() => {\n updateRowOrder && updateRowOrder({ rowId: row.id, newRowIndex: 0 });\n }, [row.id, updateRowOrder]);\n\n const handleForwardClick = useCallback(() => {\n updateRowOrder &&\n updateRowOrder({ rowId: row.id, newRowIndex: Math.max(0, rowIndex - 1) });\n }, [row.id, rowIndex, updateRowOrder]);\n\n const handleBackwardClick = useCallback(() => {\n updateRowOrder &&\n updateRowOrder({ rowId: row.id, newRowIndex: rowIndex + 1 });\n }, [row.id, rowIndex, updateRowOrder]);\n\n const handleToBackClick = useCallback(() => {\n updateRowOrder &&\n updateRowOrder({\n rowId: row.id,\n newRowIndex: totalRows ? totalRows - 1 : rowIndex,\n });\n }, [row.id, rowIndex, totalRows, updateRowOrder]);\n\n return (\n <>\n {rowActionMenuItems && rowActionMenuItems(row)}\n {rowActionMenuItems && updateRowOrder && <hr />}\n {updateRowOrder && (\n <>\n <MenuItem\n isDisabled={rowIndex <= 0 || isRowReorderingDisabled}\n onClick={handleToFrontClick}\n >\n <ArrowTopIcon /> {t(\"table.reorder.tofront\")}\n </MenuItem>\n <MenuItem\n isDisabled={rowIndex <= 0 || isRowReorderingDisabled}\n onClick={handleForwardClick}\n >\n <ArrowUpIcon /> {t(\"table.reorder.forward\")}\n </MenuItem>\n <MenuItem\n isDisabled={\n (totalRows ? rowIndex >= totalRows - 1 : false) ||\n isRowReorderingDisabled\n }\n onClick={handleBackwardClick}\n >\n <ArrowDownIcon /> {t(\"table.reorder.backward\")}\n </MenuItem>\n {totalRows && (\n <MenuItem\n isDisabled={rowIndex >= totalRows - 1 || isRowReorderingDisabled}\n onClick={handleToBackClick}\n >\n <ArrowBottomIcon /> {t(\"table.reorder.toback\")}\n </MenuItem>\n )}\n </>\n )}\n </>\n );\n};\n\nconst MemoizedRowActions = memo(RowActions);\nMemoizedRowActions.displayName = \"RowActions\";\n\nexport { MemoizedRowActions as RowActions };\n"],"mappings":"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"}
@@ -10,7 +10,7 @@
10
10
  * See the License for the specific language governing permissions and limitations under the License.
11
11
  */
12
12
 
13
- import { memo, useCallback, useMemo, useRef, useState } from "react";
13
+ import { memo, useCallback, useMemo, useRef, useState, useEffect } from "react";
14
14
  import styled from "@emotion/styled";
15
15
  import { MRT_TableContainer, useMaterialReactTable } from "material-react-table";
16
16
  import { useTranslation } from "react-i18next";
@@ -33,11 +33,12 @@ const TextWrapper = styled("div")(() => ({
33
33
  const RowActionsContainer = styled("div")(() => ({
34
34
  display: "flex"
35
35
  }));
36
- const TableContent = ({
36
+ const TableLayoutContent = ({
37
37
  columns,
38
38
  data,
39
39
  draggingRow,
40
40
  emptyState,
41
+ enableVirtualization,
41
42
  getRowId,
42
43
  hasRowReordering,
43
44
  hasRowSelection,
@@ -51,13 +52,14 @@ const TableContent = ({
51
52
  rowSelection,
52
53
  setRowSelection,
53
54
  setTableState,
54
- tableOptions,
55
+ tableLayoutOptions,
55
56
  tableState,
56
57
  totalRows
57
58
  }) => {
58
59
  const [isTableContainerScrolledToStart, setIsTableContainerScrolledToStart] = useState(true);
59
60
  const [isTableContainerScrolledToEnd, setIsTableContainerScrolledToEnd] = useState(true);
60
61
  const [tableInnerContainerWidth, setTableInnerContainerWidth] = useState("100%");
62
+ const shouldUpdateScroll = useRef(false);
61
63
  const tableOuterContainerRef = useRef(null);
62
64
  const tableInnerContainerRef = useRef(null);
63
65
  const tableContentRef = useRef(null);
@@ -103,7 +105,7 @@ const TableContent = ({
103
105
  }) => {
104
106
  const currentIndex = row.index + (pagination.pageIndex - 1) * pagination.pageSize;
105
107
  return _jsxs(RowActionsContainer, {
106
- children: [tableOptions.rowActionButtons?.(row), (tableOptions.rowActionMenuItems || hasRowReordering) && _jsx(MenuButton, {
108
+ children: [tableLayoutOptions.rowActionButtons?.(row), (tableLayoutOptions.rowActionMenuItems || hasRowReordering) && _jsx(MenuButton, {
107
109
  ariaLabel: t("table.moreactions.arialabel"),
108
110
  buttonVariant: "floating",
109
111
  endIcon: _jsx(MoreIcon, {}),
@@ -112,14 +114,14 @@ const TableContent = ({
112
114
  children: _jsx(RowActions, {
113
115
  isRowReorderingDisabled: isRowReorderingDisabled,
114
116
  row: row,
115
- rowActionMenuItems: tableOptions.rowActionMenuItems,
117
+ rowActionMenuItems: tableLayoutOptions.rowActionMenuItems,
116
118
  rowIndex: currentIndex,
117
119
  totalRows: totalRows,
118
120
  updateRowOrder: hasRowReordering && onReorderRows ? updateRowOrder : undefined
119
121
  })
120
122
  })]
121
123
  });
122
- }, [hasRowReordering, isRowReorderingDisabled, onReorderRows, pagination.pageIndex, pagination.pageSize, t, tableOptions, totalRows, updateRowOrder]);
124
+ }, [hasRowReordering, isRowReorderingDisabled, onReorderRows, pagination.pageIndex, pagination.pageSize, t, tableLayoutOptions, totalRows, updateRowOrder]);
123
125
  const innerWidthStyle = useMemo(() => ({
124
126
  width: tableInnerContainerWidth
125
127
  }), [tableInnerContainerWidth]);
@@ -127,7 +129,18 @@ const TableContent = ({
127
129
  sx: innerWidthStyle,
128
130
  children: emptyState
129
131
  }), [innerWidthStyle, emptyState]);
130
- const shouldDisplayRowActions = useMemo(() => hasRowReordering === true && onReorderRows || tableOptions.rowActionButtons || tableOptions.rowActionMenuItems ? true : false, [hasRowReordering, onReorderRows, tableOptions.rowActionButtons, tableOptions.rowActionMenuItems]);
132
+ useEffect(() => {
133
+ if (enableVirtualization) {
134
+ shouldUpdateScroll.current = true;
135
+ }
136
+ }, [enableVirtualization, pagination]);
137
+ useEffect(() => {
138
+ if (shouldUpdateScroll.current && tableContentRef.current && typeof tableInnerContainerRef.current?.scrollTo !== "undefined") {
139
+ tableInnerContainerRef.current?.scrollTo(0, tableContentRef.current.clientHeight);
140
+ shouldUpdateScroll.current = false;
141
+ }
142
+ }, [data]);
143
+ const shouldDisplayRowActions = useMemo(() => hasRowReordering === true && onReorderRows || tableLayoutOptions.rowActionButtons || tableLayoutOptions.rowActionMenuItems ? true : false, [hasRowReordering, onReorderRows, tableLayoutOptions.rowActionButtons, tableLayoutOptions.rowActionMenuItems]);
131
144
  const dataTable = useMaterialReactTable({
132
145
  data: !isEmpty && !isNoResults ? data : [],
133
146
  columns,
@@ -170,9 +183,9 @@ const TableContent = ({
170
183
  display: "flex",
171
184
  visibility: "hidden"
172
185
  },
173
- children: [tableOptions.rowActionButtons && tableOptions.rowActionButtons({
186
+ children: [tableLayoutOptions.rowActionButtons && tableLayoutOptions.rowActionButtons({
174
187
  id: null
175
- }), (hasRowReordering === true && onReorderRows || tableOptions.rowActionMenuItems) && _jsx(Box, {
188
+ }), (hasRowReordering === true && onReorderRows || tableLayoutOptions.rowActionMenuItems) && _jsx(Box, {
176
189
  children: _jsx(Button, {
177
190
  endIcon: _jsx(MoreIcon, {}),
178
191
  size: "small",
@@ -187,19 +200,20 @@ const TableContent = ({
187
200
  },
188
201
  muiTableProps: {
189
202
  ref: tableContentRef,
190
- className: !shouldDisplayRowActions && tableOptions.hasColumnResizing ? "ods-hide-spacer-column" : ""
203
+ className: !shouldDisplayRowActions && tableLayoutOptions.hasColumnResizing ? "ods-hide-spacer-column" : ""
191
204
  },
192
205
  muiTableContainerProps: {
193
206
  ref: tableInnerContainerRef
194
207
  },
195
208
  muiTableBodyProps: () => ({
196
- className: rowDensityClassName
209
+ className: rowDensityClassName,
210
+ tabIndex: enableVirtualization ? 0 : undefined
197
211
  }),
198
- enableColumnResizing: tableOptions.hasColumnResizing,
212
+ enableColumnResizing: tableLayoutOptions.hasColumnResizing,
199
213
  defaultColumn: {
200
214
  Cell: defaultCell
201
215
  },
202
- enableRowActions: shouldDisplayRowActions,
216
+ enableRowActions: hasRowReordering === true && onReorderRows || tableLayoutOptions.rowActionButtons || tableLayoutOptions.rowActionMenuItems ? true : false,
203
217
  renderRowActions: ({
204
218
  row
205
219
  }) => renderRowActions({
@@ -248,8 +262,8 @@ const TableContent = ({
248
262
  sx: dragHandleStyles,
249
263
  ...dragHandleText
250
264
  }),
251
- renderDetailPanel: tableOptions.renderDetailPanel,
252
- enableRowVirtualization: data.length >= 50,
265
+ renderDetailPanel: tableLayoutOptions.renderDetailPanel,
266
+ enableRowVirtualization: enableVirtualization,
253
267
  muiTableHeadCellProps: ({
254
268
  column: currentColumn
255
269
  }) => ({
@@ -260,7 +274,7 @@ const TableContent = ({
260
274
  }) => ({
261
275
  className: column.getIsResizing() ? "isResizing" : ""
262
276
  }),
263
- enableSorting: tableOptions.hasSorting === true,
277
+ enableSorting: tableLayoutOptions.hasSorting === true,
264
278
  onSortingChange: sortingUpdater => {
265
279
  const newSortVal = typeof sortingUpdater === "function" ? sortingUpdater(tableState.columnSorting) : tableState.columnSorting;
266
280
  setTableState(prevState => ({
@@ -288,7 +302,7 @@ const TableContent = ({
288
302
  })
289
303
  });
290
304
  };
291
- const MemoizedTableContent = memo(TableContent);
292
- MemoizedTableContent.displayName = "TableContent";
293
- export { MemoizedTableContent as TableContent };
294
- //# sourceMappingURL=TableContent.js.map
305
+ const MemoizedTableLayoutContent = memo(TableLayoutContent);
306
+ MemoizedTableLayoutContent.displayName = "TableLayoutContent";
307
+ export { MemoizedTableLayoutContent as TableLayoutContent };
308
+ //# sourceMappingURL=TableLayoutContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableLayoutContent.js","names":["memo","useCallback","useMemo","useRef","useState","useEffect","styled","MRT_TableContainer","useMaterialReactTable","useTranslation","ArrowDownIcon","ArrowUnsortedIcon","ChevronDownIcon","DragIndicatorIcon","Box","Button","dataTableImmutableSettings","displayColumnDefOptions","ScrollableTableContainer","MenuButton","MoreIcon","RowActions","useOdysseyDesignTokens","useScrollIndication","jsx","_jsx","jsxs","_jsxs","TextWrapper","whiteSpace","textOverflow","overflow","RowActionsContainer","display","TableLayoutContent","columns","data","draggingRow","emptyState","enableVirtualization","getRowId","hasRowReordering","hasRowSelection","isEmpty","isLoading","isNoResults","isRowReorderingDisabled","onReorderRows","pagination","rowReorderingUtilities","rowSelection","setRowSelection","setTableState","tableLayoutOptions","tableState","totalRows","isTableContainerScrolledToStart","setIsTableContainerScrolledToStart","isTableContainerScrolledToEnd","setIsTableContainerScrolledToEnd","tableInnerContainerWidth","setTableInnerContainerWidth","shouldUpdateScroll","tableOuterContainerRef","tableInnerContainerRef","tableContentRef","tableInnerContainer","current","tableOuterContainer","odysseyDesignTokens","t","columnIds","map","column","accessorKey","columnOrder","filter","id","rowDensityClassName","rowDensity","defaultCell","cell","value","getValue","hasTextWrapping","columnDef","enableWrapping","children","draggableTableBodyRowClassName","dragHandleStyles","dragHandleText","handleDragHandleKeyDown","handleDragHandleOnDragCapture","handleDragHandleOnDragEnd","resetDraggingAndHoveredRow","updateRowOrder","renderRowActions","row","currentIndex","index","pageIndex","pageSize","rowActionButtons","rowActionMenuItems","ariaLabel","buttonVariant","endIcon","menuAlignment","size","rowIndex","undefined","innerWidthStyle","width","emptyStateContainer","sx","scrollTo","clientHeight","shouldDisplayRowActions","dataTable","state","sorting","columnSorting","columnVisibility","icons","ArrowDownwardIcon","DragHandleIcon","SyncAltIcon","ExpandMoreIcon","header","grow","muiTableBodyCellProps","align","className","muiTableHeadCellProps","visibility","variant","isDisabled","muiTableProps","ref","hasColumnResizing","muiTableContainerProps","muiTableBodyProps","tabIndex","enableColumnResizing","defaultColumn","Cell","enableRowActions","enableRowOrdering","Boolean","enableRowDragging","muiDetailPanelProps","paddingBlock","getIsExpanded","Spacing3","muiTableBodyRowProps","table","isDetailPanel","currentRowId","draggingRowId","hoveredRowId","getState","hoveredRow","border","backgroundColor","HueNeutralWhite","muiRowDragHandleProps","onKeyDown","event","onBlur","onDragEnd","onDragCapture","disabled","renderDetailPanel","enableRowVirtualization","currentColumn","find","sortedColumn","getIsResizing","enableSorting","hasSorting","onSortingChange","sortingUpdater","newSortVal","prevState","enableRowSelection","onRowSelectionChange","renderEmptyRowsFallback","localization","collapse","collapseAll","expand","expandAll","isScrollableEnd","isScrollableStart","MemoizedTableLayoutContent","displayName"],"sources":["../../../src/labs/DataView/TableLayoutContent.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 {\n SetStateAction,\n memo,\n useCallback,\n useMemo,\n useRef,\n useState,\n ReactNode,\n Dispatch,\n ReactElement,\n useEffect,\n} from \"react\";\nimport styled, { CSSObject } from \"@emotion/styled\";\nimport {\n MRT_Row,\n MRT_RowData,\n MRT_RowSelectionState,\n MRT_TableContainer,\n MRT_TableInstance,\n MRT_TableOptions,\n useMaterialReactTable,\n} from \"material-react-table\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n ArrowDownIcon,\n ArrowUnsortedIcon,\n ChevronDownIcon,\n DragIndicatorIcon,\n} from \"../../icons.generated\";\nimport { Box } from \"../../Box\";\nimport { Button } from \"../../Button\";\nimport { TableLayoutProps, TableState, UniversalProps } from \"./componentTypes\";\nimport { DataTableCell } from \"./dataTypes\";\nimport {\n dataTableImmutableSettings,\n displayColumnDefOptions,\n ScrollableTableContainer,\n} from \"./tableConstants\";\nimport { MenuButton } from \"../../MenuButton\";\nimport { MoreIcon } from \"../../icons.generated\";\nimport { RowActions } from \"./RowActions\";\nimport { useOdysseyDesignTokens } from \"../../OdysseyDesignTokensContext\";\nimport { useScrollIndication } from \"../../DataTable/useScrollIndication\";\n\nconst TextWrapper = styled(\"div\")(() => ({\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n}));\n\nconst RowActionsContainer = styled(\"div\")(() => ({\n display: \"flex\",\n}));\n\nexport type TableLayoutContentProps = {\n columns: TableLayoutProps[\"columns\"];\n data: MRT_RowData[];\n draggingRow?: MRT_Row<MRT_RowData> | null;\n emptyState: ReactNode;\n enableVirtualization?: boolean;\n getRowId: UniversalProps[\"getRowId\"];\n hasRowReordering: UniversalProps[\"hasRowReordering\"];\n hasRowSelection: UniversalProps[\"hasRowSelection\"];\n isEmpty?: boolean;\n isLoading: boolean;\n isNoResults?: boolean;\n isRowReorderingDisabled?: boolean;\n onReorderRows: UniversalProps[\"onReorderRows\"];\n pagination: {\n pageIndex: number;\n pageSize: number;\n };\n rowReorderingUtilities: {\n dragHandleStyles: CSSObject;\n dragHandleText: {\n title: string;\n \"aria-label\": string;\n };\n draggableTableBodyRowClassName: ({\n currentRowId,\n draggingRowId,\n hoveredRowId,\n }: {\n currentRowId: string;\n draggingRowId?: string;\n hoveredRowId?: string;\n }) => string | undefined;\n handleDragHandleKeyDown: ({\n table,\n row,\n event,\n }: {\n table: MRT_TableInstance<MRT_RowData>;\n row: MRT_Row<MRT_RowData>;\n event: React.KeyboardEvent<HTMLButtonElement>;\n }) => void;\n handleDragHandleOnDragCapture: (\n table: MRT_TableInstance<MRT_RowData>,\n ) => void;\n handleDragHandleOnDragEnd: (table: MRT_TableInstance<MRT_RowData>) => void;\n resetDraggingAndHoveredRow: (table: MRT_TableInstance<MRT_RowData>) => void;\n updateRowOrder: ({\n rowId,\n newRowIndex,\n }: {\n rowId: string;\n newRowIndex: number;\n }) => void;\n };\n rowSelection: MRT_RowSelectionState;\n setRowSelection: Dispatch<SetStateAction<MRT_RowSelectionState>>;\n setTableState: Dispatch<SetStateAction<TableState>>;\n tableLayoutOptions: TableLayoutProps;\n tableState: TableState;\n totalRows: UniversalProps[\"totalRows\"];\n};\n\nconst TableLayoutContent = ({\n columns,\n data,\n draggingRow,\n emptyState,\n enableVirtualization,\n getRowId,\n hasRowReordering,\n hasRowSelection,\n isEmpty,\n isLoading,\n isNoResults,\n isRowReorderingDisabled,\n onReorderRows,\n pagination,\n rowReorderingUtilities,\n rowSelection,\n setRowSelection,\n setTableState,\n tableLayoutOptions,\n tableState,\n totalRows,\n}: TableLayoutContentProps) => {\n const [isTableContainerScrolledToStart, setIsTableContainerScrolledToStart] =\n useState(true);\n const [isTableContainerScrolledToEnd, setIsTableContainerScrolledToEnd] =\n useState(true);\n const [tableInnerContainerWidth, setTableInnerContainerWidth] =\n useState<string>(\"100%\");\n const shouldUpdateScroll = useRef<boolean>(false);\n const tableOuterContainerRef = useRef<HTMLDivElement>(null);\n const tableInnerContainerRef = useRef<HTMLDivElement>(null);\n const tableContentRef = useRef<HTMLTableElement>(null);\n\n useScrollIndication({\n setIsTableContainerScrolledToEnd: setIsTableContainerScrolledToEnd,\n setIsTableContainerScrolledToStart: setIsTableContainerScrolledToStart,\n setTableInnerContainerWidth: setTableInnerContainerWidth,\n tableInnerContainer: tableInnerContainerRef.current,\n tableOuterContainer: tableOuterContainerRef.current,\n });\n\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const columnIds = useMemo(() => {\n return columns.map((column) => column.accessorKey) ?? [];\n }, [columns]);\n\n const columnOrder = useMemo(\n () => [\n \"mrt-row-drag\",\n \"mrt-row-select\",\n \"mrt-row-expand\",\n ...(columnIds?.filter((id): id is string => typeof id === \"string\") ||\n []),\n \"mrt-row-actions\",\n ],\n [columnIds],\n );\n\n const rowDensityClassName = useMemo(() => {\n return tableState.rowDensity === \"spacious\"\n ? \"MuiTableBody-spacious\"\n : tableState.rowDensity === \"compact\"\n ? \"MuiTableBody-compact\"\n : \"MuiTableBody-default\";\n }, [tableState]);\n\n const defaultCell = useCallback<\n ({ cell }: { cell: DataTableCell<MRT_RowData> }) => ReactElement | string\n >(({ cell }) => {\n const value = cell.getValue<string>();\n const hasTextWrapping =\n cell.column.columnDef.hasTextWrapping ||\n cell.column.columnDef.enableWrapping;\n return hasTextWrapping ? value : <TextWrapper>{value}</TextWrapper>;\n }, []);\n\n const {\n draggableTableBodyRowClassName,\n dragHandleStyles,\n dragHandleText,\n handleDragHandleKeyDown,\n handleDragHandleOnDragCapture,\n handleDragHandleOnDragEnd,\n resetDraggingAndHoveredRow,\n updateRowOrder,\n } = rowReorderingUtilities;\n\n const renderRowActions = useCallback(\n ({ row }: { row: MRT_Row<MRT_RowData> }) => {\n const currentIndex =\n row.index + (pagination.pageIndex - 1) * pagination.pageSize;\n return (\n <RowActionsContainer>\n {tableLayoutOptions.rowActionButtons?.(row)}\n {(tableLayoutOptions.rowActionMenuItems || hasRowReordering) && (\n <MenuButton\n ariaLabel={t(\"table.moreactions.arialabel\")}\n buttonVariant=\"floating\"\n endIcon={<MoreIcon />}\n menuAlignment=\"right\"\n size=\"small\"\n >\n <RowActions\n isRowReorderingDisabled={isRowReorderingDisabled}\n row={row}\n rowActionMenuItems={tableLayoutOptions.rowActionMenuItems}\n rowIndex={currentIndex}\n totalRows={totalRows}\n updateRowOrder={\n hasRowReordering && onReorderRows ? updateRowOrder : undefined\n }\n />\n </MenuButton>\n )}\n </RowActionsContainer>\n );\n },\n [\n hasRowReordering,\n isRowReorderingDisabled,\n onReorderRows,\n pagination.pageIndex,\n pagination.pageSize,\n t,\n tableLayoutOptions,\n totalRows,\n updateRowOrder,\n ],\n );\n\n const innerWidthStyle = useMemo(\n () => ({ width: tableInnerContainerWidth }),\n [tableInnerContainerWidth],\n );\n\n const emptyStateContainer = useCallback(\n () => <Box sx={innerWidthStyle}>{emptyState}</Box>,\n [innerWidthStyle, emptyState],\n );\n\n // Scroll to the bottom as soon as data loads after clicking the\n // loadMore pagination button\n useEffect(() => {\n if (enableVirtualization) {\n shouldUpdateScroll.current = true;\n }\n }, [enableVirtualization, pagination]);\n\n useEffect(() => {\n if (\n shouldUpdateScroll.current &&\n tableContentRef.current &&\n typeof tableInnerContainerRef.current?.scrollTo !== \"undefined\"\n ) {\n tableInnerContainerRef.current?.scrollTo(\n 0,\n tableContentRef.current.clientHeight,\n );\n shouldUpdateScroll.current = false;\n }\n }, [data]);\n\n const shouldDisplayRowActions = useMemo(\n () =>\n (hasRowReordering === true && onReorderRows) ||\n tableLayoutOptions.rowActionButtons ||\n tableLayoutOptions.rowActionMenuItems\n ? true\n : false,\n [\n hasRowReordering,\n onReorderRows,\n tableLayoutOptions.rowActionButtons,\n tableLayoutOptions.rowActionMenuItems,\n ],\n );\n\n const dataTable = useMaterialReactTable({\n data: !isEmpty && !isNoResults ? data : [],\n columns,\n getRowId,\n state: {\n sorting: tableState.columnSorting,\n columnVisibility: tableState.columnVisibility,\n isLoading: isLoading,\n rowSelection: rowSelection,\n columnOrder: columnOrder,\n },\n icons: {\n ArrowDownwardIcon: ArrowDownIcon,\n DragHandleIcon: DragIndicatorIcon,\n SyncAltIcon: ArrowUnsortedIcon,\n ExpandMoreIcon: ChevronDownIcon,\n },\n ...dataTableImmutableSettings,\n displayColumnDefOptions: {\n ...(displayColumnDefOptions satisfies Partial<\n MRT_TableOptions<MRT_RowData>[\"displayColumnDefOptions\"]\n >),\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 children: (\n <Box sx={{ display: \"flex\", visibility: \"hidden\" }}>\n {tableLayoutOptions.rowActionButtons &&\n tableLayoutOptions.rowActionButtons({ id: null })}\n {((hasRowReordering === true && onReorderRows) ||\n tableLayoutOptions.rowActionMenuItems) && (\n <Box>\n <Button\n endIcon={<MoreIcon />}\n size=\"small\"\n variant=\"floating\"\n ariaLabel={t(\"table.moreactions.arialabel\")}\n isDisabled\n />\n </Box>\n )}\n </Box>\n ),\n },\n },\n },\n muiTableProps: {\n ref: tableContentRef,\n className:\n !shouldDisplayRowActions && tableLayoutOptions.hasColumnResizing\n ? \"ods-hide-spacer-column\"\n : \"\",\n },\n muiTableContainerProps: {\n ref: tableInnerContainerRef,\n },\n muiTableBodyProps: () => ({\n className: rowDensityClassName,\n tabIndex: enableVirtualization ? 0 : undefined,\n }),\n enableColumnResizing: tableLayoutOptions.hasColumnResizing,\n defaultColumn: {\n Cell: defaultCell,\n },\n enableRowActions:\n (hasRowReordering === true && onReorderRows) ||\n tableLayoutOptions.rowActionButtons ||\n tableLayoutOptions.rowActionMenuItems\n ? true\n : false,\n renderRowActions: ({ row }) => renderRowActions({ row }),\n enableRowOrdering: hasRowReordering && Boolean(onReorderRows),\n enableRowDragging: hasRowReordering && Boolean(onReorderRows),\n muiDetailPanelProps: ({ row }) => ({\n sx: {\n paddingBlock: row.getIsExpanded()\n ? `${odysseyDesignTokens.Spacing3} !important`\n : undefined,\n },\n }),\n muiTableBodyRowProps: ({ table, row, isDetailPanel }) => ({\n className: draggableTableBodyRowClassName({\n currentRowId: row.id,\n draggingRowId: draggingRow?.id,\n hoveredRowId: table.getState().hoveredRow?.id,\n }),\n sx: isDetailPanel\n ? {\n paddingBlock: \"0 !important\",\n border: 0,\n [\"&:hover\"]: {\n backgroundColor: `${odysseyDesignTokens.HueNeutralWhite} !important`,\n },\n }\n : {},\n }),\n muiRowDragHandleProps: ({ table, row }) => ({\n onKeyDown: (event) => handleDragHandleKeyDown({ table, row, event }),\n onBlur: () => resetDraggingAndHoveredRow(table),\n onDragEnd: () => handleDragHandleOnDragEnd(table),\n onDragCapture: () => handleDragHandleOnDragCapture(table),\n disabled: isRowReorderingDisabled,\n sx: dragHandleStyles,\n ...dragHandleText,\n }),\n renderDetailPanel: tableLayoutOptions.renderDetailPanel,\n enableRowVirtualization: enableVirtualization,\n muiTableHeadCellProps: ({ column: currentColumn }) => ({\n className: tableState.columnSorting.find(\n (sortedColumn) => sortedColumn.id === currentColumn.id,\n )\n ? \"isSorted\"\n : \"isUnsorted\",\n }),\n muiTableBodyCellProps: ({ column }) => ({\n className: column.getIsResizing() ? \"isResizing\" : \"\",\n }),\n enableSorting: tableLayoutOptions.hasSorting === true, // I don't know why this needs to be true, but it still works if undefined otherwise\n onSortingChange: (sortingUpdater) => {\n const newSortVal =\n typeof sortingUpdater === \"function\"\n ? sortingUpdater(tableState.columnSorting)\n : tableState.columnSorting;\n setTableState((prevState) => ({\n ...prevState,\n columnSorting: newSortVal,\n }));\n },\n enableRowSelection: hasRowSelection,\n onRowSelectionChange: setRowSelection,\n renderEmptyRowsFallback: emptyStateContainer,\n localization: {\n collapse: t(\"table.rowexpansion.collapse\"),\n collapseAll: t(\"table.rowexpansion.collapseall\"),\n expand: t(\"table.rowexpansion.expand\"),\n expandAll: t(\"table.rowexpansion.expandall\"),\n },\n });\n\n return (\n <ScrollableTableContainer\n isScrollableEnd={!isTableContainerScrolledToEnd}\n isScrollableStart={!isTableContainerScrolledToStart}\n odysseyDesignTokens={odysseyDesignTokens}\n ref={tableOuterContainerRef}\n >\n <MRT_TableContainer table={dataTable} />\n </ScrollableTableContainer>\n );\n};\n\nconst MemoizedTableLayoutContent = memo(TableLayoutContent);\nMemoizedTableLayoutContent.displayName = \"TableLayoutContent\";\n\nexport { MemoizedTableLayoutContent as TableLayoutContent };\n"],"mappings":"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"}
@@ -22,7 +22,7 @@ import { jsxs as _jsxs } from "react/jsx-runtime";
22
22
  import { Fragment as _Fragment } from "react/jsx-runtime";
23
23
  const TableSettings = ({
24
24
  setTableState,
25
- tableOptions,
25
+ tableLayoutOptions,
26
26
  tableState
27
27
  }) => {
28
28
  const {
@@ -32,7 +32,7 @@ const TableSettings = ({
32
32
  hasChangeableDensity,
33
33
  hasColumnVisibility,
34
34
  columns
35
- } = tableOptions;
35
+ } = tableLayoutOptions;
36
36
  const {
37
37
  rowDensity,
38
38
  columnVisibility
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableSettings.js","names":["memo","useCallback","useMemo","useTranslation","densityValues","ListIcon","ShowIcon","MenuButton","MenuItem","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","TableSettings","setTableState","tableLayoutOptions","tableState","t","hasChangeableDensity","hasColumnVisibility","columns","rowDensity","columnVisibility","changeRowDensity","value","prevState","changeColumnVisibility","columnId","visibleColumns","Set","filter","column","accessorKey","map","memoizedDensityMenu","ariaLabel","endIcon","menuAlignment","shouldCloseOnSelect","children","isSelected","onClick","charAt","toUpperCase","slice","memoizedColumnVisibilityMenu","Boolean","enableHiding","id","_Checkbox","checked","has","header","MemoizedTableSettings","displayName"],"sources":["../../../src/labs/DataView/TableSettings.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { Dispatch, SetStateAction, memo, useCallback, useMemo } from \"react\";\nimport { Checkbox as MuiCheckbox } from \"@mui/material\";\nimport { MRT_DensityState } from \"material-react-table\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { densityValues } from \"./constants\";\nimport { ListIcon, ShowIcon } from \"../../icons.generated\";\nimport { MenuButton } from \"../../MenuButton\";\nimport { MenuItem } from \"../../MenuItem\";\nimport { TableLayoutProps, TableState } from \"./componentTypes\";\n\nexport type TableSettingsProps = {\n setTableState: Dispatch<SetStateAction<TableState>>;\n tableLayoutOptions: TableLayoutProps;\n tableState: TableState;\n};\n\nconst TableSettings = ({\n setTableState,\n tableLayoutOptions,\n tableState,\n}: TableSettingsProps) => {\n const { t } = useTranslation();\n\n const { hasChangeableDensity, hasColumnVisibility, columns } =\n tableLayoutOptions;\n const { rowDensity, columnVisibility } = tableState;\n\n const changeRowDensity = useCallback<(value: MRT_DensityState) => void>(\n (value) => {\n setTableState((prevState) => ({\n ...prevState,\n rowDensity: value,\n }));\n },\n [setTableState],\n );\n\n const changeColumnVisibility = useCallback<(columnId: string) => void>(\n (columnId) => {\n setTableState((prevState) => ({\n ...prevState,\n columnVisibility: {\n ...prevState.columnVisibility,\n [columnId]: prevState.columnVisibility\n ? prevState.columnVisibility[columnId] === false\n : false,\n },\n }));\n },\n [setTableState],\n );\n\n const visibleColumns = useMemo(\n () =>\n new Set(\n columns\n .filter((column) =>\n columnVisibility\n ? columnVisibility[column.accessorKey!] !== false\n : true,\n )\n .map((column) => column.accessorKey!),\n ),\n [columns, columnVisibility],\n );\n\n const memoizedDensityMenu = useMemo(\n () =>\n hasChangeableDensity && (\n <MenuButton\n ariaLabel={t(\"table.density.arialabel\")}\n endIcon={<ListIcon />}\n menuAlignment=\"right\"\n shouldCloseOnSelect={false}\n >\n {densityValues.map((value) => (\n <MenuItem\n key={value}\n isSelected={rowDensity === value}\n onClick={() => changeRowDensity(value)}\n >\n {`${value.charAt(0).toUpperCase()}${value.slice(1)}`}\n </MenuItem>\n ))}\n </MenuButton>\n ),\n [hasChangeableDensity, t, rowDensity, changeRowDensity],\n );\n\n const memoizedColumnVisibilityMenu = useMemo(\n () =>\n hasColumnVisibility && (\n <MenuButton\n ariaLabel={t(\"table.columnvisibility.arialabel\")}\n endIcon={<ShowIcon />}\n menuAlignment=\"right\"\n shouldCloseOnSelect={false}\n >\n {columns\n .filter((column) => Boolean(column.enableHiding !== false))\n .map((column) => (\n <MenuItem\n key={column.accessorKey}\n onClick={() => changeColumnVisibility(column.id!)}\n >\n <MuiCheckbox checked={visibleColumns.has(column.id!)} />\n {column.header}\n </MenuItem>\n ))}\n </MenuButton>\n ),\n [hasColumnVisibility, t, columns, changeColumnVisibility, visibleColumns],\n );\n\n return (\n <>\n {memoizedDensityMenu}\n {memoizedColumnVisibilityMenu}\n </>\n );\n};\n\nconst MemoizedTableSettings = memo(TableSettings);\nMemoizedTableSettings.displayName = \"TableSettings\";\n\nexport { MemoizedTableSettings as TableSettings };\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"componentTypes.js","names":[],"sources":["../../../src/labs/DataView/componentTypes.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 {\n MRT_DensityState,\n MRT_RowData,\n MRT_RowSelectionState,\n MRT_SortingState,\n MRT_TableOptions,\n MRT_VisibilityState,\n} from \"material-react-table\";\n\nimport { availableLayouts, availableCardLayouts } from \"./constants\";\nimport { DataFilter } from \"../DataFilters\";\nimport {\n DataGetDataType,\n DataOnReorderRowsType,\n DataRowSelectionState,\n DataTableColumn,\n} from \"./dataTypes\";\nimport { DataTableRowActionsProps } from \"../../DataTable/DataTableRowActions\";\nimport { MenuButtonProps } from \"../..\";\nimport { paginationTypeValues } from \"../DataTablePagination\";\nimport { ReactNode } from \"react\";\nimport { DataCardProps } from \"./DataCard\";\n\nexport type DataLayout = (typeof availableLayouts)[number];\nexport type CardLayout = (typeof availableCardLayouts)[number];\n\nexport type AvailableLayouts = DataLayout[];\nexport type AvailableCardLayouts = CardLayout[];\n\nexport type UniversalProps = {\n additionalActionButton?: ReactNode;\n additionalActionMenuItems?: ReactNode;\n bulkActionMenuItems?: (\n selectedRows: MRT_RowSelectionState,\n ) => MenuButtonProps[\"children\"];\n currentPage?: number;\n emptyPlaceholder?: ReactNode;\n enableVirtualization?: boolean;\n errorMessage?: string;\n filters?: Array<DataFilter | DataTableColumn<MRT_RowData> | string>;\n getData: ({\n page,\n resultsPerPage,\n search,\n filters,\n sort,\n }: DataGetDataType) => MRT_RowData[] | Promise<MRT_RowData[]>;\n getRowId?: MRT_TableOptions<MRT_RowData>[\"getRowId\"];\n hasFilters?: boolean;\n hasPagination?: boolean;\n hasRowReordering?: boolean;\n hasRowSelection?: boolean;\n hasSearch?: boolean;\n hasSearchSubmitButton?: boolean;\n isEmpty?: boolean;\n isLoading?: boolean;\n isNoResults?: boolean;\n isPaginationMoreDisabled?: boolean;\n isRowReorderingDisabled?: boolean;\n maxPages?: number;\n maxResultsPerPage?: number;\n metaText?: string;\n noResultsPlaceholder?: ReactNode;\n /**\n * @deprecated onChangeRowSelection is now onRowSelectionChange\n */\n onChangeRowSelection?: (rowSelection: DataRowSelectionState) => void;\n onPaginationChange?: ({\n pageIndex,\n pageSize,\n }: {\n pageIndex: number;\n pageSize: number;\n }) => void;\n onReorderRows?: ({ rowId, newRowIndex }: DataOnReorderRowsType) => void;\n onRowSelectionChange?: (rowSelection: DataRowSelectionState) => void;\n paginationType?: (typeof paginationTypeValues)[number];\n resultsPerPage?: number;\n searchDelayTime?: number;\n totalRows?: number;\n};\n\nexport type TableLayoutProps = {\n columns: DataTableColumn<MRT_RowData>[];\n hasChangeableDensity?: boolean;\n hasColumnResizing?: boolean;\n hasColumnVisibility?: boolean;\n hasSorting?: boolean;\n initialDensity?: MRT_DensityState;\n renderDetailPanel?: MRT_TableOptions<MRT_RowData>[\"renderDetailPanel\"];\n rowActionButtons?: DataTableRowActionsProps[\"rowActionButtons\"];\n rowActionMenuItems?: DataTableRowActionsProps[\"rowActionMenuItems\"];\n};\n\nexport type CardLayoutProps = {\n itemProps: (row: MRT_RowData) => DataCardProps;\n maxGridColumns?: number;\n renderDetailPanel?: (props: { row: MRT_RowData }) => ReactNode;\n rowActionMenuItems?: DataTableRowActionsProps[\"rowActionMenuItems\"];\n};\n\nexport type ViewProps<L extends DataLayout> = {\n availableLayouts?: L[];\n initialLayout?: L;\n cardLayoutOptions?: CardLayoutProps;\n tableLayoutOptions?: TableLayoutProps;\n};\n\nexport type TableState = {\n columnSorting: MRT_SortingState;\n columnVisibility: MRT_VisibilityState;\n rowDensity?: MRT_DensityState;\n};\n"],"mappings":""}
@@ -10,8 +10,8 @@
10
10
  * See the License for the specific language governing permissions and limitations under the License.
11
11
  */
12
12
 
13
- export const availableStackLayouts = ["list", "grid"];
13
+ export const availableCardLayouts = ["list", "grid"];
14
14
  export const availableTableLayouts = ["table"];
15
- export const availableLayouts = [...availableTableLayouts, ...availableStackLayouts];
15
+ export const availableLayouts = [...availableTableLayouts, ...availableCardLayouts];
16
16
  export const densityValues = ["comfortable", "spacious", "compact"];
17
17
  //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","names":["availableCardLayouts","availableTableLayouts","availableLayouts","densityValues"],"sources":["../../../src/labs/DataView/constants.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 { MRT_DensityState } from \"material-react-table\";\n\nexport type DataViewLayout = \"list\" | \"grid\" | \"table\";\n\nexport const availableCardLayouts: DataViewLayout[] = [\"list\", \"grid\"];\nexport const availableTableLayouts: DataViewLayout[] = [\"table\"];\nexport const availableLayouts: DataViewLayout[] = [\n ...availableTableLayouts,\n ...availableCardLayouts,\n];\n\nexport const densityValues: MRT_DensityState[] = [\n \"comfortable\",\n \"spacious\",\n \"compact\",\n];\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAMA,OAAO,MAAMA,oBAAsC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;AACtE,OAAO,MAAMC,qBAAuC,GAAG,CAAC,OAAO,CAAC;AAChE,OAAO,MAAMC,gBAAkC,GAAG,CAChD,GAAGD,qBAAqB,EACxB,GAAGD,oBAAoB,CACxB;AAED,OAAO,MAAMG,aAAiC,GAAG,CAC/C,aAAa,EACb,UAAU,EACV,SAAS,CACV"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataTypes.js","names":[],"sources":["../../../src/labs/DataView/dataTypes.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 {\n MRT_Cell,\n MRT_Column,\n MRT_ColumnDef,\n MRT_RowData,\n MRT_RowSelectionState,\n MRT_SortingState,\n} from \"material-react-table\";\n\nimport { DataFilter } from \"../DataFilters\";\n\nexport type DataQueryParamsType = {\n filters?: DataFilter[];\n page?: number;\n resultsPerPage?: number;\n search?: string;\n sort?: MRT_SortingState;\n};\n\nexport type DataTableColumn<T extends MRT_RowData> = MRT_ColumnDef<T> & {\n /**\n * @deprecated use hasTextWrapping instead of enableWrapping\n */\n enableWrapping?: boolean;\n hasTextWrapping?: boolean;\n};\n\nexport type DataTableColumnInstance<T extends MRT_RowData> = Omit<\n MRT_Column<T, unknown>,\n \"columnDef\"\n> & {\n columnDef: DataTableColumn<T>;\n};\n\nexport type DataTableCell<T extends MRT_RowData> = Omit<\n MRT_Cell<T>,\n \"column\"\n> & {\n column: DataTableColumnInstance<T>;\n};\n\nexport type DataColumns = DataTableColumn<MRT_RowData>[];\n\nexport type DataRow = MRT_RowData;\n\nexport type DataGetDataType = {\n filters?: DataFilter[];\n page?: number;\n resultsPerPage?: number;\n search?: string;\n sort?: MRT_SortingState;\n};\n\nexport type DataOnReorderRowsType = {\n newRowIndex: number;\n rowId: string;\n};\n\nexport type DataRowSelectionState = MRT_RowSelectionState;\n\n// Provided for backwards compatibilty with old DataTable types\nexport type DataTableGetDataType = DataGetDataType;\nexport type DataTableOnReorderRowsType = DataOnReorderRowsType;\nexport type DataTableRowSelectionState = DataRowSelectionState;\nexport type DataTableRow = DataRow;\n"],"mappings":""}