@databiosphere/findable-ui 21.3.0 → 22.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 (289) hide show
  1. package/.release-please-manifest.json +1 -1
  2. package/.storybook/main.ts +7 -1
  3. package/CHANGELOG.md +25 -0
  4. package/lib/components/DataDictionary/components/Entities/constants.d.ts +2 -0
  5. package/lib/components/DataDictionary/components/Entities/constants.js +6 -0
  6. package/lib/components/DataDictionary/components/Entities/entities.d.ts +2 -0
  7. package/lib/components/DataDictionary/components/Entities/entities.js +7 -0
  8. package/lib/components/DataDictionary/components/Entities/types.d.ts +4 -0
  9. package/lib/components/DataDictionary/components/Entities/types.js +1 -0
  10. package/lib/components/DataDictionary/components/Entity/constants.d.ts +2 -0
  11. package/lib/components/DataDictionary/components/Entity/constants.js +5 -0
  12. package/lib/components/DataDictionary/components/Entity/entity.d.ts +2 -0
  13. package/lib/components/DataDictionary/components/Entity/entity.js +14 -0
  14. package/lib/components/DataDictionary/components/Entity/types.d.ts +4 -0
  15. package/lib/components/DataDictionary/components/Entity/types.js +1 -0
  16. package/lib/components/DataDictionary/components/Table/columns/columnDef.d.ts +6 -0
  17. package/lib/components/DataDictionary/components/Table/columns/columnDef.js +33 -0
  18. package/lib/components/DataDictionary/components/Table/columns/columnIdentifier.d.ts +5 -0
  19. package/lib/components/DataDictionary/components/Table/columns/columnIdentifier.js +5 -0
  20. package/lib/components/DataDictionary/components/Table/columns/types.d.ts +2 -0
  21. package/lib/components/DataDictionary/components/Table/columns/types.js +1 -0
  22. package/lib/components/DataDictionary/components/Table/components/BasicCell/basicCell.d.ts +2 -0
  23. package/lib/components/DataDictionary/components/Table/components/BasicCell/basicCell.js +6 -0
  24. package/lib/components/DataDictionary/components/Table/components/BasicCell/types.d.ts +4 -0
  25. package/lib/components/DataDictionary/components/Table/components/BasicCell/types.js +1 -0
  26. package/lib/components/DataDictionary/components/Table/hook.d.ts +3 -0
  27. package/lib/components/DataDictionary/components/Table/hook.js +11 -0
  28. package/lib/components/DataDictionary/components/Table/options/core/constants.d.ts +3 -0
  29. package/lib/components/DataDictionary/components/Table/options/core/constants.js +7 -0
  30. package/lib/components/DataDictionary/components/Table/options/hook.d.ts +3 -0
  31. package/lib/components/DataDictionary/components/Table/options/hook.js +8 -0
  32. package/lib/components/DataDictionary/components/Table/options/sorting/constants.d.ts +3 -0
  33. package/lib/components/DataDictionary/components/Table/options/sorting/constants.js +3 -0
  34. package/lib/components/DataDictionary/components/Table/table.d.ts +2 -0
  35. package/lib/components/DataDictionary/components/Table/table.js +17 -0
  36. package/lib/components/DataDictionary/components/Table/table.styles.d.ts +3 -0
  37. package/lib/components/DataDictionary/components/Table/table.styles.js +5 -0
  38. package/lib/components/DataDictionary/components/Table/types.d.ts +5 -0
  39. package/lib/components/DataDictionary/components/Table/types.js +1 -0
  40. package/lib/components/DataDictionary/dataDictionary.d.ts +2 -0
  41. package/lib/components/DataDictionary/dataDictionary.js +9 -0
  42. package/lib/components/DataDictionary/dataDictionary.styles.d.ts +1 -0
  43. package/lib/components/DataDictionary/dataDictionary.styles.js +7 -0
  44. package/lib/components/DataDictionary/hooks/UseDataDictionary/hook.d.ts +2 -0
  45. package/lib/components/DataDictionary/hooks/UseDataDictionary/hook.js +5 -0
  46. package/lib/components/DataDictionary/hooks/UseDataDictionary/types.d.ts +4 -0
  47. package/lib/components/DataDictionary/hooks/UseDataDictionary/types.js +1 -0
  48. package/lib/components/Detail/detail.stories.d.ts +36 -5
  49. package/lib/components/Detail/detail.stories.js +27 -18
  50. package/lib/components/Export/components/ExportForm/components/ExportButton/exportButton.js +6 -1
  51. package/lib/components/Export/components/ExportMethod/exportMethod.stories.d.ts +22 -5
  52. package/lib/components/Export/components/ExportMethod/exportMethod.stories.js +9 -9
  53. package/lib/components/Export/components/ManifestDownload/components/ManifestDownloadEntity/components/FileManifestDownload/fileManifestDownload.js +5 -2
  54. package/lib/components/Filter/components/Filter/filter.stories.d.ts +25 -5
  55. package/lib/components/Filter/components/Filter/filter.stories.js +25 -24
  56. package/lib/components/Filter/components/FilterLabel/filterLabel.stories.d.ts +31 -5
  57. package/lib/components/Filter/components/FilterLabel/filterLabel.stories.js +10 -8
  58. package/lib/components/Filter/components/FilterMenu/filterMenu.stories.d.ts +38 -5
  59. package/lib/components/Filter/components/FilterMenu/filterMenu.stories.js +107 -104
  60. package/lib/components/Filter/components/FilterTag/filterTag.stories.d.ts +16 -5
  61. package/lib/components/Filter/components/FilterTag/filterTag.stories.js +8 -7
  62. package/lib/components/Filter/components/FilterTags/filterTags.stories.d.ts +18 -5
  63. package/lib/components/Filter/components/FilterTags/filterTags.stories.js +40 -39
  64. package/lib/components/Index/components/AzulFileDownload/azulFileDownload.js +10 -5
  65. package/lib/components/Index/components/AzulFileDownload/azulFileDownload.stories.d.ts +8 -5
  66. package/lib/components/Index/components/AzulFileDownload/azulFileDownload.stories.js +9 -6
  67. package/lib/components/Index/components/Hero/components/Summaries/summaries.stories.d.ts +13 -5
  68. package/lib/components/Index/components/Hero/components/Summaries/summaries.stories.js +11 -11
  69. package/lib/components/Index/components/Hero/hero.stories.d.ts +23 -5
  70. package/lib/components/Index/components/Hero/hero.stories.js +8 -6
  71. package/lib/components/Index/components/NTagCell/nTagCell.stories.d.ts +16 -5
  72. package/lib/components/Index/components/NTagCell/nTagCell.stories.js +8 -8
  73. package/lib/components/Index/index.stories.js +2 -1
  74. package/lib/components/Layout/components/BackPage/backPageView.stories.d.ts +31 -5
  75. package/lib/components/Layout/components/BackPage/backPageView.stories.js +27 -18
  76. package/lib/components/Layout/components/Footer/footer.stories.d.ts +24 -3
  77. package/lib/components/Layout/components/Footer/footer.stories.js +4 -3
  78. package/lib/components/Layout/components/Header/components/Content/components/Navigation/components/NavigationMenu/navigationMenu.js +1 -1
  79. package/lib/components/Layout/components/Header/components/Content/components/Navigation/components/NavigationMenuItems/navigationMenuItems.js +20 -21
  80. package/lib/components/Layout/components/Header/components/Content/components/Navigation/constants.d.ts +1 -0
  81. package/lib/components/Layout/components/Header/components/Content/components/Navigation/constants.js +1 -0
  82. package/lib/components/Layout/components/Header/components/Content/components/Navigation/navigation.d.ts +2 -1
  83. package/lib/components/Layout/components/Header/components/Content/components/Navigation/navigation.js +16 -17
  84. package/lib/components/Layout/components/Header/header.js +2 -1
  85. package/lib/components/Layout/components/Header/header.stories.js +1 -1
  86. package/lib/components/Layout/components/Sidebar/components/SidebarLabel/sidebarLabel.stories.d.ts +13 -5
  87. package/lib/components/Layout/components/Sidebar/components/SidebarLabel/sidebarLabel.stories.js +6 -6
  88. package/lib/components/Layout/components/Sidebar/sidebar.stories.js +2 -0
  89. package/lib/components/Links/links.stories.d.ts +13 -5
  90. package/lib/components/Links/links.stories.js +14 -14
  91. package/lib/components/Loading/loading.stories.d.ts +34 -5
  92. package/lib/components/Loading/loading.stories.js +8 -6
  93. package/lib/components/Login/components/Button/types.d.ts +1 -1
  94. package/lib/components/Login/components/Buttons/buttons.d.ts +2 -0
  95. package/lib/components/Login/components/Buttons/buttons.js +5 -0
  96. package/lib/components/Login/components/Buttons/types.d.ts +8 -0
  97. package/lib/components/Login/components/Buttons/types.js +1 -0
  98. package/lib/components/Login/components/Section/components/Consent/consent.d.ts +3 -0
  99. package/lib/components/Login/components/Section/components/Consent/consent.js +14 -0
  100. package/lib/components/Login/components/Section/components/Consent/consent.styles.d.ts +7 -0
  101. package/lib/components/Login/components/Section/components/Consent/consent.styles.js +14 -0
  102. package/lib/components/Login/components/Section/components/Consent/types.d.ts +6 -0
  103. package/lib/components/Login/components/Section/components/Consent/types.js +1 -0
  104. package/lib/components/Login/components/Section/components/Warning/warning.d.ts +3 -0
  105. package/lib/components/Login/components/Section/components/Warning/warning.js +9 -0
  106. package/lib/components/Login/hooks/useUserConsent/types.d.ts +10 -0
  107. package/lib/components/Login/hooks/useUserConsent/types.js +1 -0
  108. package/lib/components/Login/hooks/useUserConsent/useUserConsent.d.ts +2 -0
  109. package/lib/components/Login/hooks/useUserConsent/useUserConsent.js +24 -0
  110. package/lib/components/Login/hooks/useUserLogin/types.d.ts +6 -0
  111. package/lib/components/Login/hooks/useUserLogin/types.js +1 -0
  112. package/lib/components/Login/hooks/useUserLogin/useUserLogin.d.ts +2 -0
  113. package/lib/components/Login/hooks/useUserLogin/useUserLogin.js +21 -0
  114. package/lib/components/Project/components/CollaboratingOrganizations/collaboratingOrganizations.stories.d.ts +13 -5
  115. package/lib/components/Project/components/CollaboratingOrganizations/collaboratingOrganizations.stories.js +20 -20
  116. package/lib/components/Project/components/Contacts/contacts.stories.d.ts +13 -5
  117. package/lib/components/Project/components/Contacts/contacts.stories.js +18 -18
  118. package/lib/components/Project/components/Contributors/contributors.stories.d.ts +8 -5
  119. package/lib/components/Project/components/Contributors/contributors.stories.js +27 -27
  120. package/lib/components/Project/components/DataCurators/dataCurators.stories.d.ts +13 -5
  121. package/lib/components/Project/components/DataCurators/dataCurators.stories.js +7 -7
  122. package/lib/components/Project/components/DataReleasePolicy/dataReleasePolicy.stories.d.ts +8 -5
  123. package/lib/components/Project/components/DataReleasePolicy/dataReleasePolicy.stories.js +3 -4
  124. package/lib/components/Project/components/Description/description.stories.d.ts +8 -5
  125. package/lib/components/Project/components/Description/description.stories.js +6 -6
  126. package/lib/components/Project/components/Details/details.stories.d.ts +16 -5
  127. package/lib/components/Project/components/Details/details.stories.js +7 -7
  128. package/lib/components/Project/components/Publications/publications.stories.d.ts +8 -5
  129. package/lib/components/Project/components/Publications/publications.stories.js +17 -17
  130. package/lib/components/Project/components/SupplementaryLinks/supplementaryLinks.stories.d.ts +8 -5
  131. package/lib/components/Project/components/SupplementaryLinks/supplementaryLinks.stories.js +18 -18
  132. package/lib/components/Support/components/SupportRequest/components/SupportRequestForm/common/constants.d.ts +16 -33
  133. package/lib/components/Support/components/SupportRequest/components/SupportRequestForm/common/constants.js +10 -9
  134. package/lib/components/Support/components/SupportRequest/components/SupportRequestForm/supportRequestForm.js +26 -14
  135. package/lib/components/Support/components/ViewSupport/types.d.ts +6 -0
  136. package/lib/components/Support/components/ViewSupport/types.js +1 -0
  137. package/lib/components/Support/components/ViewSupport/viewSupport.d.ts +2 -9
  138. package/lib/components/Support/components/ViewSupport/viewSupport.js +7 -3
  139. package/lib/components/Table/components/Pagination/pagination.stories.d.ts +28 -5
  140. package/lib/components/Table/components/Pagination/pagination.stories.js +11 -7
  141. package/lib/components/common/Accordion/accordion.stories.d.ts +6 -3
  142. package/lib/components/common/Accordion/accordion.stories.js +2 -1
  143. package/lib/components/common/Breadcrumbs/breadcrumbs.stories.d.ts +10 -7
  144. package/lib/components/common/Breadcrumbs/breadcrumbs.stories.js +42 -43
  145. package/lib/components/common/Button/components/CallToActionButton/callToActionButton.stories.d.ts +9 -6
  146. package/lib/components/common/Button/components/CallToActionButton/callToActionButton.stories.js +13 -15
  147. package/lib/components/common/Button/components/HelpIconButton/helpIconButton.stories.d.ts +19 -2
  148. package/lib/components/common/Button/components/HelpIconButton/helpIconButton.stories.js +2 -2
  149. package/lib/components/common/Card/card.stories.d.ts +6 -3
  150. package/lib/components/common/Card/card.stories.js +2 -1
  151. package/lib/components/common/Code/code.stories.d.ts +5 -3
  152. package/lib/components/common/CopyToClipboard/copyToClipboard.stories.d.ts +11 -3
  153. package/lib/components/common/CopyToClipboard/copyToClipboard.stories.js +2 -1
  154. package/lib/components/common/CustomIcon/components/CloseIcon/closeIcon.d.ts +2 -0
  155. package/lib/components/common/CustomIcon/components/CloseIcon/closeIcon.js +6 -0
  156. package/lib/components/common/LoginDialog/constants.d.ts +6 -0
  157. package/lib/components/common/LoginDialog/constants.js +21 -0
  158. package/lib/components/common/LoginDialog/loginDialog.d.ts +2 -0
  159. package/lib/components/common/LoginDialog/loginDialog.js +27 -0
  160. package/lib/components/common/LoginDialog/loginDialog.styles.d.ts +3 -0
  161. package/lib/components/common/LoginDialog/loginDialog.styles.js +50 -0
  162. package/lib/components/common/LoginDialog/types.d.ts +4 -0
  163. package/lib/components/common/LoginDialog/types.js +1 -0
  164. package/lib/components/common/Section/components/SectionTitle/sectionTitle.stories.d.ts +13 -5
  165. package/lib/components/common/Section/components/SectionTitle/sectionTitle.stories.js +6 -6
  166. package/lib/components/common/Socials/socials.stories.d.ts +11 -3
  167. package/lib/components/common/Socials/socials.stories.js +2 -1
  168. package/lib/components/common/StaticImage/staticImage.stories.d.ts +22 -5
  169. package/lib/components/common/StaticImage/staticImage.stories.js +8 -8
  170. package/lib/components/common/StatusIcon/statusIcon.stories.d.ts +19 -5
  171. package/lib/components/common/StatusIcon/statusIcon.stories.js +7 -7
  172. package/lib/components/common/Tag/tag.stories.d.ts +15 -5
  173. package/lib/components/common/Tag/tag.stories.js +7 -5
  174. package/lib/components/common/ToggleButtonGroup/toggleButtonGroup.stories.d.ts +18 -5
  175. package/lib/components/common/ToggleButtonGroup/toggleButtonGroup.stories.js +19 -19
  176. package/lib/config/entities.d.ts +1 -0
  177. package/lib/providers/loginGuard/common/types.d.ts +18 -0
  178. package/lib/providers/loginGuard/common/types.js +1 -0
  179. package/lib/providers/loginGuard/context.d.ts +6 -0
  180. package/lib/providers/loginGuard/context.js +10 -0
  181. package/lib/providers/loginGuard/hook.d.ts +9 -0
  182. package/lib/providers/loginGuard/hook.js +12 -0
  183. package/lib/providers/loginGuard/provider.d.ts +11 -0
  184. package/lib/providers/loginGuard/provider.js +55 -0
  185. package/lib/styles/common/mui/typography.d.ts +1 -0
  186. package/lib/styles/common/mui/typography.js +8 -0
  187. package/lib/views/DataDictionaryView/dataDictionaryView.d.ts +2 -0
  188. package/lib/views/DataDictionaryView/dataDictionaryView.js +5 -0
  189. package/package.json +13 -13
  190. package/src/components/DataDictionary/components/Entities/constants.ts +8 -0
  191. package/src/components/DataDictionary/components/Entities/entities.tsx +15 -0
  192. package/src/components/DataDictionary/components/Entities/types.ts +5 -0
  193. package/src/components/DataDictionary/components/Entity/constants.ts +7 -0
  194. package/src/components/DataDictionary/components/Entity/entity.tsx +28 -0
  195. package/src/components/DataDictionary/components/Entity/types.ts +5 -0
  196. package/src/components/DataDictionary/components/Table/columns/columnDef.ts +47 -0
  197. package/src/components/DataDictionary/components/Table/columns/columnIdentifier.ts +5 -0
  198. package/src/components/DataDictionary/components/Table/columns/types.ts +3 -0
  199. package/src/components/DataDictionary/components/Table/components/BasicCell/basicCell.tsx +8 -0
  200. package/src/components/DataDictionary/components/Table/components/BasicCell/types.ts +5 -0
  201. package/src/components/DataDictionary/components/Table/hook.ts +13 -0
  202. package/src/components/DataDictionary/components/Table/options/core/constants.ts +12 -0
  203. package/src/components/DataDictionary/components/Table/options/hook.ts +14 -0
  204. package/src/components/DataDictionary/components/Table/options/sorting/constants.ts +9 -0
  205. package/src/components/DataDictionary/components/Table/table.styles.ts +6 -0
  206. package/src/components/DataDictionary/components/Table/table.tsx +35 -0
  207. package/src/components/DataDictionary/components/Table/types.ts +6 -0
  208. package/src/components/DataDictionary/dataDictionary.styles.ts +8 -0
  209. package/src/components/DataDictionary/dataDictionary.tsx +16 -0
  210. package/src/components/DataDictionary/hooks/UseDataDictionary/hook.ts +9 -0
  211. package/src/components/DataDictionary/hooks/UseDataDictionary/types.ts +5 -0
  212. package/src/components/Detail/detail.stories.tsx +41 -36
  213. package/src/components/Export/components/ExportForm/components/ExportButton/exportButton.tsx +8 -1
  214. package/src/components/Export/components/ExportMethod/exportMethod.stories.tsx +13 -13
  215. package/src/components/Export/components/ManifestDownload/components/ManifestDownloadEntity/components/FileManifestDownload/fileManifestDownload.tsx +11 -3
  216. package/src/components/Filter/components/Filter/filter.stories.tsx +29 -28
  217. package/src/components/Filter/components/FilterLabel/filterLabel.stories.tsx +14 -12
  218. package/src/components/Filter/components/FilterMenu/filterMenu.stories.tsx +111 -108
  219. package/src/components/Filter/components/FilterTag/filterTag.stories.tsx +12 -11
  220. package/src/components/Filter/components/FilterTags/filterTags.stories.tsx +44 -43
  221. package/src/components/Index/components/AzulFileDownload/azulFileDownload.stories.tsx +13 -10
  222. package/src/components/Index/components/AzulFileDownload/azulFileDownload.tsx +12 -5
  223. package/src/components/Index/components/Hero/components/Summaries/summaries.stories.tsx +15 -15
  224. package/src/components/Index/components/Hero/hero.stories.tsx +12 -8
  225. package/src/components/Index/components/NTagCell/nTagCell.stories.tsx +12 -12
  226. package/src/components/Index/index.stories.tsx +2 -1
  227. package/src/components/Layout/components/BackPage/backPageView.stories.tsx +42 -36
  228. package/src/components/Layout/components/Footer/footer.stories.tsx +6 -4
  229. package/src/components/Layout/components/Header/components/Content/components/Navigation/components/NavigationMenu/navigationMenu.tsx +1 -1
  230. package/src/components/Layout/components/Header/components/Content/components/Navigation/components/NavigationMenuItems/navigationMenuItems.tsx +16 -15
  231. package/src/components/Layout/components/Header/components/Content/components/Navigation/constants.ts +1 -0
  232. package/src/components/Layout/components/Header/components/Content/components/Navigation/navigation.tsx +26 -18
  233. package/src/components/Layout/components/Header/header.stories.tsx +1 -1
  234. package/src/components/Layout/components/Header/header.tsx +6 -1
  235. package/src/components/Layout/components/Sidebar/components/SidebarLabel/sidebarLabel.stories.tsx +10 -10
  236. package/src/components/Layout/components/Sidebar/sidebar.stories.tsx +2 -0
  237. package/src/components/Links/links.stories.tsx +18 -18
  238. package/src/components/Loading/loading.stories.tsx +12 -10
  239. package/src/components/Login/components/Button/types.ts +1 -1
  240. package/src/components/Login/components/Buttons/buttons.tsx +22 -0
  241. package/src/components/Login/components/Buttons/types.ts +9 -0
  242. package/src/components/Login/components/Section/components/Consent/consent.styles.ts +15 -0
  243. package/src/components/Login/components/Section/components/Consent/consent.tsx +30 -0
  244. package/src/components/Login/components/Section/components/Consent/types.ts +10 -0
  245. package/src/components/Login/components/Section/components/Warning/warning.tsx +24 -0
  246. package/src/components/Login/hooks/useUserConsent/types.ts +11 -0
  247. package/src/components/Login/hooks/useUserConsent/useUserConsent.ts +32 -0
  248. package/src/components/Login/hooks/useUserLogin/types.ts +8 -0
  249. package/src/components/Login/hooks/useUserLogin/useUserLogin.ts +29 -0
  250. package/src/components/Project/components/CollaboratingOrganizations/collaboratingOrganizations.stories.tsx +24 -25
  251. package/src/components/Project/components/Contacts/contacts.stories.tsx +22 -22
  252. package/src/components/Project/components/Contributors/contributors.stories.tsx +31 -31
  253. package/src/components/Project/components/DataCurators/dataCurators.stories.tsx +11 -11
  254. package/src/components/Project/components/DataReleasePolicy/dataReleasePolicy.stories.tsx +7 -8
  255. package/src/components/Project/components/Description/description.stories.tsx +11 -11
  256. package/src/components/Project/components/Details/details.stories.tsx +11 -11
  257. package/src/components/Project/components/Publications/publications.stories.tsx +23 -23
  258. package/src/components/Project/components/SupplementaryLinks/supplementaryLinks.stories.tsx +22 -22
  259. package/src/components/Support/components/SupportRequest/components/SupportRequestForm/common/constants.ts +10 -9
  260. package/src/components/Support/components/SupportRequest/components/SupportRequestForm/supportRequestForm.tsx +44 -15
  261. package/src/components/Support/components/ViewSupport/types.ts +9 -0
  262. package/src/components/Support/components/ViewSupport/viewSupport.tsx +6 -10
  263. package/src/components/Table/components/Pagination/pagination.stories.tsx +15 -11
  264. package/src/components/common/Accordion/accordion.stories.tsx +4 -2
  265. package/src/components/common/Breadcrumbs/breadcrumbs.stories.tsx +46 -47
  266. package/src/components/common/Button/components/CallToActionButton/callToActionButton.stories.tsx +17 -20
  267. package/src/components/common/Button/components/HelpIconButton/helpIconButton.stories.tsx +4 -4
  268. package/src/components/common/Card/card.stories.tsx +4 -2
  269. package/src/components/common/Code/code.stories.tsx +1 -1
  270. package/src/components/common/CopyToClipboard/copyToClipboard.stories.tsx +4 -2
  271. package/src/components/common/CustomIcon/components/CloseIcon/closeIcon.tsx +17 -0
  272. package/src/components/common/LoginDialog/constants.ts +33 -0
  273. package/src/components/common/LoginDialog/loginDialog.styles.ts +51 -0
  274. package/src/components/common/LoginDialog/loginDialog.tsx +56 -0
  275. package/src/components/common/LoginDialog/types.ts +4 -0
  276. package/src/components/common/Section/components/SectionTitle/sectionTitle.stories.tsx +10 -10
  277. package/src/components/common/Socials/socials.stories.tsx +4 -2
  278. package/src/components/common/StaticImage/staticImage.stories.tsx +12 -12
  279. package/src/components/common/StatusIcon/statusIcon.stories.tsx +11 -11
  280. package/src/components/common/Tag/tag.stories.tsx +11 -9
  281. package/src/components/common/ToggleButtonGroup/toggleButtonGroup.stories.tsx +23 -23
  282. package/src/config/entities.ts +1 -0
  283. package/src/providers/loginGuard/common/types.ts +21 -0
  284. package/src/providers/loginGuard/context.ts +12 -0
  285. package/src/providers/loginGuard/hook.ts +14 -0
  286. package/src/providers/loginGuard/provider.tsx +76 -0
  287. package/src/styles/common/mui/typography.ts +9 -0
  288. package/src/views/DataDictionaryView/dataDictionaryView.tsx +9 -0
  289. package/tests/provider.test.tsx +191 -0
@@ -1,5 +1,25 @@
1
- import { ComponentMeta } from "@storybook/react";
2
- import { Filter } from "./filter";
3
- declare const _default: ComponentMeta<typeof Filter>;
4
- export default _default;
5
- export declare const FilterStory: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./filter").FilterProps>;
1
+ import { StoryObj } from "@storybook/react";
2
+ import React from "react";
3
+ declare const meta: {
4
+ argTypes: {
5
+ tags: {
6
+ control: {
7
+ disable: true;
8
+ };
9
+ };
10
+ };
11
+ component: ({ categorySection, categoryView, closeAncestor, isFilterDrawer, onFilter, tags, trackFilterOpened, }: import("./filter").FilterProps) => JSX.Element;
12
+ decorators: ((Story: import("@storybook/core/csf").PartialStoryFn<import("@storybook/react").ReactRenderer, {
13
+ categorySection?: string | undefined;
14
+ categoryView: import("../../../../common/entities").SelectCategoryView;
15
+ closeAncestor?: (() => void) | undefined;
16
+ isFilterDrawer: boolean;
17
+ onFilter: import("../../../../hooks/useCategoryFilter").OnFilterFn;
18
+ tags?: React.ReactNode;
19
+ trackFilterOpened?: import("../../../../config/entities").TrackFilterOpenedFunction | undefined;
20
+ }>) => JSX.Element)[];
21
+ title: string;
22
+ };
23
+ export default meta;
24
+ type Story = StoryObj<typeof meta>;
25
+ export declare const FilterStory: Story;
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import { Filter } from "./filter";
3
- export default {
3
+ const meta = {
4
4
  argTypes: {
5
5
  tags: { control: { disable: true } },
6
6
  },
@@ -11,31 +11,32 @@ export default {
11
11
  ],
12
12
  title: "Components/Filter/Filter",
13
13
  };
14
- const FilterTemplate = (args) => (React.createElement(Filter, { ...args }));
14
+ export default meta;
15
15
  const onFilter = () => {
16
16
  // onFilter function
17
17
  };
18
- export const FilterStory = FilterTemplate.bind({});
19
- FilterStory.args = {
20
- categoryView: {
21
- isDisabled: false,
22
- key: "genusSpecies",
23
- label: "Genus Species",
24
- values: [
25
- {
26
- count: 12,
27
- key: "homoSapiens",
28
- label: "Homo sapiens",
29
- selected: false,
30
- },
31
- {
32
- count: 6,
33
- key: "musMusculus",
34
- label: "Mus musculus",
35
- selected: false,
36
- },
37
- ],
18
+ export const FilterStory = {
19
+ args: {
20
+ categoryView: {
21
+ isDisabled: false,
22
+ key: "genusSpecies",
23
+ label: "Genus Species",
24
+ values: [
25
+ {
26
+ count: 12,
27
+ key: "homoSapiens",
28
+ label: "Homo sapiens",
29
+ selected: false,
30
+ },
31
+ {
32
+ count: 6,
33
+ key: "musMusculus",
34
+ label: "Mus musculus",
35
+ selected: false,
36
+ },
37
+ ],
38
+ },
39
+ isFilterDrawer: false,
40
+ onFilter,
38
41
  },
39
- isFilterDrawer: false,
40
- onFilter,
41
42
  };
@@ -1,5 +1,31 @@
1
- import { ComponentMeta } from "@storybook/react";
2
- import { FilterLabel } from "./filterLabel";
3
- declare const _default: ComponentMeta<typeof FilterLabel>;
4
- export default _default;
5
- export declare const FilterLabelStory: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./filterLabel").FilterLabelProps>;
1
+ import { StoryObj } from "@storybook/react";
2
+ import React from "react";
3
+ declare const meta: {
4
+ argTypes: {
5
+ count: {
6
+ control: "number";
7
+ };
8
+ disabled: {
9
+ control: "boolean";
10
+ };
11
+ isOpen: {
12
+ control: "boolean";
13
+ };
14
+ label: {
15
+ control: "text";
16
+ };
17
+ };
18
+ component: ({ annotation, count, disabled, isOpen, label, onClick, }: import("./filterLabel").FilterLabelProps) => JSX.Element;
19
+ decorators: ((Story: import("@storybook/core/csf").PartialStoryFn<import("@storybook/react").ReactRenderer, {
20
+ annotation?: import("../../../../common/entities").DataDictionaryAnnotation | undefined;
21
+ count?: number | undefined;
22
+ disabled?: boolean | undefined;
23
+ isOpen: boolean;
24
+ label: string;
25
+ onClick: (event: React.MouseEvent<HTMLButtonElement>) => void;
26
+ }>) => JSX.Element)[];
27
+ title: string;
28
+ };
29
+ export default meta;
30
+ type Story = StoryObj<typeof meta>;
31
+ export declare const FilterLabelStory: Story;
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import { FilterLabel } from "./filterLabel";
3
- export default {
3
+ const meta = {
4
4
  argTypes: {
5
5
  count: { control: "number" },
6
6
  disabled: { control: "boolean" },
@@ -14,11 +14,13 @@ export default {
14
14
  ],
15
15
  title: "Components/Filter/FilterLabel",
16
16
  };
17
- const FilterLabelTemplate = (args) => (React.createElement(FilterLabel, { ...args }));
18
- export const FilterLabelStory = FilterLabelTemplate.bind({});
19
- FilterLabelStory.args = {
20
- count: 123,
21
- disabled: false,
22
- isOpen: false,
23
- label: "Label",
17
+ export default meta;
18
+ export const FilterLabelStory = {
19
+ args: {
20
+ count: 123,
21
+ disabled: false,
22
+ isOpen: false,
23
+ label: "Label",
24
+ onClick: () => { },
25
+ },
24
26
  };
@@ -1,5 +1,38 @@
1
- import { ComponentMeta } from "@storybook/react";
2
- import { FilterMenu } from "./filterMenu";
3
- declare const _default: ComponentMeta<typeof FilterMenu>;
4
- export default _default;
5
- export declare const FilterMenuStory: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./filterMenu").FilterMenuProps>;
1
+ import { StoryObj } from "@storybook/react";
2
+ declare const meta: {
3
+ argTypes: {
4
+ categoryKey: {
5
+ control: {
6
+ disable: true;
7
+ };
8
+ };
9
+ menuWidth: {
10
+ control: "number";
11
+ };
12
+ onFilter: {
13
+ control: {
14
+ disable: true;
15
+ };
16
+ };
17
+ values: {
18
+ control: {
19
+ disable: true;
20
+ };
21
+ };
22
+ };
23
+ component: ({ categoryKey, categoryLabel, categorySection, isFilterDrawer, menuWidth, onCloseFilter, onFilter, values, }: import("./filterMenu").FilterMenuProps) => JSX.Element;
24
+ decorators: ((Story: import("@storybook/core/csf").PartialStoryFn<import("@storybook/react").ReactRenderer, {
25
+ categoryKey: import("../../../../common/entities").CategoryKey;
26
+ categoryLabel: string;
27
+ categorySection?: string | undefined;
28
+ isFilterDrawer: boolean;
29
+ menuWidth?: number | undefined;
30
+ onCloseFilter: () => void;
31
+ onFilter: import("../../../../hooks/useCategoryFilter").OnFilterFn;
32
+ values: import("../../../../common/entities").SelectCategoryValueView[];
33
+ }>) => JSX.Element)[];
34
+ title: string;
35
+ };
36
+ export default meta;
37
+ type Story = StoryObj<typeof meta>;
38
+ export declare const FilterMenuStory: Story;
@@ -1,13 +1,11 @@
1
1
  import React from "react";
2
2
  import { FilterMenu } from "./filterMenu";
3
- export default {
3
+ const meta = {
4
4
  argTypes: {
5
- argTypes: {
6
- categoryKey: { control: { disable: true } },
7
- menuWidth: { control: "number" },
8
- onFilter: { control: { disable: true } },
9
- values: { control: { disable: true } },
10
- },
5
+ categoryKey: { control: { disable: true } },
6
+ menuWidth: { control: "number" },
7
+ onFilter: { control: { disable: true } },
8
+ values: { control: { disable: true } },
11
9
  },
12
10
  component: FilterMenu,
13
11
  decorators: [
@@ -16,101 +14,106 @@ export default {
16
14
  ],
17
15
  title: "Components/Filter/FilterMenu",
18
16
  };
19
- const FilterMenuTemplate = (args) => (React.createElement(FilterMenu, { ...args }));
20
- export const FilterMenuStory = FilterMenuTemplate.bind({});
21
- FilterMenuStory.args = {
22
- categoryKey: "donorDisease",
23
- menuWidth: 312,
24
- values: [
25
- {
26
- count: 312,
27
- key: "normal",
28
- label: "Normal",
29
- selected: false,
30
- },
31
- {
32
- count: 0,
33
- key: "abscess",
34
- label: "abscess",
35
- selected: false,
36
- },
37
- {
38
- count: 3,
39
- key: "acoustic neuroma",
40
- label: "acoustic neuroma",
41
- selected: true,
42
- },
43
- {
44
- count: 3,
45
- key: "acute kidney failure",
46
- label: "acute kidney failure",
47
- selected: true,
48
- },
49
- {
50
- count: 3,
51
- key: "acute kidney tubular necrosis",
52
- label: "acute kidney tubular necrosis",
53
- selected: true,
54
- },
55
- {
56
- count: 3,
57
- key: "alcohol abuse",
58
- label: "alcohol abuse",
59
- selected: true,
60
- },
61
- {
62
- count: 3,
63
- key: "Alzheimer disease",
64
- label: "Alzheimer disease",
65
- selected: true,
66
- },
67
- {
68
- count: 3,
69
- key: "amyotrophic lateral sclerosis",
70
- label: "amyotrophic lateral sclerosis",
71
- selected: true,
72
- },
73
- {
74
- count: 1,
75
- key: "anxiety disorder",
76
- label: "anxiety disorder",
77
- selected: true,
78
- },
79
- {
80
- count: 3,
81
- key: "aplastic anemia",
82
- label: "aplastic anemia",
83
- selected: true,
84
- },
85
- {
86
- count: 3,
87
- key: "arthritis",
88
- label: "arthritis",
89
- selected: true,
90
- },
91
- {
92
- count: 3,
93
- key: "asthma",
94
- label: "asthma",
95
- selected: true,
96
- },
97
- {
98
- count: 222,
99
- key: "atherosclerosis",
100
- label: "atherosclerosis",
101
- selected: false,
102
- },
103
- {
104
- count: 222,
105
- key: "atrial fibrillation",
106
- label: "atrial fibrillation",
107
- selected: true,
108
- },
109
- {
110
- count: 222,
111
- key: "benign prostatic hyperplasia",
112
- label: "benign prostatic hyperplasia",
113
- selected: true,
114
- },
115
- ],
17
+ export default meta;
18
+ export const FilterMenuStory = {
19
+ args: {
20
+ categoryKey: "donorDisease",
21
+ categoryLabel: "Donor Disease",
22
+ isFilterDrawer: false,
23
+ menuWidth: 312,
24
+ onCloseFilter: () => { },
25
+ onFilter: () => { },
26
+ values: [
27
+ {
28
+ count: 312,
29
+ key: "normal",
30
+ label: "Normal",
31
+ selected: false,
32
+ },
33
+ {
34
+ count: 0,
35
+ key: "abscess",
36
+ label: "abscess",
37
+ selected: false,
38
+ },
39
+ {
40
+ count: 3,
41
+ key: "acoustic neuroma",
42
+ label: "acoustic neuroma",
43
+ selected: true,
44
+ },
45
+ {
46
+ count: 3,
47
+ key: "acute kidney failure",
48
+ label: "acute kidney failure",
49
+ selected: true,
50
+ },
51
+ {
52
+ count: 3,
53
+ key: "acute kidney tubular necrosis",
54
+ label: "acute kidney tubular necrosis",
55
+ selected: true,
56
+ },
57
+ {
58
+ count: 3,
59
+ key: "alcohol abuse",
60
+ label: "alcohol abuse",
61
+ selected: true,
62
+ },
63
+ {
64
+ count: 3,
65
+ key: "Alzheimer disease",
66
+ label: "Alzheimer disease",
67
+ selected: true,
68
+ },
69
+ {
70
+ count: 3,
71
+ key: "amyotrophic lateral sclerosis",
72
+ label: "amyotrophic lateral sclerosis",
73
+ selected: true,
74
+ },
75
+ {
76
+ count: 1,
77
+ key: "anxiety disorder",
78
+ label: "anxiety disorder",
79
+ selected: true,
80
+ },
81
+ {
82
+ count: 3,
83
+ key: "aplastic anemia",
84
+ label: "aplastic anemia",
85
+ selected: true,
86
+ },
87
+ {
88
+ count: 3,
89
+ key: "arthritis",
90
+ label: "arthritis",
91
+ selected: true,
92
+ },
93
+ {
94
+ count: 3,
95
+ key: "asthma",
96
+ label: "asthma",
97
+ selected: true,
98
+ },
99
+ {
100
+ count: 222,
101
+ key: "atherosclerosis",
102
+ label: "atherosclerosis",
103
+ selected: false,
104
+ },
105
+ {
106
+ count: 222,
107
+ key: "atrial fibrillation",
108
+ label: "atrial fibrillation",
109
+ selected: true,
110
+ },
111
+ {
112
+ count: 222,
113
+ key: "benign prostatic hyperplasia",
114
+ label: "benign prostatic hyperplasia",
115
+ selected: true,
116
+ },
117
+ ],
118
+ },
116
119
  };
@@ -1,5 +1,16 @@
1
- import { ComponentMeta } from "@storybook/react";
2
- import { FilterTag } from "./filterTag";
3
- declare const _default: ComponentMeta<typeof FilterTag>;
4
- export default _default;
5
- export declare const FilterTagStory: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./filterTag").FilterTagProps>;
1
+ import { StoryObj } from "@storybook/react";
2
+ declare const meta: {
3
+ argTypes: {
4
+ label: {
5
+ control: "text";
6
+ };
7
+ superseded: {
8
+ control: "boolean";
9
+ };
10
+ };
11
+ component: ({ label, onRemove, superseded, }: import("./filterTag").FilterTagProps) => JSX.Element;
12
+ title: string;
13
+ };
14
+ export default meta;
15
+ type Story = StoryObj<typeof meta>;
16
+ export declare const FilterTagStory: Story;
@@ -1,6 +1,5 @@
1
- import React from "react";
2
1
  import { FilterTag } from "./filterTag";
3
- export default {
2
+ const meta = {
4
3
  argTypes: {
5
4
  label: { control: "text" },
6
5
  superseded: { control: "boolean" },
@@ -8,9 +7,11 @@ export default {
8
7
  component: FilterTag,
9
8
  title: "Components/Filter/FilterTag",
10
9
  };
11
- const FilterTagTemplate = (args) => (React.createElement(FilterTag, { ...args }));
12
- export const FilterTagStory = FilterTagTemplate.bind({});
13
- FilterTagStory.args = {
14
- label: "Male",
15
- superseded: false,
10
+ export default meta;
11
+ export const FilterTagStory = {
12
+ args: {
13
+ label: "Male",
14
+ onRemove: () => { },
15
+ superseded: false,
16
+ },
16
17
  };
@@ -1,5 +1,18 @@
1
- import { ComponentMeta } from "@storybook/react";
2
- import { FilterTags } from "./filterTags";
3
- declare const _default: ComponentMeta<typeof FilterTags>;
4
- export default _default;
5
- export declare const FilterTagsStory: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./filterTags").FilterTagsProps>;
1
+ import { StoryObj } from "@storybook/react";
2
+ declare const meta: {
3
+ argTypes: {
4
+ tags: {
5
+ control: {
6
+ disable: true;
7
+ };
8
+ };
9
+ };
10
+ component: ({ tags }: import("./filterTags").FilterTagsProps) => JSX.Element | null;
11
+ decorators: ((Story: import("@storybook/core/csf").PartialStoryFn<import("@storybook/react").ReactRenderer, {
12
+ tags?: import("../../../../common/entities").CategoryTag[] | undefined;
13
+ }>) => JSX.Element)[];
14
+ title: string;
15
+ };
16
+ export default meta;
17
+ type Story = StoryObj<typeof meta>;
18
+ export declare const FilterTagsStory: Story;
@@ -1,6 +1,9 @@
1
1
  import React from "react";
2
2
  import { FilterTags } from "./filterTags";
3
- export default {
3
+ const onRemove = () => {
4
+ // onRemove function
5
+ };
6
+ const meta = {
4
7
  argTypes: {
5
8
  tags: { control: { disable: true } },
6
9
  },
@@ -11,42 +14,40 @@ export default {
11
14
  ],
12
15
  title: "Components/Filter/FilterTags",
13
16
  };
14
- const FilterTagsTemplate = (args) => (React.createElement(FilterTags, { ...args }));
15
- const onRemove = () => {
16
- // onRemove function
17
- };
18
- export const FilterTagsStory = FilterTagsTemplate.bind({});
19
- FilterTagsStory.args = {
20
- tags: [
21
- {
22
- label: "Normal",
23
- onRemove: onRemove,
24
- superseded: false,
25
- },
26
- {
27
- label: "abscess",
28
- onRemove: onRemove,
29
- superseded: true,
30
- },
31
- {
32
- label: "acoustic neuroma",
33
- onRemove: onRemove,
34
- superseded: false,
35
- },
36
- {
37
- label: "acute kidney failure",
38
- onRemove: onRemove,
39
- superseded: false,
40
- },
41
- {
42
- label: "acute kidney tubular necrosis",
43
- onRemove: onRemove,
44
- superseded: false,
45
- },
46
- {
47
- label: "alcohol abuse",
48
- onRemove: onRemove,
49
- superseded: false,
50
- },
51
- ],
17
+ export default meta;
18
+ export const FilterTagsStory = {
19
+ args: {
20
+ tags: [
21
+ {
22
+ label: "Normal",
23
+ onRemove: onRemove,
24
+ superseded: false,
25
+ },
26
+ {
27
+ label: "abscess",
28
+ onRemove: onRemove,
29
+ superseded: true,
30
+ },
31
+ {
32
+ label: "acoustic neuroma",
33
+ onRemove: onRemove,
34
+ superseded: false,
35
+ },
36
+ {
37
+ label: "acute kidney failure",
38
+ onRemove: onRemove,
39
+ superseded: false,
40
+ },
41
+ {
42
+ label: "acute kidney tubular necrosis",
43
+ onRemove: onRemove,
44
+ superseded: false,
45
+ },
46
+ {
47
+ label: "alcohol abuse",
48
+ onRemove: onRemove,
49
+ superseded: false,
50
+ },
51
+ ],
52
+ },
52
53
  };
@@ -1,6 +1,7 @@
1
1
  import { Box } from "@mui/material";
2
2
  import React, { Fragment, useEffect, useRef, useState } from "react";
3
3
  import { useFileLocation } from "../../../../hooks/useFileLocation";
4
+ import { useLoginGuard } from "../../../../providers/loginGuard/hook";
4
5
  import { DownloadIcon } from "../../../common/CustomIcon/components/DownloadIcon/downloadIcon";
5
6
  import { LoadingIcon } from "../../../common/CustomIcon/components/LoadingIcon/loadingIcon";
6
7
  import { IconButton } from "../../../common/IconButton/iconButton";
@@ -11,6 +12,8 @@ export const AzulFileDownload = ({ entityName, relatedEntityId, relatedEntityNam
11
12
  const { fileUrl, isLoading, run } = useFileLocation(url);
12
13
  const downloadRef = useRef(null);
13
14
  const [isRequestPending, setIsRequestPending] = useState(false);
15
+ // Prompt user for login before download, if required.
16
+ const { requireLogin } = useLoginGuard();
14
17
  // Initiates file download when file location request is successful.
15
18
  useEffect(() => {
16
19
  if (!fileUrl)
@@ -22,11 +25,13 @@ export const AzulFileDownload = ({ entityName, relatedEntityId, relatedEntityNam
22
25
  downloadEl.click();
23
26
  setIsRequestPending(false);
24
27
  }, [fileUrl]);
28
+ // Initiates file download when download button is clicked.
29
+ const handleDownloadClick = () => {
30
+ setIsRequestPending(true);
31
+ trackFileDownloaded(entityName, relatedEntityId, relatedEntityName);
32
+ run();
33
+ };
25
34
  return (React.createElement(Fragment, null,
26
- isRequestPending ? (React.createElement(StyledIconButton, { color: "primary", "data-testid": AZUL_FILE_REQUEST_DOWNLOAD_PENDING_TEST_ID, Icon: LoadingIcon, size: "medium" })) : (React.createElement(IconButton, { color: "primary", "data-testid": AZUL_FILE_REQUEST_DOWNLOAD_TEST_ID, disabled: !url, Icon: isLoading ? LoadingIcon : DownloadIcon, onClick: () => {
27
- setIsRequestPending(true);
28
- trackFileDownloaded(entityName, relatedEntityId, relatedEntityName);
29
- run();
30
- }, size: "medium" })),
35
+ isRequestPending ? (React.createElement(StyledIconButton, { color: "primary", "data-testid": AZUL_FILE_REQUEST_DOWNLOAD_PENDING_TEST_ID, Icon: LoadingIcon, size: "medium" })) : (React.createElement(IconButton, { color: "primary", "data-testid": AZUL_FILE_REQUEST_DOWNLOAD_TEST_ID, disabled: !url, Icon: isLoading ? LoadingIcon : DownloadIcon, onClick: () => requireLogin(handleDownloadClick), size: "medium" })),
31
36
  React.createElement(Box, { component: "a", "data-testid": AZUL_FILE_DOWNLOAD_TEST_ID, download: true, ref: downloadRef, sx: { display: "none" } })));
32
37
  };
@@ -1,5 +1,8 @@
1
- import { ComponentMeta } from "@storybook/react";
2
- import { AzulFileDownload } from "./azulFileDownload";
3
- declare const _default: ComponentMeta<typeof AzulFileDownload>;
4
- export default _default;
5
- export declare const AzulFileDownloadStory: import("@storybook/types").AnnotatedStoryFn<import("@storybook/react").ReactRenderer, import("./azulFileDownload").AzulFileDownloadProps>;
1
+ import { StoryObj } from "@storybook/react";
2
+ declare const meta: {
3
+ component: ({ entityName, relatedEntityId, relatedEntityName, url, }: import("./azulFileDownload").AzulFileDownloadProps) => JSX.Element;
4
+ title: string;
5
+ };
6
+ export default meta;
7
+ type Story = StoryObj<typeof meta>;
8
+ export declare const AzulFileDownloadStory: Story;