@databiosphere/findable-ui 37.1.0 → 38.0.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 (454) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/CHANGELOG.md +11 -0
  3. package/lib/components/DataDictionary/components/Entities/types.d.ts +1 -1
  4. package/lib/components/DataDictionary/components/Entity/types.d.ts +1 -1
  5. package/lib/components/DataDictionary/components/Filters/components/ColumnFilterTags/columnFilterTags.styles.d.ts +1 -1
  6. package/lib/components/DataDictionary/components/Filters/filters.styles.d.ts +1 -1
  7. package/lib/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.styles.d.ts +1 -1
  8. package/lib/components/DataDictionary/components/Layout/components/EntitiesLayout/types.d.ts +1 -1
  9. package/lib/components/DataDictionary/components/Layout/components/FiltersLayout/filtersLayout.styles.d.ts +1 -1
  10. package/lib/components/DataDictionary/components/Layout/components/FiltersLayout/types.d.ts +1 -1
  11. package/lib/components/DataDictionary/components/Layout/components/OutlineLayout/outlineLayout.styles.d.ts +1 -1
  12. package/lib/components/DataDictionary/components/Layout/components/OutlineLayout/types.d.ts +1 -1
  13. package/lib/components/DataDictionary/components/Layout/components/TitleLayout/titleLayout.styles.d.ts +1 -1
  14. package/lib/components/DataDictionary/components/Layout/components/TitleLayout/types.d.ts +1 -1
  15. package/lib/components/DataDictionary/components/Table/table.js +3 -3
  16. package/lib/components/DataDictionary/components/Title/title.d.ts +2 -2
  17. package/lib/components/DataDictionary/components/Title/title.js +1 -1
  18. package/lib/components/DataDictionary/components/Title/title.styles.d.ts +5 -1
  19. package/lib/components/DataDictionary/dataDictionary.js +2 -2
  20. package/lib/components/Detail/components/DetailViewTable/detailViewTable.js +3 -3
  21. package/lib/components/Detail/components/Table/components/TableRows/components/CollapsableRows/collapsableRows.js +2 -2
  22. package/lib/components/Detail/components/Table/components/TableRows/tableRows.js +2 -2
  23. package/lib/components/Detail/components/Table/table.js +1 -1
  24. package/lib/components/Export/components/ExportForm/exportForm.styles.d.ts +2 -2
  25. package/lib/components/Filter/components/ClearAllFilters/clearAllFilters.js +3 -2
  26. package/lib/components/Filter/components/ClearAllFilters/clearAllFilters.styles.d.ts +5 -0
  27. package/lib/components/Filter/components/ClearAllFilters/clearAllFilters.styles.js +5 -0
  28. package/lib/components/Filter/components/FilterCountChip/filterCountChip.js +1 -1
  29. package/lib/components/Filter/components/FilterCountChip/filterCountChip.styles.d.ts +2 -2
  30. package/lib/components/Filter/components/FilterLabel/filterLabel.styles.d.ts +1 -1
  31. package/lib/components/Filter/components/FilterMenu/filterMenu.styles.d.ts +1 -1
  32. package/lib/components/Filter/components/FilterTag/filterTag.styles.d.ts +2 -2
  33. package/lib/components/Filter/components/Filters/filters.d.ts +1 -2
  34. package/lib/components/Filter/components/Filters/filters.js +4 -2
  35. package/lib/components/Filter/components/SearchAllFilters/searchAllFilters.d.ts +1 -2
  36. package/lib/components/Filter/components/SearchAllFilters/searchAllFilters.js +5 -3
  37. package/lib/components/Index/components/EntityView/components/controls/ActionButton/actionButton.d.ts +1 -0
  38. package/lib/components/Index/components/EntityView/components/controls/ActionButton/actionButton.js +10 -0
  39. package/lib/components/Index/components/EntityView/components/controls/ExportButton/exportButton.d.ts +2 -0
  40. package/lib/components/Index/components/EntityView/components/controls/ExportButton/exportButton.js +20 -0
  41. package/lib/components/Index/components/EntityView/components/controls/ExportButton/exportButton.styles.d.ts +5 -0
  42. package/lib/components/Index/components/EntityView/components/controls/ExportButton/exportButton.styles.js +8 -0
  43. package/lib/components/Index/components/EntityView/components/controls/FilterButton/filterButton.d.ts +3 -0
  44. package/lib/components/Index/components/EntityView/components/controls/FilterButton/filterButton.js +18 -0
  45. package/lib/components/Index/components/EntityView/components/controls/FilterButton/filterButton.styles.d.ts +5 -0
  46. package/lib/components/Index/components/EntityView/components/controls/FilterButton/filterButton.styles.js +8 -0
  47. package/lib/components/Index/components/EntityView/components/controls/ViewToggle/hooks/UseViewToggle/hook.d.ts +2 -0
  48. package/lib/components/Index/components/{EntitiesView/hooks/UseEntitiesView → EntityView/components/controls/ViewToggle/hooks/UseViewToggle}/hook.js +3 -3
  49. package/lib/components/Index/components/{EntitiesView/hooks/UseEntitiesView → EntityView/components/controls/ViewToggle/hooks/UseViewToggle}/types.d.ts +1 -1
  50. package/lib/components/Index/{stories/index.stories.d.ts → components/EntityView/components/controls/ViewToggle/stories/viewToggle.stories.d.ts} +2 -2
  51. package/lib/components/Index/components/EntityView/components/controls/ViewToggle/stories/viewToggle.stories.js +6 -0
  52. package/lib/components/Index/components/EntityView/components/controls/ViewToggle/viewToggle.d.ts +2 -0
  53. package/lib/components/Index/components/EntityView/components/controls/ViewToggle/viewToggle.js +13 -0
  54. package/lib/components/Index/components/EntityView/components/controls/ViewToggle/viewToggle.styles.d.ts +3 -0
  55. package/lib/components/Index/components/EntityView/components/controls/ViewToggle/viewToggle.styles.js +8 -0
  56. package/lib/components/Index/components/EntityView/components/layout/Summary/constants.d.ts +2 -0
  57. package/lib/components/Index/components/EntityView/components/layout/Summary/constants.js +5 -0
  58. package/lib/components/Index/components/EntityView/components/layout/Summary/summary.d.ts +2 -0
  59. package/lib/components/Index/components/EntityView/components/layout/Summary/summary.js +15 -0
  60. package/lib/components/Index/components/EntityView/components/layout/Summary/summary.styles.d.ts +10 -0
  61. package/lib/components/Index/components/EntityView/components/layout/Summary/summary.styles.js +17 -0
  62. package/lib/components/Index/components/EntityView/components/layout/Title/title.d.ts +2 -0
  63. package/lib/components/Index/components/EntityView/components/layout/Title/title.js +11 -0
  64. package/lib/components/Index/components/{Tabs → EntityView/components/navigation/Tabs}/common/utils.d.ts +2 -2
  65. package/lib/components/Index/components/EntityView/components/navigation/Tabs/common/utils.js +14 -0
  66. package/lib/components/Index/components/EntityView/components/navigation/Tabs/tabs.js +23 -0
  67. package/lib/components/Index/components/EntityView/components/navigation/Tabs/tabs.styles.d.ts +3 -0
  68. package/lib/components/Index/components/EntityView/components/navigation/Tabs/tabs.styles.js +19 -0
  69. package/lib/components/Index/components/EntityView/components/slots/EntityListSlot/entityListSlot.d.ts +1 -0
  70. package/lib/components/Index/components/EntityView/components/slots/EntityListSlot/entityListSlot.js +12 -0
  71. package/lib/components/Index/components/EntityView/components/slots/EntityViewSlot/entityViewSlot.d.ts +1 -0
  72. package/lib/components/Index/components/EntityView/components/slots/EntityViewSlot/entityViewSlot.js +14 -0
  73. package/lib/components/Index/components/EntityView/components/slots/EntityViewSlot/entityViewSlot.styles.d.ts +7 -0
  74. package/lib/components/Index/components/EntityView/components/slots/EntityViewSlot/entityViewSlot.styles.js +16 -0
  75. package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/chartView.js +6 -2
  76. package/lib/components/Index/components/EntityView/components/views/ChartView/chartView.styles.d.ts +13 -0
  77. package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/chartView.styles.js +2 -1
  78. package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/components/Chart/barX/plot.d.ts +1 -1
  79. package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/components/Chart/barX/plot.js +2 -2
  80. package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/components/Chart/barX/utils.d.ts +1 -1
  81. package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/components/Chart/barX/utils.js +1 -1
  82. package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/components/Chart/chart.styles.d.ts +1 -1
  83. package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/components/Chart/chart.styles.js +3 -3
  84. package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/components/Chart/stories/chart.stories.js +1 -1
  85. package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/components/Chart/types.d.ts +2 -2
  86. package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/hooks/UseChartView/types.d.ts +1 -1
  87. package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/hooks/UseChartView/useChartView.d.ts +1 -1
  88. package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/hooks/UseChartView/useChartView.js +1 -1
  89. package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/stories/chartView.stories.js +1 -1
  90. package/lib/components/Index/components/EntityView/components/views/ChartView/types.d.ts +8 -0
  91. package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/utils.d.ts +2 -2
  92. package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/utils.js +1 -1
  93. package/lib/components/Index/components/EntityView/components/views/TableView/tableView.d.ts +3 -0
  94. package/lib/components/Index/components/{EntitiesView/components/EntityList/entityList.js → EntityView/components/views/TableView/tableView.js} +4 -4
  95. package/lib/components/Index/components/EntityView/context/context.d.ts +2 -0
  96. package/lib/components/Index/components/EntityView/context/context.js +7 -0
  97. package/lib/components/Index/components/EntityView/context/hook.d.ts +6 -0
  98. package/lib/components/Index/components/EntityView/context/hook.js +9 -0
  99. package/lib/components/Index/components/EntityView/context/types.d.ts +7 -0
  100. package/lib/components/Index/index.d.ts +1 -1
  101. package/lib/components/Index/index.js +34 -17
  102. package/lib/components/Index/index.styles.d.ts +29 -8
  103. package/lib/components/Index/index.styles.js +55 -7
  104. package/lib/components/Index/types.d.ts +0 -7
  105. package/lib/components/Layout/components/BackPage/components/BackPageHero/backPageHero.js +1 -1
  106. package/lib/components/Layout/components/Footer/components/VersionInfo/versionInfo.styles.d.ts +2 -2
  107. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.styles.d.ts +4 -4
  108. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/Button/button.styles.d.ts +1 -1
  109. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/Button/button.styles.d.ts +1 -1
  110. package/lib/components/Layout/components/Header/components/Content/components/Navigation/components/NavigationMenu/navigationMenu.styles.d.ts +1 -1
  111. package/lib/components/Layout/components/Header/components/Content/components/Slogan/slogan.styles.d.ts +1 -1
  112. package/lib/components/Layout/components/Outline/components/ContentsTab/contentsTab.styles.d.ts +1 -1
  113. package/lib/components/Layout/components/Outline/outline.styles.d.ts +2 -2
  114. package/lib/components/Layout/components/Sidebar/components/SidebarDrawer/sidebarDrawer.d.ts +3 -3
  115. package/lib/components/Layout/components/Sidebar/components/SidebarDrawer/sidebarDrawer.js +3 -3
  116. package/lib/components/Layout/components/Sidebar/sidebar.d.ts +2 -7
  117. package/lib/components/Layout/components/Sidebar/sidebar.js +8 -7
  118. package/lib/components/Layout/components/Sidebar/sidebar.stories.js +0 -4
  119. package/lib/components/Login/components/Button/button.styles.d.ts +1 -1
  120. package/lib/components/Login/components/Section/components/Consent/consent.styles.d.ts +1 -1
  121. package/lib/components/Stepper/components/Step/components/StepIcon/components/CompletedIcon/completedIcon.styles.d.ts +1 -1
  122. package/lib/components/Stepper/components/Step/components/StepLabel/components/Label/label.styles.d.ts +1 -1
  123. package/lib/components/Support/components/SupportRequest/components/Dialog/dialog.styles.d.ts +1 -1
  124. package/lib/components/Table/common/gridTable.styles.d.ts +1 -1
  125. package/lib/components/Table/common/gridTable.styles.js +10 -0
  126. package/lib/components/Table/components/DownloadEntityResults/downloadEntityResults.js +3 -2
  127. package/lib/components/Table/components/DownloadEntityResults/downloadEntityResults.styles.d.ts +5 -0
  128. package/lib/components/Table/components/DownloadEntityResults/downloadEntityResults.styles.js +8 -0
  129. package/lib/components/Table/components/PaginationSummary/paginationSummary.js +1 -1
  130. package/lib/components/Table/components/TableBody/tableBody.d.ts +3 -1
  131. package/lib/components/Table/components/TableBody/tableBody.js +9 -3
  132. package/lib/components/Table/components/TableCell/components/CodeCell/codeCell.styles.d.ts +2 -2
  133. package/lib/components/Table/components/TableCell/components/CollapsableCell/collapsableCell.d.ts +1 -3
  134. package/lib/components/Table/components/TableCell/components/CollapsableCell/collapsableCell.js +2 -2
  135. package/lib/components/Table/components/TableFeatures/ColumnFilter/columnFilter.styles.d.ts +1 -1
  136. package/lib/components/Table/components/TableFeatures/ColumnFilter/components/ColumnFilterTag/columnFilterTag.styles.d.ts +2 -2
  137. package/lib/components/Table/components/TableHead/tableHead.d.ts +1 -1
  138. package/lib/components/Table/components/TableHead/tableHead.js +8 -10
  139. package/lib/components/Table/components/TableHead/types.d.ts +0 -2
  140. package/lib/components/Table/components/TablePagination/stories/args.d.ts +3 -0
  141. package/lib/components/Table/components/TablePagination/stories/args.js +9 -0
  142. package/lib/components/{Index/components/Hero/components/Summaries/stories/summaries.stories.d.ts → Table/components/TablePagination/stories/tablePagination.stories.d.ts} +2 -2
  143. package/lib/components/Table/components/TablePagination/stories/tablePagination.stories.js +9 -0
  144. package/lib/components/Table/components/TablePagination/tablePagination.d.ts +2 -0
  145. package/lib/components/Table/components/TablePagination/tablePagination.js +20 -0
  146. package/lib/components/Table/components/TablePagination/tablePagination.styles.d.ts +7 -0
  147. package/lib/components/Table/components/TablePagination/tablePagination.styles.js +10 -0
  148. package/lib/components/Table/components/TablePagination/types.d.ts +8 -0
  149. package/lib/components/Table/components/TableRow/tableRow.styles.d.ts +3 -4
  150. package/lib/components/Table/components/TableRow/tableRow.styles.js +1 -1
  151. package/lib/components/Table/components/TableRows/components/CollapsableRows/collapsableRows.d.ts +1 -1
  152. package/lib/components/Table/components/TableRows/components/CollapsableRows/collapsableRows.js +6 -6
  153. package/lib/components/Table/components/TableRows/components/CollapsableRows/collapsableRows.styles.d.ts +5 -0
  154. package/lib/components/Table/components/TableRows/components/CollapsableRows/collapsableRows.styles.js +5 -0
  155. package/lib/components/Table/components/TableRows/components/VirtualizedRow/virtualizedRow.d.ts +1 -1
  156. package/lib/components/Table/components/TableRows/tableRows.d.ts +1 -1
  157. package/lib/components/Table/components/TableRows/tableRows.js +2 -2
  158. package/lib/components/Table/components/TableToolbar/constants.d.ts +2 -0
  159. package/lib/components/Table/components/TableToolbar/constants.js +6 -0
  160. package/lib/components/Table/components/TableToolbar/tableToolbar.d.ts +1 -3
  161. package/lib/components/Table/components/TableToolbar/tableToolbar.js +12 -11
  162. package/lib/components/Table/components/TableToolbar/tableToolbar.styles.d.ts +3 -3
  163. package/lib/components/Table/components/TableToolbar/tableToolbar.styles.js +14 -13
  164. package/lib/components/Table/table.d.ts +1 -2
  165. package/lib/components/Table/table.js +10 -11
  166. package/lib/components/Table/table.styles.d.ts +14 -1
  167. package/lib/components/Table/table.styles.js +34 -1
  168. package/lib/components/common/Button/components/DropdownButton/dropdownButton.d.ts +2 -5
  169. package/lib/components/common/Button/components/DropdownButton/dropdownButton.js +4 -3
  170. package/lib/components/common/Button/components/DropdownButton/dropdownButton.styles.d.ts +6 -3
  171. package/lib/components/common/Button/components/DropdownButton/dropdownButton.styles.js +8 -8
  172. package/lib/components/common/Button/components/DropdownButton/types.d.ts +4 -0
  173. package/lib/components/common/Button/constants.d.ts +2 -2
  174. package/lib/components/common/Button/constants.js +10 -0
  175. package/lib/components/common/Card/components/CardSecondaryTitle/cardSecondaryTitle.styles.d.ts +1 -1
  176. package/lib/components/common/Dot/dot.d.ts +2 -4
  177. package/lib/components/common/Drawer/provider/context.d.ts +2 -0
  178. package/lib/components/common/Drawer/provider/context.js +6 -0
  179. package/lib/components/common/Drawer/provider/hook.d.ts +6 -0
  180. package/lib/components/common/Drawer/provider/hook.js +9 -0
  181. package/lib/components/common/Drawer/provider/provider.d.ts +4 -0
  182. package/lib/components/common/Drawer/provider/provider.js +8 -0
  183. package/lib/components/common/Drawer/provider/types.d.ts +6 -0
  184. package/lib/components/common/Drawer/provider/types.js +1 -0
  185. package/lib/components/common/Form/components/Input/input.styles.d.ts +1 -1
  186. package/lib/components/common/Form/components/Select/select.styles.d.ts +1 -1
  187. package/lib/components/common/Form/components/UploadFile/uploadFile.styles.d.ts +1 -1
  188. package/lib/components/common/IconButton/iconButton.styles.d.ts +1 -1
  189. package/lib/components/common/Input/input.styles.d.ts +1 -1
  190. package/lib/components/common/OutlinedInput/components/InputAdornment/components/ClearInputAdornment/clearInputAdornment.styles.d.ts +1 -1
  191. package/lib/components/common/OutlinedInput/components/InputAdornment/inputAdornment.styles.d.ts +1 -1
  192. package/lib/components/common/Paper/components/FlatPaper/flatPaper.d.ts +3 -0
  193. package/lib/components/common/Paper/components/FlatPaper/flatPaper.js +5 -0
  194. package/lib/components/common/Paper/components/FlatPaper/flatPaper.styles.d.ts +5 -0
  195. package/lib/components/common/Paper/components/FlatPaper/flatPaper.styles.js +8 -0
  196. package/lib/components/common/Paper/components/FluidPaper/fluidPaper.d.ts +3 -0
  197. package/lib/components/common/Paper/components/FluidPaper/fluidPaper.js +5 -0
  198. package/lib/components/common/Paper/components/FluidPaper/fluidPaper.styles.d.ts +7 -0
  199. package/lib/components/common/Paper/components/FluidPaper/fluidPaper.styles.js +10 -0
  200. package/lib/components/common/Paper/components/RoundedPaper/roundedPaper.d.ts +3 -0
  201. package/lib/components/common/Paper/components/RoundedPaper/roundedPaper.js +5 -0
  202. package/lib/components/common/Paper/components/RoundedPaper/roundedPaper.styles.d.ts +5 -0
  203. package/lib/components/common/Paper/components/RoundedPaper/roundedPaper.styles.js +9 -0
  204. package/lib/components/common/Section/components/CollapsableSection/collapsableSection.styles.d.ts +1 -1
  205. package/lib/components/common/Tabs/tabs.js +1 -1
  206. package/lib/components/common/Tabs/tabs.styles.d.ts +1 -1
  207. package/lib/components/common/Title/title.d.ts +2 -7
  208. package/lib/components/common/Title/title.js +9 -5
  209. package/lib/components/common/Title/title.styles.d.ts +1 -1
  210. package/lib/components/common/Title/title.styles.js +3 -1
  211. package/lib/config/entities.d.ts +14 -7
  212. package/lib/config/utils.js +0 -1
  213. package/lib/{components/DataDictionary/hooks → hooks}/UseLayoutSpacing/hook.js +1 -1
  214. package/lib/hooks/UseLayoutSpacing/types.js +1 -0
  215. package/lib/hooks/useSummary.d.ts +2 -8
  216. package/lib/hooks/useSummary.js +19 -20
  217. package/lib/routes/constants.d.ts +1 -0
  218. package/lib/routes/constants.js +1 -0
  219. package/lib/styles/common/constants/colorMixes.d.ts +2 -0
  220. package/lib/styles/common/constants/colorMixes.js +2 -0
  221. package/lib/styles/common/mui/paper.js +0 -1
  222. package/lib/styles/common/mui/toggleButton.d.ts +9 -0
  223. package/lib/styles/common/mui/toggleButton.js +18 -0
  224. package/lib/styles/common/mui/typography.js +1 -0
  225. package/lib/tests/testIds.d.ts +1 -1
  226. package/lib/tests/testIds.js +1 -1
  227. package/lib/theme/common/components.js +64 -59
  228. package/lib/views/ExploreView/exploreView.js +10 -59
  229. package/package.json +2 -2
  230. package/src/components/DataDictionary/components/Entities/types.ts +1 -1
  231. package/src/components/DataDictionary/components/Entity/entity.styles.ts +1 -1
  232. package/src/components/DataDictionary/components/Entity/types.ts +1 -1
  233. package/src/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.styles.ts +1 -1
  234. package/src/components/DataDictionary/components/Layout/components/EntitiesLayout/types.ts +1 -1
  235. package/src/components/DataDictionary/components/Layout/components/FiltersLayout/filtersLayout.styles.ts +1 -1
  236. package/src/components/DataDictionary/components/Layout/components/FiltersLayout/types.ts +1 -1
  237. package/src/components/DataDictionary/components/Layout/components/OutlineLayout/outlineLayout.styles.ts +1 -1
  238. package/src/components/DataDictionary/components/Layout/components/OutlineLayout/types.ts +1 -1
  239. package/src/components/DataDictionary/components/Layout/components/TitleLayout/titleLayout.styles.ts +1 -1
  240. package/src/components/DataDictionary/components/Layout/components/TitleLayout/types.ts +1 -1
  241. package/src/components/DataDictionary/components/Table/table.tsx +4 -7
  242. package/src/components/DataDictionary/components/Title/title.tsx +5 -3
  243. package/src/components/DataDictionary/dataDictionary.tsx +2 -2
  244. package/src/components/Detail/components/DetailViewTable/detailViewTable.tsx +3 -3
  245. package/src/components/Detail/components/Table/components/TableRows/components/CollapsableRows/collapsableRows.tsx +3 -3
  246. package/src/components/Detail/components/Table/components/TableRows/tableRows.tsx +3 -3
  247. package/src/components/Detail/components/Table/table.tsx +1 -1
  248. package/src/components/Filter/components/ClearAllFilters/clearAllFilters.styles.ts +6 -0
  249. package/src/components/Filter/components/ClearAllFilters/clearAllFilters.tsx +6 -3
  250. package/src/components/Filter/components/FilterCountChip/filterCountChip.tsx +1 -0
  251. package/src/components/Filter/components/Filters/filters.tsx +3 -3
  252. package/src/components/Filter/components/SearchAllFilters/searchAllFilters.tsx +4 -4
  253. package/src/components/Index/components/EntityView/components/controls/ActionButton/actionButton.tsx +12 -0
  254. package/src/components/Index/components/EntityView/components/controls/ExportButton/exportButton.styles.ts +9 -0
  255. package/src/components/Index/components/EntityView/components/controls/ExportButton/exportButton.tsx +39 -0
  256. package/src/components/Index/components/EntityView/components/controls/FilterButton/filterButton.styles.ts +9 -0
  257. package/src/components/Index/components/EntityView/components/controls/FilterButton/filterButton.tsx +39 -0
  258. package/src/components/Index/components/EntityView/components/controls/ViewToggle/hooks/UseViewToggle/hook.ts +15 -0
  259. package/src/components/Index/components/{EntitiesView/hooks/UseEntitiesView → EntityView/components/controls/ViewToggle/hooks/UseViewToggle}/types.ts +1 -1
  260. package/src/components/Index/components/EntityView/components/controls/ViewToggle/stories/viewToggle.stories.tsx +12 -0
  261. package/src/components/Index/components/EntityView/components/controls/ViewToggle/viewToggle.styles.ts +9 -0
  262. package/src/components/Index/components/EntityView/components/controls/ViewToggle/viewToggle.tsx +24 -0
  263. package/src/components/Index/components/EntityView/components/layout/Summary/constants.ts +7 -0
  264. package/src/components/Index/components/EntityView/components/layout/Summary/summary.styles.ts +19 -0
  265. package/src/components/Index/components/EntityView/components/layout/Summary/summary.tsx +34 -0
  266. package/src/components/Index/components/EntityView/components/layout/Title/title.tsx +16 -0
  267. package/src/components/Index/components/EntityView/components/navigation/Tabs/common/utils.ts +25 -0
  268. package/src/components/Index/components/EntityView/components/navigation/Tabs/tabs.styles.ts +20 -0
  269. package/src/components/Index/components/EntityView/components/navigation/Tabs/tabs.tsx +28 -0
  270. package/src/components/Index/components/EntityView/components/slots/EntityListSlot/entityListSlot.tsx +14 -0
  271. package/src/components/Index/components/EntityView/components/slots/EntityViewSlot/entityViewSlot.styles.ts +17 -0
  272. package/src/components/Index/components/EntityView/components/slots/EntityViewSlot/entityViewSlot.tsx +19 -0
  273. package/src/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/chartView.styles.ts +2 -1
  274. package/src/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/chartView.tsx +10 -2
  275. package/src/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/components/Chart/barX/plot.ts +3 -3
  276. package/src/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/components/Chart/barX/utils.ts +2 -2
  277. package/src/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/components/Chart/chart.styles.ts +3 -3
  278. package/src/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/components/Chart/stories/chart.stories.tsx +1 -1
  279. package/src/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/components/Chart/types.ts +2 -2
  280. package/src/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/hooks/UseChartView/types.ts +1 -1
  281. package/src/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/hooks/UseChartView/useChartView.ts +2 -2
  282. package/src/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/stories/chartView.stories.tsx +1 -1
  283. package/src/components/Index/components/EntityView/components/views/ChartView/types.ts +9 -0
  284. package/src/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/utils.ts +3 -3
  285. package/src/components/Index/components/{EntitiesView/components/EntityList/entityList.tsx → EntityView/components/views/TableView/tableView.tsx} +4 -4
  286. package/src/components/Index/components/EntityView/context/context.ts +9 -0
  287. package/src/components/Index/components/EntityView/context/hook.ts +11 -0
  288. package/src/components/Index/components/EntityView/context/types.ts +11 -0
  289. package/src/components/Index/index.styles.ts +59 -11
  290. package/src/components/Index/index.tsx +63 -41
  291. package/src/components/Index/types.ts +0 -7
  292. package/src/components/Layout/components/BackPage/components/BackPageHero/backPageHero.tsx +1 -1
  293. package/src/components/Layout/components/Sidebar/components/SidebarDrawer/sidebarDrawer.tsx +8 -8
  294. package/src/components/Layout/components/Sidebar/sidebar.stories.tsx +0 -4
  295. package/src/components/Layout/components/Sidebar/sidebar.tsx +10 -18
  296. package/src/components/Table/common/gridTable.styles.ts +10 -0
  297. package/src/components/Table/components/DownloadEntityResults/downloadEntityResults.styles.ts +9 -0
  298. package/src/components/Table/components/DownloadEntityResults/downloadEntityResults.tsx +6 -4
  299. package/src/components/Table/components/PaginationSummary/paginationSummary.tsx +1 -1
  300. package/src/components/Table/components/TableBody/tableBody.tsx +11 -3
  301. package/src/components/Table/components/TableCell/components/CollapsableCell/collapsableCell.tsx +1 -10
  302. package/src/components/Table/components/TableHead/tableHead.tsx +37 -44
  303. package/src/components/Table/components/TableHead/types.ts +0 -2
  304. package/src/components/Table/components/TablePagination/stories/args.ts +12 -0
  305. package/src/components/Table/components/TablePagination/stories/tablePagination.stories.tsx +15 -0
  306. package/src/components/Table/components/TablePagination/tablePagination.styles.ts +11 -0
  307. package/src/components/Table/components/TablePagination/tablePagination.tsx +47 -0
  308. package/src/components/Table/components/TablePagination/types.ts +8 -0
  309. package/src/components/Table/components/TableRow/tableRow.styles.ts +3 -3
  310. package/src/components/Table/components/TableRows/components/CollapsableRows/collapsableRows.styles.ts +6 -0
  311. package/src/components/Table/components/TableRows/components/CollapsableRows/collapsableRows.tsx +9 -10
  312. package/src/components/Table/components/TableRows/components/VirtualizedRow/virtualizedRow.tsx +1 -1
  313. package/src/components/Table/components/TableRows/tableRows.tsx +4 -4
  314. package/src/components/Table/components/TableToolbar/constants.ts +8 -0
  315. package/src/components/Table/components/TableToolbar/tableToolbar.styles.ts +14 -14
  316. package/src/components/Table/components/TableToolbar/tableToolbar.tsx +21 -27
  317. package/src/components/Table/table.styles.ts +35 -1
  318. package/src/components/Table/table.tsx +10 -14
  319. package/src/components/common/Button/components/DropdownButton/dropdownButton.styles.ts +10 -10
  320. package/src/components/common/Button/components/DropdownButton/dropdownButton.tsx +8 -12
  321. package/src/components/common/Button/components/DropdownButton/types.ts +5 -0
  322. package/src/components/common/Button/constants.ts +12 -2
  323. package/src/components/common/Dot/dot.tsx +2 -5
  324. package/src/components/common/Drawer/provider/context.ts +8 -0
  325. package/src/components/common/Drawer/provider/hook.ts +11 -0
  326. package/src/components/common/Drawer/provider/provider.tsx +20 -0
  327. package/src/components/common/Drawer/provider/types.ts +10 -0
  328. package/src/components/common/Paper/components/FlatPaper/flatPaper.styles.ts +9 -0
  329. package/src/components/common/Paper/components/FlatPaper/flatPaper.tsx +10 -0
  330. package/src/components/common/Paper/components/FluidPaper/fluidPaper.styles.ts +11 -0
  331. package/src/components/common/Paper/components/FluidPaper/fluidPaper.tsx +10 -0
  332. package/src/components/common/Paper/components/RoundedPaper/roundedPaper.styles.ts +10 -0
  333. package/src/components/common/Paper/components/RoundedPaper/roundedPaper.tsx +10 -0
  334. package/src/components/common/Tabs/tabs.tsx +1 -1
  335. package/src/components/common/Title/title.styles.ts +3 -1
  336. package/src/components/common/Title/title.tsx +20 -28
  337. package/src/config/entities.ts +15 -7
  338. package/src/config/utils.ts +0 -1
  339. package/src/{components/DataDictionary/hooks → hooks}/UseLayoutSpacing/hook.ts +1 -1
  340. package/src/hooks/useSummary.ts +20 -27
  341. package/src/routes/constants.ts +1 -0
  342. package/src/styles/common/constants/colorMixes.ts +2 -0
  343. package/src/styles/common/mui/paper.ts +0 -1
  344. package/src/styles/common/mui/toggleButton.ts +27 -0
  345. package/src/styles/common/mui/typography.ts +1 -0
  346. package/src/tests/testIds.ts +1 -1
  347. package/src/theme/common/components.ts +64 -59
  348. package/src/views/ExploreView/exploreView.tsx +10 -100
  349. package/tests/chart.test.tsx +3 -3
  350. package/tests/chartView.test.tsx +2 -2
  351. package/tests/viewToggle.test.tsx +56 -0
  352. package/types/data-explorer-ui.d.ts +0 -7
  353. package/lib/components/DataDictionary/components/Table/table.styles.d.ts +0 -3
  354. package/lib/components/DataDictionary/components/Table/table.styles.js +0 -5
  355. package/lib/components/Index/components/EntitiesView/components/ChartView/chartView.styles.d.ts +0 -13
  356. package/lib/components/Index/components/EntitiesView/components/ChartView/types.d.ts +0 -8
  357. package/lib/components/Index/components/EntitiesView/components/EntityList/entityList.d.ts +0 -3
  358. package/lib/components/Index/components/EntitiesView/entitiesView.d.ts +0 -2
  359. package/lib/components/Index/components/EntitiesView/entitiesView.js +0 -15
  360. package/lib/components/Index/components/EntitiesView/entitiesView.styles.d.ts +0 -3
  361. package/lib/components/Index/components/EntitiesView/entitiesView.styles.js +0 -20
  362. package/lib/components/Index/components/EntitiesView/hooks/UseEntitiesView/hook.d.ts +0 -2
  363. package/lib/components/Index/components/EntitiesView/stories/entitiesView.stories.d.ts +0 -8
  364. package/lib/components/Index/components/EntitiesView/stories/entitiesView.stories.js +0 -50
  365. package/lib/components/Index/components/EntitiesView/types.d.ts +0 -8
  366. package/lib/components/Index/components/Hero/components/ExportButton/exportButton.d.ts +0 -1
  367. package/lib/components/Index/components/Hero/components/ExportButton/exportButton.js +0 -13
  368. package/lib/components/Index/components/Hero/components/ExportButton/exportButton.styles.d.ts +0 -3
  369. package/lib/components/Index/components/Hero/components/ExportButton/exportButton.styles.js +0 -13
  370. package/lib/components/Index/components/Hero/components/Summaries/stories/summaries.stories.js +0 -14
  371. package/lib/components/Index/components/Hero/components/Summaries/summaries.d.ts +0 -9
  372. package/lib/components/Index/components/Hero/components/Summaries/summaries.js +0 -12
  373. package/lib/components/Index/components/Hero/components/Summaries/summaries.styles.d.ts +0 -7
  374. package/lib/components/Index/components/Hero/components/Summaries/summaries.styles.js +0 -26
  375. package/lib/components/Index/components/Hero/hero.d.ts +0 -11
  376. package/lib/components/Index/components/Hero/hero.js +0 -12
  377. package/lib/components/Index/components/Hero/hero.styles.d.ts +0 -16
  378. package/lib/components/Index/components/Hero/hero.styles.js +0 -44
  379. package/lib/components/Index/components/Hero/stories/hero.stories.d.ts +0 -6
  380. package/lib/components/Index/components/Hero/stories/hero.stories.js +0 -16
  381. package/lib/components/Index/components/Tabs/common/utils.js +0 -19
  382. package/lib/components/Index/components/Tabs/tabs.js +0 -20
  383. package/lib/components/Index/stories/index.stories.js +0 -17
  384. package/lib/components/Table/components/Pagination/pagination.d.ts +0 -9
  385. package/lib/components/Table/components/Pagination/pagination.js +0 -19
  386. package/lib/components/Table/components/Pagination/pagination.stories.d.ts +0 -28
  387. package/lib/components/Table/components/Pagination/pagination.stories.js +0 -24
  388. package/lib/components/Table/components/Pagination/pagination.styles.d.ts +0 -4
  389. package/lib/components/Table/components/Pagination/pagination.styles.js +0 -15
  390. package/lib/components/Table/components/TableBody/hooks/virtualizer/constants.d.ts +0 -3
  391. package/lib/components/Table/components/TableBody/hooks/virtualizer/constants.js +0 -3
  392. package/lib/components/Table/components/TableBody/hooks/virtualizer/hook.d.ts +0 -8
  393. package/lib/components/Table/components/TableBody/hooks/virtualizer/hook.js +0 -18
  394. package/lib/components/Table/components/TableBody/hooks/virtualizer/types.d.ts +0 -4
  395. package/src/components/DataDictionary/components/Table/table.styles.ts +0 -6
  396. package/src/components/Index/components/EntitiesView/components/ChartView/types.ts +0 -9
  397. package/src/components/Index/components/EntitiesView/entitiesView.styles.ts +0 -21
  398. package/src/components/Index/components/EntitiesView/entitiesView.tsx +0 -30
  399. package/src/components/Index/components/EntitiesView/hooks/UseEntitiesView/hook.ts +0 -15
  400. package/src/components/Index/components/EntitiesView/stories/entitiesView.stories.tsx +0 -76
  401. package/src/components/Index/components/EntitiesView/types.ts +0 -9
  402. package/src/components/Index/components/Hero/components/ExportButton/exportButton.styles.ts +0 -14
  403. package/src/components/Index/components/Hero/components/ExportButton/exportButton.tsx +0 -26
  404. package/src/components/Index/components/Hero/components/Summaries/stories/summaries.stories.tsx +0 -20
  405. package/src/components/Index/components/Hero/components/Summaries/summaries.styles.ts +0 -31
  406. package/src/components/Index/components/Hero/components/Summaries/summaries.tsx +0 -35
  407. package/src/components/Index/components/Hero/hero.styles.ts +0 -55
  408. package/src/components/Index/components/Hero/hero.tsx +0 -40
  409. package/src/components/Index/components/Hero/stories/hero.stories.tsx +0 -22
  410. package/src/components/Index/components/Tabs/common/utils.ts +0 -35
  411. package/src/components/Index/components/Tabs/tabs.tsx +0 -23
  412. package/src/components/Index/stories/index.stories.tsx +0 -23
  413. package/src/components/Table/components/Pagination/pagination.stories.tsx +0 -30
  414. package/src/components/Table/components/Pagination/pagination.styles.ts +0 -16
  415. package/src/components/Table/components/Pagination/pagination.tsx +0 -50
  416. package/src/components/Table/components/TableBody/hooks/virtualizer/constants.ts +0 -3
  417. package/src/components/Table/components/TableBody/hooks/virtualizer/hook.ts +0 -23
  418. package/src/components/Table/components/TableBody/hooks/virtualizer/types.ts +0 -5
  419. package/tests/entitiesView.test.tsx +0 -32
  420. /package/lib/components/Index/components/{EntitiesView/hooks/UseEntitiesView → EntityView/components/controls/ViewToggle/hooks/UseViewToggle}/types.js +0 -0
  421. /package/lib/components/Index/components/{Tabs → EntityView/components/navigation/Tabs}/tabs.d.ts +0 -0
  422. /package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/chartView.d.ts +0 -0
  423. /package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/components/Chart/barX/constants.d.ts +0 -0
  424. /package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/components/Chart/barX/constants.js +0 -0
  425. /package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/components/Chart/chart.d.ts +0 -0
  426. /package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/components/Chart/chart.js +0 -0
  427. /package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/components/Chart/constants.d.ts +0 -0
  428. /package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/components/Chart/constants.js +0 -0
  429. /package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/components/Chart/stories/args.d.ts +0 -0
  430. /package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/components/Chart/stories/args.js +0 -0
  431. /package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/components/Chart/stories/chart.stories.d.ts +0 -0
  432. /package/lib/components/{DataDictionary/hooks/UseLayoutSpacing → Index/components/EntityView/components/views/ChartView/components/Chart}/types.js +0 -0
  433. /package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/constants.d.ts +0 -0
  434. /package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/constants.js +0 -0
  435. /package/lib/components/Index/components/{EntitiesView/components/ChartView/components/Chart → EntityView/components/views/ChartView/hooks/UseChartView}/types.js +0 -0
  436. /package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/stories/args.d.ts +0 -0
  437. /package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/stories/args.js +0 -0
  438. /package/lib/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/stories/chartView.stories.d.ts +0 -0
  439. /package/lib/components/Index/components/{EntitiesView/components/ChartView/hooks/UseChartView → EntityView/components/views/ChartView}/types.js +0 -0
  440. /package/lib/components/Index/components/{EntitiesView/components/EntityList → EntityView/components/views/TableView}/types.d.ts +0 -0
  441. /package/lib/components/Index/components/{EntitiesView/components/ChartView → EntityView/components/views/TableView}/types.js +0 -0
  442. /package/lib/components/Index/components/{EntitiesView/components/EntityList → EntityView/context}/types.js +0 -0
  443. /package/lib/components/{Index/components/EntitiesView → Table/components/TablePagination}/types.js +0 -0
  444. /package/lib/components/{Table/components/TableBody/hooks/virtualizer → common/Button/components/DropdownButton}/types.js +0 -0
  445. /package/lib/{components/DataDictionary/hooks → hooks}/UseLayoutSpacing/hook.d.ts +0 -0
  446. /package/lib/{components/DataDictionary/hooks → hooks}/UseLayoutSpacing/types.d.ts +0 -0
  447. /package/src/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/components/Chart/barX/constants.ts +0 -0
  448. /package/src/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/components/Chart/chart.tsx +0 -0
  449. /package/src/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/components/Chart/constants.ts +0 -0
  450. /package/src/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/components/Chart/stories/args.ts +0 -0
  451. /package/src/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/constants.ts +0 -0
  452. /package/src/components/Index/components/{EntitiesView/components → EntityView/components/views}/ChartView/stories/args.ts +0 -0
  453. /package/src/components/Index/components/{EntitiesView/components/EntityList → EntityView/components/views/TableView}/types.ts +0 -0
  454. /package/src/{components/DataDictionary/hooks → hooks}/UseLayoutSpacing/types.ts +0 -0
@@ -1,9 +1,10 @@
1
1
  import { Row, RowData } from "@tanstack/react-table";
2
2
  import React from "react";
3
- import { ButtonSecondary } from "../../../common/Button/components/ButtonSecondary/buttonSecondary";
4
3
  import { FileDownloadButton } from "../../../common/Button/components/FileDownloadButton/fileDownloadButton";
4
+ import { BUTTON_PROPS } from "../../../common/Button/constants";
5
5
  import { DownloadIcon } from "../../../common/CustomIcon/components/DownloadIcon/downloadIcon";
6
6
  import { generateDownloadBlob } from "../../common/utils";
7
+ import { StyledButton } from "./downloadEntityResults.styles";
7
8
 
8
9
  export interface DownloadEntityResultsProps<T extends RowData> {
9
10
  entityName: string;
@@ -25,12 +26,13 @@ export const DownloadEntityResults = <T extends RowData>({
25
26
 
26
27
  return (
27
28
  <>
28
- <ButtonSecondary
29
+ <StyledButton
30
+ {...BUTTON_PROPS.SECONDARY_CONTAINED}
29
31
  onClick={(): void => onDownload()}
30
- StartIcon={DownloadIcon}
32
+ startIcon={<DownloadIcon />}
31
33
  >
32
34
  Download TSV
33
- </ButtonSecondary>
35
+ </StyledButton>
34
36
  <FileDownloadButton fileName={`${entityName}.tsv`} fileUrl={fileUrl} />
35
37
  </>
36
38
  );
@@ -14,7 +14,7 @@ export const PaginationSummary = ({
14
14
  totalResult,
15
15
  }: PaginationSummaryProps): JSX.Element => {
16
16
  return (
17
- <Fade in={totalResult > 0}>
17
+ <Fade in={totalResult > 0} unmountOnExit>
18
18
  <div data-testid={TEST_IDS.TABLE_PAGINATION_RESULTS}>
19
19
  <Typography variant="text-body-400">Results </Typography>
20
20
  <Typography variant="text-body-small-500">
@@ -1,22 +1,24 @@
1
1
  import { TableBody as MTableBody } from "@mui/material";
2
2
  import { Row, RowData, Table } from "@tanstack/react-table";
3
- import React from "react";
3
+ import { useVirtualizer } from "@tanstack/react-virtual";
4
+ import React, { RefObject } from "react";
4
5
  import { ROW_DIRECTION } from "../../common/entities";
5
6
  import { CollapsableRows } from "../TableRows/components/CollapsableRows/collapsableRows";
6
7
  import { VirtualizedRow } from "../TableRows/components/VirtualizedRow/virtualizedRow";
7
8
  import { TableRows } from "../TableRows/tableRows";
8
- import { useVirtualizer } from "./hooks/virtualizer/hook";
9
9
  import { getAllVirtualizedRows } from "./utils";
10
10
 
11
11
  export interface TableBodyProps<T extends RowData> {
12
12
  rowDirection: ROW_DIRECTION;
13
13
  rows: Row<T>[];
14
+ tableContainerRef: RefObject<HTMLDivElement>;
14
15
  tableInstance: Table<T>;
15
16
  }
16
17
 
17
18
  export const TableBody = <T extends RowData>({
18
19
  rowDirection,
19
20
  rows,
21
+ tableContainerRef,
20
22
  tableInstance,
21
23
  }: TableBodyProps<T>): JSX.Element => {
22
24
  const virtualizedRows = getAllVirtualizedRows(
@@ -24,7 +26,13 @@ export const TableBody = <T extends RowData>({
24
26
  rows,
25
27
  rowDirection
26
28
  );
27
- const { virtualizer } = useVirtualizer(virtualizedRows);
29
+ const virtualizer = useVirtualizer({
30
+ count: virtualizedRows.length,
31
+ estimateSize: () => 56,
32
+ gap: 1,
33
+ getScrollElement: () => tableContainerRef.current,
34
+ overscan: 20,
35
+ });
28
36
  return (
29
37
  <MTableBody>
30
38
  <VirtualizedRow isUpperRow={true} virtualizer={virtualizer} />
@@ -1,6 +1,5 @@
1
1
  import { Collapse, IconButton, Typography } from "@mui/material";
2
2
  import { Cell, flexRender, Row, RowData } from "@tanstack/react-table";
3
- import { Virtualizer } from "@tanstack/react-virtual";
4
3
  import React from "react";
5
4
  import { TEXT_BODY_400_2_LINES } from "../../../../../../theme/common/typography";
6
5
  import { UnfoldMoreIcon } from "../../../../../common/CustomIcon/components/UnfoldMoreIcon/unfoldMoreIcon";
@@ -15,13 +14,11 @@ import {
15
14
  export interface CollapsableCellProps<T extends RowData> {
16
15
  isDisabled?: boolean;
17
16
  row: Row<T>;
18
- virtualizer?: Virtualizer<Window, Element>;
19
17
  }
20
18
 
21
19
  export const CollapsableCell = <T extends RowData>({
22
20
  isDisabled = false,
23
21
  row,
24
- virtualizer,
25
22
  }: CollapsableCellProps<T>): JSX.Element => {
26
23
  const [pinnedCell, pinnedIndex] = getPinnedCellIndex(row);
27
24
  return (
@@ -38,13 +35,7 @@ export const CollapsableCell = <T extends RowData>({
38
35
  <UnfoldMoreIcon fontSize="small" />
39
36
  </IconButton>
40
37
  </PinnedCell>
41
- <Collapse
42
- in={row.getIsExpanded()}
43
- mountOnEnter
44
- onEntered={() => virtualizer?.measure()} // Measure when cell is opened.
45
- onExited={() => virtualizer?.measure()} // Measure when cell is closed.
46
- unmountOnExit
47
- >
38
+ <Collapse in={row.getIsExpanded()}>
48
39
  <CollapsedContents>
49
40
  {getRowVisibleCells(row).map((cell, i) => {
50
41
  if (cell.getIsAggregated()) return null; // Display of aggregated cells is currently not supported.
@@ -8,7 +8,6 @@ import {
8
8
  import { flexRender, RowData } from "@tanstack/react-table";
9
9
  import React, { Fragment } from "react";
10
10
  import { Tooltip } from "../../../DataDictionary/components/Tooltip/tooltip";
11
- import { ROW_DIRECTION } from "../../common/entities";
12
11
  import {
13
12
  getTableCellAlign,
14
13
  getTableCellPadding,
@@ -18,54 +17,48 @@ import { TableHeadProps } from "./types";
18
17
  import { isSortDisabled, shouldSortColumn } from "./utils";
19
18
 
20
19
  export const TableHead = <T extends RowData>({
21
- rowDirection,
22
20
  tableInstance,
23
21
  }: TableHeadProps<T>): JSX.Element => {
24
22
  return (
25
23
  <Fragment>
26
- {rowDirection === ROW_DIRECTION.DEFAULT &&
27
- tableInstance.getHeaderGroups().map((headerGroup) => (
28
- <MTableHead key={headerGroup.id}>
29
- <MTableRow>
30
- {headerGroup.headers.map(({ column, getContext, id }) => {
31
- const { columnDef, getIsGrouped, getIsSorted } = column;
32
- const annotation = columnDef.meta?.annotation;
33
- return getIsGrouped() ? null : (
34
- <TableCell
35
- key={id}
36
- align={getTableCellAlign(column)}
37
- padding={getTableCellPadding(id)}
24
+ {tableInstance.getHeaderGroups().map((headerGroup) => (
25
+ <MTableHead key={headerGroup.id}>
26
+ <MTableRow>
27
+ {headerGroup.headers.map(({ column, getContext, id }) => {
28
+ const { columnDef, getIsGrouped, getIsSorted } = column;
29
+ const annotation = columnDef.meta?.annotation;
30
+ return getIsGrouped() ? null : (
31
+ <TableCell
32
+ key={id}
33
+ align={getTableCellAlign(column)}
34
+ padding={getTableCellPadding(id)}
35
+ >
36
+ <Tooltip
37
+ description={annotation?.description}
38
+ title={annotation?.label}
38
39
  >
39
- <Tooltip
40
- description={annotation?.description}
41
- title={annotation?.label}
42
- >
43
- {shouldSortColumn(tableInstance, column) ? (
44
- <TableSortLabel
45
- IconComponent={SouthRounded}
46
- active={Boolean(getIsSorted())}
47
- direction={getIsSorted() || undefined}
48
- disabled={isSortDisabled(tableInstance)}
49
- onClick={(mouseEvent) =>
50
- handleToggleSorting(
51
- mouseEvent,
52
- tableInstance,
53
- column
54
- )
55
- }
56
- >
57
- {flexRender(columnDef.header, getContext())}
58
- </TableSortLabel>
59
- ) : (
60
- flexRender(columnDef.header, getContext())
61
- )}
62
- </Tooltip>
63
- </TableCell>
64
- );
65
- })}
66
- </MTableRow>
67
- </MTableHead>
68
- ))}
40
+ {shouldSortColumn(tableInstance, column) ? (
41
+ <TableSortLabel
42
+ IconComponent={SouthRounded}
43
+ active={Boolean(getIsSorted())}
44
+ direction={getIsSorted() || undefined}
45
+ disabled={isSortDisabled(tableInstance)}
46
+ onClick={(mouseEvent) =>
47
+ handleToggleSorting(mouseEvent, tableInstance, column)
48
+ }
49
+ >
50
+ {flexRender(columnDef.header, getContext())}
51
+ </TableSortLabel>
52
+ ) : (
53
+ flexRender(columnDef.header, getContext())
54
+ )}
55
+ </Tooltip>
56
+ </TableCell>
57
+ );
58
+ })}
59
+ </MTableRow>
60
+ </MTableHead>
61
+ ))}
69
62
  </Fragment>
70
63
  );
71
64
  };
@@ -1,7 +1,5 @@
1
1
  import { RowData, Table } from "@tanstack/react-table";
2
- import { ROW_DIRECTION } from "../../common/entities";
3
2
 
4
3
  export interface TableHeadProps<T extends RowData> {
5
- rowDirection: ROW_DIRECTION;
6
4
  tableInstance: Table<T>;
7
5
  }
@@ -0,0 +1,12 @@
1
+ import { fn } from "@storybook/test";
2
+ import { ComponentProps } from "react";
3
+ import { TablePagination } from "../tablePagination";
4
+
5
+ export const DEFAULT_ARGS: ComponentProps<typeof TablePagination> = {
6
+ canNextPage: true,
7
+ canPreviousPage: false,
8
+ currentPage: 1,
9
+ onNextPage: fn(),
10
+ onPreviousPage: fn(),
11
+ totalPage: 10,
12
+ };
@@ -0,0 +1,15 @@
1
+ import { Meta, StoryObj } from "@storybook/react";
2
+ import { TablePagination } from "../tablePagination";
3
+ import { DEFAULT_ARGS } from "./args";
4
+
5
+ const meta: Meta<typeof TablePagination> = {
6
+ component: TablePagination,
7
+ };
8
+
9
+ export default meta;
10
+
11
+ type Story = StoryObj<typeof meta>;
12
+
13
+ export const Default: Story = {
14
+ args: DEFAULT_ARGS,
15
+ };
@@ -0,0 +1,11 @@
1
+ import styled from "@emotion/styled";
2
+ import { Grid } from "@mui/material";
3
+ import { PALETTE } from "../../../../styles/common/constants/palette";
4
+
5
+ export const StyledGrid = styled(Grid)`
6
+ align-items: center;
7
+ background-color: ${PALETTE.COMMON_WHITE};
8
+ gap: 16px;
9
+ justify-content: center;
10
+ padding: 16px;
11
+ `;
@@ -0,0 +1,47 @@
1
+ import { EastRounded, WestRounded } from "@mui/icons-material";
2
+ import { IconButton, tablePaginationClasses, Typography } from "@mui/material";
3
+ import React from "react";
4
+ import { ICON_BUTTON_PROPS } from "../../../../styles/common/mui/iconButton";
5
+ import { SVG_ICON_PROPS } from "../../../../styles/common/mui/svgIcon";
6
+ import { TYPOGRAPHY_PROPS } from "../../../../styles/common/mui/typography";
7
+ import { TEST_IDS } from "../../../../tests/testIds";
8
+ import { StyledGrid } from "./tablePagination.styles";
9
+ import { TablePaginationProps } from "./types";
10
+
11
+ export const TablePagination = ({
12
+ canNextPage = true,
13
+ canPreviousPage = true,
14
+ currentPage,
15
+ onNextPage,
16
+ onPreviousPage,
17
+ totalPage,
18
+ }: TablePaginationProps): JSX.Element | null => {
19
+ return (
20
+ <StyledGrid
21
+ className={tablePaginationClasses.root}
22
+ container
23
+ data-testid={TEST_IDS.TABLE_PAGINATION}
24
+ >
25
+ <IconButton
26
+ color={ICON_BUTTON_PROPS.COLOR.SECONDARY}
27
+ disabled={!canPreviousPage}
28
+ onClick={onPreviousPage}
29
+ >
30
+ <WestRounded fontSize={SVG_ICON_PROPS.FONT_SIZE.SMALL} />
31
+ </IconButton>
32
+ <Typography
33
+ data-testid={TEST_IDS.TABLE_PAGINATION_PAGE}
34
+ variant={TYPOGRAPHY_PROPS.VARIANT.TEXT_BODY_500}
35
+ >
36
+ Page {currentPage} of {totalPage}
37
+ </Typography>
38
+ <IconButton
39
+ color={ICON_BUTTON_PROPS.COLOR.SECONDARY}
40
+ disabled={!canNextPage}
41
+ onClick={onNextPage}
42
+ >
43
+ <EastRounded fontSize={SVG_ICON_PROPS.FONT_SIZE.SMALL} />
44
+ </IconButton>
45
+ </StyledGrid>
46
+ );
47
+ };
@@ -0,0 +1,8 @@
1
+ export interface TablePaginationProps {
2
+ canNextPage?: boolean;
3
+ canPreviousPage?: boolean;
4
+ currentPage: number;
5
+ onNextPage: () => void;
6
+ onPreviousPage: () => void;
7
+ totalPage: number;
8
+ }
@@ -7,14 +7,14 @@ import {
7
7
  } from "../../../../styles/common/mixins/colors";
8
8
  import { textBodySmall500 } from "../../../../styles/common/mixins/fonts";
9
9
 
10
- interface Props {
10
+ export interface StyledTableRowProps {
11
11
  isGrouped?: boolean;
12
12
  isPreview?: boolean;
13
13
  }
14
14
 
15
- export const TableRow = styled(MTableRow, {
15
+ export const StyledTableRow = styled(MTableRow, {
16
16
  shouldForwardProp: (prop) => prop !== "isPreview" && prop !== "isGrouped",
17
- })<Props>`
17
+ })<StyledTableRowProps>`
18
18
  && {
19
19
  transition: background-color 300ms ease-in;
20
20
 
@@ -0,0 +1,6 @@
1
+ import styled from "@emotion/styled";
2
+ import { StyledTableRow as BaseStyledTableRow } from "../../../TableRow/tableRow.styles";
3
+
4
+ export const StyledTableRow = styled(BaseStyledTableRow)`
5
+ min-height: 64px;
6
+ `;
@@ -3,13 +3,13 @@ import { Virtualizer } from "@tanstack/react-virtual";
3
3
  import React, { Fragment } from "react";
4
4
  import { isCollapsableRowDisabled } from "../../../../common/utils";
5
5
  import { CollapsableCell } from "../../../TableCell/components/CollapsableCell/collapsableCell";
6
- import { TableRow } from "../../../TableRow/tableRow.styles";
6
+ import { StyledTableRow } from "./collapsableRows.styles";
7
7
  import { useCollapsableRows } from "./hook";
8
8
 
9
9
  export interface CollapsableRowsProps<T extends RowData> {
10
10
  rows: Row<T>[];
11
11
  tableInstance: Table<T>;
12
- virtualizer: Virtualizer<Window, Element>;
12
+ virtualizer: Virtualizer<HTMLDivElement, Element>;
13
13
  }
14
14
 
15
15
  export const CollapsableRows = <T extends RowData>({
@@ -17,29 +17,28 @@ export const CollapsableRows = <T extends RowData>({
17
17
  tableInstance,
18
18
  virtualizer,
19
19
  }: CollapsableRowsProps<T>): JSX.Element => {
20
+ useCollapsableRows(tableInstance);
20
21
  const { getState } = tableInstance;
21
22
  const { grouping } = getState();
22
23
  const virtualItems = virtualizer.getVirtualItems();
23
- useCollapsableRows(tableInstance);
24
24
  return (
25
25
  <Fragment>
26
26
  {virtualItems.map((virtualRow) => {
27
- const row = rows[virtualRow.index] as Row<T>;
28
- const { getIsPreview } = row;
27
+ const rowIndex = virtualRow.index;
28
+ const row = rows[rowIndex] as Row<T>;
29
29
  if (grouping.length > 0 && row.depth > 0) return null; // TODO(cc) hide sub rows -- sub-rows are within collapsed content -- UI TBD.
30
30
  return (
31
- <TableRow
31
+ <StyledTableRow
32
32
  key={row.id}
33
- data-index={virtualRow.index}
34
- isPreview={getIsPreview()}
33
+ data-index={rowIndex}
35
34
  ref={virtualizer.measureElement}
35
+ isPreview={row.getIsPreview()}
36
36
  >
37
37
  <CollapsableCell
38
38
  isDisabled={isCollapsableRowDisabled(tableInstance)}
39
39
  row={row}
40
- virtualizer={virtualizer}
41
40
  />
42
- </TableRow>
41
+ </StyledTableRow>
43
42
  );
44
43
  })}
45
44
  </Fragment>
@@ -3,7 +3,7 @@ import React, { useMemo } from "react";
3
3
 
4
4
  export interface VirtualizedRowProps {
5
5
  isUpperRow: boolean;
6
- virtualizer: Virtualizer<Window, Element>;
6
+ virtualizer: Virtualizer<HTMLDivElement, Element>;
7
7
  }
8
8
 
9
9
  export const VirtualizedRow = ({
@@ -7,11 +7,11 @@ import {
7
7
  getTableCellAlign,
8
8
  getTableCellPadding,
9
9
  } from "../TableCell/common/utils";
10
- import { TableRow } from "../TableRow/tableRow.styles";
10
+ import { StyledTableRow } from "../TableRow/tableRow.styles";
11
11
 
12
12
  export interface TableRowsProps<T extends RowData> {
13
13
  rows: Row<T>[];
14
- virtualizer: Virtualizer<Window, Element>;
14
+ virtualizer: Virtualizer<HTMLDivElement, Element>;
15
15
  }
16
16
 
17
17
  export const TableRows = <T extends RowData>({
@@ -26,7 +26,7 @@ export const TableRows = <T extends RowData>({
26
26
  const row = rows[rowIndex] as Row<T>;
27
27
  const { getIsGrouped, getIsPreview } = row;
28
28
  return (
29
- <TableRow
29
+ <StyledTableRow
30
30
  key={row.id}
31
31
  data-index={rowIndex}
32
32
  isGrouped={getIsGrouped()}
@@ -51,7 +51,7 @@ export const TableRows = <T extends RowData>({
51
51
  </TableCell>
52
52
  );
53
53
  })}
54
- </TableRow>
54
+ </StyledTableRow>
55
55
  );
56
56
  })}
57
57
  </Fragment>
@@ -0,0 +1,8 @@
1
+ import { GridProps } from "@mui/material";
2
+
3
+ export const GRID_PROPS: GridProps = {
4
+ alignItems: "center",
5
+ container: true,
6
+ direction: "row",
7
+ gap: 2,
8
+ };
@@ -1,19 +1,19 @@
1
1
  import styled from "@emotion/styled";
2
2
  import { Toolbar as MToolbar } from "@mui/material";
3
- import { white } from "../../../../styles/common/mixins/colors";
4
- import { Grid } from "../../../common/Grid/grid";
3
+ import { PALETTE } from "../../../../styles/common/constants/palette";
5
4
 
6
- export const Toolbar = styled(MToolbar)`
7
- &.MuiToolbar-table {
8
- align-items: center;
9
- background-color: ${white};
10
- display: flex;
11
- justify-content: space-between;
12
- padding: 20px;
13
- }
14
- ` as typeof MToolbar;
5
+ export const StyledToolbar = styled(MToolbar)`
6
+ align-items: center;
7
+ background-color: ${PALETTE.COMMON_WHITE};
8
+ display: flex;
9
+ flex-wrap: wrap;
10
+ gap: 16px;
11
+ justify-content: space-between;
12
+ padding: 16px;
15
13
 
16
- export const ToolbarActions = styled(Grid)`
17
- gap: 8px;
18
- grid-auto-flow: column;
14
+ .MuiGrid-root {
15
+ &:empty {
16
+ display: none;
17
+ }
18
+ }
19
19
  `;
@@ -1,8 +1,9 @@
1
+ import { Grid } from "@mui/material";
1
2
  import { RowData, Table } from "@tanstack/react-table";
2
3
  import React, { Fragment } from "react";
3
4
  import { ListViewConfig } from "../../../../config/entities";
4
5
  import { useExploreState } from "../../../../hooks/useExploreState";
5
- import { ROW_DIRECTION } from "../../common/entities";
6
+ import { ViewToggle } from "../../../Index/components/EntityView/components/controls/ViewToggle/viewToggle";
6
7
  import { isAnyRowSelected } from "../../common/utils";
7
8
  import { DownloadEntityResults } from "../DownloadEntityResults/downloadEntityResults";
8
9
  import { PaginationSummary } from "../PaginationSummary/paginationSummary";
@@ -10,35 +11,28 @@ import { ColumnGrouping } from "./components/ColumnGrouping/columnGrouping";
10
11
  import { ColumnVisibility } from "./components/ColumnVisibility/columnVisibility";
11
12
  import { RowPreview } from "./components/RowPreview/rowPreview";
12
13
  import { RowSelection } from "./components/RowSelection/rowSelection";
13
- import { Toolbar, ToolbarActions } from "./tableToolbar.styles";
14
+ import { GRID_PROPS } from "./constants";
15
+ import { StyledToolbar } from "./tableToolbar.styles";
14
16
 
15
17
  export interface TableToolbarProps<T extends RowData> {
16
18
  listView?: ListViewConfig;
17
- rowDirection: ROW_DIRECTION;
18
19
  tableInstance: Table<T>;
19
20
  }
20
21
 
21
22
  export const TableToolbar = <T extends RowData>({
22
23
  listView,
23
- rowDirection,
24
24
  tableInstance,
25
25
  }: TableToolbarProps<T>): JSX.Element => {
26
26
  const { exploreState } = useExploreState();
27
27
  const { paginationState } = exploreState;
28
28
  const { currentPage, pages, pageSize, rows } = paginationState;
29
- const {
30
- getSelectedRowModel,
31
- options: { enableGrouping, enableHiding },
32
- } = tableInstance;
29
+ const { getSelectedRowModel } = tableInstance;
33
30
  const { enableDownload, rowPreviewView } = listView || {};
34
- const isLastPage = currentPage === pages;
35
- const showToolbar =
36
- rowDirection === ROW_DIRECTION.DEFAULT &&
37
- (enableHiding || enableDownload || enableGrouping);
38
31
  return (
39
32
  <Fragment>
40
- {showToolbar && (
41
- <Toolbar variant="table">
33
+ <StyledToolbar>
34
+ <Grid {...GRID_PROPS} gap={6}>
35
+ <ViewToggle />
42
36
  {isAnyRowSelected(tableInstance) ? (
43
37
  <RowSelection
44
38
  rows={getSelectedRowModel().rows}
@@ -47,22 +41,22 @@ export const TableToolbar = <T extends RowData>({
47
41
  ) : (
48
42
  <PaginationSummary
49
43
  firstResult={(currentPage - 1) * pageSize + 1}
50
- lastResult={isLastPage ? rows : pageSize * currentPage}
44
+ lastResult={currentPage === pages ? rows : pageSize * currentPage}
51
45
  totalResult={rows}
52
46
  />
53
47
  )}
54
- <ToolbarActions>
55
- {enableDownload && (
56
- <DownloadEntityResults
57
- entityName={exploreState.tabValue}
58
- rows={tableInstance.getFilteredRowModel().rows}
59
- />
60
- )}
61
- <ColumnGrouping tableInstance={tableInstance} />
62
- <ColumnVisibility tableInstance={tableInstance} />
63
- </ToolbarActions>
64
- </Toolbar>
65
- )}
48
+ </Grid>
49
+ <Grid {...GRID_PROPS}>
50
+ {enableDownload && (
51
+ <DownloadEntityResults
52
+ entityName={exploreState.tabValue}
53
+ rows={tableInstance.getFilteredRowModel().rows}
54
+ />
55
+ )}
56
+ <ColumnGrouping tableInstance={tableInstance} />
57
+ <ColumnVisibility tableInstance={tableInstance} />
58
+ </Grid>
59
+ </StyledToolbar>
66
60
  <RowPreview
67
61
  rowPreviewView={rowPreviewView}
68
62
  tableInstance={tableInstance}
@@ -1,5 +1,6 @@
1
1
  import { css } from "@emotion/react";
2
2
  import styled from "@emotion/styled";
3
+ import { PALETTE } from "../../styles/common/constants/palette";
3
4
  import { mediaTabletDown } from "../../styles/common/mixins/breakpoints";
4
5
  import { GridTable as Table } from "./common/gridTable.styles";
5
6
 
@@ -7,6 +8,20 @@ interface Props {
7
8
  collapsable?: boolean;
8
9
  }
9
10
 
11
+ /**
12
+ * Styles for a collapsible table with support for virtualization.
13
+ *
14
+ * When the table is in a collapsed view, the table head must remain in the DOM flow
15
+ * to ensure virtualization calculations work correctly on initial mount.
16
+ *
17
+ * To achieve this, the table head is visually hidden using `visibility: hidden` and a nominal height
18
+ * of 1px, instead of being removed with `display: none`. This maintains its layout contribution.
19
+ *
20
+ * The standard grid styling—normally applied at the paper level and stripped from the table—is
21
+ * reassigned to the table body. This includes adding a `1px` gap between body rows, while removing
22
+ * the gap above the table body to visually obscure the 1px header space.
23
+ */
24
+
10
25
  export const GridTable = styled(Table, {
11
26
  shouldForwardProp: (prop) => prop !== "collapsable",
12
27
  })<Props>`
@@ -15,7 +30,26 @@ export const GridTable = styled(Table, {
15
30
  ${({ collapsable }) =>
16
31
  collapsable &&
17
32
  css`
18
- grid-template-columns: 1fr;
33
+ && {
34
+ background-color: ${PALETTE.COMMON_WHITE};
35
+ gap: 0;
36
+ grid-template-columns: 1fr;
37
+
38
+ .MuiTableHead-root {
39
+ height: 1px;
40
+ visibility: hidden;
41
+
42
+ .MuiTableRow-head,
43
+ .MuiTableCell-head {
44
+ display: none;
45
+ }
46
+ }
47
+
48
+ .MuiTableBody-root {
49
+ background-color: ${PALETTE.SMOKE_MAIN};
50
+ gap: 1px;
51
+ }
52
+ }
19
53
  `};
20
54
  }
21
55
  `;