@okta/odyssey-react-mui 1.21.1 → 1.22.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 (436) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/Autocomplete.js +76 -38
  3. package/dist/Autocomplete.js.map +1 -1
  4. package/dist/Checkbox.js +26 -11
  5. package/dist/Checkbox.js.map +1 -1
  6. package/dist/CheckboxGroup.js +14 -3
  7. package/dist/CheckboxGroup.js.map +1 -1
  8. package/dist/DataTable/DataTable.js +10 -2
  9. package/dist/DataTable/DataTable.js.map +1 -1
  10. package/dist/DataTable/useScrollIndication.js +2 -2
  11. package/dist/DataTable/useScrollIndication.js.map +1 -1
  12. package/dist/Field.js +3 -1
  13. package/dist/Field.js.map +1 -1
  14. package/dist/OdysseyCacheProvider.js +4 -3
  15. package/dist/OdysseyCacheProvider.js.map +1 -1
  16. package/dist/OdysseyProvider.js +6 -3
  17. package/dist/OdysseyProvider.js.map +1 -1
  18. package/dist/OdysseyThemeProvider.js +3 -2
  19. package/dist/OdysseyThemeProvider.js.map +1 -1
  20. package/dist/Pagination/Pagination.js +1 -1
  21. package/dist/Pagination/Pagination.js.map +1 -1
  22. package/dist/Radio.js +34 -7
  23. package/dist/Radio.js.map +1 -1
  24. package/dist/RadioGroup.js +17 -5
  25. package/dist/RadioGroup.js.map +1 -1
  26. package/dist/Select.js +53 -31
  27. package/dist/Select.js.map +1 -1
  28. package/dist/ToastStack.js.map +1 -1
  29. package/dist/{createShadowRootElement.js → createShadowDomElements.js} +22 -6
  30. package/dist/createShadowDomElements.js.map +1 -0
  31. package/dist/index.js +1 -1
  32. package/dist/index.js.map +1 -1
  33. package/dist/index.scss +5 -5
  34. package/dist/labs/AppTile.js +124 -0
  35. package/dist/labs/AppTile.js.map +1 -0
  36. package/dist/labs/DataView/BulkActionsMenu.js.map +1 -0
  37. package/dist/labs/{DataComponents/StackContent.js → DataView/CardLayoutContent.js} +14 -14
  38. package/dist/labs/DataView/CardLayoutContent.js.map +1 -0
  39. package/dist/labs/{DataComponents/StackCard.js → DataView/DataCard.js} +6 -6
  40. package/dist/labs/DataView/DataCard.js.map +1 -0
  41. package/dist/labs/{DataComponents → DataView}/DataTable.js +6 -2
  42. package/dist/labs/DataView/DataTable.js.map +1 -0
  43. package/dist/labs/{DataComponents → DataView}/DataView.js +27 -17
  44. package/dist/labs/DataView/DataView.js.map +1 -0
  45. package/dist/labs/DataView/DetailPanel.js.map +1 -0
  46. package/dist/labs/DataView/LayoutSwitcher.js.map +1 -0
  47. package/dist/labs/DataView/RowActions.js.map +1 -0
  48. package/dist/labs/{DataComponents/TableContent.js → DataView/TableLayoutContent.js} +17 -17
  49. package/dist/labs/DataView/TableLayoutContent.js.map +1 -0
  50. package/dist/labs/{DataComponents → DataView}/TableSettings.js +2 -2
  51. package/dist/labs/DataView/TableSettings.js.map +1 -0
  52. package/dist/labs/DataView/componentTypes.js.map +1 -0
  53. package/dist/labs/{DataComponents → DataView}/constants.js +2 -2
  54. package/dist/labs/DataView/constants.js.map +1 -0
  55. package/dist/labs/DataView/dataTypes.js.map +1 -0
  56. package/dist/labs/{DataComponents → DataView}/fetchData.js +2 -2
  57. package/dist/labs/DataView/fetchData.js.map +1 -0
  58. package/dist/labs/{DataComponents → DataView}/index.js +0 -1
  59. package/dist/labs/DataView/index.js.map +1 -0
  60. package/dist/labs/DataView/tableConstants.js.map +1 -0
  61. package/dist/labs/DataView/useFilterConversion.js.map +1 -0
  62. package/dist/labs/SideNav/CollapseIcon.js +44 -0
  63. package/dist/labs/SideNav/CollapseIcon.js.map +1 -0
  64. package/dist/labs/SideNav/SideNav.js +246 -0
  65. package/dist/labs/SideNav/SideNav.js.map +1 -0
  66. package/dist/labs/SideNav/SideNavFooterContent.js +49 -0
  67. package/dist/labs/SideNav/SideNavFooterContent.js.map +1 -0
  68. package/dist/labs/SideNav/SideNavHeader.js +58 -0
  69. package/dist/labs/SideNav/SideNavHeader.js.map +1 -0
  70. package/dist/labs/SideNav/SideNavItemContent.js +157 -0
  71. package/dist/labs/SideNav/SideNavItemContent.js.map +1 -0
  72. package/dist/labs/SideNav/SideNavItemLinkContent.js +71 -0
  73. package/dist/labs/SideNav/SideNavItemLinkContent.js.map +1 -0
  74. package/dist/labs/SideNav/index.js +14 -0
  75. package/dist/labs/SideNav/index.js.map +1 -0
  76. package/dist/labs/SideNav/types.js +2 -0
  77. package/dist/labs/SideNav/types.js.map +1 -0
  78. package/dist/labs/Switch.js +70 -16
  79. package/dist/labs/Switch.js.map +1 -1
  80. package/dist/labs/index.js +3 -2
  81. package/dist/labs/index.js.map +1 -1
  82. package/dist/properties/ts/odyssey-react-mui_cs.js +17 -3
  83. package/dist/properties/ts/odyssey-react-mui_cs.js.map +1 -1
  84. package/dist/properties/ts/odyssey-react-mui_da.js +17 -3
  85. package/dist/properties/ts/odyssey-react-mui_da.js.map +1 -1
  86. package/dist/properties/ts/odyssey-react-mui_de.js +16 -2
  87. package/dist/properties/ts/odyssey-react-mui_de.js.map +1 -1
  88. package/dist/properties/ts/odyssey-react-mui_el.js +18 -4
  89. package/dist/properties/ts/odyssey-react-mui_el.js.map +1 -1
  90. package/dist/properties/ts/odyssey-react-mui_es.js +17 -3
  91. package/dist/properties/ts/odyssey-react-mui_es.js.map +1 -1
  92. package/dist/properties/ts/odyssey-react-mui_fi.js +17 -3
  93. package/dist/properties/ts/odyssey-react-mui_fi.js.map +1 -1
  94. package/dist/properties/ts/odyssey-react-mui_fr.js +17 -3
  95. package/dist/properties/ts/odyssey-react-mui_fr.js.map +1 -1
  96. package/dist/properties/ts/odyssey-react-mui_ht.js +18 -4
  97. package/dist/properties/ts/odyssey-react-mui_ht.js.map +1 -1
  98. package/dist/properties/ts/odyssey-react-mui_hu.js +17 -3
  99. package/dist/properties/ts/odyssey-react-mui_hu.js.map +1 -1
  100. package/dist/properties/ts/odyssey-react-mui_id.js +17 -3
  101. package/dist/properties/ts/odyssey-react-mui_id.js.map +1 -1
  102. package/dist/properties/ts/odyssey-react-mui_it.js +17 -3
  103. package/dist/properties/ts/odyssey-react-mui_it.js.map +1 -1
  104. package/dist/properties/ts/odyssey-react-mui_ja.js +16 -2
  105. package/dist/properties/ts/odyssey-react-mui_ja.js.map +1 -1
  106. package/dist/properties/ts/odyssey-react-mui_ko.js +16 -2
  107. package/dist/properties/ts/odyssey-react-mui_ko.js.map +1 -1
  108. package/dist/properties/ts/odyssey-react-mui_ms.js +17 -3
  109. package/dist/properties/ts/odyssey-react-mui_ms.js.map +1 -1
  110. package/dist/properties/ts/odyssey-react-mui_nb.js +17 -3
  111. package/dist/properties/ts/odyssey-react-mui_nb.js.map +1 -1
  112. package/dist/properties/ts/odyssey-react-mui_nl_NL.js +17 -3
  113. package/dist/properties/ts/odyssey-react-mui_nl_NL.js.map +1 -1
  114. package/dist/properties/ts/odyssey-react-mui_pl.js +17 -3
  115. package/dist/properties/ts/odyssey-react-mui_pl.js.map +1 -1
  116. package/dist/properties/ts/odyssey-react-mui_pt_BR.js +17 -3
  117. package/dist/properties/ts/odyssey-react-mui_pt_BR.js.map +1 -1
  118. package/dist/properties/ts/odyssey-react-mui_ro.js +17 -3
  119. package/dist/properties/ts/odyssey-react-mui_ro.js.map +1 -1
  120. package/dist/properties/ts/odyssey-react-mui_ru.js +17 -3
  121. package/dist/properties/ts/odyssey-react-mui_ru.js.map +1 -1
  122. package/dist/properties/ts/odyssey-react-mui_sv.js +17 -3
  123. package/dist/properties/ts/odyssey-react-mui_sv.js.map +1 -1
  124. package/dist/properties/ts/odyssey-react-mui_th.js +16 -2
  125. package/dist/properties/ts/odyssey-react-mui_th.js.map +1 -1
  126. package/dist/properties/ts/odyssey-react-mui_tr.js +17 -3
  127. package/dist/properties/ts/odyssey-react-mui_tr.js.map +1 -1
  128. package/dist/properties/ts/odyssey-react-mui_uk.js +17 -3
  129. package/dist/properties/ts/odyssey-react-mui_uk.js.map +1 -1
  130. package/dist/properties/ts/odyssey-react-mui_vi.js +17 -3
  131. package/dist/properties/ts/odyssey-react-mui_vi.js.map +1 -1
  132. package/dist/properties/ts/odyssey-react-mui_zh_CN.js +16 -2
  133. package/dist/properties/ts/odyssey-react-mui_zh_CN.js.map +1 -1
  134. package/dist/properties/ts/odyssey-react-mui_zh_TW.js +16 -2
  135. package/dist/properties/ts/odyssey-react-mui_zh_TW.js.map +1 -1
  136. package/dist/src/Autocomplete.d.ts.map +1 -1
  137. package/dist/src/Checkbox.d.ts +2 -2
  138. package/dist/src/Checkbox.d.ts.map +1 -1
  139. package/dist/src/CheckboxGroup.d.ts +3 -3
  140. package/dist/src/CheckboxGroup.d.ts.map +1 -1
  141. package/dist/src/DataTable/DataTable.d.ts +9 -1
  142. package/dist/src/DataTable/DataTable.d.ts.map +1 -1
  143. package/dist/src/Field.d.ts +3 -2
  144. package/dist/src/Field.d.ts.map +1 -1
  145. package/dist/src/OdysseyCacheProvider.d.ts +7 -3
  146. package/dist/src/OdysseyCacheProvider.d.ts.map +1 -1
  147. package/dist/src/OdysseyProvider.d.ts +1 -1
  148. package/dist/src/OdysseyProvider.d.ts.map +1 -1
  149. package/dist/src/OdysseyThemeProvider.d.ts +3 -1
  150. package/dist/src/OdysseyThemeProvider.d.ts.map +1 -1
  151. package/dist/src/Pagination/Pagination.d.ts.map +1 -1
  152. package/dist/src/Radio.d.ts +6 -8
  153. package/dist/src/Radio.d.ts.map +1 -1
  154. package/dist/src/RadioGroup.d.ts +4 -5
  155. package/dist/src/RadioGroup.d.ts.map +1 -1
  156. package/dist/src/Select.d.ts +2 -2
  157. package/dist/src/Select.d.ts.map +1 -1
  158. package/dist/src/ToastStack.d.ts +2 -2
  159. package/dist/src/ToastStack.d.ts.map +1 -1
  160. package/dist/src/{createShadowRootElement.d.ts → createShadowDomElements.d.ts} +6 -1
  161. package/dist/src/createShadowDomElements.d.ts.map +1 -0
  162. package/dist/src/index.d.ts +1 -1
  163. package/dist/src/labs/AppTile.d.ts +39 -0
  164. package/dist/src/labs/AppTile.d.ts.map +1 -0
  165. package/dist/src/labs/DataView/BulkActionsMenu.d.ts.map +1 -0
  166. package/dist/src/labs/{DataComponents/StackContent.d.ts → DataView/CardLayoutContent.d.ts} +7 -7
  167. package/dist/src/labs/DataView/CardLayoutContent.d.ts.map +1 -0
  168. package/dist/src/labs/{DataComponents/StackCard.d.ts → DataView/DataCard.d.ts} +4 -4
  169. package/dist/src/labs/DataView/DataCard.d.ts.map +1 -0
  170. package/dist/src/labs/DataView/DataTable.d.ts +16 -0
  171. package/dist/src/labs/DataView/DataTable.d.ts.map +1 -0
  172. package/dist/src/labs/{DataComponents → DataView}/DataView.d.ts +1 -1
  173. package/dist/src/labs/DataView/DataView.d.ts.map +1 -0
  174. package/dist/src/labs/{DataComponents → DataView}/DetailPanel.d.ts +2 -2
  175. package/dist/src/labs/DataView/DetailPanel.d.ts.map +1 -0
  176. package/dist/src/labs/DataView/LayoutSwitcher.d.ts.map +1 -0
  177. package/dist/src/labs/DataView/RowActions.d.ts.map +1 -0
  178. package/dist/src/labs/{DataComponents/TableContent.d.ts → DataView/TableLayoutContent.d.ts} +7 -7
  179. package/dist/src/labs/DataView/TableLayoutContent.d.ts.map +1 -0
  180. package/dist/src/labs/{DataComponents → DataView}/TableSettings.d.ts +3 -3
  181. package/dist/src/labs/DataView/TableSettings.d.ts.map +1 -0
  182. package/dist/src/labs/{DataComponents → DataView}/componentTypes.d.ts +11 -9
  183. package/dist/src/labs/DataView/componentTypes.d.ts.map +1 -0
  184. package/dist/src/labs/{DataComponents → DataView}/constants.d.ts +1 -1
  185. package/dist/src/labs/DataView/constants.d.ts.map +1 -0
  186. package/dist/src/labs/DataView/dataTypes.d.ts.map +1 -0
  187. package/dist/src/labs/{DataComponents → DataView}/fetchData.d.ts +1 -1
  188. package/dist/src/labs/DataView/fetchData.d.ts.map +1 -0
  189. package/dist/src/labs/{DataComponents → DataView}/index.d.ts +0 -1
  190. package/dist/src/labs/DataView/index.d.ts.map +1 -0
  191. package/dist/src/labs/DataView/tableConstants.d.ts.map +1 -0
  192. package/dist/src/labs/{DataComponents → DataView}/useFilterConversion.d.ts +2 -2
  193. package/dist/src/labs/DataView/useFilterConversion.d.ts.map +1 -0
  194. package/dist/src/labs/SideNav/CollapseIcon.d.ts +17 -0
  195. package/dist/src/labs/SideNav/CollapseIcon.d.ts.map +1 -0
  196. package/dist/src/labs/SideNav/SideNav.d.ts +15 -0
  197. package/dist/src/labs/SideNav/SideNav.d.ts.map +1 -0
  198. package/dist/src/labs/SideNav/SideNavFooterContent.d.ts +17 -0
  199. package/dist/src/labs/SideNav/SideNavFooterContent.d.ts.map +1 -0
  200. package/dist/src/labs/SideNav/SideNavHeader.d.ts +16 -0
  201. package/dist/src/labs/SideNav/SideNavHeader.d.ts.map +1 -0
  202. package/dist/src/labs/SideNav/SideNavItemContent.d.ts +33 -0
  203. package/dist/src/labs/SideNav/SideNavItemContent.d.ts.map +1 -0
  204. package/dist/src/labs/SideNav/SideNavItemLinkContent.d.ts +16 -0
  205. package/dist/src/labs/SideNav/SideNavItemLinkContent.d.ts.map +1 -0
  206. package/dist/src/labs/SideNav/index.d.ts +14 -0
  207. package/dist/src/labs/SideNav/index.d.ts.map +1 -0
  208. package/dist/src/labs/{SideNav.d.ts → SideNav/types.d.ts} +31 -33
  209. package/dist/src/labs/SideNav/types.d.ts.map +1 -0
  210. package/dist/src/labs/Switch.d.ts +5 -1
  211. package/dist/src/labs/Switch.d.ts.map +1 -1
  212. package/dist/src/labs/index.d.ts +2 -1
  213. package/dist/src/labs/index.d.ts.map +1 -1
  214. package/dist/src/properties/ts/odyssey-react-mui_cs.d.ts +15 -1
  215. package/dist/src/properties/ts/odyssey-react-mui_cs.d.ts.map +1 -1
  216. package/dist/src/properties/ts/odyssey-react-mui_da.d.ts +15 -1
  217. package/dist/src/properties/ts/odyssey-react-mui_da.d.ts.map +1 -1
  218. package/dist/src/properties/ts/odyssey-react-mui_de.d.ts +15 -1
  219. package/dist/src/properties/ts/odyssey-react-mui_de.d.ts.map +1 -1
  220. package/dist/src/properties/ts/odyssey-react-mui_el.d.ts +15 -1
  221. package/dist/src/properties/ts/odyssey-react-mui_el.d.ts.map +1 -1
  222. package/dist/src/properties/ts/odyssey-react-mui_es.d.ts +15 -1
  223. package/dist/src/properties/ts/odyssey-react-mui_es.d.ts.map +1 -1
  224. package/dist/src/properties/ts/odyssey-react-mui_fi.d.ts +15 -1
  225. package/dist/src/properties/ts/odyssey-react-mui_fi.d.ts.map +1 -1
  226. package/dist/src/properties/ts/odyssey-react-mui_fr.d.ts +15 -1
  227. package/dist/src/properties/ts/odyssey-react-mui_fr.d.ts.map +1 -1
  228. package/dist/src/properties/ts/odyssey-react-mui_ht.d.ts +16 -2
  229. package/dist/src/properties/ts/odyssey-react-mui_ht.d.ts.map +1 -1
  230. package/dist/src/properties/ts/odyssey-react-mui_hu.d.ts +15 -1
  231. package/dist/src/properties/ts/odyssey-react-mui_hu.d.ts.map +1 -1
  232. package/dist/src/properties/ts/odyssey-react-mui_id.d.ts +15 -1
  233. package/dist/src/properties/ts/odyssey-react-mui_id.d.ts.map +1 -1
  234. package/dist/src/properties/ts/odyssey-react-mui_it.d.ts +15 -1
  235. package/dist/src/properties/ts/odyssey-react-mui_it.d.ts.map +1 -1
  236. package/dist/src/properties/ts/odyssey-react-mui_ja.d.ts +15 -1
  237. package/dist/src/properties/ts/odyssey-react-mui_ja.d.ts.map +1 -1
  238. package/dist/src/properties/ts/odyssey-react-mui_ko.d.ts +15 -1
  239. package/dist/src/properties/ts/odyssey-react-mui_ko.d.ts.map +1 -1
  240. package/dist/src/properties/ts/odyssey-react-mui_ms.d.ts +15 -1
  241. package/dist/src/properties/ts/odyssey-react-mui_ms.d.ts.map +1 -1
  242. package/dist/src/properties/ts/odyssey-react-mui_nb.d.ts +15 -1
  243. package/dist/src/properties/ts/odyssey-react-mui_nb.d.ts.map +1 -1
  244. package/dist/src/properties/ts/odyssey-react-mui_nl_NL.d.ts +15 -1
  245. package/dist/src/properties/ts/odyssey-react-mui_nl_NL.d.ts.map +1 -1
  246. package/dist/src/properties/ts/odyssey-react-mui_pl.d.ts +15 -1
  247. package/dist/src/properties/ts/odyssey-react-mui_pl.d.ts.map +1 -1
  248. package/dist/src/properties/ts/odyssey-react-mui_pt_BR.d.ts +15 -1
  249. package/dist/src/properties/ts/odyssey-react-mui_pt_BR.d.ts.map +1 -1
  250. package/dist/src/properties/ts/odyssey-react-mui_ro.d.ts +15 -1
  251. package/dist/src/properties/ts/odyssey-react-mui_ro.d.ts.map +1 -1
  252. package/dist/src/properties/ts/odyssey-react-mui_ru.d.ts +15 -1
  253. package/dist/src/properties/ts/odyssey-react-mui_ru.d.ts.map +1 -1
  254. package/dist/src/properties/ts/odyssey-react-mui_sv.d.ts +15 -1
  255. package/dist/src/properties/ts/odyssey-react-mui_sv.d.ts.map +1 -1
  256. package/dist/src/properties/ts/odyssey-react-mui_th.d.ts +15 -1
  257. package/dist/src/properties/ts/odyssey-react-mui_th.d.ts.map +1 -1
  258. package/dist/src/properties/ts/odyssey-react-mui_tr.d.ts +15 -1
  259. package/dist/src/properties/ts/odyssey-react-mui_tr.d.ts.map +1 -1
  260. package/dist/src/properties/ts/odyssey-react-mui_uk.d.ts +15 -1
  261. package/dist/src/properties/ts/odyssey-react-mui_uk.d.ts.map +1 -1
  262. package/dist/src/properties/ts/odyssey-react-mui_vi.d.ts +15 -1
  263. package/dist/src/properties/ts/odyssey-react-mui_vi.d.ts.map +1 -1
  264. package/dist/src/properties/ts/odyssey-react-mui_zh_CN.d.ts +15 -1
  265. package/dist/src/properties/ts/odyssey-react-mui_zh_CN.d.ts.map +1 -1
  266. package/dist/src/properties/ts/odyssey-react-mui_zh_TW.d.ts +15 -1
  267. package/dist/src/properties/ts/odyssey-react-mui_zh_TW.d.ts.map +1 -1
  268. package/dist/src/theme/components.d.ts +3 -1
  269. package/dist/src/theme/components.d.ts.map +1 -1
  270. package/dist/src/theme/createOdysseyMuiTheme.d.ts +3 -1
  271. package/dist/src/theme/createOdysseyMuiTheme.d.ts.map +1 -1
  272. package/dist/theme/components.js +236 -151
  273. package/dist/theme/components.js.map +1 -1
  274. package/dist/theme/createOdysseyMuiTheme.js +3 -2
  275. package/dist/theme/createOdysseyMuiTheme.js.map +1 -1
  276. package/dist/tsconfig.production.tsbuildinfo +1 -1
  277. package/package.json +3 -4
  278. package/src/Autocomplete.tsx +108 -45
  279. package/src/Checkbox.tsx +39 -9
  280. package/src/CheckboxGroup.tsx +20 -4
  281. package/src/DataTable/DataTable.tsx +24 -1
  282. package/src/DataTable/useScrollIndication.tsx +2 -2
  283. package/src/Field.tsx +5 -2
  284. package/src/OdysseyCacheProvider.tsx +18 -4
  285. package/src/OdysseyProvider.tsx +6 -3
  286. package/src/OdysseyThemeProvider.tsx +6 -2
  287. package/src/Pagination/Pagination.tsx +3 -1
  288. package/src/Radio.tsx +42 -13
  289. package/src/RadioGroup.tsx +26 -7
  290. package/src/Select.tsx +78 -45
  291. package/src/ToastStack.tsx +2 -2
  292. package/src/{createShadowRootElement.ts → createShadowDomElements.ts} +24 -5
  293. package/src/index.ts +1 -1
  294. package/src/labs/AppTile.tsx +200 -0
  295. package/src/labs/{DataComponents/StackContent.tsx → DataView/CardLayoutContent.tsx} +24 -19
  296. package/src/labs/{DataComponents/StackCard.tsx → DataView/DataCard.tsx} +7 -7
  297. package/src/labs/{DataComponents → DataView}/DataTable.tsx +8 -4
  298. package/src/labs/{DataComponents → DataView}/DataView.tsx +49 -19
  299. package/src/labs/{DataComponents → DataView}/DetailPanel.tsx +2 -2
  300. package/src/labs/{DataComponents/TableContent.tsx → DataView/TableLayoutContent.tsx} +31 -26
  301. package/src/labs/{DataComponents → DataView}/TableSettings.tsx +5 -4
  302. package/src/labs/{DataComponents → DataView}/componentTypes.ts +11 -9
  303. package/src/labs/{DataComponents → DataView}/constants.tsx +2 -2
  304. package/src/labs/{DataComponents → DataView}/fetchData.ts +3 -3
  305. package/src/labs/{DataComponents → DataView}/index.tsx +0 -1
  306. package/src/labs/{DataComponents → DataView}/useFilterConversion.ts +2 -2
  307. package/src/labs/SideNav/CollapseIcon.tsx +48 -0
  308. package/src/labs/SideNav/SideNav.tsx +350 -0
  309. package/src/labs/SideNav/SideNavFooterContent.tsx +64 -0
  310. package/src/labs/SideNav/SideNavHeader.tsx +65 -0
  311. package/src/labs/SideNav/SideNavItemContent.tsx +216 -0
  312. package/src/labs/SideNav/SideNavItemLinkContent.tsx +87 -0
  313. package/src/labs/SideNav/index.ts +15 -0
  314. package/src/labs/SideNav/types.ts +125 -0
  315. package/src/labs/Switch.tsx +85 -31
  316. package/src/labs/index.ts +3 -1
  317. package/src/properties/translations/odyssey-react-mui_cs.properties +15 -3
  318. package/src/properties/translations/odyssey-react-mui_da.properties +15 -3
  319. package/src/properties/translations/odyssey-react-mui_de.properties +14 -2
  320. package/src/properties/translations/odyssey-react-mui_el.properties +16 -4
  321. package/src/properties/translations/odyssey-react-mui_es.properties +15 -3
  322. package/src/properties/translations/odyssey-react-mui_fi.properties +15 -3
  323. package/src/properties/translations/odyssey-react-mui_fr.properties +15 -3
  324. package/src/properties/translations/odyssey-react-mui_ht.properties +17 -6
  325. package/src/properties/translations/odyssey-react-mui_hu.properties +15 -3
  326. package/src/properties/translations/odyssey-react-mui_id.properties +15 -3
  327. package/src/properties/translations/odyssey-react-mui_it.properties +15 -3
  328. package/src/properties/translations/odyssey-react-mui_ja.properties +14 -2
  329. package/src/properties/translations/odyssey-react-mui_ko.properties +14 -2
  330. package/src/properties/translations/odyssey-react-mui_ms.properties +15 -3
  331. package/src/properties/translations/odyssey-react-mui_nb.properties +15 -3
  332. package/src/properties/translations/odyssey-react-mui_nl_NL.properties +15 -3
  333. package/src/properties/translations/odyssey-react-mui_pl.properties +15 -3
  334. package/src/properties/translations/odyssey-react-mui_pt_BR.properties +15 -3
  335. package/src/properties/translations/odyssey-react-mui_ro.properties +15 -3
  336. package/src/properties/translations/odyssey-react-mui_ru.properties +15 -3
  337. package/src/properties/translations/odyssey-react-mui_sv.properties +15 -3
  338. package/src/properties/translations/odyssey-react-mui_th.properties +14 -2
  339. package/src/properties/translations/odyssey-react-mui_tr.properties +15 -3
  340. package/src/properties/translations/odyssey-react-mui_uk.properties +15 -3
  341. package/src/properties/translations/odyssey-react-mui_vi.properties +15 -3
  342. package/src/properties/translations/odyssey-react-mui_zh_CN.properties +14 -2
  343. package/src/properties/translations/odyssey-react-mui_zh_TW.properties +14 -2
  344. package/src/properties/ts/odyssey-react-mui_cs.ts +1 -1
  345. package/src/properties/ts/odyssey-react-mui_da.ts +1 -1
  346. package/src/properties/ts/odyssey-react-mui_de.ts +1 -1
  347. package/src/properties/ts/odyssey-react-mui_el.ts +1 -1
  348. package/src/properties/ts/odyssey-react-mui_es.ts +1 -1
  349. package/src/properties/ts/odyssey-react-mui_fi.ts +1 -1
  350. package/src/properties/ts/odyssey-react-mui_fr.ts +1 -1
  351. package/src/properties/ts/odyssey-react-mui_ht.ts +1 -1
  352. package/src/properties/ts/odyssey-react-mui_hu.ts +1 -1
  353. package/src/properties/ts/odyssey-react-mui_id.ts +1 -1
  354. package/src/properties/ts/odyssey-react-mui_it.ts +1 -1
  355. package/src/properties/ts/odyssey-react-mui_ja.ts +1 -1
  356. package/src/properties/ts/odyssey-react-mui_ko.ts +1 -1
  357. package/src/properties/ts/odyssey-react-mui_ms.ts +1 -1
  358. package/src/properties/ts/odyssey-react-mui_nb.ts +1 -1
  359. package/src/properties/ts/odyssey-react-mui_nl_NL.ts +1 -1
  360. package/src/properties/ts/odyssey-react-mui_pl.ts +1 -1
  361. package/src/properties/ts/odyssey-react-mui_pt_BR.ts +1 -1
  362. package/src/properties/ts/odyssey-react-mui_ro.ts +1 -1
  363. package/src/properties/ts/odyssey-react-mui_ru.ts +1 -1
  364. package/src/properties/ts/odyssey-react-mui_sv.ts +1 -1
  365. package/src/properties/ts/odyssey-react-mui_th.ts +1 -1
  366. package/src/properties/ts/odyssey-react-mui_tr.ts +1 -1
  367. package/src/properties/ts/odyssey-react-mui_uk.ts +1 -1
  368. package/src/properties/ts/odyssey-react-mui_vi.ts +1 -1
  369. package/src/properties/ts/odyssey-react-mui_zh_CN.ts +1 -1
  370. package/src/properties/ts/odyssey-react-mui_zh_TW.ts +1 -1
  371. package/src/theme/components.tsx +245 -155
  372. package/src/theme/createOdysseyMuiTheme.ts +4 -1
  373. package/dist/createShadowRootElement.js.map +0 -1
  374. package/dist/labs/DataComponents/BulkActionsMenu.js.map +0 -1
  375. package/dist/labs/DataComponents/DataStack.js +0 -85
  376. package/dist/labs/DataComponents/DataStack.js.map +0 -1
  377. package/dist/labs/DataComponents/DataTable.js.map +0 -1
  378. package/dist/labs/DataComponents/DataView.js.map +0 -1
  379. package/dist/labs/DataComponents/DetailPanel.js.map +0 -1
  380. package/dist/labs/DataComponents/LayoutSwitcher.js.map +0 -1
  381. package/dist/labs/DataComponents/RowActions.js.map +0 -1
  382. package/dist/labs/DataComponents/StackCard.js.map +0 -1
  383. package/dist/labs/DataComponents/StackContent.js.map +0 -1
  384. package/dist/labs/DataComponents/TableContent.js.map +0 -1
  385. package/dist/labs/DataComponents/TableSettings.js.map +0 -1
  386. package/dist/labs/DataComponents/componentTypes.js.map +0 -1
  387. package/dist/labs/DataComponents/constants.js.map +0 -1
  388. package/dist/labs/DataComponents/dataTypes.js.map +0 -1
  389. package/dist/labs/DataComponents/fetchData.js.map +0 -1
  390. package/dist/labs/DataComponents/index.js.map +0 -1
  391. package/dist/labs/DataComponents/tableConstants.js.map +0 -1
  392. package/dist/labs/DataComponents/useFilterConversion.js.map +0 -1
  393. package/dist/labs/SideNav.js +0 -478
  394. package/dist/labs/SideNav.js.map +0 -1
  395. package/dist/src/createShadowRootElement.d.ts.map +0 -1
  396. package/dist/src/labs/DataComponents/BulkActionsMenu.d.ts.map +0 -1
  397. package/dist/src/labs/DataComponents/DataStack.d.ts +0 -20
  398. package/dist/src/labs/DataComponents/DataStack.d.ts.map +0 -1
  399. package/dist/src/labs/DataComponents/DataTable.d.ts +0 -16
  400. package/dist/src/labs/DataComponents/DataTable.d.ts.map +0 -1
  401. package/dist/src/labs/DataComponents/DataView.d.ts.map +0 -1
  402. package/dist/src/labs/DataComponents/DetailPanel.d.ts.map +0 -1
  403. package/dist/src/labs/DataComponents/LayoutSwitcher.d.ts.map +0 -1
  404. package/dist/src/labs/DataComponents/RowActions.d.ts.map +0 -1
  405. package/dist/src/labs/DataComponents/StackCard.d.ts.map +0 -1
  406. package/dist/src/labs/DataComponents/StackContent.d.ts.map +0 -1
  407. package/dist/src/labs/DataComponents/TableContent.d.ts.map +0 -1
  408. package/dist/src/labs/DataComponents/TableSettings.d.ts.map +0 -1
  409. package/dist/src/labs/DataComponents/componentTypes.d.ts.map +0 -1
  410. package/dist/src/labs/DataComponents/constants.d.ts.map +0 -1
  411. package/dist/src/labs/DataComponents/dataTypes.d.ts.map +0 -1
  412. package/dist/src/labs/DataComponents/fetchData.d.ts.map +0 -1
  413. package/dist/src/labs/DataComponents/index.d.ts.map +0 -1
  414. package/dist/src/labs/DataComponents/tableConstants.d.ts.map +0 -1
  415. package/dist/src/labs/DataComponents/useFilterConversion.d.ts.map +0 -1
  416. package/dist/src/labs/SideNav.d.ts.map +0 -1
  417. package/src/labs/DataComponents/DataStack.tsx +0 -105
  418. package/src/labs/SideNav.tsx +0 -745
  419. /package/dist/labs/{DataComponents → DataView}/BulkActionsMenu.js +0 -0
  420. /package/dist/labs/{DataComponents → DataView}/DetailPanel.js +0 -0
  421. /package/dist/labs/{DataComponents → DataView}/LayoutSwitcher.js +0 -0
  422. /package/dist/labs/{DataComponents → DataView}/RowActions.js +0 -0
  423. /package/dist/labs/{DataComponents → DataView}/componentTypes.js +0 -0
  424. /package/dist/labs/{DataComponents → DataView}/dataTypes.js +0 -0
  425. /package/dist/labs/{DataComponents → DataView}/tableConstants.js +0 -0
  426. /package/dist/labs/{DataComponents → DataView}/useFilterConversion.js +0 -0
  427. /package/dist/src/labs/{DataComponents → DataView}/BulkActionsMenu.d.ts +0 -0
  428. /package/dist/src/labs/{DataComponents → DataView}/LayoutSwitcher.d.ts +0 -0
  429. /package/dist/src/labs/{DataComponents → DataView}/RowActions.d.ts +0 -0
  430. /package/dist/src/labs/{DataComponents → DataView}/dataTypes.d.ts +0 -0
  431. /package/dist/src/labs/{DataComponents → DataView}/tableConstants.d.ts +0 -0
  432. /package/src/labs/{DataComponents → DataView}/BulkActionsMenu.tsx +0 -0
  433. /package/src/labs/{DataComponents → DataView}/LayoutSwitcher.tsx +0 -0
  434. /package/src/labs/{DataComponents → DataView}/RowActions.tsx +0 -0
  435. /package/src/labs/{DataComponents → DataView}/dataTypes.ts +0 -0
  436. /package/src/labs/{DataComponents → DataView}/tableConstants.tsx +0 -0
@@ -20,10 +20,12 @@ 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 "../../index.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";
29
31
  import { useOdysseyDesignTokens } from "../../OdysseyDesignTokensContext.js";
@@ -49,6 +51,8 @@ const AdditionalActionsContainer = styled("div")(() => ({
49
51
  justifyContent: "flex-end"
50
52
  }));
51
53
  const DataView = ({
54
+ additionalActionButton,
55
+ additionalActionMenuItems,
52
56
  availableLayouts = allAvailableLayouts,
53
57
  bulkActionMenuItems,
54
58
  currentPage = 1,
@@ -75,8 +79,8 @@ const DataView = ({
75
79
  paginationType = "paged",
76
80
  resultsPerPage = 20,
77
81
  searchDelayTime,
78
- stackOptions,
79
- tableOptions,
82
+ cardLayoutOptions,
83
+ tableLayoutOptions,
80
84
  totalRows,
81
85
  maxPages,
82
86
  maxResultsPerPage
@@ -106,12 +110,12 @@ const DataView = ({
106
110
  const [tableState, setTableState] = useState({
107
111
  columnSorting: [],
108
112
  columnVisibility: {},
109
- rowDensity: tableOptions?.initialDensity ?? densityValues[0]
113
+ rowDensity: tableLayoutOptions?.initialDensity ?? densityValues[0]
110
114
  });
111
- const shouldShowFilters = hasSearch || hasFilters;
115
+ const shouldShowFilters = hasSearch || hasFilters || additionalActionButton || additionalActionMenuItems;
112
116
  const availableFilters = useFilterConversion({
113
117
  filters: filters,
114
- columns: tableOptions?.columns
118
+ columns: tableLayoutOptions?.columns
115
119
  });
116
120
  useEffect(() => {
117
121
  if (!initialFilters && availableFilters) {
@@ -145,9 +149,9 @@ const DataView = ({
145
149
  getData,
146
150
  setData,
147
151
  setErrorMessage,
148
- setIsLoading
152
+ setIsLoading: isLoadingProp ? undefined : setIsLoading
149
153
  });
150
- }, [dataQueryParams, errorMessageProp, getData]);
154
+ }, [dataQueryParams, errorMessageProp, getData, isLoadingProp]);
151
155
  useEffect(() => {
152
156
  setIsEmpty(pagination.pageIndex === currentPage && pagination.pageSize === resultsPerPage && search === "" && filters === initialFilters && data.length === 0);
153
157
  }, [currentPage, data, filters, initialFilters, pagination, resultsPerPage, search]);
@@ -174,16 +178,22 @@ const DataView = ({
174
178
  return;
175
179
  }, [noResultsPlaceholder, t, isEmpty, isNoResults, emptyPlaceholder]);
176
180
  const additionalActions = useMemo(() => _jsxs(_Fragment, {
177
- children: [currentLayout === "table" && tableOptions && _jsx(TableSettings, {
181
+ children: [currentLayout === "table" && tableLayoutOptions && _jsx(TableSettings, {
178
182
  setTableState: setTableState,
179
- tableOptions: tableOptions,
183
+ tableLayoutOptions: tableLayoutOptions,
180
184
  tableState: tableState
181
185
  }), availableLayouts.length > 1 && _jsx(LayoutSwitcher, {
182
186
  availableLayouts: availableLayouts,
183
187
  currentLayout: currentLayout,
184
188
  setCurrentLayout: setCurrentLayout
189
+ }), additionalActionButton, additionalActionMenuItems && _jsx(MenuButton, {
190
+ endIcon: _jsx(MoreIcon, {}),
191
+ ariaLabel: t("table.moreactions.arialabel"),
192
+ buttonVariant: "secondary",
193
+ menuAlignment: "right",
194
+ children: additionalActionMenuItems
185
195
  })]
186
- }), [currentLayout, tableOptions, tableState, availableLayouts]);
196
+ }), [currentLayout, tableLayoutOptions, tableState, availableLayouts, additionalActionButton, additionalActionMenuItems, t]);
187
197
  const {
188
198
  lastRow: lastRowOnPage
189
199
  } = usePagination({
@@ -226,8 +236,8 @@ const DataView = ({
226
236
  }), !shouldShowFilters && additionalActions]
227
237
  }), !shouldShowFilters && !bulkActionMenuItems && !hasRowSelection && _jsx(AdditionalActionsContainer, {
228
238
  children: additionalActions
229
- }), currentLayout === "table" && tableOptions && _jsx(TableContent, {
230
- columns: tableOptions.columns,
239
+ }), currentLayout === "table" && tableLayoutOptions && _jsx(TableLayoutContent, {
240
+ columns: tableLayoutOptions.columns,
231
241
  data: data,
232
242
  draggingRow: draggingRow,
233
243
  emptyState: emptyState,
@@ -244,10 +254,10 @@ const DataView = ({
244
254
  rowSelection: rowSelection,
245
255
  setRowSelection: setRowSelection,
246
256
  setTableState: setTableState,
247
- tableOptions: tableOptions,
257
+ tableLayoutOptions: tableLayoutOptions,
248
258
  tableState: tableState,
249
259
  totalRows: totalRows
250
- }), (currentLayout === "list" || currentLayout === "grid") && stackOptions && _jsx(StackContent, {
260
+ }), (currentLayout === "list" || currentLayout === "grid") && cardLayoutOptions && _jsx(CardLayoutContent, {
251
261
  currentLayout: currentLayout,
252
262
  data: data,
253
263
  draggingRow: draggingRow,
@@ -264,7 +274,7 @@ const DataView = ({
264
274
  rowReorderingUtilities: rowReorderingUtilities,
265
275
  rowSelection: rowSelection,
266
276
  setRowSelection: setRowSelection,
267
- stackOptions: stackOptions,
277
+ cardLayoutOptions: cardLayoutOptions,
268
278
  totalRows: totalRows
269
279
  }), hasPagination && _jsx(Pagination, {
270
280
  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","useOdysseyDesignTokens","styled","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DataViewContainer","shouldForwardProp","prop","odysseyDesignTokens","display","flexDirection","gap","Spacing4","BulkActionsContainer","justifyContent","AdditionalActionsContainer","DataView","additionalActionButton","additionalActionMenuItems","bulkActionMenuItems","currentPage","emptyPlaceholder","errorMessage","errorMessageProp","filters","filtersProp","getData","getRowId","getRowIdProp","hasFilters","hasPagination","hasSearch","hasSearchSubmitButton","hasRowReordering","hasRowSelection","initialLayout","isEmpty","isEmptyProp","isLoading","isLoadingProp","isNoResults","isNoResultsProp","isPaginationMoreDisabled","isRowReorderingDisabled","noResultsPlaceholder","onChangeRowSelection","onReorderRows","paginationType","resultsPerPage","searchDelayTime","cardLayoutOptions","tableLayoutOptions","totalRows","maxPages","maxResultsPerPage","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","endIcon","ariaLabel","buttonVariant","menuAlignment","lastRow","lastRowOnPage","currentRowsCount","rowReorderingUtilities","severity","text","isDisabled","onChangeFilters","onChangeSearch","menuItems","currentPageLabel","isMoreDisabled","loadMoreLabel","maxPageIndex","maxPageSize","nextLabel","onPaginationChange","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 \"../..\";\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 {\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 display: \"flex\",\n justifyContent: \"flex-end\",\n}));\n\nconst DataView = ({\n additionalActionButton,\n additionalActionMenuItems,\n availableLayouts = allAvailableLayouts,\n bulkActionMenuItems,\n currentPage = 1,\n emptyPlaceholder,\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 noResultsPlaceholder,\n onChangeRowSelection,\n onReorderRows,\n paginationType = \"paged\",\n resultsPerPage = 20,\n searchDelayTime,\n cardLayoutOptions,\n tableLayoutOptions,\n totalRows,\n maxPages,\n maxResultsPerPage,\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: prev.pageSize,\n }));\n }, [filters, search]);\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 () => (\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 </>\n ),\n [\n currentLayout,\n tableLayoutOptions,\n tableState,\n availableLayouts,\n additionalActionButton,\n additionalActionMenuItems,\n t,\n ],\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 && !bulkActionMenuItems && !hasRowSelection && (\n <AdditionalActionsContainer>\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 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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"}
@@ -33,7 +33,7 @@ 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,
@@ -51,7 +51,7 @@ const TableContent = ({
51
51
  rowSelection,
52
52
  setRowSelection,
53
53
  setTableState,
54
- tableOptions,
54
+ tableLayoutOptions,
55
55
  tableState,
56
56
  totalRows
57
57
  }) => {
@@ -103,7 +103,7 @@ const TableContent = ({
103
103
  }) => {
104
104
  const currentIndex = row.index + (pagination.pageIndex - 1) * pagination.pageSize;
105
105
  return _jsxs(RowActionsContainer, {
106
- children: [tableOptions.rowActionButtons?.(row), (tableOptions.rowActionMenuItems || hasRowReordering) && _jsx(MenuButton, {
106
+ children: [tableLayoutOptions.rowActionButtons?.(row), (tableLayoutOptions.rowActionMenuItems || hasRowReordering) && _jsx(MenuButton, {
107
107
  ariaLabel: t("table.moreactions.arialabel"),
108
108
  buttonVariant: "floating",
109
109
  endIcon: _jsx(MoreIcon, {}),
@@ -112,14 +112,14 @@ const TableContent = ({
112
112
  children: _jsx(RowActions, {
113
113
  isRowReorderingDisabled: isRowReorderingDisabled,
114
114
  row: row,
115
- rowActionMenuItems: tableOptions.rowActionMenuItems,
115
+ rowActionMenuItems: tableLayoutOptions.rowActionMenuItems,
116
116
  rowIndex: currentIndex,
117
117
  totalRows: totalRows,
118
118
  updateRowOrder: hasRowReordering && onReorderRows ? updateRowOrder : undefined
119
119
  })
120
120
  })]
121
121
  });
122
- }, [hasRowReordering, isRowReorderingDisabled, onReorderRows, pagination.pageIndex, pagination.pageSize, t, tableOptions, totalRows, updateRowOrder]);
122
+ }, [hasRowReordering, isRowReorderingDisabled, onReorderRows, pagination.pageIndex, pagination.pageSize, t, tableLayoutOptions, totalRows, updateRowOrder]);
123
123
  const innerWidthStyle = useMemo(() => ({
124
124
  width: tableInnerContainerWidth
125
125
  }), [tableInnerContainerWidth]);
@@ -127,7 +127,7 @@ const TableContent = ({
127
127
  sx: innerWidthStyle,
128
128
  children: emptyState
129
129
  }), [innerWidthStyle, emptyState]);
130
- const shouldDisplayRowActions = useMemo(() => hasRowReordering === true && onReorderRows || tableOptions.rowActionButtons || tableOptions.rowActionMenuItems ? true : false, [hasRowReordering, onReorderRows, tableOptions.rowActionButtons, tableOptions.rowActionMenuItems]);
130
+ const shouldDisplayRowActions = useMemo(() => hasRowReordering === true && onReorderRows || tableLayoutOptions.rowActionButtons || tableLayoutOptions.rowActionMenuItems ? true : false, [hasRowReordering, onReorderRows, tableLayoutOptions.rowActionButtons, tableLayoutOptions.rowActionMenuItems]);
131
131
  const dataTable = useMaterialReactTable({
132
132
  data: !isEmpty && !isNoResults ? data : [],
133
133
  columns,
@@ -170,9 +170,9 @@ const TableContent = ({
170
170
  display: "flex",
171
171
  visibility: "hidden"
172
172
  },
173
- children: [tableOptions.rowActionButtons && tableOptions.rowActionButtons({
173
+ children: [tableLayoutOptions.rowActionButtons && tableLayoutOptions.rowActionButtons({
174
174
  id: null
175
- }), (hasRowReordering === true && onReorderRows || tableOptions.rowActionMenuItems) && _jsx(Box, {
175
+ }), (hasRowReordering === true && onReorderRows || tableLayoutOptions.rowActionMenuItems) && _jsx(Box, {
176
176
  children: _jsx(Button, {
177
177
  endIcon: _jsx(MoreIcon, {}),
178
178
  size: "small",
@@ -187,7 +187,7 @@ const TableContent = ({
187
187
  },
188
188
  muiTableProps: {
189
189
  ref: tableContentRef,
190
- className: !shouldDisplayRowActions && tableOptions.hasColumnResizing ? "ods-hide-spacer-column" : ""
190
+ className: !shouldDisplayRowActions && tableLayoutOptions.hasColumnResizing ? "ods-hide-spacer-column" : ""
191
191
  },
192
192
  muiTableContainerProps: {
193
193
  ref: tableInnerContainerRef
@@ -195,11 +195,11 @@ const TableContent = ({
195
195
  muiTableBodyProps: () => ({
196
196
  className: rowDensityClassName
197
197
  }),
198
- enableColumnResizing: tableOptions.hasColumnResizing,
198
+ enableColumnResizing: tableLayoutOptions.hasColumnResizing,
199
199
  defaultColumn: {
200
200
  Cell: defaultCell
201
201
  },
202
- enableRowActions: shouldDisplayRowActions,
202
+ enableRowActions: hasRowReordering === true && onReorderRows || tableLayoutOptions.rowActionButtons || tableLayoutOptions.rowActionMenuItems ? true : false,
203
203
  renderRowActions: ({
204
204
  row
205
205
  }) => renderRowActions({
@@ -248,7 +248,7 @@ const TableContent = ({
248
248
  sx: dragHandleStyles,
249
249
  ...dragHandleText
250
250
  }),
251
- renderDetailPanel: tableOptions.renderDetailPanel,
251
+ renderDetailPanel: tableLayoutOptions.renderDetailPanel,
252
252
  enableRowVirtualization: data.length >= 50,
253
253
  muiTableHeadCellProps: ({
254
254
  column: currentColumn
@@ -260,7 +260,7 @@ const TableContent = ({
260
260
  }) => ({
261
261
  className: column.getIsResizing() ? "isResizing" : ""
262
262
  }),
263
- enableSorting: tableOptions.hasSorting === true,
263
+ enableSorting: tableLayoutOptions.hasSorting === true,
264
264
  onSortingChange: sortingUpdater => {
265
265
  const newSortVal = typeof sortingUpdater === "function" ? sortingUpdater(tableState.columnSorting) : tableState.columnSorting;
266
266
  setTableState(prevState => ({
@@ -288,7 +288,7 @@ const TableContent = ({
288
288
  })
289
289
  });
290
290
  };
291
- const MemoizedTableContent = memo(TableContent);
292
- MemoizedTableContent.displayName = "TableContent";
293
- export { MemoizedTableContent as TableContent };
294
- //# sourceMappingURL=TableContent.js.map
291
+ const MemoizedTableLayoutContent = memo(TableLayoutContent);
292
+ MemoizedTableLayoutContent.displayName = "TableLayoutContent";
293
+ export { MemoizedTableLayoutContent as TableLayoutContent };
294
+ //# sourceMappingURL=TableLayoutContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableLayoutContent.js","names":["memo","useCallback","useMemo","useRef","useState","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","getRowId","hasRowReordering","hasRowSelection","isEmpty","isLoading","isNoResults","isRowReorderingDisabled","onReorderRows","pagination","rowReorderingUtilities","rowSelection","setRowSelection","setTableState","tableLayoutOptions","tableState","totalRows","isTableContainerScrolledToStart","setIsTableContainerScrolledToStart","isTableContainerScrolledToEnd","setIsTableContainerScrolledToEnd","tableInnerContainerWidth","setTableInnerContainerWidth","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","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","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","length","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} 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 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 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 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 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 }),\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: data.length >= 50,\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 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 noResultsPlaceholder?: ReactNode;\n onChangeRowSelection?: (rowSelection: DataRowSelectionState) => void;\n onReorderRows?: ({ rowId, newRowIndex }: DataOnReorderRowsType) => 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":""}
@@ -19,7 +19,7 @@ export const fetchData = async ({
19
19
  setErrorMessage,
20
20
  setIsLoading
21
21
  }) => {
22
- setIsLoading(true);
22
+ setIsLoading?.(true);
23
23
  setErrorMessage(errorMessageProp);
24
24
  try {
25
25
  const incomingData = await getData?.(dataQueryParams);
@@ -27,7 +27,7 @@ export const fetchData = async ({
27
27
  } catch (error) {
28
28
  setErrorMessage(typeof error === "string" ? error : t("table.error"));
29
29
  } finally {
30
- setIsLoading(false);
30
+ setIsLoading?.(false);
31
31
  }
32
32
  };
33
33
  //# sourceMappingURL=fetchData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchData.js","names":["t","fetchData","dataQueryParams","errorMessageProp","getData","setData","setErrorMessage","setIsLoading","incomingData","error"],"sources":["../../../src/labs/DataView/fetchData.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 { Dispatch, SetStateAction } from \"react\";\nimport { MRT_RowData } from \"material-react-table\";\nimport { t } from \"i18next\";\n\nimport { DataQueryParamsType } from \"./dataTypes\";\nimport { UniversalProps } from \"./componentTypes\";\n\ntype DataRequestType = {\n dataQueryParams: DataQueryParamsType;\n errorMessageProp: UniversalProps[\"errorMessage\"];\n getData: UniversalProps[\"getData\"];\n setData: Dispatch<SetStateAction<MRT_RowData[]>>;\n setErrorMessage: Dispatch<SetStateAction<UniversalProps[\"errorMessage\"]>>;\n setIsLoading?: Dispatch<SetStateAction<boolean>>;\n};\n\nexport const fetchData = async ({\n dataQueryParams,\n errorMessageProp,\n getData,\n setData,\n setErrorMessage,\n setIsLoading,\n}: DataRequestType) => {\n setIsLoading?.(true);\n setErrorMessage(errorMessageProp);\n try {\n const incomingData = await getData?.(dataQueryParams);\n setData(incomingData);\n } catch (error) {\n setErrorMessage(typeof error === \"string\" ? error : t(\"table.error\"));\n } finally {\n setIsLoading?.(false);\n }\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA,SAASA,CAAC,QAAQ,SAAS;AAc3B,OAAO,MAAMC,SAAS,GAAG,MAAAA,CAAO;EAC9BC,eAAe;EACfC,gBAAgB;EAChBC,OAAO;EACPC,OAAO;EACPC,eAAe;EACfC;AACe,CAAC,KAAK;EACrBA,YAAY,GAAG,IAAI,CAAC;EACpBD,eAAe,CAACH,gBAAgB,CAAC;EACjC,IAAI;IACF,MAAMK,YAAY,GAAG,MAAMJ,OAAO,GAAGF,eAAe,CAAC;IACrDG,OAAO,CAACG,YAAY,CAAC;EACvB,CAAC,CAAC,OAAOC,KAAK,EAAE;IACdH,eAAe,CAAC,OAAOG,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGT,CAAC,CAAC,aAAa,CAAC,CAAC;EACvE,CAAC,SAAS;IACRO,YAAY,GAAG,KAAK,CAAC;EACvB;AACF,CAAC"}
@@ -9,7 +9,6 @@
9
9
  *
10
10
  * See the License for the specific language governing permissions and limitations under the License.
11
11
  */
12
- export { DataStack } from "./DataStack.js";
13
12
  export { DataTable } from "./DataTable.js";
14
13
  export { DataView } from "./DataView.js";
15
14
  export * from "./componentTypes.js";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["DataTable","DataView"],"sources":["../../../src/labs/DataView/index.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\nexport { DataTable, type DataTableProps } from \"./DataTable\";\nexport { DataView, type DataViewProps } from \"./DataView\";\n\nexport * from \"./componentTypes\";\nexport * from \"./constants\";\nexport * from \"./dataTypes\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAVA,SAYSA,SAAS;AAAA,SACTC,QAAQ;AAAA;AAAA;AAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tableConstants.js","names":["styled","Box","DragIndicatorIcon","jsx","_jsx","dataTableImmutableSettings","enableColumnActions","enableDensityToggle","enableExpandAll","enableFilters","enableFullScreenToggle","enableGlobalFilter","enableHiding","enablePagination","layoutMode","manualFiltering","manualSorting","muiTablePaperProps","elevation","sx","overflow","positionActionsColumn","rowVirtualizerOptions","overscan","selectAllMode","displayColumnDefOptions","header","muiTableBodyCellProps","minWidth","width","className","muiTableHeadCellProps","children","marginInline","opacity","padding","ScrollableTableContainer","shouldForwardProp","prop","odysseyDesignTokens","isScrollableStart","isScrollableEnd","marginBlockEnd","Spacing4","position","borderInlineStartColor","HueNeutral200","borderInlineStartStyle","borderInlineStartWidth","BorderWidthMain","background","content","pointerEvents","top","left","bottom","Spacing6","zIndex","transition","TransitionDurationMain","TransitionTimingMain","borderInlineEndColor","borderInlineEndStyle","borderInlineEndWidth","right"],"sources":["../../../src/labs/DataView/tableConstants.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport { MRT_RowData, MRT_TableOptions } from \"material-react-table\";\n\nimport { Box } from \"../../Box\";\nimport { DesignTokens } from \"../../OdysseyDesignTokensContext\";\nimport { DragIndicatorIcon } from \"../../icons.generated\";\n\nexport const dataTableImmutableSettings = {\n enableColumnActions: false,\n enableDensityToggle: false,\n enableExpandAll: false,\n enableFilters: false,\n enableFullScreenToggle: false,\n enableGlobalFilter: false,\n enableHiding: false,\n enablePagination: false,\n layoutMode: \"grid-no-grow\" as MRT_TableOptions<MRT_RowData>[\"layoutMode\"],\n manualFiltering: true,\n manualSorting: true,\n muiTablePaperProps: {\n elevation: 0,\n sx: {\n overflow: \"visible\",\n },\n },\n positionActionsColumn:\n \"last\" as MRT_TableOptions<MRT_RowData>[\"positionActionsColumn\"],\n rowVirtualizerOptions: {\n overscan: 4,\n },\n selectAllMode: \"all\" as MRT_TableOptions<MRT_RowData>[\"selectAllMode\"],\n};\n\nexport const displayColumnDefOptions = {\n \"mrt-row-drag\": {\n header: \"\",\n muiTableBodyCellProps: {\n sx: {\n minWidth: 0,\n width: \"auto\",\n },\n className: \"ods-drag-handle\",\n },\n muiTableHeadCellProps: {\n sx: {\n minWidth: 0,\n width: \"auto\",\n },\n children: (\n // Add a spacer to simulate the width of the drag handle in the column.\n // Without this, the head cells are offset from their body cell counterparts\n <Box sx={{ marginInline: \"-0.1rem\" }}>\n <DragIndicatorIcon sx={{ marginInline: 1, opacity: 0 }} />\n </Box>\n ),\n },\n },\n \"mrt-row-select\": {\n muiTableHeadCellProps: {\n padding: \"checkbox\" as const,\n },\n muiTableBodyCellProps: {\n padding: \"checkbox\" as const,\n },\n },\n \"mrt-row-expand\": {\n header: \"\",\n muiTableBodyCellProps: {\n sx: {\n overflow: \"visible\",\n },\n },\n },\n};\n\nexport const ScrollableTableContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"isScrollableStart\" &&\n prop !== \"isScrollableEnd\",\n})(\n ({\n odysseyDesignTokens,\n isScrollableStart,\n isScrollableEnd,\n }: {\n odysseyDesignTokens: DesignTokens;\n isScrollableStart: boolean;\n isScrollableEnd: boolean;\n }) => ({\n marginBlockEnd: odysseyDesignTokens.Spacing4,\n position: \"relative\",\n borderInlineStartColor: isScrollableStart\n ? odysseyDesignTokens.HueNeutral200\n : \"transparent\",\n borderInlineStartStyle: \"solid\",\n borderInlineStartWidth: odysseyDesignTokens.BorderWidthMain,\n \"::before\": {\n background:\n \"linear-gradient(-90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.33) 50%, rgba(0, 0, 0, 1) 100%)\",\n content: '\"\"',\n opacity: isScrollableStart ? \"0.075\" : \"0\",\n pointerEvents: \"none\",\n position: \"absolute\",\n top: 0,\n left: 0,\n bottom: 0,\n width: odysseyDesignTokens.Spacing6,\n zIndex: 100,\n transition: `opacity ${odysseyDesignTokens.TransitionDurationMain} ${odysseyDesignTokens.TransitionTimingMain}`,\n },\n borderInlineEndColor: isScrollableEnd\n ? odysseyDesignTokens.HueNeutral200\n : \"transparent\",\n borderInlineEndStyle: \"solid\",\n borderInlineEndWidth: odysseyDesignTokens.BorderWidthMain,\n \"::after\": {\n background:\n \"linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.33) 50%, rgba(0, 0, 0, 1) 100%)\",\n content: '\"\"',\n opacity: isScrollableEnd ? \"0.075\" : \"0\",\n pointerEvents: \"none\",\n position: \"absolute\",\n top: 0,\n right: 0,\n bottom: 0,\n width: odysseyDesignTokens.Spacing6,\n transition: `opacity ${odysseyDesignTokens.TransitionDurationMain} ${odysseyDesignTokens.TransitionTimingMain}`,\n },\n }),\n);\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFilterConversion.js","names":["useCallback","useMemo","useFilterConversion","columns","filters","convertFilterSelectOptions","options","map","option","label","value","convertColumnToFilter","column","enableColumnFilter","accessorKey","id","header","variant","filterVariant","filterSelectOptions","dataTableFilters","providedFilters","reduce","accumulator","item","foundColumn","find","filter","concat"],"sources":["../../../src/labs/DataView/useFilterConversion.ts"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { useCallback, useMemo } from \"react\";\nimport { MRT_RowData } from \"material-react-table\";\n\nimport { DataFilter } from \"../DataFilters\";\nimport { DataTableColumn } from \"../../DataTable\";\nimport { UniversalProps, TableLayoutProps } from \"./componentTypes\";\n\ntype FilterConversionType = {\n columns?: TableLayoutProps[\"columns\"];\n filters?: UniversalProps[\"filters\"];\n};\n\nexport const useFilterConversion = ({\n columns,\n filters,\n}: FilterConversionType) => {\n const convertFilterSelectOptions = useCallback(\n (options: DataTableColumn<MRT_RowData>[\"filterSelectOptions\"]) =>\n options?.map((option) =>\n typeof option === \"string\"\n ? {\n label: option,\n value: option,\n }\n : {\n // If the option isn't a string, it must have value and/or option defined\n // If either is undefined, use the other\n label: option.label ?? option.value,\n value: option.value ?? option.label,\n },\n ),\n [],\n );\n\n const convertColumnToFilter = useCallback(\n (column: DataTableColumn<MRT_RowData>) =>\n column.enableColumnFilter !== false && column.accessorKey\n ? ({\n id: column.accessorKey,\n label: column.header,\n variant: column.filterVariant,\n options: convertFilterSelectOptions(column.filterSelectOptions),\n } satisfies DataFilter as DataFilter)\n : null,\n [convertFilterSelectOptions],\n );\n\n const dataTableFilters = useMemo(() => {\n // Filters may be manually set via the `filters` variable;\n // If not, they may be inferred from `columns`\n const providedFilters = filters || columns || [];\n\n return providedFilters.reduce<DataFilter[]>((accumulator, item) => {\n if (typeof item === \"string\") {\n const foundColumn = columns?.find(\n (column) => column.accessorKey === item,\n );\n const filter = foundColumn && convertColumnToFilter(foundColumn);\n return filter ? accumulator.concat(filter) : accumulator;\n }\n\n if (\"accessorKey\" in item) {\n const filter = convertColumnToFilter(item);\n return filter ? accumulator.concat(filter) : accumulator;\n }\n\n if (\"label\" in item) {\n return accumulator.concat(item);\n }\n\n return accumulator;\n }, []);\n }, [columns, filters]);\n\n return dataTableFilters;\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,WAAW,EAAEC,OAAO,QAAQ,OAAO;AAY5C,OAAO,MAAMC,mBAAmB,GAAGA,CAAC;EAClCC,OAAO;EACPC;AACoB,CAAC,KAAK;EAC1B,MAAMC,0BAA0B,GAAGL,WAAW,CAC3CM,OAA4D,IAC3DA,OAAO,EAAEC,GAAG,CAAEC,MAAM,IAClB,OAAOA,MAAM,KAAK,QAAQ,GACtB;IACEC,KAAK,EAAED,MAAM;IACbE,KAAK,EAAEF;EACT,CAAC,GACD;IAGEC,KAAK,EAAED,MAAM,CAACC,KAAK,IAAID,MAAM,CAACE,KAAK;IACnCA,KAAK,EAAEF,MAAM,CAACE,KAAK,IAAIF,MAAM,CAACC;EAChC,CACN,CAAC,EACH,EACF,CAAC;EAED,MAAME,qBAAqB,GAAGX,WAAW,CACtCY,MAAoC,IACnCA,MAAM,CAACC,kBAAkB,KAAK,KAAK,IAAID,MAAM,CAACE,WAAW,GACpD;IACCC,EAAE,EAAEH,MAAM,CAACE,WAAW;IACtBL,KAAK,EAAEG,MAAM,CAACI,MAAM;IACpBC,OAAO,EAAEL,MAAM,CAACM,aAAa;IAC7BZ,OAAO,EAAED,0BAA0B,CAACO,MAAM,CAACO,mBAAmB;EAChE,CAAC,GACD,IAAI,EACV,CAACd,0BAA0B,CAC7B,CAAC;EAED,MAAMe,gBAAgB,GAAGnB,OAAO,CAAC,MAAM;IAGrC,MAAMoB,eAAe,GAAGjB,OAAO,IAAID,OAAO,IAAI,EAAE;IAEhD,OAAOkB,eAAe,CAACC,MAAM,CAAe,CAACC,WAAW,EAAEC,IAAI,KAAK;MACjE,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;QAC5B,MAAMC,WAAW,GAAGtB,OAAO,EAAEuB,IAAI,CAC9Bd,MAAM,IAAKA,MAAM,CAACE,WAAW,KAAKU,IACrC,CAAC;QACD,MAAMG,MAAM,GAAGF,WAAW,IAAId,qBAAqB,CAACc,WAAW,CAAC;QAChE,OAAOE,MAAM,GAAGJ,WAAW,CAACK,MAAM,CAACD,MAAM,CAAC,GAAGJ,WAAW;MAC1D;MAEA,IAAI,aAAa,IAAIC,IAAI,EAAE;QACzB,MAAMG,MAAM,GAAGhB,qBAAqB,CAACa,IAAI,CAAC;QAC1C,OAAOG,MAAM,GAAGJ,WAAW,CAACK,MAAM,CAACD,MAAM,CAAC,GAAGJ,WAAW;MAC1D;MAEA,IAAI,OAAO,IAAIC,IAAI,EAAE;QACnB,OAAOD,WAAW,CAACK,MAAM,CAACJ,IAAI,CAAC;MACjC;MAEA,OAAOD,WAAW;IACpB,CAAC,EAAE,EAAE,CAAC;EACR,CAAC,EAAE,CAACpB,OAAO,EAAEC,OAAO,CAAC,CAAC;EAEtB,OAAOgB,gBAAgB;AACzB,CAAC"}