@databiosphere/findable-ui 24.0.0 → 25.1.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 (291) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/CHANGELOG.md +51 -0
  3. package/lib/common/entities.d.ts +1 -0
  4. package/lib/components/DataDictionary/components/Entities/constants.d.ts +2 -2
  5. package/lib/components/DataDictionary/components/Entities/constants.js +1 -1
  6. package/lib/components/DataDictionary/components/Entities/entities.js +3 -3
  7. package/lib/components/DataDictionary/components/Entity/constants.d.ts +2 -2
  8. package/lib/components/DataDictionary/components/Entity/constants.js +1 -1
  9. package/lib/components/DataDictionary/components/Entity/entity.js +4 -4
  10. package/lib/components/Export/components/ExportForm/exportForm.styles.d.ts +2 -2
  11. package/lib/components/Export/components/ExportToTerra/components/TerraSetUpForm/components/NIHAccountExpiryWarning/nihAccountExpiryWarning.js +1 -1
  12. package/lib/components/Filter/components/ClearAllFilters/clearAllFilters.js +2 -1
  13. package/lib/components/Filter/components/Filter/filter.js +2 -1
  14. package/lib/components/Filter/components/FilterLabel/filterLabel.js +2 -2
  15. package/lib/components/Filter/components/FilterLabel/filterLabel.styles.d.ts +1 -1
  16. package/lib/components/Filter/components/Filters/filters.js +2 -1
  17. package/lib/components/Filter/components/HighlightedLabel/highlightedLabel.d.ts +3 -2
  18. package/lib/components/Filter/components/HighlightedLabel/highlightedLabel.js +2 -2
  19. package/lib/components/Filter/components/SearchAllFilters/components/VariableSizeListItem/variableSizeListItem.js +3 -2
  20. package/lib/components/Filter/components/SearchAllFilters/searchAllFilters.js +2 -1
  21. package/lib/components/Filter/components/SearchAllFiltersSearch/components/SearchCloseButton/searchCloseButton.js +2 -2
  22. package/lib/components/Filter/components/VariableSizeListItem/variableSizeListItem.js +3 -2
  23. package/lib/components/Index/components/EntitiesView/components/ChartView/chartView.d.ts +2 -0
  24. package/lib/components/Index/components/EntitiesView/components/ChartView/chartView.js +17 -0
  25. package/lib/components/Index/components/EntitiesView/components/ChartView/chartView.styles.d.ts +13 -0
  26. package/lib/components/Index/components/EntitiesView/components/ChartView/chartView.styles.js +12 -0
  27. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/barX/constants.d.ts +9 -0
  28. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/barX/constants.js +9 -0
  29. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/barX/plot.d.ts +3 -0
  30. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/barX/plot.js +86 -0
  31. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/barX/utils.d.ts +105 -0
  32. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/barX/utils.js +196 -0
  33. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/chart.d.ts +2 -0
  34. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/chart.js +7 -0
  35. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/chart.styles.d.ts +3 -0
  36. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/chart.styles.js +29 -0
  37. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/constants.d.ts +1 -0
  38. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/constants.js +1 -0
  39. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/stories/args.d.ts +4 -0
  40. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/stories/args.js +70 -0
  41. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/stories/chart.stories.d.ts +7 -0
  42. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/stories/chart.stories.js +19 -0
  43. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/types.d.ts +6 -0
  44. package/lib/components/Index/components/EntitiesView/components/ChartView/components/Chart/types.js +1 -0
  45. package/lib/components/Index/components/EntitiesView/components/ChartView/constants.d.ts +1 -0
  46. package/lib/components/Index/components/EntitiesView/components/ChartView/constants.js +1 -0
  47. package/lib/components/Index/components/EntitiesView/components/ChartView/hooks/UseChartView/types.d.ts +7 -0
  48. package/lib/components/Index/components/EntitiesView/components/ChartView/hooks/UseChartView/types.js +1 -0
  49. package/lib/components/Index/components/EntitiesView/components/ChartView/hooks/UseChartView/useChartView.d.ts +3 -0
  50. package/lib/components/Index/components/EntitiesView/components/ChartView/hooks/UseChartView/useChartView.js +11 -0
  51. package/lib/components/Index/components/EntitiesView/components/ChartView/stories/args.d.ts +3 -0
  52. package/lib/components/Index/components/EntitiesView/components/ChartView/stories/args.js +96 -0
  53. package/lib/components/Index/components/EntitiesView/components/ChartView/stories/chartView.stories.d.ts +6 -0
  54. package/lib/components/Index/components/EntitiesView/components/ChartView/stories/chartView.stories.js +16 -0
  55. package/lib/components/Index/components/EntitiesView/components/ChartView/types.d.ts +6 -0
  56. package/lib/components/Index/components/EntitiesView/components/ChartView/types.js +1 -0
  57. package/lib/components/Index/components/EntitiesView/components/ChartView/utils.d.ts +14 -0
  58. package/lib/components/Index/components/EntitiesView/components/ChartView/utils.js +21 -0
  59. package/lib/components/Index/components/EntitiesView/components/EntityList/entityList.d.ts +2 -0
  60. package/lib/components/Index/components/EntitiesView/components/EntityList/entityList.js +16 -0
  61. package/lib/components/Index/components/EntitiesView/components/EntityList/types.d.ts +3 -0
  62. package/lib/components/Index/components/EntitiesView/components/EntityList/types.js +1 -0
  63. package/lib/components/Index/components/EntitiesView/entitiesView.d.ts +2 -0
  64. package/lib/components/Index/components/EntitiesView/entitiesView.js +15 -0
  65. package/lib/components/Index/components/EntitiesView/entitiesView.styles.d.ts +3 -0
  66. package/lib/components/Index/components/EntitiesView/entitiesView.styles.js +20 -0
  67. package/lib/components/Index/components/EntitiesView/hooks/UseEntitiesView/hook.d.ts +2 -0
  68. package/lib/components/Index/components/EntitiesView/hooks/UseEntitiesView/hook.js +14 -0
  69. package/lib/components/Index/components/EntitiesView/hooks/UseEntitiesView/types.d.ts +13 -0
  70. package/lib/components/Index/components/EntitiesView/hooks/UseEntitiesView/types.js +5 -0
  71. package/lib/components/Index/components/EntitiesView/stories/entitiesView.stories.d.ts +8 -0
  72. package/lib/components/Index/components/EntitiesView/stories/entitiesView.stories.js +50 -0
  73. package/lib/components/Index/components/EntitiesView/types.d.ts +8 -0
  74. package/lib/components/Index/components/EntitiesView/types.js +1 -0
  75. package/lib/components/Index/components/Hero/components/ExportButton/exportButton.js +2 -1
  76. package/lib/components/Index/index.d.ts +2 -13
  77. package/lib/components/Index/index.js +6 -2
  78. package/lib/components/Index/index.stories.js +3 -2
  79. package/lib/components/Index/types.d.ts +12 -0
  80. package/lib/components/Index/types.js +1 -0
  81. package/lib/components/Layout/components/BackPage/components/BackPageHero/backPageHero.d.ts +1 -1
  82. package/lib/components/Layout/components/BackPage/components/BackPageHero/backPageHero.js +5 -4
  83. package/lib/components/Layout/components/BackPage/components/BackPageHero/stories/backPageHero.stories.d.ts +6 -0
  84. package/lib/components/Layout/components/BackPage/components/BackPageHero/stories/backPageHero.stories.js +18 -0
  85. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/authentication.js +3 -3
  86. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/AuthenticationMenu/authenticationMenu.styles.d.ts +1 -1
  87. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/components/Button/button.styles.d.ts +1 -1
  88. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Menu/components/Toolbar/toolbar.js +2 -2
  89. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Menu/menu.js +2 -2
  90. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/Button/button.styles.d.ts +1 -1
  91. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchBar/searchBar.js +5 -3
  92. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchBar/searchBar.styles.d.ts +5 -1
  93. package/lib/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchBar/searchBar.styles.js +4 -3
  94. package/lib/components/Layout/components/Header/components/Content/components/Navigation/components/NavigationDrawer/navigationDrawer.js +2 -2
  95. package/lib/components/Layout/components/Header/components/Content/components/Navigation/components/NavigationMenu/navigationMenu.js +2 -2
  96. package/lib/components/Layout/components/Sidebar/components/SidebarButton/sidebarButton.js +2 -2
  97. package/lib/components/Layout/components/Sidebar/components/SidebarDrawer/sidebarDrawer.js +2 -1
  98. package/lib/components/Layout/components/Sidebar/sidebar.js +4 -1
  99. package/lib/components/Loading/loading.d.ts +2 -1
  100. package/lib/components/Loading/loading.js +2 -2
  101. package/lib/components/Login/components/Button/button.styles.d.ts +1 -1
  102. package/lib/components/Login/components/Section/components/Consent/consent.js +3 -3
  103. package/lib/components/Login/components/Section/components/Consent/consent.styles.d.ts +1 -1
  104. package/lib/components/Login/components/Section/components/Consent/consent.styles.js +2 -2
  105. package/lib/components/Login/components/Section/components/Consent/types.d.ts +2 -2
  106. package/lib/components/NoResults/noResults.d.ts +1 -8
  107. package/lib/components/NoResults/noResults.js +9 -8
  108. package/lib/components/NoResults/noResults.styles.d.ts +2 -2
  109. package/lib/components/NoResults/noResults.styles.js +4 -2
  110. package/lib/components/NoResults/types.d.ts +8 -0
  111. package/lib/components/NoResults/types.js +1 -0
  112. package/lib/components/Plot/components/BarX/barX.d.ts +2 -0
  113. package/lib/components/Plot/components/BarX/barX.js +13 -0
  114. package/lib/components/Plot/components/BarX/types.d.ts +5 -0
  115. package/lib/components/Plot/components/BarX/types.js +1 -0
  116. package/lib/components/Stepper/components/Step/components/StepContent/stepContent.js +2 -2
  117. package/lib/components/Stepper/components/Step/components/StepContent/stepContent.styles.js +1 -1
  118. package/lib/components/Stepper/components/Step/step.styles.d.ts +1 -1
  119. package/lib/components/Support/components/SupportRequest/components/Dialog/dialog.js +2 -2
  120. package/lib/components/Table/components/Pagination/pagination.js +6 -6
  121. package/lib/components/Table/components/PaginationSummary/paginationSummary.js +2 -1
  122. package/lib/components/Table/components/TableHead/tableHead.js +2 -2
  123. package/lib/components/Table/components/TableRows/tableRows.js +7 -3
  124. package/lib/components/Table/table.js +11 -11
  125. package/lib/components/TableCreator/tableCreator.js +1 -6
  126. package/lib/components/common/AnchorLink/anchorLink.js +2 -2
  127. package/lib/components/common/Breadcrumbs/breadcrumbs.js +2 -2
  128. package/lib/components/common/Breadcrumbs/typeGuard.d.ts +13 -0
  129. package/lib/components/common/Breadcrumbs/typeGuard.js +23 -0
  130. package/lib/components/common/Button/components/DropdownButton/dropdownButton.js +2 -2
  131. package/lib/components/common/Button/components/NavigationButton/navigationButton.js +2 -2
  132. package/lib/components/common/CopyToClipboard/copyToClipboard.js +2 -2
  133. package/lib/components/common/Dialog/components/DialogTitle/dialogTitle.js +2 -2
  134. package/lib/components/common/Drawer/components/DrawerTitle/drawerTitle.js +2 -2
  135. package/lib/components/common/Form/components/Input/input.styles.d.ts +1 -1
  136. package/lib/components/common/Form/components/Select/components/DropDownIcon/dropDownIcon.d.ts +2 -3
  137. package/lib/components/common/Form/components/Select/components/DropDownIcon/dropDownIcon.js +3 -3
  138. package/lib/components/common/Form/components/Select/select.js +1 -2
  139. package/lib/components/common/Form/components/Select/select.styles.d.ts +1 -1
  140. package/lib/components/common/Form/components/UploadFile/uploadFile.js +2 -2
  141. package/lib/components/common/IconButton/iconButton.styles.d.ts +1 -1
  142. package/lib/components/common/Input/input.styles.d.ts +1 -1
  143. package/lib/components/common/LoginDialog/loginDialog.styles.js +1 -1
  144. package/lib/components/common/Paper/paper.d.ts +2 -1
  145. package/lib/components/common/Paper/paper.js +2 -2
  146. package/lib/components/common/Section/components/CollapsableSection/collapsableSection.js +2 -3
  147. package/lib/components/common/ToggleButtonGroup/hooks/UseToggleButtonGroup/hook.d.ts +2 -0
  148. package/lib/components/common/ToggleButtonGroup/hooks/UseToggleButtonGroup/hook.js +10 -0
  149. package/lib/components/types.d.ts +3 -0
  150. package/lib/config/entities.d.ts +2 -0
  151. package/lib/hooks/useCategoryFilter.js +1 -0
  152. package/lib/hooks/useResizeObserver.d.ts +2 -1
  153. package/lib/hooks/useResizeObserver.js +5 -2
  154. package/lib/styles/common/mui/palette.d.ts +47 -0
  155. package/lib/styles/common/mui/palette.js +47 -0
  156. package/lib/tests/testIds.d.ts +18 -0
  157. package/lib/tests/testIds.js +18 -0
  158. package/lib/theme/common/components.js +4 -0
  159. package/lib/theme/common/typography.d.ts +1 -1
  160. package/lib/theme/theme.js +5 -3
  161. package/lib/views/ExploreView/exploreView.js +6 -25
  162. package/package.json +6 -4
  163. package/src/common/entities.ts +1 -0
  164. package/src/components/DataDictionary/components/Entities/constants.ts +2 -2
  165. package/src/components/DataDictionary/components/Entities/entities.tsx +4 -4
  166. package/src/components/DataDictionary/components/Entity/constants.ts +2 -2
  167. package/src/components/DataDictionary/components/Entity/entity.tsx +6 -6
  168. package/src/components/Export/components/ExportToTerra/components/TerraSetUpForm/components/NIHAccountExpiryWarning/nihAccountExpiryWarning.tsx +1 -1
  169. package/src/components/Filter/components/ClearAllFilters/clearAllFilters.tsx +7 -1
  170. package/src/components/Filter/components/Filter/filter.tsx +2 -0
  171. package/src/components/Filter/components/FilterLabel/filterLabel.tsx +2 -2
  172. package/src/components/Filter/components/Filters/filters.tsx +7 -1
  173. package/src/components/Filter/components/HighlightedLabel/highlightedLabel.tsx +4 -2
  174. package/src/components/Filter/components/SearchAllFilters/components/VariableSizeListItem/variableSizeListItem.tsx +14 -2
  175. package/src/components/Filter/components/SearchAllFilters/searchAllFilters.tsx +2 -0
  176. package/src/components/Filter/components/SearchAllFiltersSearch/components/SearchCloseButton/searchCloseButton.tsx +2 -2
  177. package/src/components/Filter/components/VariableSizeListItem/variableSizeListItem.tsx +14 -2
  178. package/src/components/Index/components/EntitiesView/components/ChartView/chartView.styles.ts +14 -0
  179. package/src/components/Index/components/EntitiesView/components/ChartView/chartView.tsx +38 -0
  180. package/src/components/Index/components/EntitiesView/components/ChartView/components/Chart/barX/constants.ts +13 -0
  181. package/src/components/Index/components/EntitiesView/components/ChartView/components/Chart/barX/plot.ts +104 -0
  182. package/src/components/Index/components/EntitiesView/components/ChartView/components/Chart/barX/utils.ts +229 -0
  183. package/src/components/Index/components/EntitiesView/components/ChartView/components/Chart/chart.styles.ts +30 -0
  184. package/src/components/Index/components/EntitiesView/components/ChartView/components/Chart/chart.tsx +16 -0
  185. package/src/components/Index/components/EntitiesView/components/ChartView/components/Chart/constants.ts +1 -0
  186. package/src/components/Index/components/EntitiesView/components/ChartView/components/Chart/stories/args.ts +74 -0
  187. package/src/components/Index/components/EntitiesView/components/ChartView/components/Chart/stories/chart.stories.tsx +29 -0
  188. package/src/components/Index/components/EntitiesView/components/ChartView/components/Chart/types.ts +9 -0
  189. package/src/components/Index/components/EntitiesView/components/ChartView/constants.ts +1 -0
  190. package/src/components/Index/components/EntitiesView/components/ChartView/hooks/UseChartView/types.ts +8 -0
  191. package/src/components/Index/components/EntitiesView/components/ChartView/hooks/UseChartView/useChartView.ts +29 -0
  192. package/src/components/Index/components/EntitiesView/components/ChartView/stories/args.ts +99 -0
  193. package/src/components/Index/components/EntitiesView/components/ChartView/stories/chartView.stories.tsx +25 -0
  194. package/src/components/Index/components/EntitiesView/components/ChartView/types.ts +7 -0
  195. package/src/components/Index/components/EntitiesView/components/ChartView/utils.ts +26 -0
  196. package/src/components/Index/components/EntitiesView/components/EntityList/entityList.tsx +29 -0
  197. package/src/components/Index/components/EntitiesView/components/EntityList/types.ts +3 -0
  198. package/src/components/Index/components/EntitiesView/entitiesView.styles.ts +21 -0
  199. package/src/components/Index/components/EntitiesView/entitiesView.tsx +30 -0
  200. package/src/components/Index/components/EntitiesView/hooks/UseEntitiesView/hook.ts +15 -0
  201. package/src/components/Index/components/EntitiesView/hooks/UseEntitiesView/types.ts +16 -0
  202. package/src/components/Index/components/EntitiesView/stories/entitiesView.stories.tsx +76 -0
  203. package/src/components/Index/components/EntitiesView/types.ts +9 -0
  204. package/src/components/Index/components/Hero/components/ExportButton/exportButton.tsx +2 -0
  205. package/src/components/Index/index.stories.tsx +3 -2
  206. package/src/components/Index/index.tsx +15 -15
  207. package/src/components/Index/types.ts +13 -0
  208. package/src/components/Layout/components/BackPage/components/BackPageHero/backPageHero.tsx +19 -14
  209. package/src/components/Layout/components/BackPage/components/BackPageHero/stories/backPageHero.stories.tsx +24 -0
  210. package/src/components/Layout/components/Header/components/Content/components/Actions/components/Authentication/authentication.tsx +3 -3
  211. package/src/components/Layout/components/Header/components/Content/components/Actions/components/Menu/components/Toolbar/toolbar.tsx +2 -2
  212. package/src/components/Layout/components/Header/components/Content/components/Actions/components/Menu/menu.tsx +2 -2
  213. package/src/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchBar/searchBar.styles.ts +8 -3
  214. package/src/components/Layout/components/Header/components/Content/components/Actions/components/Search/components/SearchBar/searchBar.tsx +5 -2
  215. package/src/components/Layout/components/Header/components/Content/components/Navigation/components/NavigationDrawer/navigationDrawer.tsx +2 -2
  216. package/src/components/Layout/components/Header/components/Content/components/Navigation/components/NavigationMenu/navigationMenu.tsx +2 -2
  217. package/src/components/Layout/components/Sidebar/components/SidebarButton/sidebarButton.tsx +2 -2
  218. package/src/components/Layout/components/Sidebar/components/SidebarDrawer/sidebarDrawer.tsx +2 -0
  219. package/src/components/Layout/components/Sidebar/sidebar.tsx +4 -1
  220. package/src/components/Loading/loading.tsx +11 -3
  221. package/src/components/Login/components/Section/components/Consent/consent.styles.ts +2 -2
  222. package/src/components/Login/components/Section/components/Consent/consent.tsx +4 -4
  223. package/src/components/Login/components/Section/components/Consent/types.ts +2 -2
  224. package/src/components/NoResults/noResults.styles.ts +4 -2
  225. package/src/components/NoResults/noResults.tsx +16 -22
  226. package/src/components/NoResults/types.ts +13 -0
  227. package/src/components/Plot/components/BarX/barX.tsx +20 -0
  228. package/src/components/Plot/components/BarX/types.ts +6 -0
  229. package/src/components/Stepper/components/Step/components/StepContent/stepContent.styles.ts +1 -1
  230. package/src/components/Stepper/components/Step/components/StepContent/stepContent.tsx +2 -2
  231. package/src/components/Support/components/SupportRequest/components/Dialog/dialog.tsx +2 -2
  232. package/src/components/Table/components/Pagination/pagination.tsx +6 -6
  233. package/src/components/Table/components/PaginationSummary/paginationSummary.tsx +2 -1
  234. package/src/components/Table/components/TableHead/tableHead.tsx +2 -2
  235. package/src/components/Table/components/TableRows/tableRows.tsx +10 -3
  236. package/src/components/Table/table.tsx +42 -38
  237. package/src/components/TableCreator/tableCreator.tsx +8 -18
  238. package/src/components/common/AnchorLink/anchorLink.tsx +2 -2
  239. package/src/components/common/Breadcrumbs/breadcrumbs.tsx +2 -2
  240. package/src/components/common/Breadcrumbs/typeGuard.ts +24 -0
  241. package/src/components/common/Button/components/DropdownButton/dropdownButton.tsx +2 -2
  242. package/src/components/common/Button/components/NavigationButton/navigationButton.tsx +2 -2
  243. package/src/components/common/CopyToClipboard/copyToClipboard.tsx +2 -2
  244. package/src/components/common/Dialog/components/DialogTitle/dialogTitle.tsx +2 -2
  245. package/src/components/common/Drawer/components/DrawerTitle/drawerTitle.tsx +2 -2
  246. package/src/components/common/Form/components/Select/components/DropDownIcon/dropDownIcon.tsx +5 -6
  247. package/src/components/common/Form/components/Select/select.tsx +1 -8
  248. package/src/components/common/Form/components/UploadFile/uploadFile.tsx +2 -2
  249. package/src/components/common/LoginDialog/loginDialog.styles.ts +1 -1
  250. package/src/components/common/Paper/paper.tsx +9 -3
  251. package/src/components/common/Section/components/CollapsableSection/collapsableSection.tsx +2 -3
  252. package/src/components/common/ToggleButtonGroup/hooks/UseToggleButtonGroup/hook.ts +17 -0
  253. package/src/components/types.ts +4 -0
  254. package/src/config/entities.ts +2 -0
  255. package/src/hooks/useCategoryFilter.ts +1 -0
  256. package/src/hooks/useResizeObserver.ts +5 -2
  257. package/src/styles/common/mui/palette.ts +47 -0
  258. package/src/tests/testIds.ts +18 -0
  259. package/src/theme/common/components.ts +4 -0
  260. package/src/theme/common/typography.ts +1 -1
  261. package/src/theme/theme.ts +46 -42
  262. package/src/views/ExploreView/exploreView.tsx +10 -43
  263. package/tests/chart.test.tsx +170 -0
  264. package/tests/chartView.test.tsx +36 -0
  265. package/tests/entitiesView.test.tsx +32 -0
  266. package/tests/setup.ts +13 -0
  267. package/types/data-explorer-ui.d.ts +36 -80
  268. package/lib/components/Index/components/Cell/cell.d.ts +0 -7
  269. package/lib/components/Index/components/Cell/cell.js +0 -10
  270. package/lib/components/Index/components/NTag/components/Tooltip/tooltip.d.ts +0 -8
  271. package/lib/components/Index/components/NTag/components/Tooltip/tooltip.js +0 -57
  272. package/lib/components/Index/components/NTag/components/Tooltip/tooltip.styles.d.ts +0 -4
  273. package/lib/components/Index/components/NTag/components/Tooltip/tooltip.styles.js +0 -10
  274. package/lib/components/Index/components/NTag/nTag.d.ts +0 -10
  275. package/lib/components/Index/components/NTag/nTag.js +0 -8
  276. package/lib/components/Index/components/NTagCell/nTagCell.d.ts +0 -11
  277. package/lib/components/Index/components/NTagCell/nTagCell.js +0 -29
  278. package/lib/components/Index/components/NTagCell/nTagCell.stories.d.ts +0 -16
  279. package/lib/components/Index/components/NTagCell/nTagCell.stories.js +0 -16
  280. package/lib/components/Layout/components/BackPage/components/BackPageHero/backPageHero.stories.d.ts +0 -6
  281. package/lib/components/Layout/components/BackPage/components/BackPageHero/backPageHero.stories.js +0 -10
  282. package/lib/components/TableCreator/tableCreator.styles.d.ts +0 -4
  283. package/lib/components/TableCreator/tableCreator.styles.js +0 -4
  284. package/src/components/Index/components/Cell/cell.tsx +0 -22
  285. package/src/components/Index/components/NTag/components/Tooltip/tooltip.styles.ts +0 -11
  286. package/src/components/Index/components/NTag/components/Tooltip/tooltip.tsx +0 -90
  287. package/src/components/Index/components/NTag/nTag.tsx +0 -25
  288. package/src/components/Index/components/NTagCell/nTagCell.stories.tsx +0 -22
  289. package/src/components/Index/components/NTagCell/nTagCell.tsx +0 -74
  290. package/src/components/Layout/components/BackPage/components/BackPageHero/backPageHero.stories.tsx +0 -16
  291. package/src/components/TableCreator/tableCreator.styles.ts +0 -5
@@ -6,15 +6,12 @@ import {
6
6
  } from "@tanstack/react-table";
7
7
  import React, { useMemo } from "react";
8
8
  import { ColumnConfig, ListViewConfig } from "../../config/entities";
9
- import { PAPER_PANEL_STYLE } from "../common/Paper/paper";
10
9
  import { ComponentCreator } from "../ComponentCreator/ComponentCreator";
11
- import { Loading } from "../Loading/loading";
12
10
  import { COLUMN_DEF } from "../Table/common/columnDef";
13
11
  import { arrIncludesSome, sortingFn } from "../Table/common/utils";
14
12
  import { Table } from "../Table/table";
15
13
  import { buildBaseColumnDef } from "./common/utils";
16
14
  import { useTableOptions } from "./options/hook";
17
- import { TableCreator as TableCreatorContainer } from "./tableCreator.styles";
18
15
 
19
16
  export interface TableCreatorProps<T> {
20
17
  columns: ColumnConfig<T>[];
@@ -67,20 +64,13 @@ export const TableCreator = <T extends RowData>({
67
64
  [columns]
68
65
  );
69
66
  return (
70
- <TableCreatorContainer>
71
- <Loading
72
- appear={false}
73
- loading={loading || false}
74
- panelStyle={PAPER_PANEL_STYLE.FLUID}
75
- />
76
- <Table<T>
77
- columns={columnDefs}
78
- getRowId={getRowId}
79
- items={items}
80
- listView={listView}
81
- loading={loading}
82
- tableOptions={tableOptions}
83
- />
84
- </TableCreatorContainer>
67
+ <Table<T>
68
+ columns={columnDefs}
69
+ getRowId={getRowId}
70
+ items={items}
71
+ listView={listView}
72
+ loading={loading}
73
+ tableOptions={tableOptions}
74
+ />
85
75
  );
86
76
  };
@@ -1,4 +1,4 @@
1
- import LinkRoundedIcon from "@mui/icons-material/LinkRounded";
1
+ import { LinkRounded } from "@mui/icons-material";
2
2
  import React from "react";
3
3
  import { AnchorLink as Link } from "./anchorLink.styles";
4
4
 
@@ -20,7 +20,7 @@ export const AnchorLink = ({
20
20
  }: AnchorLinkProps): JSX.Element => {
21
21
  return (
22
22
  <Link aria-label={anchorLink} className={className} href={`#${anchorLink}`}>
23
- <LinkRoundedIcon fontSize="xsmall" />
23
+ <LinkRounded fontSize="xsmall" />
24
24
  </Link>
25
25
  );
26
26
  };
@@ -1,4 +1,4 @@
1
- import ChevronRightRoundedIcon from "@mui/icons-material/ChevronRightRounded";
1
+ import { ChevronRightRounded } from "@mui/icons-material";
2
2
  import { Link, Breadcrumbs as MBreadcrumbs, Typography } from "@mui/material";
3
3
  import NLink from "next/link";
4
4
  import React, { ReactNode } from "react";
@@ -18,7 +18,7 @@ export interface BreadcrumbsProps extends BaseComponentProps {
18
18
  export const Breadcrumbs = ({
19
19
  breadcrumbs,
20
20
  className,
21
- Separator = <ChevronRightRoundedIcon fontSize="xxsmall" />,
21
+ Separator = <ChevronRightRounded fontSize="xxsmall" />,
22
22
  }: BreadcrumbsProps): JSX.Element => {
23
23
  return (
24
24
  <>
@@ -0,0 +1,24 @@
1
+ import { Breadcrumb } from "./breadcrumbs";
2
+
3
+ /**
4
+ * Checks if the given value is an array of breadcrumbs.
5
+ * @param value - Value.
6
+ * @returns True if the value is an array of breadcrumbs.
7
+ */
8
+ export function isBreadcrumbArray(value: unknown): value is Breadcrumb[] {
9
+ return Array.isArray(value) && value.every(isBreadcrumb);
10
+ }
11
+
12
+ /**
13
+ * Checks if the given value is a breadcrumb.
14
+ * @param value - Value.
15
+ * @returns True if the value is a breadcrumb.
16
+ */
17
+ export function isBreadcrumb(value: unknown): value is Breadcrumb {
18
+ if (value === null) return false;
19
+ if (typeof value !== "object") return false;
20
+ if ("path" in value && "text" in value) {
21
+ return typeof value.path === "string" && typeof value.text === "string";
22
+ }
23
+ return false;
24
+ }
@@ -1,4 +1,4 @@
1
- import ArrowDropDownRoundedIcon from "@mui/icons-material/ArrowDropDownRounded";
1
+ import { ArrowDropDownRounded } from "@mui/icons-material";
2
2
  import React from "react";
3
3
  import { ButtonProps } from "../../button";
4
4
  import { DropdownButton as Button } from "./dropdownButton.styles";
@@ -16,7 +16,7 @@ export const DropdownButton = ({
16
16
  return (
17
17
  <Button
18
18
  disabled={disabled}
19
- EndIcon={ArrowDropDownRoundedIcon}
19
+ EndIcon={ArrowDropDownRounded}
20
20
  open={open}
21
21
  {...props}
22
22
  >
@@ -1,4 +1,4 @@
1
- import ArrowDropDownRoundedIcon from "@mui/icons-material/ArrowDropDownRounded";
1
+ import { ArrowDropDownRounded } from "@mui/icons-material";
2
2
  import React from "react";
3
3
  import { ButtonProps } from "../../button";
4
4
  import { Button } from "./navigationButton.styles";
@@ -15,7 +15,7 @@ export const NavigationButton = ({
15
15
  }: NavigationButtonProps): JSX.Element => {
16
16
  return (
17
17
  <Button
18
- EndIcon={ArrowDropDownRoundedIcon}
18
+ EndIcon={ArrowDropDownRounded}
19
19
  isActive={isActive}
20
20
  variant="nav"
21
21
  {...props}
@@ -1,4 +1,4 @@
1
- import ContentCopyRoundedIcon from "@mui/icons-material/ContentCopyRounded";
1
+ import { ContentCopyRounded } from "@mui/icons-material";
2
2
  import { IconButton, Tooltip } from "@mui/material";
3
3
  import copy from "copy-to-clipboard";
4
4
  import React, { useEffect } from "react";
@@ -43,7 +43,7 @@ export const CopyToClipboard = ({
43
43
  onClick={(): void => onCopyToClipboard(copyStr)}
44
44
  size="xxsmall"
45
45
  >
46
- <ContentCopyRoundedIcon color="primary" fontSize="small" />
46
+ <ContentCopyRounded color="primary" fontSize="small" />
47
47
  </IconButton>
48
48
  </Tooltip>
49
49
  );
@@ -1,4 +1,4 @@
1
- import CloseRoundedIcon from "@mui/icons-material/CloseRounded";
1
+ import { CloseRounded } from "@mui/icons-material";
2
2
  import { IconButton, DialogTitle as MDialogTitle } from "@mui/material";
3
3
  import React, { ReactNode } from "react";
4
4
 
@@ -18,7 +18,7 @@ export const DialogTitle = ({
18
18
  {title}
19
19
  {onClose && (
20
20
  <IconButton color="ink" edge="end" onClick={onClose} size="xsmall">
21
- <CloseRoundedIcon />
21
+ <CloseRounded />
22
22
  </IconButton>
23
23
  )}
24
24
  </MDialogTitle>
@@ -1,4 +1,4 @@
1
- import CloseRoundedIcon from "@mui/icons-material/CloseRounded";
1
+ import { CloseRounded } from "@mui/icons-material";
2
2
  import { IconButton } from "@mui/material";
3
3
  import React, { ReactNode } from "react";
4
4
  import { DrawerTitle as Title } from "./drawerTitle.styles";
@@ -19,7 +19,7 @@ export const DrawerTitle = ({
19
19
  {title}
20
20
  {onClose && (
21
21
  <IconButton color="ink" edge="end" onClick={onClose} size="xsmall">
22
- <CloseRoundedIcon color="inkLight" fontSize="small" />
22
+ <CloseRounded color="inkLight" fontSize="small" />
23
23
  </IconButton>
24
24
  )}
25
25
  </Title>
@@ -1,10 +1,9 @@
1
- import ArrowDropDownRoundedIcon from "@mui/icons-material/ArrowDropDownRounded";
1
+ import { ArrowDropDownRounded } from "@mui/icons-material";
2
+ import { SvgIconProps } from "@mui/material";
2
3
  import React from "react";
3
4
 
4
5
  export const DropDownIcon = ({
5
- ...props /* Spread props to allow for Mui SvgIconProps specific prop overrides e.g. "htmlColor". */
6
- }): JSX.Element => {
7
- return (
8
- <ArrowDropDownRoundedIcon color="inkMain" fontSize="small" {...props} />
9
- );
6
+ ...props /* MuiSvgIconProps */
7
+ }: SvgIconProps): JSX.Element => {
8
+ return <ArrowDropDownRounded color="inkMain" fontSize="small" {...props} />;
10
9
  };
@@ -5,7 +5,6 @@ import {
5
5
  } from "@mui/material";
6
6
  import React, { ReactNode } from "react";
7
7
  import { TEXT_BODY_400 } from "../../../../../theme/common/typography";
8
- import { DropDownIcon } from "./components/DropDownIcon/dropDownIcon";
9
8
  import { InputFormControl } from "./select.styles";
10
9
 
11
10
  /**
@@ -30,13 +29,7 @@ export const Select = ({
30
29
  return (
31
30
  <InputFormControl className={className} isFilled={isFilled}>
32
31
  {label && <Typography variant={TEXT_BODY_400}>{label}</Typography>}
33
- <MSelect
34
- fullWidth
35
- IconComponent={DropDownIcon}
36
- inputProps={{ onBlur }}
37
- size="small"
38
- {...props}
39
- >
32
+ <MSelect fullWidth inputProps={{ onBlur }} size="small" {...props}>
40
33
  {children}
41
34
  </MSelect>
42
35
  </InputFormControl>
@@ -1,4 +1,4 @@
1
- import CloseRoundedIcon from "@mui/icons-material/CloseRounded";
1
+ import { CloseRounded } from "@mui/icons-material";
2
2
  import { FormHelperText, Typography } from "@mui/material";
3
3
  import React from "react";
4
4
  import { DropzoneState } from "react-dropzone";
@@ -59,7 +59,7 @@ export const UploadFile = ({
59
59
  </>
60
60
  )}
61
61
  </Typography>
62
- {isAttached && <CloseRoundedIcon fontSize="small" />}
62
+ {isAttached && <CloseRounded fontSize="small" />}
63
63
  </Button>
64
64
  {error && (
65
65
  <FormHelperText>
@@ -36,7 +36,7 @@ export const StyledDialog = styled(Dialog)`
36
36
  margin: 8px 0;
37
37
  }
38
38
 
39
- .MuiGrid2-root {
39
+ .MuiGrid-root {
40
40
  margin: 24px 0;
41
41
  }
42
42
  }
@@ -1,5 +1,6 @@
1
1
  import { Paper as MPaper, PaperProps as MPaperProps } from "@mui/material";
2
2
  import React, { forwardRef, ReactNode } from "react";
3
+ import { TestIdProps } from "../../types";
3
4
 
4
5
  /**
5
6
  * An extension of the basic Mui Paper component with custom variants e.g. "panel".
@@ -20,18 +21,23 @@ export enum PAPER_PANEL_STYLE {
20
21
  ROUNDED = "ROUNDED",
21
22
  }
22
23
 
23
- export interface PaperProps {
24
+ export interface PaperProps extends TestIdProps {
24
25
  children: ReactNode | ReactNode[];
25
26
  className?: string;
26
27
  variant?: MPaperProps["variant"];
27
28
  }
28
29
 
29
30
  export const Paper = forwardRef<HTMLDivElement, PaperProps>(function Paper(
30
- { children, className, variant = "panel" }: PaperProps,
31
+ { children, className, testId, variant = "panel" }: PaperProps,
31
32
  ref
32
33
  ): JSX.Element {
33
34
  return (
34
- <MPaper className={className} ref={ref} variant={variant}>
35
+ <MPaper
36
+ className={className}
37
+ data-testid={testId}
38
+ ref={ref}
39
+ variant={variant}
40
+ >
35
41
  {children}
36
42
  </MPaper>
37
43
  );
@@ -1,5 +1,4 @@
1
- import AddRoundedIcon from "@mui/icons-material/AddRounded";
2
- import RemoveRoundedIcon from "@mui/icons-material/RemoveRounded";
1
+ import { AddRounded, RemoveRounded } from "@mui/icons-material";
3
2
  import { Collapse, CollapseProps } from "@mui/material";
4
3
  import React, { ReactNode, useEffect, useState } from "react";
5
4
  import {
@@ -30,7 +29,7 @@ export const CollapsableSection = ({
30
29
  const [transitionDuration, setTransitionDuration] =
31
30
  useState<CollapseProps["timeout"]>(0);
32
31
  const disabled = !mobile || !collapsable;
33
- const ExpandIcon = expanded ? RemoveRoundedIcon : AddRoundedIcon;
32
+ const ExpandIcon = expanded ? RemoveRounded : AddRounded;
34
33
  const SectionContent = (
35
34
  <SectionText component="div" variant="text-body-400-2lines">
36
35
  {children}
@@ -0,0 +1,17 @@
1
+ import { ToggleButtonGroupProps } from "@mui/material";
2
+ import { MouseEvent, useCallback, useState } from "react";
3
+
4
+ export const useToggleButtonGroup = <
5
+ TValue extends ToggleButtonGroupProps["value"]
6
+ >(
7
+ initialValue: TValue | null = null
8
+ ): ToggleButtonGroupProps => {
9
+ const [value, setValue] = useState<TValue | null>(initialValue);
10
+
11
+ const onChange = useCallback((_: MouseEvent, value: TValue) => {
12
+ if (!value) return;
13
+ setValue(value);
14
+ }, []);
15
+
16
+ return { onChange, value };
17
+ };
@@ -4,6 +4,10 @@ export interface BaseComponentProps {
4
4
  className?: string;
5
5
  }
6
6
 
7
+ export interface ChildrenProps {
8
+ children?: ReactNode;
9
+ }
10
+
7
11
  export interface ContentProps {
8
12
  content?: ReactNode;
9
13
  }
@@ -93,6 +93,7 @@ export interface CategoryGroup {
93
93
  */
94
94
  export interface CategoryConfig {
95
95
  annotation?: DataDictionaryAnnotation;
96
+ enableChartView?: boolean;
96
97
  key: string;
97
98
  label: string;
98
99
  mapSelectCategoryValue?: (
@@ -376,6 +377,7 @@ export interface SiteConfig {
376
377
  contentThemeOptionsFn?: ThemeOptionsFn;
377
378
  dataDictionary?: DataDictionary;
378
379
  dataSource: DataSourceConfig;
380
+ enableEntitiesView?: boolean; // Toggle entities view - list or filter summary
379
381
  entities: EntityConfig[];
380
382
  explorerTitle: HeroTitle;
381
383
  export?: ExportConfig;
@@ -78,6 +78,7 @@ function buildCategoryView(
78
78
  categoryConfig?.mapSelectCategoryValue || getSelectCategoryValue;
79
79
  return {
80
80
  annotation: categoryConfig?.annotation,
81
+ enableChartView: categoryConfig?.enableChartView,
81
82
  isDisabled: false,
82
83
  key: category.key,
83
84
  label: getCategoryLabel(category.key, categoryConfig),
@@ -15,11 +15,13 @@ export type ElementRect = {
15
15
  * Element resizing and repositioning observer.
16
16
  * @param ref - element to be observed for changes to its size or position.
17
17
  * @param onResizeFn - action to be performed when the observed element is resized or repositioned.
18
+ * @param shouldObserve - boolean flag to determine if the observer should be active.
18
19
  * @returns Element size and position properties for the given element.
19
20
  */
20
21
  export function useResizeObserver(
21
22
  ref: RefObject<HTMLElement>,
22
- onResizeFn: (entries: ResizeObserverEntry[]) => Partial<ElementRect>
23
+ onResizeFn: (entries: ResizeObserverEntry[]) => Partial<ElementRect>,
24
+ shouldObserve: boolean = true
23
25
  ): Partial<ElementRect> | undefined {
24
26
  const [elementRect, setElementRect] = useState<Partial<ElementRect>>();
25
27
  const observerRef = useRef<ResizeObserver>();
@@ -38,6 +40,7 @@ export function useResizeObserver(
38
40
  // Creates a new ResizeObserver object which can be used to report changes to an "observed" element's dimensions or position.
39
41
  useEffect(() => {
40
42
  if (!ref.current) return;
43
+ if (!shouldObserve) return;
41
44
  observerRef.current = new ResizeObserver(onResize);
42
45
  const observer = observerRef.current;
43
46
  const observedEl = ref.current;
@@ -45,7 +48,7 @@ export function useResizeObserver(
45
48
  return (): void => {
46
49
  observer.unobserve(observedEl);
47
50
  };
48
- }, [onResize, ref]);
51
+ }, [onResize, ref, shouldObserve]);
49
52
 
50
53
  return elementRect;
51
54
  }
@@ -0,0 +1,47 @@
1
+ export const PALETTE = {
2
+ ALERT_LIGHT: `var(--mui-palette-alert-light)`,
3
+ ALERT_LIGHTEST: `var(--mui-palette-alert-lightest)`,
4
+ ALERT_MAIN: `var(--mui-palette-alert-main)`,
5
+ BACKGROUND_DEFAULT: `var(--mui-palette-background-default)`,
6
+ BACKGROUND_PAPER: `var(--mui-palette-background-paper)`,
7
+ COMMON_BACKGROUND: `var(--mui-palette-common-background)`,
8
+ COMMON_BLACK: `var(--mui-palette-common-black)`,
9
+ COMMON_WHITE: `var(--mui-palette-common-white)`,
10
+ ERROR_CONTRAST_TEXT: `var(--mui-palette-error-contrastText)`,
11
+ ERROR_DARK: `var(--mui-palette-error-dark)`,
12
+ ERROR_LIGHT: `var(--mui-palette-error-light)`,
13
+ ERROR_MAIN: `var(--mui-palette-error-main)`,
14
+ INFO_CONTRAST_TEXT: `var(--mui-palette-info-contrastText)`,
15
+ INFO_DARK: `var(--mui-palette-info-dark)`,
16
+ INFO_LIGHT: `var(--mui-palette-info-light)`,
17
+ INFO_LIGHTEST: `var(--mui-palette-info-lightest)`,
18
+ INFO_MAIN: `var(--mui-palette-info-main)`,
19
+ INK_LIGHT: `var(--mui-palette-ink-light)`,
20
+ INK_MAIN: `var(--mui-palette-ink-main)`,
21
+ PRIMARY_CONTRAST_TEXT: `var(--mui-palette-primary-contrastText)`,
22
+ PRIMARY_DARK: `var(--mui-palette-primary-dark)`,
23
+ PRIMARY_LIGHT: `var(--mui-palette-primary-light)`,
24
+ PRIMARY_LIGHTEST: `var(--mui-palette-primary-lightest)`,
25
+ PRIMARY_MAIN: `var(--mui-palette-primary-main)`,
26
+ SECONDARY_CONTRAST_TEXT: `var(--mui-palette-secondary-contrastText)`,
27
+ SECONDARY_DARK: `var(--mui-palette-secondary-dark)`,
28
+ SECONDARY_LIGHT: `var(--mui-palette-secondary-light)`,
29
+ SECONDARY_MAIN: `var(--mui-palette-secondary-main)`,
30
+ SMOKE_DARK: `var(--mui-palette-smoke-dark)`,
31
+ SMOKE_LIGHT: `var(--mui-palette-smoke-light)`,
32
+ SMOKE_LIGHTEST: `var(--mui-palette-smoke-lightest)`,
33
+ SMOKE_MAIN: `var(--mui-palette-smoke-main)`,
34
+ SUCCESS_CONTRAST_TEXT: `var(--mui-palette-success-contrastText)`,
35
+ SUCCESS_DARK: `var(--mui-palette-success-dark)`,
36
+ SUCCESS_LIGHT: `var(--mui-palette-success-light)`,
37
+ SUCCESS_LIGHTEST: `var(--mui-palette-success-lightest)`,
38
+ SUCCESS_MAIN: `var(--mui-palette-success-main)`,
39
+ TEXT_DISABLED: `var(--mui-palette-text-disabled)`,
40
+ TEXT_PRIMARY: `var(--mui-palette-text-primary)`,
41
+ TEXT_SECONDARY: `var(--mui-palette-text-secondary)`,
42
+ WARNING_CONTRAST_TEXT: `var(--mui-palette-warning-contrastText)`,
43
+ WARNING_DARK: `var(--mui-palette-warning-dark)`,
44
+ WARNING_LIGHT: `var(--mui-palette-warning-light)`,
45
+ WARNING_LIGHTEST: `var(--mui-palette-warning-lightest)`,
46
+ WARNING_MAIN: `var(--mui-palette-warning-main)`,
47
+ } as const;
@@ -0,0 +1,18 @@
1
+ export const TEST_IDS = {
2
+ CLEAR_ALL_FILTERS: "clear-all-filters",
3
+ ENTITIES_VIEW: "entities-view",
4
+ EXPORT_BUTTON: "export-button",
5
+ FILTERS: "filters",
6
+ FILTER_CONTROLS: "filter-controls",
7
+ FILTER_COUNT: "filter-count",
8
+ FILTER_ITEM: "filter-item",
9
+ FILTER_POPOVER: "filter-popover",
10
+ FILTER_TERM: "filter-term",
11
+ SEARCH_ALL_FILTERS: "search-all-filters",
12
+ SIDEBAR: "sidebar",
13
+ SIDEBAR_DRAWER: "sidebar-drawer",
14
+ TABLE_FIRST_CELL: "table-first-cell",
15
+ TABLE_PAGINATION: "table-pagination",
16
+ TABLE_PAGINATION_PAGE: "table-pagination-page",
17
+ TABLE_PAGINATION_RESULTS: "table-pagination-results",
18
+ };
@@ -1,4 +1,5 @@
1
1
  import { Components, Theme } from "@mui/material";
2
+ import { DropDownIcon } from "../../components/common/Form/components/Select/components/DropDownIcon/dropDownIcon";
2
3
  import { CHIP_PROPS } from "../../styles/common/mui/chip";
3
4
  import { desktopUp, mobileUp, tabletUp } from "./breakpoints";
4
5
  import {
@@ -1179,6 +1180,9 @@ export const MuiRadio = (theme: Theme): Components["MuiRadio"] => {
1179
1180
  * MuiSelect Component
1180
1181
  */
1181
1182
  export const MuiSelect: Components["MuiSelect"] = {
1183
+ defaultProps: {
1184
+ IconComponent: DropDownIcon,
1185
+ },
1182
1186
  styleOverrides: {
1183
1187
  select: {
1184
1188
  minHeight: "unset",
@@ -1,4 +1,4 @@
1
- import { CSSProperties } from "@mui/material/styles/createTypography";
1
+ import { CSSProperties } from "@mui/material";
2
2
  import { tabletUp } from "./breakpoints";
3
3
 
4
4
  /**
@@ -1,4 +1,5 @@
1
1
  import { createTheme, Shadows, Theme, ThemeOptions } from "@mui/material";
2
+ import { deepmerge } from "@mui/utils";
2
3
  import * as B from "./common/breakpoints";
3
4
  import * as C from "./common/components";
4
5
  import * as P from "./common/palette";
@@ -15,52 +16,55 @@ export interface ThemeProps {
15
16
  * @param customOptions - Custom theme option overrides.
16
17
  * @returns theme with custom theme overrides.
17
18
  */
18
- export function createAppTheme(customOptions?: ThemeOptions): Theme {
19
+ export function createAppTheme(customOptions: ThemeOptions = {}): Theme {
19
20
  // Generate default theme with custom overrides.
20
21
  const theme = createTheme(
21
- {
22
- breakpoints: {
23
- values: {
24
- lg: B.desktop,
25
- md: B.desktopSm,
26
- sm: B.tablet,
27
- xs: B.mobile,
22
+ deepmerge(
23
+ {
24
+ breakpoints: {
25
+ values: {
26
+ lg: B.desktop,
27
+ md: B.desktopSm,
28
+ sm: B.tablet,
29
+ xs: B.mobile,
30
+ },
31
+ },
32
+ cssVariables: true,
33
+ palette: {
34
+ alert: P.alert,
35
+ background: P.background,
36
+ common: P.common,
37
+ info: P.info,
38
+ ink: P.ink,
39
+ primary: P.primary,
40
+ smoke: P.smoke,
41
+ success: P.success,
42
+ text: P.text,
43
+ warning: P.warning,
44
+ },
45
+ spacing: 4,
46
+ typography: {
47
+ [T.TEXT_BODY_400]: T.textBody400,
48
+ [T.TEXT_BODY_400_2_LINES]: T.textBody4002Lines,
49
+ [T.TEXT_BODY_500]: T.textBody500,
50
+ [T.TEXT_BODY_500_2_LINES]: T.textBody5002Lines,
51
+ [T.TEXT_BODY_LARGE_400]: T.textBodyLarge400,
52
+ [T.TEXT_BODY_LARGE_400_2_LINES]: T.textBodyLarge4002Lines,
53
+ [T.TEXT_BODY_LARGE_500]: T.textBodyLarge500,
54
+ [T.TEXT_BODY_SMALL_400]: T.textBodySmall400,
55
+ [T.TEXT_BODY_SMALL_400_2_LINES]: T.textBodySmall4002Lines,
56
+ [T.TEXT_BODY_SMALL_500]: T.textBodySmall500,
57
+ [T.TEXT_HEADING]: T.textHeading,
58
+ [T.TEXT_HEADING_LARGE]: T.textHeadingLarge,
59
+ [T.TEXT_HEADING_SMALL]: T.textHeadingSmall,
60
+ [T.TEXT_HEADING_XLARGE]: T.textHeadingXLarge,
61
+ [T.TEXT_HEADING_XSMALL]: T.textHeadingXSmall,
62
+ [T.TEXT_UPPERCASE_500]: T.textUppercase500,
63
+ fontFamily: T.fontFamily,
28
64
  },
29
65
  },
30
- palette: {
31
- alert: P.alert,
32
- background: P.background,
33
- common: P.common,
34
- info: P.info,
35
- ink: P.ink,
36
- primary: P.primary,
37
- smoke: P.smoke,
38
- success: P.success,
39
- text: P.text,
40
- warning: P.warning,
41
- },
42
- spacing: 4,
43
- typography: {
44
- [T.TEXT_BODY_400]: T.textBody400,
45
- [T.TEXT_BODY_400_2_LINES]: T.textBody4002Lines,
46
- [T.TEXT_BODY_500]: T.textBody500,
47
- [T.TEXT_BODY_500_2_LINES]: T.textBody5002Lines,
48
- [T.TEXT_BODY_LARGE_400]: T.textBodyLarge400,
49
- [T.TEXT_BODY_LARGE_400_2_LINES]: T.textBodyLarge4002Lines,
50
- [T.TEXT_BODY_LARGE_500]: T.textBodyLarge500,
51
- [T.TEXT_BODY_SMALL_400]: T.textBodySmall400,
52
- [T.TEXT_BODY_SMALL_400_2_LINES]: T.textBodySmall4002Lines,
53
- [T.TEXT_BODY_SMALL_500]: T.textBodySmall500,
54
- [T.TEXT_HEADING]: T.textHeading,
55
- [T.TEXT_HEADING_LARGE]: T.textHeadingLarge,
56
- [T.TEXT_HEADING_SMALL]: T.textHeadingSmall,
57
- [T.TEXT_HEADING_XLARGE]: T.textHeadingXLarge,
58
- [T.TEXT_HEADING_XSMALL]: T.textHeadingXSmall,
59
- [T.TEXT_UPPERCASE_500]: T.textUppercase500,
60
- fontFamily: T.fontFamily,
61
- },
62
- },
63
- { ...customOptions }
66
+ customOptions
67
+ )
64
68
  );
65
69
 
66
70
  // Default shadow overrides.