@databiosphere/findable-ui 21.4.0 → 23.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 (372) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/.storybook/main.ts +7 -1
  3. package/CHANGELOG.md +45 -0
  4. package/lib/common/selectors.d.ts +6 -2
  5. package/lib/common/selectors.js +7 -2
  6. package/lib/components/DataDictionary/components/Entities/constants.d.ts +3 -0
  7. package/lib/components/DataDictionary/components/Entities/constants.js +7 -0
  8. package/lib/components/DataDictionary/components/Entities/entities.d.ts +2 -0
  9. package/lib/components/DataDictionary/components/Entities/entities.js +7 -0
  10. package/lib/components/DataDictionary/components/Entities/types.d.ts +6 -0
  11. package/lib/components/DataDictionary/components/Entities/types.js +1 -0
  12. package/lib/components/DataDictionary/components/Entity/constants.d.ts +2 -0
  13. package/lib/components/DataDictionary/components/Entity/constants.js +5 -0
  14. package/lib/components/DataDictionary/components/Entity/entity.d.ts +2 -0
  15. package/lib/components/DataDictionary/components/Entity/entity.js +19 -0
  16. package/lib/components/DataDictionary/components/Entity/entity.styles.d.ts +2 -0
  17. package/lib/components/DataDictionary/components/Entity/entity.styles.js +10 -0
  18. package/lib/components/DataDictionary/components/Entity/types.d.ts +6 -0
  19. package/lib/components/DataDictionary/components/Entity/types.js +1 -0
  20. package/lib/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.d.ts +2 -0
  21. package/lib/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.js +5 -0
  22. package/lib/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.styles.d.ts +5 -0
  23. package/lib/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.styles.js +19 -0
  24. package/lib/components/DataDictionary/components/Layout/components/EntitiesLayout/types.d.ts +5 -0
  25. package/lib/components/DataDictionary/components/Layout/components/EntitiesLayout/types.js +1 -0
  26. package/lib/components/DataDictionary/components/Layout/components/OutlineLayout/outlineLayout.d.ts +2 -0
  27. package/lib/components/DataDictionary/components/Layout/components/OutlineLayout/outlineLayout.js +6 -0
  28. package/lib/components/DataDictionary/components/Layout/components/OutlineLayout/outlineLayout.styles.d.ts +9 -0
  29. package/lib/components/DataDictionary/components/Layout/components/OutlineLayout/outlineLayout.styles.js +26 -0
  30. package/lib/components/DataDictionary/components/Layout/components/OutlineLayout/types.d.ts +5 -0
  31. package/lib/components/DataDictionary/components/Layout/components/OutlineLayout/types.js +1 -0
  32. package/lib/components/DataDictionary/components/Layout/components/TitleLayout/titleLayout.d.ts +2 -0
  33. package/lib/components/DataDictionary/components/Layout/components/TitleLayout/titleLayout.js +5 -0
  34. package/lib/components/DataDictionary/components/Layout/components/TitleLayout/titleLayout.styles.d.ts +5 -0
  35. package/lib/components/DataDictionary/components/Layout/components/TitleLayout/titleLayout.styles.js +16 -0
  36. package/lib/components/DataDictionary/components/Layout/components/TitleLayout/types.d.ts +5 -0
  37. package/lib/components/DataDictionary/components/Layout/components/TitleLayout/types.js +1 -0
  38. package/lib/components/DataDictionary/components/Layout/constants.d.ts +5 -0
  39. package/lib/components/DataDictionary/components/Layout/constants.js +5 -0
  40. package/lib/components/DataDictionary/components/Outline/components/ContentsTab/constants.d.ts +2 -0
  41. package/lib/components/DataDictionary/components/Outline/components/ContentsTab/constants.js +5 -0
  42. package/lib/components/DataDictionary/components/Outline/components/ContentsTab/contentsTab.d.ts +1 -0
  43. package/lib/components/DataDictionary/components/Outline/components/ContentsTab/contentsTab.js +6 -0
  44. package/lib/components/DataDictionary/components/Outline/components/ContentsTab/contentsTab.styles.d.ts +3 -0
  45. package/lib/components/DataDictionary/components/Outline/components/ContentsTab/contentsTab.styles.js +7 -0
  46. package/lib/components/DataDictionary/components/Outline/outline.d.ts +2 -0
  47. package/lib/components/DataDictionary/components/Outline/outline.js +6 -0
  48. package/lib/components/DataDictionary/components/Outline/outline.styles.d.ts +3 -0
  49. package/lib/components/DataDictionary/components/Outline/outline.styles.js +19 -0
  50. package/lib/components/DataDictionary/components/Outline/types.d.ts +5 -0
  51. package/lib/components/DataDictionary/components/Outline/types.js +1 -0
  52. package/lib/components/DataDictionary/components/Outline/utils.d.ts +8 -0
  53. package/lib/components/DataDictionary/components/Outline/utils.js +15 -0
  54. package/lib/components/DataDictionary/components/Table/columns/columnDef.d.ts +6 -0
  55. package/lib/components/DataDictionary/components/Table/columns/columnDef.js +33 -0
  56. package/lib/components/DataDictionary/components/Table/columns/columnIdentifier.d.ts +5 -0
  57. package/lib/components/DataDictionary/components/Table/columns/columnIdentifier.js +5 -0
  58. package/lib/components/DataDictionary/components/Table/columns/types.d.ts +2 -0
  59. package/lib/components/DataDictionary/components/Table/columns/types.js +1 -0
  60. package/lib/components/DataDictionary/components/Table/components/BasicCell/basicCell.d.ts +2 -0
  61. package/lib/components/DataDictionary/components/Table/components/BasicCell/basicCell.js +6 -0
  62. package/lib/components/DataDictionary/components/Table/components/BasicCell/types.d.ts +4 -0
  63. package/lib/components/DataDictionary/components/Table/components/BasicCell/types.js +1 -0
  64. package/lib/components/DataDictionary/components/Table/hook.d.ts +3 -0
  65. package/lib/components/DataDictionary/components/Table/hook.js +11 -0
  66. package/lib/components/DataDictionary/components/Table/options/core/constants.d.ts +3 -0
  67. package/lib/components/DataDictionary/components/Table/options/core/constants.js +7 -0
  68. package/lib/components/DataDictionary/components/Table/options/hook.d.ts +3 -0
  69. package/lib/components/DataDictionary/components/Table/options/hook.js +8 -0
  70. package/lib/components/DataDictionary/components/Table/options/sorting/constants.d.ts +3 -0
  71. package/lib/components/DataDictionary/components/Table/options/sorting/constants.js +3 -0
  72. package/lib/components/DataDictionary/components/Table/table.d.ts +2 -0
  73. package/lib/components/DataDictionary/components/Table/table.js +17 -0
  74. package/lib/components/DataDictionary/components/Table/table.styles.d.ts +3 -0
  75. package/lib/components/DataDictionary/components/Table/table.styles.js +5 -0
  76. package/lib/components/DataDictionary/components/Table/types.d.ts +5 -0
  77. package/lib/components/DataDictionary/components/Table/types.js +1 -0
  78. package/lib/components/DataDictionary/components/Title/title.d.ts +2 -0
  79. package/lib/components/DataDictionary/components/Title/title.js +3 -0
  80. package/lib/components/DataDictionary/components/Title/title.styles.d.ts +3 -0
  81. package/lib/components/DataDictionary/components/Title/title.styles.js +17 -0
  82. package/lib/components/DataDictionary/dataDictionary.d.ts +2 -0
  83. package/lib/components/DataDictionary/dataDictionary.js +23 -0
  84. package/lib/components/DataDictionary/dataDictionary.styles.d.ts +5 -0
  85. package/lib/components/DataDictionary/dataDictionary.styles.js +20 -0
  86. package/lib/components/DataDictionary/hooks/UseDataDictionary/hook.d.ts +2 -0
  87. package/lib/components/DataDictionary/hooks/UseDataDictionary/hook.js +6 -0
  88. package/lib/components/DataDictionary/hooks/UseDataDictionary/types.d.ts +4 -0
  89. package/lib/components/DataDictionary/hooks/UseDataDictionary/types.js +1 -0
  90. package/lib/components/DataDictionary/hooks/UseLayoutSpacing/hook.d.ts +2 -0
  91. package/lib/components/DataDictionary/hooks/UseLayoutSpacing/hook.js +10 -0
  92. package/lib/components/DataDictionary/hooks/UseLayoutSpacing/types.d.ts +7 -0
  93. package/lib/components/DataDictionary/hooks/UseLayoutSpacing/types.js +1 -0
  94. package/lib/components/DataDictionary/types.d.ts +9 -0
  95. package/lib/components/DataDictionary/types.js +1 -0
  96. package/lib/components/Detail/detail.stories.d.ts +36 -5
  97. package/lib/components/Detail/detail.stories.js +27 -18
  98. package/lib/components/Error/error.js +3 -3
  99. package/lib/components/Export/components/ExportMethod/exportMethod.stories.d.ts +22 -5
  100. package/lib/components/Export/components/ExportMethod/exportMethod.stories.js +9 -9
  101. package/lib/components/Filter/components/Filter/filter.stories.d.ts +25 -5
  102. package/lib/components/Filter/components/Filter/filter.stories.js +25 -24
  103. package/lib/components/Filter/components/FilterLabel/filterLabel.stories.d.ts +31 -5
  104. package/lib/components/Filter/components/FilterLabel/filterLabel.stories.js +10 -8
  105. package/lib/components/Filter/components/FilterMenu/filterMenu.stories.d.ts +38 -5
  106. package/lib/components/Filter/components/FilterMenu/filterMenu.stories.js +107 -104
  107. package/lib/components/Filter/components/FilterTag/filterTag.stories.d.ts +16 -5
  108. package/lib/components/Filter/components/FilterTag/filterTag.stories.js +8 -7
  109. package/lib/components/Filter/components/FilterTags/filterTags.stories.d.ts +18 -5
  110. package/lib/components/Filter/components/FilterTags/filterTags.stories.js +40 -39
  111. package/lib/components/Filter/components/SearchAllFilters/searchAllFilters.js +3 -3
  112. package/lib/components/Index/components/AzulFileDownload/azulFileDownload.stories.d.ts +8 -5
  113. package/lib/components/Index/components/AzulFileDownload/azulFileDownload.stories.js +9 -6
  114. package/lib/components/Index/components/Hero/components/Summaries/summaries.stories.d.ts +13 -5
  115. package/lib/components/Index/components/Hero/components/Summaries/summaries.stories.js +11 -11
  116. package/lib/components/Index/components/Hero/hero.stories.d.ts +23 -5
  117. package/lib/components/Index/components/Hero/hero.stories.js +8 -6
  118. package/lib/components/Index/components/NTagCell/nTagCell.stories.d.ts +16 -5
  119. package/lib/components/Index/components/NTagCell/nTagCell.stories.js +8 -8
  120. package/lib/components/Index/index.js +3 -4
  121. package/lib/components/Index/index.stories.js +2 -1
  122. package/lib/components/Layout/components/BackPage/backPageView.stories.d.ts +31 -5
  123. package/lib/components/Layout/components/BackPage/backPageView.stories.js +27 -18
  124. package/lib/components/Layout/components/ContentLayout/contentLayout.js +7 -7
  125. package/lib/components/Layout/components/Footer/footer.js +4 -1
  126. package/lib/components/Layout/components/Footer/footer.stories.d.ts +24 -3
  127. package/lib/components/Layout/components/Footer/footer.stories.js +4 -3
  128. package/lib/components/Layout/components/Footer/footer.styles.js +1 -0
  129. package/lib/components/Layout/components/Header/header.js +4 -3
  130. package/lib/components/Layout/components/Header/header.stories.js +1 -1
  131. package/lib/components/Layout/components/Main/main.js +3 -4
  132. package/lib/components/Layout/components/Outline/components/ContentsTab/contentsTab.d.ts +1 -5
  133. package/lib/components/Layout/components/Outline/components/ContentsTab/contentsTab.js +5 -3
  134. package/lib/components/Layout/components/Outline/components/ContentsTab/contentsTab.styles.d.ts +1 -1
  135. package/lib/components/Layout/components/Outline/components/ContentsTab/contentsTab.styles.js +2 -2
  136. package/lib/components/Layout/components/Outline/components/ContentsTab/types.d.ts +5 -0
  137. package/lib/components/Layout/components/Outline/components/ContentsTab/types.js +1 -0
  138. package/lib/components/Layout/components/Outline/hooks/UseHash/hook.d.ts +11 -0
  139. package/lib/components/Layout/components/Outline/hooks/UseHash/hook.js +16 -0
  140. package/lib/components/Layout/components/Outline/hooks/UseHash/types.d.ts +3 -0
  141. package/lib/components/Layout/components/Outline/hooks/UseHash/types.js +1 -0
  142. package/lib/components/Layout/components/Outline/hooks/UseTabs/constants.d.ts +2 -0
  143. package/lib/components/Layout/components/Outline/hooks/UseTabs/hook.d.ts +3 -0
  144. package/lib/components/Layout/components/Outline/hooks/UseTabs/hook.js +24 -0
  145. package/lib/components/Layout/components/Outline/hooks/UseTabs/utils.d.ts +9 -0
  146. package/lib/components/Layout/components/Outline/hooks/UseTabs/utils.js +13 -0
  147. package/lib/components/Layout/components/Outline/outline.d.ts +2 -13
  148. package/lib/components/Layout/components/Outline/outline.js +8 -32
  149. package/lib/components/Layout/components/Outline/outline.styles.d.ts +2 -2
  150. package/lib/components/Layout/components/Outline/outline.styles.js +2 -2
  151. package/lib/components/Layout/components/Outline/types.d.ts +14 -0
  152. package/lib/components/Layout/components/Outline/types.js +1 -0
  153. package/lib/components/Layout/components/Sidebar/components/SidebarLabel/sidebarLabel.stories.d.ts +13 -5
  154. package/lib/components/Layout/components/Sidebar/components/SidebarLabel/sidebarLabel.stories.js +6 -6
  155. package/lib/components/Layout/components/Sidebar/components/SidebarPositioner/sidebarPositioner.js +4 -4
  156. package/lib/components/Layout/components/Sidebar/sidebar.stories.js +2 -0
  157. package/lib/components/Links/links.stories.d.ts +13 -5
  158. package/lib/components/Links/links.stories.js +14 -14
  159. package/lib/components/Loading/loading.stories.d.ts +34 -5
  160. package/lib/components/Loading/loading.stories.js +8 -6
  161. package/lib/components/Login/components/Section/components/Warning/warning.js +2 -3
  162. package/lib/components/Project/components/CollaboratingOrganizations/collaboratingOrganizations.stories.d.ts +13 -5
  163. package/lib/components/Project/components/CollaboratingOrganizations/collaboratingOrganizations.stories.js +20 -20
  164. package/lib/components/Project/components/Contacts/contacts.stories.d.ts +13 -5
  165. package/lib/components/Project/components/Contacts/contacts.stories.js +18 -18
  166. package/lib/components/Project/components/Contributors/contributors.stories.d.ts +8 -5
  167. package/lib/components/Project/components/Contributors/contributors.stories.js +27 -27
  168. package/lib/components/Project/components/DataCurators/dataCurators.stories.d.ts +13 -5
  169. package/lib/components/Project/components/DataCurators/dataCurators.stories.js +7 -7
  170. package/lib/components/Project/components/DataReleasePolicy/dataReleasePolicy.stories.d.ts +8 -5
  171. package/lib/components/Project/components/DataReleasePolicy/dataReleasePolicy.stories.js +3 -4
  172. package/lib/components/Project/components/Description/description.stories.d.ts +8 -5
  173. package/lib/components/Project/components/Description/description.stories.js +6 -6
  174. package/lib/components/Project/components/Details/details.stories.d.ts +16 -5
  175. package/lib/components/Project/components/Details/details.stories.js +7 -7
  176. package/lib/components/Project/components/Publications/publications.stories.d.ts +8 -5
  177. package/lib/components/Project/components/Publications/publications.stories.js +17 -17
  178. package/lib/components/Project/components/SupplementaryLinks/supplementaryLinks.stories.d.ts +8 -5
  179. package/lib/components/Project/components/SupplementaryLinks/supplementaryLinks.stories.js +18 -18
  180. package/lib/components/Support/components/SupportRequest/components/SupportRequestForm/common/constants.d.ts +16 -33
  181. package/lib/components/Support/components/SupportRequest/components/SupportRequestForm/common/constants.js +10 -9
  182. package/lib/components/Support/components/SupportRequest/components/SupportRequestForm/supportRequestForm.js +26 -14
  183. package/lib/components/Support/components/ViewSupport/types.d.ts +6 -0
  184. package/lib/components/Support/components/ViewSupport/types.js +1 -0
  185. package/lib/components/Support/components/ViewSupport/viewSupport.d.ts +2 -9
  186. package/lib/components/Support/components/ViewSupport/viewSupport.js +7 -3
  187. package/lib/components/Table/components/Pagination/pagination.stories.d.ts +28 -5
  188. package/lib/components/Table/components/Pagination/pagination.stories.js +11 -7
  189. package/lib/components/Table/components/TableCell/components/RowPositionCell/constants.js +2 -2
  190. package/lib/components/common/Accordion/accordion.stories.d.ts +6 -3
  191. package/lib/components/common/Accordion/accordion.stories.js +2 -1
  192. package/lib/components/common/AnchorLink/anchorLink.d.ts +6 -0
  193. package/lib/components/common/Breadcrumbs/breadcrumbs.stories.d.ts +10 -7
  194. package/lib/components/common/Breadcrumbs/breadcrumbs.stories.js +42 -43
  195. package/lib/components/common/Button/components/CallToActionButton/callToActionButton.stories.d.ts +9 -6
  196. package/lib/components/common/Button/components/CallToActionButton/callToActionButton.stories.js +13 -15
  197. package/lib/components/common/Button/components/HelpIconButton/helpIconButton.stories.d.ts +19 -2
  198. package/lib/components/common/Button/components/HelpIconButton/helpIconButton.stories.js +2 -2
  199. package/lib/components/common/Card/card.stories.d.ts +6 -3
  200. package/lib/components/common/Card/card.stories.js +2 -1
  201. package/lib/components/common/Code/code.stories.d.ts +5 -3
  202. package/lib/components/common/CopyToClipboard/copyToClipboard.stories.d.ts +11 -3
  203. package/lib/components/common/CopyToClipboard/copyToClipboard.stories.js +2 -1
  204. package/lib/components/common/LoginDialog/constants.js +4 -4
  205. package/lib/components/common/Section/components/SectionTitle/sectionTitle.stories.d.ts +13 -5
  206. package/lib/components/common/Section/components/SectionTitle/sectionTitle.stories.js +6 -6
  207. package/lib/components/common/Socials/socials.stories.d.ts +11 -3
  208. package/lib/components/common/Socials/socials.stories.js +2 -1
  209. package/lib/components/common/StaticImage/staticImage.stories.d.ts +22 -5
  210. package/lib/components/common/StaticImage/staticImage.stories.js +8 -8
  211. package/lib/components/common/StatusIcon/statusIcon.stories.d.ts +19 -5
  212. package/lib/components/common/StatusIcon/statusIcon.stories.js +7 -7
  213. package/lib/components/common/Tag/tag.stories.d.ts +15 -5
  214. package/lib/components/common/Tag/tag.stories.js +7 -5
  215. package/lib/components/common/ToggleButtonGroup/toggleButtonGroup.stories.d.ts +18 -5
  216. package/lib/components/common/ToggleButtonGroup/toggleButtonGroup.stories.js +19 -19
  217. package/lib/providers/layoutDimensions/constants.d.ts +2 -0
  218. package/lib/providers/layoutDimensions/constants.js +4 -0
  219. package/lib/providers/layoutDimensions/context.d.ts +2 -0
  220. package/lib/providers/layoutDimensions/context.js +7 -0
  221. package/lib/providers/layoutDimensions/hook.d.ts +2 -0
  222. package/lib/providers/layoutDimensions/hook.js +5 -0
  223. package/lib/providers/layoutDimensions/provider.d.ts +2 -0
  224. package/lib/providers/layoutDimensions/provider.js +14 -0
  225. package/lib/providers/layoutDimensions/types.d.ts +14 -0
  226. package/lib/providers/layoutDimensions/types.js +1 -0
  227. package/lib/styles/common/mui/tab.d.ts +7 -0
  228. package/lib/styles/common/mui/tab.js +9 -0
  229. package/lib/styles/common/mui/tabs.d.ts +9 -0
  230. package/lib/styles/common/mui/tabs.js +11 -0
  231. package/lib/styles/common/mui/typography.d.ts +8 -2
  232. package/lib/styles/common/mui/typography.js +9 -2
  233. package/lib/views/DataDictionaryView/dataDictionaryView.d.ts +2 -0
  234. package/lib/views/DataDictionaryView/dataDictionaryView.js +5 -0
  235. package/package.json +13 -13
  236. package/src/common/selectors.ts +6 -3
  237. package/src/components/DataDictionary/components/Entities/constants.ts +10 -0
  238. package/src/components/DataDictionary/components/Entities/entities.tsx +15 -0
  239. package/src/components/DataDictionary/components/Entities/types.ts +7 -0
  240. package/src/components/DataDictionary/components/Entity/constants.ts +7 -0
  241. package/src/components/DataDictionary/components/Entity/entity.styles.ts +12 -0
  242. package/src/components/DataDictionary/components/Entity/entity.tsx +38 -0
  243. package/src/components/DataDictionary/components/Entity/types.ts +7 -0
  244. package/src/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.styles.ts +22 -0
  245. package/src/components/DataDictionary/components/Layout/components/EntitiesLayout/entitiesLayout.tsx +10 -0
  246. package/src/components/DataDictionary/components/Layout/components/EntitiesLayout/types.ts +6 -0
  247. package/src/components/DataDictionary/components/Layout/components/OutlineLayout/outlineLayout.styles.ts +31 -0
  248. package/src/components/DataDictionary/components/Layout/components/OutlineLayout/outlineLayout.tsx +14 -0
  249. package/src/components/DataDictionary/components/Layout/components/OutlineLayout/types.ts +6 -0
  250. package/src/components/DataDictionary/components/Layout/components/TitleLayout/titleLayout.styles.ts +18 -0
  251. package/src/components/DataDictionary/components/Layout/components/TitleLayout/titleLayout.tsx +10 -0
  252. package/src/components/DataDictionary/components/Layout/components/TitleLayout/types.ts +6 -0
  253. package/src/components/DataDictionary/components/Layout/constants.ts +5 -0
  254. package/src/components/DataDictionary/components/Outline/components/ContentsTab/constants.ts +7 -0
  255. package/src/components/DataDictionary/components/Outline/components/ContentsTab/contentsTab.styles.ts +8 -0
  256. package/src/components/DataDictionary/components/Outline/components/ContentsTab/contentsTab.tsx +7 -0
  257. package/src/components/DataDictionary/components/Outline/outline.styles.ts +24 -0
  258. package/src/components/DataDictionary/components/Outline/outline.tsx +11 -0
  259. package/src/components/DataDictionary/components/Outline/types.ts +6 -0
  260. package/src/components/DataDictionary/components/Outline/utils.ts +18 -0
  261. package/src/components/DataDictionary/components/Table/columns/columnDef.ts +47 -0
  262. package/src/components/DataDictionary/components/Table/columns/columnIdentifier.ts +5 -0
  263. package/src/components/DataDictionary/components/Table/columns/types.ts +3 -0
  264. package/src/components/DataDictionary/components/Table/components/BasicCell/basicCell.tsx +12 -0
  265. package/src/components/DataDictionary/components/Table/components/BasicCell/types.ts +5 -0
  266. package/src/components/DataDictionary/components/Table/hook.ts +13 -0
  267. package/src/components/DataDictionary/components/Table/options/core/constants.ts +12 -0
  268. package/src/components/DataDictionary/components/Table/options/hook.ts +14 -0
  269. package/src/components/DataDictionary/components/Table/options/sorting/constants.ts +9 -0
  270. package/src/components/DataDictionary/components/Table/table.styles.ts +6 -0
  271. package/src/components/DataDictionary/components/Table/table.tsx +35 -0
  272. package/src/components/DataDictionary/components/Table/types.ts +6 -0
  273. package/src/components/DataDictionary/components/Title/title.styles.ts +18 -0
  274. package/src/components/DataDictionary/components/Title/title.tsx +8 -0
  275. package/src/components/DataDictionary/dataDictionary.styles.ts +22 -0
  276. package/src/components/DataDictionary/dataDictionary.tsx +38 -0
  277. package/src/components/DataDictionary/hooks/UseDataDictionary/hook.ts +10 -0
  278. package/src/components/DataDictionary/hooks/UseDataDictionary/types.ts +5 -0
  279. package/src/components/DataDictionary/hooks/UseLayoutSpacing/hook.ts +12 -0
  280. package/src/components/DataDictionary/hooks/UseLayoutSpacing/types.ts +8 -0
  281. package/src/components/DataDictionary/types.ts +10 -0
  282. package/src/components/Detail/detail.stories.tsx +41 -36
  283. package/src/components/Error/error.tsx +3 -5
  284. package/src/components/Export/components/ExportMethod/exportMethod.stories.tsx +13 -13
  285. package/src/components/Filter/components/Filter/filter.stories.tsx +29 -28
  286. package/src/components/Filter/components/FilterLabel/filterLabel.stories.tsx +14 -12
  287. package/src/components/Filter/components/FilterMenu/filterMenu.stories.tsx +111 -108
  288. package/src/components/Filter/components/FilterTag/filterTag.stories.tsx +12 -11
  289. package/src/components/Filter/components/FilterTags/filterTags.stories.tsx +44 -43
  290. package/src/components/Filter/components/SearchAllFilters/searchAllFilters.tsx +3 -3
  291. package/src/components/Index/components/AzulFileDownload/azulFileDownload.stories.tsx +13 -10
  292. package/src/components/Index/components/Hero/components/Summaries/summaries.stories.tsx +15 -15
  293. package/src/components/Index/components/Hero/hero.stories.tsx +12 -8
  294. package/src/components/Index/components/NTagCell/nTagCell.stories.tsx +12 -12
  295. package/src/components/Index/index.stories.tsx +2 -1
  296. package/src/components/Index/index.tsx +3 -4
  297. package/src/components/Layout/components/BackPage/backPageView.stories.tsx +42 -36
  298. package/src/components/Layout/components/ContentLayout/contentLayout.tsx +7 -9
  299. package/src/components/Layout/components/Footer/footer.stories.tsx +6 -4
  300. package/src/components/Layout/components/Footer/footer.styles.ts +1 -0
  301. package/src/components/Layout/components/Footer/footer.tsx +5 -0
  302. package/src/components/Layout/components/Header/header.stories.tsx +1 -1
  303. package/src/components/Layout/components/Header/header.tsx +9 -3
  304. package/src/components/Layout/components/Main/main.tsx +3 -4
  305. package/src/components/Layout/components/Outline/components/ContentsTab/contentsTab.styles.ts +2 -2
  306. package/src/components/Layout/components/Outline/components/ContentsTab/contentsTab.tsx +8 -11
  307. package/src/components/Layout/components/Outline/components/ContentsTab/types.ts +8 -0
  308. package/src/components/Layout/components/Outline/hooks/UseHash/hook.ts +17 -0
  309. package/src/components/Layout/components/Outline/hooks/UseHash/types.ts +3 -0
  310. package/src/components/Layout/components/Outline/hooks/UseTabs/constants.ts +3 -0
  311. package/src/components/Layout/components/Outline/hooks/UseTabs/hook.ts +32 -0
  312. package/src/components/Layout/components/Outline/hooks/UseTabs/utils.ts +18 -0
  313. package/src/components/Layout/components/Outline/outline.styles.ts +2 -2
  314. package/src/components/Layout/components/Outline/outline.tsx +22 -59
  315. package/src/components/Layout/components/Outline/types.ts +16 -0
  316. package/src/components/Layout/components/Sidebar/components/SidebarLabel/sidebarLabel.stories.tsx +10 -10
  317. package/src/components/Layout/components/Sidebar/components/SidebarPositioner/sidebarPositioner.tsx +7 -6
  318. package/src/components/Layout/components/Sidebar/sidebar.stories.tsx +2 -0
  319. package/src/components/Links/links.stories.tsx +18 -18
  320. package/src/components/Loading/loading.stories.tsx +12 -10
  321. package/src/components/Login/components/Section/components/Warning/warning.tsx +3 -4
  322. package/src/components/Project/components/CollaboratingOrganizations/collaboratingOrganizations.stories.tsx +24 -25
  323. package/src/components/Project/components/Contacts/contacts.stories.tsx +22 -22
  324. package/src/components/Project/components/Contributors/contributors.stories.tsx +31 -31
  325. package/src/components/Project/components/DataCurators/dataCurators.stories.tsx +11 -11
  326. package/src/components/Project/components/DataReleasePolicy/dataReleasePolicy.stories.tsx +7 -8
  327. package/src/components/Project/components/Description/description.stories.tsx +11 -11
  328. package/src/components/Project/components/Details/details.stories.tsx +11 -11
  329. package/src/components/Project/components/Publications/publications.stories.tsx +23 -23
  330. package/src/components/Project/components/SupplementaryLinks/supplementaryLinks.stories.tsx +22 -22
  331. package/src/components/Support/components/SupportRequest/components/SupportRequestForm/common/constants.ts +10 -9
  332. package/src/components/Support/components/SupportRequest/components/SupportRequestForm/supportRequestForm.tsx +44 -15
  333. package/src/components/Support/components/ViewSupport/types.ts +9 -0
  334. package/src/components/Support/components/ViewSupport/viewSupport.tsx +6 -10
  335. package/src/components/Table/components/Pagination/pagination.stories.tsx +15 -11
  336. package/src/components/Table/components/TableCell/components/RowPositionCell/constants.ts +2 -2
  337. package/src/components/common/Accordion/accordion.stories.tsx +4 -2
  338. package/src/components/common/AnchorLink/anchorLink.tsx +7 -0
  339. package/src/components/common/Breadcrumbs/breadcrumbs.stories.tsx +46 -47
  340. package/src/components/common/Button/components/CallToActionButton/callToActionButton.stories.tsx +17 -20
  341. package/src/components/common/Button/components/HelpIconButton/helpIconButton.stories.tsx +4 -4
  342. package/src/components/common/Card/card.stories.tsx +4 -2
  343. package/src/components/common/Code/code.stories.tsx +1 -1
  344. package/src/components/common/CopyToClipboard/copyToClipboard.stories.tsx +4 -2
  345. package/src/components/common/LoginDialog/constants.ts +4 -4
  346. package/src/components/common/Section/components/SectionTitle/sectionTitle.stories.tsx +10 -10
  347. package/src/components/common/Socials/socials.stories.tsx +4 -2
  348. package/src/components/common/StaticImage/staticImage.stories.tsx +12 -12
  349. package/src/components/common/StatusIcon/statusIcon.stories.tsx +11 -11
  350. package/src/components/common/Tag/tag.stories.tsx +11 -9
  351. package/src/components/common/ToggleButtonGroup/toggleButtonGroup.stories.tsx +23 -23
  352. package/src/providers/layoutDimensions/constants.ts +6 -0
  353. package/src/providers/layoutDimensions/context.tsx +10 -0
  354. package/src/providers/layoutDimensions/hook.ts +7 -0
  355. package/src/providers/layoutDimensions/provider.tsx +29 -0
  356. package/src/providers/layoutDimensions/types.ts +17 -0
  357. package/src/styles/common/mui/tab.ts +16 -0
  358. package/src/styles/common/mui/tabs.ts +20 -0
  359. package/src/styles/common/mui/typography.ts +15 -2
  360. package/src/views/DataDictionaryView/dataDictionaryView.tsx +9 -0
  361. package/lib/components/Layout/components/Header/hooks/useMeasureHeader.d.ts +0 -5
  362. package/lib/components/Layout/components/Header/hooks/useMeasureHeader.js +0 -19
  363. package/lib/components/Layout/components/Outline/common/constants.d.ts +0 -2
  364. package/lib/hooks/useLayoutState.d.ts +0 -6
  365. package/lib/hooks/useLayoutState.js +0 -9
  366. package/lib/providers/layoutState.d.ts +0 -40
  367. package/lib/providers/layoutState.js +0 -47
  368. package/src/components/Layout/components/Header/hooks/useMeasureHeader.ts +0 -28
  369. package/src/components/Layout/components/Outline/common/constants.ts +0 -3
  370. package/src/hooks/useLayoutState.ts +0 -13
  371. package/src/providers/layoutState.tsx +0 -94
  372. /package/lib/components/Layout/components/Outline/{common → hooks/UseTabs}/constants.js +0 -0
@@ -0,0 +1,7 @@
1
+ import { Class } from "../../../../common/entities";
2
+ import { LayoutSpacing } from "../../hooks/UseLayoutSpacing/types";
3
+
4
+ export interface EntityProps {
5
+ class: Class;
6
+ spacing?: LayoutSpacing;
7
+ }
@@ -0,0 +1,22 @@
1
+ import styled from "@emotion/styled";
2
+ import { mediaTabletDown } from "../../../../../../styles/common/mixins/breakpoints";
3
+ import { LayoutSpacing } from "../../../../hooks/UseLayoutSpacing/types";
4
+ import { LAYOUT_SPACING } from "../../constants";
5
+
6
+ const PB = LAYOUT_SPACING.CONTENT_PADDING_BOTTOM; /* bottom padding */
7
+ const PT = LAYOUT_SPACING.CONTENT_PADDING_TOP; /* top padding */
8
+ const TITLE_HEIGHT = LAYOUT_SPACING.TITLE_HEIGHT; /* title height */
9
+
10
+ export const Layout = styled("div")<LayoutSpacing>`
11
+ grid-column: 2;
12
+ grid-row: 1;
13
+ padding-bottom: ${PB}px;
14
+ padding-top: ${({ top }) => top + TITLE_HEIGHT + PT}px;
15
+ z-index: 1; /* not required, but helpful in that the entities are always on top */
16
+
17
+ ${mediaTabletDown} {
18
+ grid-column: 1;
19
+ grid-row: auto;
20
+ padding-top: ${PT}px;
21
+ }
22
+ `;
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import { Layout } from "./entitiesLayout.styles";
3
+ import { EntitiesLayoutProps } from "./types";
4
+
5
+ export const EntitiesLayout = ({
6
+ children,
7
+ ...props
8
+ }: EntitiesLayoutProps): JSX.Element => {
9
+ return <Layout {...props}>{children}</Layout>;
10
+ };
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from "react";
2
+ import { LayoutSpacing } from "../../../../hooks/UseLayoutSpacing/types";
3
+
4
+ export interface EntitiesLayoutProps extends LayoutSpacing {
5
+ children: ReactNode;
6
+ }
@@ -0,0 +1,31 @@
1
+ import styled from "@emotion/styled";
2
+ import { mediaTabletDown } from "../../../../../../styles/common/mixins/breakpoints";
3
+ import { LayoutSpacing } from "../../../../hooks/UseLayoutSpacing/types";
4
+ import { LAYOUT_SPACING } from "../../constants";
5
+
6
+ const PB = LAYOUT_SPACING.CONTENT_PADDING_BOTTOM; /* bottom padding */
7
+ const PT = LAYOUT_SPACING.CONTENT_PADDING_TOP; /* top padding */
8
+ const TITLE_HEIGHT = LAYOUT_SPACING.TITLE_HEIGHT; /* title height */
9
+
10
+ export const Layout = styled("div")<LayoutSpacing>`
11
+ grid-column: 1;
12
+ grid-row: 1;
13
+ margin-bottom: ${({ bottom }) =>
14
+ -bottom}px; /* required; prevents sticky element from scrolling when footer scrolls into viewport */
15
+ max-height: 100vh;
16
+ overflow: hidden;
17
+ padding-bottom: ${({ bottom }) => bottom}px; /* footer height */
18
+ padding-top: ${({ top }) => top + TITLE_HEIGHT + PT}px;
19
+ position: sticky;
20
+ top: 0;
21
+
22
+ ${mediaTabletDown} {
23
+ display: none;
24
+ }
25
+ `;
26
+
27
+ export const LayoutScroller = styled("div")`
28
+ height: 100%;
29
+ overflow: auto;
30
+ padding-bottom: ${PB}px;
31
+ `;
@@ -0,0 +1,14 @@
1
+ import React from "react";
2
+ import { Layout, LayoutScroller } from "./outlineLayout.styles";
3
+ import { OutlineLayoutProps } from "./types";
4
+
5
+ export const OutlineLayout = ({
6
+ children,
7
+ ...props
8
+ }: OutlineLayoutProps): JSX.Element => {
9
+ return (
10
+ <Layout {...props}>
11
+ <LayoutScroller>{children}</LayoutScroller>
12
+ </Layout>
13
+ );
14
+ };
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from "react";
2
+ import { LayoutSpacing } from "../../../../hooks/UseLayoutSpacing/types";
3
+
4
+ export interface OutlineLayoutProps extends LayoutSpacing {
5
+ children: ReactNode;
6
+ }
@@ -0,0 +1,18 @@
1
+ import styled from "@emotion/styled";
2
+ import { mediaTabletDown } from "../../../../../../styles/common/mixins/breakpoints";
3
+ import { LayoutSpacing } from "../../../../hooks/UseLayoutSpacing/types";
4
+
5
+ export const Layout = styled("div")<LayoutSpacing>`
6
+ grid-column: 1 / -1;
7
+ grid-row: 1;
8
+ height: fit-content;
9
+ padding-top: ${({ top }) => top}px; /* header height */
10
+ position: sticky;
11
+ top: 0;
12
+
13
+ ${mediaTabletDown} {
14
+ grid-column: 1;
15
+ grid-row: auto;
16
+ position: relative;
17
+ }
18
+ `;
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import { Layout } from "./titleLayout.styles";
3
+ import { TitleLayoutProps } from "./types";
4
+
5
+ export const TitleLayout = ({
6
+ children,
7
+ ...props
8
+ }: TitleLayoutProps): JSX.Element => {
9
+ return <Layout {...props}>{children}</Layout>;
10
+ };
@@ -0,0 +1,6 @@
1
+ import { ReactNode } from "react";
2
+ import { LayoutSpacing } from "../../../../hooks/UseLayoutSpacing/types";
3
+
4
+ export interface TitleLayoutProps extends LayoutSpacing {
5
+ children: ReactNode;
6
+ }
@@ -0,0 +1,5 @@
1
+ export const LAYOUT_SPACING = {
2
+ CONTENT_PADDING_BOTTOM: 24,
3
+ CONTENT_PADDING_TOP: 16,
4
+ TITLE_HEIGHT: 74,
5
+ };
@@ -0,0 +1,7 @@
1
+ import { ContentsTabProps } from "../../../../../Layout/components/Outline/components/ContentsTab/types";
2
+
3
+ export const TAB_PROPS: ContentsTabProps = {
4
+ icon: undefined,
5
+ label: "Entity Type",
6
+ value: "",
7
+ };
@@ -0,0 +1,8 @@
1
+ import styled from "@emotion/styled";
2
+ import { ContentsTab } from "../../../../../Layout/components/Outline/components/ContentsTab/contentsTab";
3
+
4
+ export const StyledContentsTab = styled(ContentsTab)`
5
+ & {
6
+ padding: 8px 24px;
7
+ }
8
+ `;
@@ -0,0 +1,7 @@
1
+ import React from "react";
2
+ import { TAB_PROPS } from "./constants";
3
+ import { StyledContentsTab } from "./contentsTab.styles";
4
+
5
+ export const ContentsTab = (): JSX.Element => {
6
+ return <StyledContentsTab {...TAB_PROPS} />;
7
+ };
@@ -0,0 +1,24 @@
1
+ import styled from "@emotion/styled";
2
+ import {
3
+ inkLight,
4
+ inkMain,
5
+ smokeDark,
6
+ } from "../../../../styles/common/mixins/colors";
7
+ import { Outline } from "../../../Layout/components/Outline/outline";
8
+
9
+ export const StyledOutline = styled(Outline)`
10
+ &.MuiTabs-root {
11
+ .MuiTab-root {
12
+ color: ${inkLight};
13
+
14
+ &.Mui-selected {
15
+ color: ${inkMain};
16
+ }
17
+
18
+ &.Mui-disabled {
19
+ color: ${smokeDark};
20
+ opacity: 1;
21
+ }
22
+ }
23
+ }
24
+ `;
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import { ContentsTab } from "./components/ContentsTab/contentsTab";
3
+ import { StyledOutline } from "./outline.styles";
4
+ import { OutlineProps } from "./types";
5
+
6
+ export const Outline = ({
7
+ outline,
8
+ ...props /* MuiTabsProps */
9
+ }: OutlineProps): JSX.Element => {
10
+ return <StyledOutline Contents={ContentsTab} outline={outline} {...props} />;
11
+ };
@@ -0,0 +1,6 @@
1
+ import { TabsProps } from "@mui/material";
2
+ import { OutlineItem } from "../../../Layout/components/Outline/types";
3
+
4
+ export interface OutlineProps extends TabsProps {
5
+ outline: OutlineItem[];
6
+ }
@@ -0,0 +1,18 @@
1
+ import { Class } from "../../../../common/entities";
2
+ import { OutlineItem } from "../../../Layout/components/Outline/types";
3
+
4
+ /**
5
+ * Returns outline items from classes.
6
+ * @param classes - Class entities.
7
+ * @returns Outline items.
8
+ */
9
+ export function buildClassesOutline(classes: Class[]): OutlineItem[] {
10
+ return classes.map(({ key, name }) => {
11
+ return {
12
+ depth: 2,
13
+ disabled: false,
14
+ hash: key,
15
+ value: name,
16
+ };
17
+ });
18
+ }
@@ -0,0 +1,47 @@
1
+ import { CellContext, ColumnDef } from "@tanstack/react-table";
2
+ import { Attribute } from "../../../../../common/entities";
3
+ import { BasicCell } from "../components/BasicCell/basicCell";
4
+ import { COLUMN_IDENTIFIER } from "./columnIdentifier";
5
+ import { AttributeValue } from "./types";
6
+
7
+ const COLUMN_DEF_DESCRIPTION: ColumnDef<Attribute, AttributeValue> = {
8
+ accessorFn: (row) => row.description,
9
+ cell: (props: CellContext<Attribute, AttributeValue>) =>
10
+ BasicCell({ ...props }),
11
+ header: "Description",
12
+ id: COLUMN_IDENTIFIER.DESCRIPTION,
13
+ meta: { width: { max: "2fr", min: "480px" } },
14
+ };
15
+
16
+ const COLUMN_DEF_KEY: ColumnDef<Attribute, AttributeValue> = {
17
+ accessorFn: (row) => row.key,
18
+ cell: (props: CellContext<Attribute, AttributeValue>) =>
19
+ BasicCell({ ...props }),
20
+ header: "Key",
21
+ id: COLUMN_IDENTIFIER.KEY,
22
+ meta: { width: { max: "1fr", min: "180px" } },
23
+ };
24
+
25
+ const COLUMN_DEF_LABEL: ColumnDef<Attribute, AttributeValue> = {
26
+ accessorFn: (row) => row.label,
27
+ cell: (props: CellContext<Attribute, AttributeValue>) =>
28
+ BasicCell({ ...props }),
29
+ header: "Label",
30
+ id: COLUMN_IDENTIFIER.LABEL,
31
+ meta: { width: { max: "1fr", min: "200px" } },
32
+ };
33
+
34
+ export const COLUMN_DEF: Record<
35
+ keyof typeof COLUMN_IDENTIFIER,
36
+ ColumnDef<Attribute, AttributeValue>
37
+ > = {
38
+ DESCRIPTION: COLUMN_DEF_DESCRIPTION,
39
+ KEY: COLUMN_DEF_KEY,
40
+ LABEL: COLUMN_DEF_LABEL,
41
+ };
42
+
43
+ export const COLUMN_DEFS: ColumnDef<Attribute, AttributeValue>[] = [
44
+ COLUMN_DEF.LABEL,
45
+ COLUMN_DEF.KEY,
46
+ COLUMN_DEF.DESCRIPTION,
47
+ ];
@@ -0,0 +1,5 @@
1
+ export const COLUMN_IDENTIFIER = {
2
+ DESCRIPTION: "description",
3
+ KEY: "key",
4
+ LABEL: "label",
5
+ } as const;
@@ -0,0 +1,3 @@
1
+ import { Attribute } from "../../../../../common/entities";
2
+
3
+ export type AttributeValue = Attribute[keyof Attribute];
@@ -0,0 +1,12 @@
1
+ import { Typography } from "@mui/material";
2
+ import React from "react";
3
+ import { TYPOGRAPHY_PROPS } from "../../../../../../styles/common/mui/typography";
4
+ import { BasicCellProps } from "./types";
5
+
6
+ export const BasicCell = ({ getValue }: BasicCellProps): JSX.Element => {
7
+ return (
8
+ <Typography variant={TYPOGRAPHY_PROPS.VARIANT.INHERIT}>
9
+ {getValue()}
10
+ </Typography>
11
+ );
12
+ };
@@ -0,0 +1,5 @@
1
+ import { CellContext } from "@tanstack/react-table";
2
+ import { Attribute } from "../../../../../../common/entities";
3
+ import { AttributeValue } from "../../columns/types";
4
+
5
+ export type BasicCellProps = CellContext<Attribute, AttributeValue>;
@@ -0,0 +1,13 @@
1
+ import { Table, useReactTable } from "@tanstack/react-table";
2
+ import { Attribute } from "../../../../common/entities";
3
+ import { COLUMN_DEFS } from "./columns/columnDef";
4
+ import { useTableOptions } from "./options/hook";
5
+
6
+ export const useTable = (data: Attribute[]): Table<Attribute> => {
7
+ const tableOptions = useTableOptions();
8
+ return useReactTable<Attribute>({
9
+ ...tableOptions,
10
+ columns: COLUMN_DEFS,
11
+ data,
12
+ });
13
+ };
@@ -0,0 +1,12 @@
1
+ import { CoreOptions, getCoreRowModel } from "@tanstack/react-table";
2
+ import { Attribute } from "../../../../../../common/entities";
3
+ import { ROW_POSITION } from "../../../../../Table/features/RowPosition/constants";
4
+ import { ROW_PREVIEW } from "../../../../../Table/features/RowPreview/constants";
5
+
6
+ export const CORE_OPTIONS: Pick<
7
+ CoreOptions<Attribute>,
8
+ "_features" | "getCoreRowModel"
9
+ > = {
10
+ _features: [ROW_POSITION, ROW_PREVIEW],
11
+ getCoreRowModel: getCoreRowModel(),
12
+ };
@@ -0,0 +1,14 @@
1
+ import { TableOptions } from "@tanstack/react-table";
2
+ import { Attribute } from "../../../../../common/entities";
3
+ import { CORE_OPTIONS } from "./core/constants";
4
+ import { SORTING_OPTIONS } from "./sorting/constants";
5
+
6
+ export const useTableOptions = (): Omit<
7
+ TableOptions<Attribute>,
8
+ "columns" | "data"
9
+ > => {
10
+ return {
11
+ ...CORE_OPTIONS,
12
+ ...SORTING_OPTIONS,
13
+ };
14
+ };
@@ -0,0 +1,9 @@
1
+ import { SortingOptions } from "@tanstack/react-table";
2
+ import { Attribute } from "../../../../../../common/entities";
3
+
4
+ export const SORTING_OPTIONS: Pick<
5
+ SortingOptions<Attribute>,
6
+ "enableSorting"
7
+ > = {
8
+ enableSorting: false,
9
+ };
@@ -0,0 +1,6 @@
1
+ import styled from "@emotion/styled";
2
+ import { RoundedPaper } from "../../../common/Paper/paper.styles";
3
+
4
+ export const StyledRoundedPaper = styled(RoundedPaper)`
5
+ box-shadow: none;
6
+ `;
@@ -0,0 +1,35 @@
1
+ import { TableContainer } from "@mui/material";
2
+ import React from "react";
3
+ import { TableBody } from "../../../Detail/components/Table/components/TableBody/tableBody";
4
+ import { ROW_DIRECTION } from "../../../Table/common/entities";
5
+ import { TableHead } from "../../../Table/components/TableHead/tableHead";
6
+ import { GridTable } from "../../../Table/table.styles";
7
+ import { getColumnTrackSizing } from "../../../TableCreator/options/columnTrackSizing/utils";
8
+ import { GridPaper } from "../../../common/Paper/paper.styles";
9
+ import { StyledRoundedPaper } from "./table.styles";
10
+ import { TableProps } from "./types";
11
+
12
+ export const Table = ({ table }: TableProps): JSX.Element => {
13
+ return (
14
+ <StyledRoundedPaper variant="table">
15
+ <GridPaper>
16
+ <TableContainer>
17
+ <GridTable
18
+ gridTemplateColumns={getColumnTrackSizing(
19
+ table.getVisibleFlatColumns()
20
+ )}
21
+ >
22
+ <TableHead
23
+ rowDirection={ROW_DIRECTION.DEFAULT}
24
+ tableInstance={table}
25
+ />
26
+ <TableBody
27
+ rowDirection={ROW_DIRECTION.DEFAULT}
28
+ tableInstance={table}
29
+ />
30
+ </GridTable>
31
+ </TableContainer>
32
+ </GridPaper>
33
+ </StyledRoundedPaper>
34
+ );
35
+ };
@@ -0,0 +1,6 @@
1
+ import { Table } from "@tanstack/react-table";
2
+ import { Attribute } from "../../../../common/entities";
3
+
4
+ export interface TableProps {
5
+ table: Table<Attribute>;
6
+ }
@@ -0,0 +1,18 @@
1
+ import styled from "@emotion/styled";
2
+ import { mediaTabletDown } from "../../../../styles/common/mixins/breakpoints";
3
+ import { Title } from "../../../common/Title/title";
4
+
5
+ export const StyledTitle = styled(Title)`
6
+ & {
7
+ font-size: 34px;
8
+ grid-column: 1 / -1;
9
+ letter-spacing: normal;
10
+ line-height: 42px;
11
+ margin: 24px 0 8px;
12
+
13
+ ${mediaTabletDown} {
14
+ font-size: 26px;
15
+ line-height: 34px;
16
+ }
17
+ }
18
+ `;
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { TitleProps } from "../../../common/Title/title";
3
+ import { StyledTitle } from "./title.styles";
4
+
5
+ export const Title = ({
6
+ title = "Data Dictionary",
7
+ ...props
8
+ }: TitleProps): JSX.Element => <StyledTitle title={title} {...props} />;
@@ -0,0 +1,22 @@
1
+ import { css } from "@emotion/react";
2
+ import styled from "@emotion/styled";
3
+ import { mediaTabletDown } from "../../styles/common/mixins/breakpoints";
4
+
5
+ export const grid = css`
6
+ column-gap: 24px;
7
+ display: grid;
8
+ grid-template-columns: 242px 1fr;
9
+ `;
10
+
11
+ export const View = styled("div")`
12
+ ${grid};
13
+ flex: 1;
14
+ margin: 0 auto;
15
+ max-width: min(calc(100vw - 48px), 1392px);
16
+ position: relative;
17
+
18
+ ${mediaTabletDown} {
19
+ grid-template-columns: 1fr;
20
+ max-width: calc(100vw - 32px);
21
+ }
22
+ `;
@@ -0,0 +1,38 @@
1
+ import React, { useMemo } from "react";
2
+ import { Entities } from "./components/Entities/entities";
3
+ import { EntitiesLayout as DefaultEntitiesLayout } from "./components/Layout/components/EntitiesLayout/entitiesLayout";
4
+ import { OutlineLayout as DefaultOutlineLayout } from "./components/Layout/components/OutlineLayout/outlineLayout";
5
+ import { TitleLayout as DefaultTitleLayout } from "./components/Layout/components/TitleLayout/titleLayout";
6
+ import { Outline as DefaultOutline } from "./components/Outline/outline";
7
+ import { buildClassesOutline } from "./components/Outline/utils";
8
+ import { Title as DefaultTitle } from "./components/Title/title";
9
+ import { View } from "./dataDictionary.styles";
10
+ import { useDataDictionary } from "./hooks/UseDataDictionary/hook";
11
+ import { useLayoutSpacing } from "./hooks/UseLayoutSpacing/hook";
12
+ import { DataDictionaryProps } from "./types";
13
+
14
+ export const DataDictionary = ({
15
+ className,
16
+ EntitiesLayout = DefaultEntitiesLayout,
17
+ Outline = DefaultOutline,
18
+ OutlineLayout = DefaultOutlineLayout,
19
+ Title = DefaultTitle,
20
+ TitleLayout = DefaultTitleLayout,
21
+ }: DataDictionaryProps): JSX.Element => {
22
+ const { classes } = useDataDictionary();
23
+ const { spacing } = useLayoutSpacing();
24
+ const outline = useMemo(() => buildClassesOutline(classes), [classes]);
25
+ return (
26
+ <View className={className}>
27
+ <TitleLayout {...spacing}>
28
+ <Title />
29
+ </TitleLayout>
30
+ <OutlineLayout {...spacing}>
31
+ <Outline outline={outline} />
32
+ </OutlineLayout>
33
+ <EntitiesLayout {...spacing}>
34
+ <Entities classes={classes} spacing={spacing} />
35
+ </EntitiesLayout>
36
+ </View>
37
+ );
38
+ };
@@ -0,0 +1,10 @@
1
+ import { useMemo } from "react";
2
+ import { useConfig } from "../../../../hooks/useConfig";
3
+ import { UseDataDictionary } from "./types";
4
+
5
+ export const useDataDictionary = (): UseDataDictionary => {
6
+ const {
7
+ config: { dataDictionary: { classes = [] } = {} },
8
+ } = useConfig();
9
+ return useMemo(() => ({ classes }), [classes]);
10
+ };
@@ -0,0 +1,5 @@
1
+ import { Class } from "../../../../common/entities";
2
+
3
+ export interface UseDataDictionary {
4
+ classes: Class[];
5
+ }
@@ -0,0 +1,12 @@
1
+ import { useLayoutDimensions } from "../../../../providers/layoutDimensions/hook";
2
+ import { UseLayoutSpacing } from "./types";
3
+
4
+ export const useLayoutSpacing = (): UseLayoutSpacing => {
5
+ const { dimensions } = useLayoutDimensions();
6
+ return {
7
+ spacing: {
8
+ bottom: dimensions.footer.height,
9
+ top: dimensions.header.height,
10
+ },
11
+ };
12
+ };
@@ -0,0 +1,8 @@
1
+ export interface LayoutSpacing {
2
+ bottom: number;
3
+ top: number;
4
+ }
5
+
6
+ export interface UseLayoutSpacing {
7
+ spacing: LayoutSpacing;
8
+ }
@@ -0,0 +1,10 @@
1
+ import { ElementType } from "react";
2
+ import { BaseComponentProps } from "../types";
3
+
4
+ export interface DataDictionaryProps extends BaseComponentProps {
5
+ EntitiesLayout?: ElementType;
6
+ Outline?: ElementType;
7
+ OutlineLayout?: ElementType;
8
+ Title?: ElementType;
9
+ TitleLayout?: ElementType;
10
+ }