@gen3/frontend 0.10.78 → 0.10.80

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 (269) hide show
  1. package/LICENSE +201 -0
  2. package/dist/cjs/index.js +130 -98
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/dts/components/Content/TextContent.d.ts +28 -7
  5. package/dist/dts/components/Content/TextContent.d.ts.map +1 -1
  6. package/dist/dts/components/Content/TextContent.js +31 -13
  7. package/dist/dts/components/Content/TextContent.js.map +1 -1
  8. package/dist/dts/components/Login/CredentialsLogin.d.ts.map +1 -1
  9. package/dist/dts/components/Login/CredentialsLogin.js +1 -1
  10. package/dist/dts/components/Login/CredentialsLogin.js.map +1 -1
  11. package/dist/dts/components/Login/LoginButton.d.ts.map +1 -1
  12. package/dist/dts/components/Login/LoginButton.js.map +1 -1
  13. package/dist/dts/components/Login/LoginPanel.d.ts.map +1 -1
  14. package/dist/dts/components/Login/LoginPanel.js +2 -1
  15. package/dist/dts/components/Login/LoginPanel.js.map +1 -1
  16. package/dist/dts/components/Profile/CredentialsTable.d.ts.map +1 -1
  17. package/dist/dts/components/Profile/CredentialsTable.js +3 -4
  18. package/dist/dts/components/Profile/CredentialsTable.js.map +1 -1
  19. package/dist/dts/components/Profile/ExternalProviderCard.d.ts +2 -0
  20. package/dist/dts/components/Profile/ExternalProviderCard.d.ts.map +1 -1
  21. package/dist/dts/components/Profile/ExternalProviderCard.js +13 -11
  22. package/dist/dts/components/Profile/ExternalProviderCard.js.map +1 -1
  23. package/dist/dts/components/Profile/ExternalProvidersPanel.d.ts.map +1 -1
  24. package/dist/dts/components/Profile/ExternalProvidersPanel.js +2 -2
  25. package/dist/dts/components/Profile/ExternalProvidersPanel.js.map +1 -1
  26. package/dist/dts/components/facets/FacetEnumList.d.ts.map +1 -1
  27. package/dist/dts/components/facets/FacetEnumList.js +43 -53
  28. package/dist/dts/components/facets/FacetEnumList.js.map +1 -1
  29. package/dist/dts/components/facets/MultiSelectValueFacet.d.ts.map +1 -1
  30. package/dist/dts/components/facets/MultiSelectValueFacet.js +14 -31
  31. package/dist/dts/components/facets/MultiSelectValueFacet.js.map +1 -1
  32. package/dist/dts/features/CohortBuilder/CohortPanel.d.ts.map +1 -1
  33. package/dist/dts/features/CohortBuilder/CohortPanel.js +3 -3
  34. package/dist/dts/features/CohortBuilder/CohortPanel.js.map +1 -1
  35. package/dist/dts/features/CohortBuilder/FiltersPanel.js +1 -1
  36. package/dist/dts/features/CohortBuilder/Panels/AccordianPanel.d.ts +4 -0
  37. package/dist/dts/features/CohortBuilder/Panels/AccordianPanel.d.ts.map +1 -0
  38. package/dist/dts/features/CohortBuilder/Panels/AccordianPanel.js +23 -0
  39. package/dist/dts/features/CohortBuilder/Panels/AccordianPanel.js.map +1 -0
  40. package/dist/dts/features/CohortBuilder/Panels/DropdownPanel.d.ts +4 -0
  41. package/dist/dts/features/CohortBuilder/Panels/DropdownPanel.d.ts.map +1 -0
  42. package/dist/dts/features/CohortBuilder/Panels/DropdownPanel.js +39 -0
  43. package/dist/dts/features/CohortBuilder/Panels/DropdownPanel.js.map +1 -0
  44. package/dist/dts/features/CohortBuilder/Panels/TabbedPanel.d.ts +3 -0
  45. package/dist/dts/features/CohortBuilder/Panels/TabbedPanel.d.ts.map +1 -0
  46. package/dist/dts/features/CohortBuilder/Panels/TabbedPanel.js +34 -0
  47. package/dist/dts/features/CohortBuilder/Panels/TabbedPanel.js.map +1 -0
  48. package/dist/dts/features/CohortBuilder/Panels/types.d.ts +11 -0
  49. package/dist/dts/features/CohortBuilder/Panels/types.d.ts.map +1 -0
  50. package/dist/dts/features/CohortBuilder/Panels/types.js.map +1 -0
  51. package/dist/dts/features/CohortDistance/CohortDistanceApp.d.ts +4 -0
  52. package/dist/dts/features/CohortDistance/CohortDistanceApp.d.ts.map +1 -0
  53. package/dist/dts/features/{CohortDiversity/CohortDiversityApp.js → CohortDistance/CohortDistanceApp.js} +9 -9
  54. package/dist/dts/features/CohortDistance/CohortDistanceApp.js.map +1 -0
  55. package/dist/dts/features/{CohortDiversity → CohortDistance}/ComnparisonCard.d.ts +2 -2
  56. package/dist/dts/features/CohortDistance/ComnparisonCard.d.ts.map +1 -0
  57. package/dist/dts/features/CohortDistance/ComnparisonCard.js.map +1 -0
  58. package/dist/dts/features/{CohortDiversity → CohortDistance}/ComparisonCards.d.ts +2 -2
  59. package/dist/dts/features/CohortDistance/ComparisonCards.d.ts.map +1 -0
  60. package/dist/dts/features/CohortDistance/ComparisonCards.js.map +1 -0
  61. package/dist/dts/features/CohortDistance/appApi.d.ts +8 -0
  62. package/dist/dts/features/CohortDistance/appApi.d.ts.map +1 -0
  63. package/dist/dts/features/CohortDistance/appApi.js +4 -0
  64. package/dist/dts/features/CohortDistance/appApi.js.map +1 -0
  65. package/dist/dts/features/CohortDistance/charts/BarComparison.d.ts.map +1 -0
  66. package/dist/dts/features/CohortDistance/charts/BarComparison.js.map +1 -0
  67. package/dist/dts/features/{CohortDiversity → CohortDistance}/charts/ChartCard.d.ts +3 -3
  68. package/dist/dts/features/CohortDistance/charts/ChartCard.d.ts.map +1 -0
  69. package/dist/dts/features/{CohortDiversity → CohortDistance}/charts/ChartCard.js +3 -3
  70. package/dist/dts/features/CohortDistance/charts/ChartCard.js.map +1 -0
  71. package/dist/dts/features/{CohortDiversity → CohortDistance}/charts/ComparisonCharts.d.ts +2 -2
  72. package/dist/dts/features/CohortDistance/charts/ComparisonCharts.d.ts.map +1 -0
  73. package/dist/dts/features/CohortDistance/charts/ComparisonCharts.js.map +1 -0
  74. package/dist/dts/features/CohortDistance/charts/RadarComparison.d.ts.map +1 -0
  75. package/dist/dts/features/CohortDistance/charts/RadarComparison.js.map +1 -0
  76. package/dist/dts/features/{CohortDiversity/charts/diversityChartsFactory.d.ts → CohortDistance/charts/cohortDistanceChartsFactory.d.ts} +3 -3
  77. package/dist/dts/features/CohortDistance/charts/cohortDistanceChartsFactory.d.ts.map +1 -0
  78. package/dist/dts/features/{CohortDiversity/charts/diversityChartsFactory.js → CohortDistance/charts/cohortDistanceChartsFactory.js} +3 -3
  79. package/dist/dts/features/CohortDistance/charts/cohortDistanceChartsFactory.js.map +1 -0
  80. package/dist/dts/features/CohortDistance/charts/types.d.ts.map +1 -0
  81. package/dist/dts/features/CohortDistance/charts/types.js.map +1 -0
  82. package/dist/dts/features/CohortDistance/charts/utils.d.ts.map +1 -0
  83. package/dist/dts/features/CohortDistance/charts/utils.js.map +1 -0
  84. package/dist/dts/features/{CohortDiversity/diversityApi.d.ts → CohortDistance/cohortDistanceApi.d.ts} +14 -14
  85. package/dist/dts/features/CohortDistance/cohortDistanceApi.d.ts.map +1 -0
  86. package/dist/dts/features/{CohortDiversity/diversityApi.js → CohortDistance/cohortDistanceApi.js} +5 -5
  87. package/dist/dts/features/CohortDistance/cohortDistanceApi.js.map +1 -0
  88. package/dist/dts/features/CohortDistance/registerApp.d.ts +3 -0
  89. package/dist/dts/features/CohortDistance/registerApp.d.ts.map +1 -0
  90. package/dist/dts/features/{CohortDiversity → CohortDistance}/registerApp.js +5 -5
  91. package/dist/dts/features/CohortDistance/registerApp.js.map +1 -0
  92. package/dist/dts/features/CohortDistance/statistics/StatisticsCard.d.ts.map +1 -0
  93. package/dist/dts/features/CohortDistance/statistics/StatisticsCard.js.map +1 -0
  94. package/dist/dts/features/{CohortDiversity → CohortDistance}/statistics/StatisticsPanel.d.ts +2 -2
  95. package/dist/dts/features/CohortDistance/statistics/StatisticsPanel.d.ts.map +1 -0
  96. package/dist/dts/features/CohortDistance/statistics/StatisticsPanel.js.map +1 -0
  97. package/dist/dts/features/CohortDistance/statistics/data/data.d.ts +2 -0
  98. package/dist/dts/features/CohortDistance/statistics/data/data.d.ts.map +1 -0
  99. package/dist/dts/features/{CohortDiversity → CohortDistance}/statistics/data/data.js +1 -1
  100. package/dist/dts/features/CohortDistance/statistics/data/data.js.map +1 -0
  101. package/dist/dts/features/{CohortDiversity → CohortDistance}/statistics/data/tests/processHistogramResponse.unit.test.d.ts.map +1 -1
  102. package/dist/dts/features/{CohortDiversity → CohortDistance}/statistics/data/tests/processHistogramResponse.unit.test.js +6 -6
  103. package/dist/dts/features/CohortDistance/statistics/data/tests/processHistogramResponse.unit.test.js.map +1 -0
  104. package/dist/dts/features/CohortDistance/statistics/data/utils.d.ts.map +1 -0
  105. package/dist/dts/features/CohortDistance/statistics/data/utils.js.map +1 -0
  106. package/dist/dts/features/{CohortDiversity → CohortDistance}/statistics/queries.d.ts +1 -1
  107. package/dist/dts/features/CohortDistance/statistics/queries.d.ts.map +1 -0
  108. package/dist/dts/features/{CohortDiversity → CohortDistance}/statistics/queries.js +1 -1
  109. package/dist/dts/features/CohortDistance/statistics/queries.js.map +1 -0
  110. package/dist/dts/features/{CohortDiversity → CohortDistance}/types.d.ts +6 -6
  111. package/dist/dts/features/CohortDistance/types.d.ts.map +1 -0
  112. package/dist/dts/features/CohortDistance/types.js +2 -0
  113. package/dist/dts/features/CohortDistance/types.js.map +1 -0
  114. package/dist/dts/features/CohortSimilarity/CohortSimilarityApp.d.ts +4 -0
  115. package/dist/dts/features/CohortSimilarity/CohortSimilarityApp.d.ts.map +1 -0
  116. package/dist/dts/features/CohortSimilarity/CohortSimilarityApp.js +54 -0
  117. package/dist/dts/features/CohortSimilarity/CohortSimilarityApp.js.map +1 -0
  118. package/dist/dts/features/CohortSimilarity/ComnparisonCard.d.ts +15 -0
  119. package/dist/dts/features/CohortSimilarity/ComnparisonCard.d.ts.map +1 -0
  120. package/dist/dts/features/CohortSimilarity/ComnparisonCard.js +32 -0
  121. package/dist/dts/features/CohortSimilarity/ComnparisonCard.js.map +1 -0
  122. package/dist/dts/features/CohortSimilarity/ComparisonCards.d.ts +15 -0
  123. package/dist/dts/features/CohortSimilarity/ComparisonCards.d.ts.map +1 -0
  124. package/dist/dts/features/CohortSimilarity/ComparisonCards.js +14 -0
  125. package/dist/dts/features/CohortSimilarity/ComparisonCards.js.map +1 -0
  126. package/dist/dts/features/CohortSimilarity/appApi.d.ts +8 -0
  127. package/dist/dts/features/CohortSimilarity/appApi.d.ts.map +1 -0
  128. package/dist/dts/features/CohortSimilarity/appApi.js +4 -0
  129. package/dist/dts/features/CohortSimilarity/appApi.js.map +1 -0
  130. package/dist/dts/features/CohortSimilarity/charts/BarComparison.d.ts +5 -0
  131. package/dist/dts/features/CohortSimilarity/charts/BarComparison.d.ts.map +1 -0
  132. package/dist/dts/features/CohortSimilarity/charts/BarComparison.js +70 -0
  133. package/dist/dts/features/CohortSimilarity/charts/BarComparison.js.map +1 -0
  134. package/dist/dts/features/CohortSimilarity/charts/ChartCard.d.ts +16 -0
  135. package/dist/dts/features/CohortSimilarity/charts/ChartCard.d.ts.map +1 -0
  136. package/dist/dts/features/CohortSimilarity/charts/ChartCard.js +45 -0
  137. package/dist/dts/features/CohortSimilarity/charts/ChartCard.js.map +1 -0
  138. package/dist/dts/features/CohortSimilarity/charts/ComparisonCharts.d.ts +13 -0
  139. package/dist/dts/features/CohortSimilarity/charts/ComparisonCharts.d.ts.map +1 -0
  140. package/dist/dts/features/CohortSimilarity/charts/ComparisonCharts.js +18 -0
  141. package/dist/dts/features/CohortSimilarity/charts/ComparisonCharts.js.map +1 -0
  142. package/dist/dts/features/CohortSimilarity/charts/RadarComparison.d.ts +5 -0
  143. package/dist/dts/features/CohortSimilarity/charts/RadarComparison.d.ts.map +1 -0
  144. package/dist/dts/features/CohortSimilarity/charts/RadarComparison.js +90 -0
  145. package/dist/dts/features/CohortSimilarity/charts/RadarComparison.js.map +1 -0
  146. package/dist/dts/features/CohortSimilarity/charts/cohortSimilarityChartsFactory.d.ts +6 -0
  147. package/dist/dts/features/CohortSimilarity/charts/cohortSimilarityChartsFactory.d.ts.map +1 -0
  148. package/dist/dts/features/CohortSimilarity/charts/cohortSimilarityChartsFactory.js +24 -0
  149. package/dist/dts/features/CohortSimilarity/charts/cohortSimilarityChartsFactory.js.map +1 -0
  150. package/dist/dts/features/CohortSimilarity/charts/types.d.ts +12 -0
  151. package/dist/dts/features/CohortSimilarity/charts/types.d.ts.map +1 -0
  152. package/dist/dts/features/CohortSimilarity/charts/types.js +2 -0
  153. package/dist/dts/features/CohortSimilarity/charts/types.js.map +1 -0
  154. package/dist/dts/features/CohortSimilarity/charts/utils.d.ts +2 -0
  155. package/dist/dts/features/CohortSimilarity/charts/utils.d.ts.map +1 -0
  156. package/dist/dts/features/CohortSimilarity/charts/utils.js +4 -0
  157. package/dist/dts/features/CohortSimilarity/charts/utils.js.map +1 -0
  158. package/dist/dts/features/CohortSimilarity/cohortSimilarityApi.d.ts +141 -0
  159. package/dist/dts/features/CohortSimilarity/cohortSimilarityApi.d.ts.map +1 -0
  160. package/dist/dts/features/CohortSimilarity/cohortSimilarityApi.js +14 -0
  161. package/dist/dts/features/CohortSimilarity/cohortSimilarityApi.js.map +1 -0
  162. package/dist/dts/features/CohortSimilarity/registerApp.d.ts +3 -0
  163. package/dist/dts/features/CohortSimilarity/registerApp.d.ts.map +1 -0
  164. package/dist/dts/features/CohortSimilarity/registerApp.js +19 -0
  165. package/dist/dts/features/CohortSimilarity/registerApp.js.map +1 -0
  166. package/dist/dts/features/CohortSimilarity/statistics/StatisticsCard.d.ts +9 -0
  167. package/dist/dts/features/CohortSimilarity/statistics/StatisticsCard.d.ts.map +1 -0
  168. package/dist/dts/features/CohortSimilarity/statistics/StatisticsCard.js +68 -0
  169. package/dist/dts/features/CohortSimilarity/statistics/StatisticsCard.js.map +1 -0
  170. package/dist/dts/features/CohortSimilarity/statistics/StatisticsPanel.d.ts +13 -0
  171. package/dist/dts/features/CohortSimilarity/statistics/StatisticsPanel.d.ts.map +1 -0
  172. package/dist/dts/features/CohortSimilarity/statistics/StatisticsPanel.js +16 -0
  173. package/dist/dts/features/CohortSimilarity/statistics/StatisticsPanel.js.map +1 -0
  174. package/dist/dts/features/CohortSimilarity/statistics/data/data.d.ts +2 -0
  175. package/dist/dts/features/CohortSimilarity/statistics/data/data.d.ts.map +1 -0
  176. package/dist/dts/features/CohortSimilarity/statistics/data/data.js +50 -0
  177. package/dist/dts/features/CohortSimilarity/statistics/data/data.js.map +1 -0
  178. package/dist/dts/features/CohortSimilarity/statistics/data/tests/processHistogramResponse.unit.test.d.ts +2 -0
  179. package/dist/dts/features/CohortSimilarity/statistics/data/tests/processHistogramResponse.unit.test.d.ts.map +1 -0
  180. package/dist/dts/features/CohortSimilarity/statistics/data/tests/processHistogramResponse.unit.test.js +365 -0
  181. package/dist/dts/features/CohortSimilarity/statistics/data/tests/processHistogramResponse.unit.test.js.map +1 -0
  182. package/dist/dts/features/CohortSimilarity/statistics/data/tests/similarityResponse.json +228 -0
  183. package/dist/dts/features/CohortSimilarity/statistics/data/utils.d.ts +49 -0
  184. package/dist/dts/features/CohortSimilarity/statistics/data/utils.d.ts.map +1 -0
  185. package/dist/dts/features/CohortSimilarity/statistics/data/utils.js +146 -0
  186. package/dist/dts/features/CohortSimilarity/statistics/data/utils.js.map +1 -0
  187. package/dist/dts/features/CohortSimilarity/statistics/queries.d.ts +6 -0
  188. package/dist/dts/features/CohortSimilarity/statistics/queries.d.ts.map +1 -0
  189. package/dist/dts/features/CohortSimilarity/statistics/queries.js +24 -0
  190. package/dist/dts/features/CohortSimilarity/statistics/queries.js.map +1 -0
  191. package/dist/dts/features/CohortSimilarity/types.d.ts +26 -0
  192. package/dist/dts/features/CohortSimilarity/types.d.ts.map +1 -0
  193. package/dist/dts/features/CohortSimilarity/types.js +2 -0
  194. package/dist/dts/features/CohortSimilarity/types.js.map +1 -0
  195. package/dist/dts/features/DataLibrary/tables/DatasetContentsTable.d.ts.map +1 -1
  196. package/dist/dts/features/DataLibrary/tables/DatasetContentsTable.js +1 -1
  197. package/dist/dts/features/DataLibrary/tables/DatasetContentsTable.js.map +1 -1
  198. package/dist/dts/index.d.ts +2 -2
  199. package/dist/dts/index.d.ts.map +1 -1
  200. package/dist/dts/index.js +2 -2
  201. package/dist/dts/index.js.map +1 -1
  202. package/dist/esm/index.js +131 -99
  203. package/dist/esm/index.js.map +1 -1
  204. package/dist/index.d.ts +16 -9
  205. package/dist/tsconfig.tsbuildinfo +1 -1
  206. package/package.json +6 -6
  207. package/dist/dts/features/CohortDiversity/CohortDiversityApp.d.ts +0 -4
  208. package/dist/dts/features/CohortDiversity/CohortDiversityApp.d.ts.map +0 -1
  209. package/dist/dts/features/CohortDiversity/CohortDiversityApp.js.map +0 -1
  210. package/dist/dts/features/CohortDiversity/ComnparisonCard.d.ts.map +0 -1
  211. package/dist/dts/features/CohortDiversity/ComnparisonCard.js.map +0 -1
  212. package/dist/dts/features/CohortDiversity/ComparisonCards.d.ts.map +0 -1
  213. package/dist/dts/features/CohortDiversity/ComparisonCards.js.map +0 -1
  214. package/dist/dts/features/CohortDiversity/appApi.d.ts +0 -8
  215. package/dist/dts/features/CohortDiversity/appApi.d.ts.map +0 -1
  216. package/dist/dts/features/CohortDiversity/appApi.js +0 -4
  217. package/dist/dts/features/CohortDiversity/appApi.js.map +0 -1
  218. package/dist/dts/features/CohortDiversity/charts/BarComparison.d.ts.map +0 -1
  219. package/dist/dts/features/CohortDiversity/charts/BarComparison.js.map +0 -1
  220. package/dist/dts/features/CohortDiversity/charts/ChartCard.d.ts.map +0 -1
  221. package/dist/dts/features/CohortDiversity/charts/ChartCard.js.map +0 -1
  222. package/dist/dts/features/CohortDiversity/charts/ComparisonCharts.d.ts.map +0 -1
  223. package/dist/dts/features/CohortDiversity/charts/ComparisonCharts.js.map +0 -1
  224. package/dist/dts/features/CohortDiversity/charts/RadarComparison.d.ts.map +0 -1
  225. package/dist/dts/features/CohortDiversity/charts/RadarComparison.js.map +0 -1
  226. package/dist/dts/features/CohortDiversity/charts/diversityChartsFactory.d.ts.map +0 -1
  227. package/dist/dts/features/CohortDiversity/charts/diversityChartsFactory.js.map +0 -1
  228. package/dist/dts/features/CohortDiversity/charts/types.d.ts.map +0 -1
  229. package/dist/dts/features/CohortDiversity/charts/types.js.map +0 -1
  230. package/dist/dts/features/CohortDiversity/charts/utils.d.ts.map +0 -1
  231. package/dist/dts/features/CohortDiversity/charts/utils.js.map +0 -1
  232. package/dist/dts/features/CohortDiversity/diversityApi.d.ts.map +0 -1
  233. package/dist/dts/features/CohortDiversity/diversityApi.js.map +0 -1
  234. package/dist/dts/features/CohortDiversity/registerApp.d.ts +0 -3
  235. package/dist/dts/features/CohortDiversity/registerApp.d.ts.map +0 -1
  236. package/dist/dts/features/CohortDiversity/registerApp.js.map +0 -1
  237. package/dist/dts/features/CohortDiversity/statistics/StatisticsCard.d.ts.map +0 -1
  238. package/dist/dts/features/CohortDiversity/statistics/StatisticsCard.js.map +0 -1
  239. package/dist/dts/features/CohortDiversity/statistics/StatisticsPanel.d.ts.map +0 -1
  240. package/dist/dts/features/CohortDiversity/statistics/StatisticsPanel.js.map +0 -1
  241. package/dist/dts/features/CohortDiversity/statistics/data/data.d.ts +0 -2
  242. package/dist/dts/features/CohortDiversity/statistics/data/data.d.ts.map +0 -1
  243. package/dist/dts/features/CohortDiversity/statistics/data/data.js.map +0 -1
  244. package/dist/dts/features/CohortDiversity/statistics/data/tests/processHistogramResponse.unit.test.js.map +0 -1
  245. package/dist/dts/features/CohortDiversity/statistics/data/utils.d.ts.map +0 -1
  246. package/dist/dts/features/CohortDiversity/statistics/data/utils.js.map +0 -1
  247. package/dist/dts/features/CohortDiversity/statistics/queries.d.ts.map +0 -1
  248. package/dist/dts/features/CohortDiversity/statistics/queries.js.map +0 -1
  249. package/dist/dts/features/CohortDiversity/types.d.ts.map +0 -1
  250. package/dist/dts/features/CohortDiversity/types.js.map +0 -1
  251. /package/dist/dts/features/{CohortDiversity/charts → CohortBuilder/Panels}/types.js +0 -0
  252. /package/dist/dts/features/{CohortDiversity → CohortDistance}/ComnparisonCard.js +0 -0
  253. /package/dist/dts/features/{CohortDiversity → CohortDistance}/ComparisonCards.js +0 -0
  254. /package/dist/dts/features/{CohortDiversity → CohortDistance}/charts/BarComparison.d.ts +0 -0
  255. /package/dist/dts/features/{CohortDiversity → CohortDistance}/charts/BarComparison.js +0 -0
  256. /package/dist/dts/features/{CohortDiversity → CohortDistance}/charts/ComparisonCharts.js +0 -0
  257. /package/dist/dts/features/{CohortDiversity → CohortDistance}/charts/RadarComparison.d.ts +0 -0
  258. /package/dist/dts/features/{CohortDiversity → CohortDistance}/charts/RadarComparison.js +0 -0
  259. /package/dist/dts/features/{CohortDiversity → CohortDistance}/charts/types.d.ts +0 -0
  260. /package/dist/dts/features/{CohortDiversity → CohortDistance/charts}/types.js +0 -0
  261. /package/dist/dts/features/{CohortDiversity → CohortDistance}/charts/utils.d.ts +0 -0
  262. /package/dist/dts/features/{CohortDiversity → CohortDistance}/charts/utils.js +0 -0
  263. /package/dist/dts/features/{CohortDiversity → CohortDistance}/statistics/StatisticsCard.d.ts +0 -0
  264. /package/dist/dts/features/{CohortDiversity → CohortDistance}/statistics/StatisticsCard.js +0 -0
  265. /package/dist/dts/features/{CohortDiversity → CohortDistance}/statistics/StatisticsPanel.js +0 -0
  266. /package/dist/dts/features/{CohortDiversity/statistics/data/tests/diversityResponse.json → CohortDistance/statistics/data/tests/distanceResponse.json} +0 -0
  267. /package/dist/dts/features/{CohortDiversity → CohortDistance}/statistics/data/tests/processHistogramResponse.unit.test.d.ts +0 -0
  268. /package/dist/dts/features/{CohortDiversity → CohortDistance}/statistics/data/utils.d.ts +0 -0
  269. /package/dist/dts/features/{CohortDiversity → CohortDistance}/statistics/data/utils.js +0 -0
package/dist/esm/index.js CHANGED
@@ -32,7 +32,7 @@ import { PiDotsThreeCircleThin, PiTrash, PiSparkleFill, PiCaretUpFill, PiCaretDo
32
32
  import Head from 'next/head';
33
33
  import { useMantineReactTable, MantineReactTable } from 'mantine-react-table';
34
34
  import { JSONPath } from 'jsonpath-plus';
35
- import { LuClock, LuCircleSlash, LuUnlock, LuLock, LuRefreshCw } from 'react-icons/lu';
35
+ import { LuClock, LuCircleSlash, LuUnlock, LuLock } from 'react-icons/lu';
36
36
  import { FiDownload, FiMoreVertical } from 'react-icons/fi';
37
37
  import { TiArrowUnsorted, TiArrowSortedUp, TiArrowSortedDown } from 'react-icons/ti';
38
38
  import { flushSync } from 'react-dom';
@@ -1106,6 +1106,7 @@ const CredentialsLogin = ({ handleLogin })=>{
1106
1106
  className: "w-1/3",
1107
1107
  label: /*#__PURE__*/ jsx(Text, {
1108
1108
  size: "md",
1109
+ c: "primary.4",
1109
1110
  children: "Authorize with credentials"
1110
1111
  }),
1111
1112
  labelPosition: "center"
@@ -1168,17 +1169,33 @@ function hashCode(str) {
1168
1169
  return hashString(str);
1169
1170
  }
1170
1171
 
1171
- var ContentType = /*#__PURE__*/ function(ContentType) {
1172
+ /**
1173
+ * Enum representing various content types for text-based data.
1174
+ *
1175
+ * Each content type corresponds to a specific format or structure of textual content.
1176
+ */ var ContentType = /*#__PURE__*/ function(ContentType) {
1172
1177
  ContentType["Text"] = "text";
1173
1178
  ContentType["TextArray"] = "textArray";
1174
1179
  ContentType["Html"] = "html";
1175
1180
  ContentType["Markdown"] = "markdown";
1176
1181
  ContentType["TextWithEmail"] = "textWithEmail";
1177
1182
  ContentType["TextWithLink"] = "textWithLink";
1178
- ContentType["Link"] = "link";
1179
1183
  return ContentType;
1180
1184
  }({});
1181
- const TextContent = ({ text, className = 'inline text-base-contrast-min font-medium margin-block-start-1 margin-block-end-1', type = "text", email = undefined, link = undefined, linkText = undefined })=>{
1185
+ /**
1186
+ * Renders textual content dynamically based on the provided type and additional properties.
1187
+ *
1188
+ * The `TextContent` function creates a user interface element conditioned on the type of input content, such as plain text, HTML, Markdown, text arrays, text with email links, or text with hyperlinks. It also provides default styling and customizable CSS class support.
1189
+ *
1190
+ * @param {Object} props - Properties for rendering the TextContent component.
1191
+ * @param {string | string[]} props.text - The content to be displayed. It can be a single string or an array of strings.
1192
+ * @param {string} [props.className='inline text-base-contrast-max font-medium margin-block-start-1 margin-block-end-1'] - Custom CSS classes to apply for styling. Defaults to a predefined inline style.
1193
+ * @param {ContentType} [props.type=ContentType.Text] - Specifies the type of content being passed. Determines how the content will be rendered.
1194
+ * @param {string} [props.email] - Optional email address to be rendered as a clickable "mailto" link when type is `ContentType.TextWithEmail`.
1195
+ * @param {string} [props.link] - Optional URL to be rendered as a clickable hyperlink when type is `ContentType.TextWithLink`.
1196
+ * @param {string} [props.linkText] - Optional link text to display instead of the raw URL when type is `ContentType.TextWithLink`.
1197
+ * @returns {JSX.Element} A JSX element that renders the content dynamically based on the input type and properties.
1198
+ */ const TextContent = ({ text, className = 'inline text-base-contrast-max font-medium margin-block-start-1 margin-block-end-1', type = "text", email = undefined, link = undefined, linkText = undefined })=>{
1182
1199
  switch(type){
1183
1200
  case "html":
1184
1201
  {
@@ -1187,7 +1204,8 @@ const TextContent = ({ text, className = 'inline text-base-contrast-min font-med
1187
1204
  className: className,
1188
1205
  dangerouslySetInnerHTML: {
1189
1206
  __html: textString
1190
- }
1207
+ },
1208
+ "aria-label": "HTML content" // Provide context for HTML rendered content
1191
1209
  });
1192
1210
  }
1193
1211
  case "textArray":
@@ -1197,8 +1215,11 @@ const TextContent = ({ text, className = 'inline text-base-contrast-min font-med
1197
1215
  ] : text;
1198
1216
  return /*#__PURE__*/ jsx("div", {
1199
1217
  className: className,
1218
+ role: "list",
1219
+ "aria-label": "Text array",
1200
1220
  children: textArray.map((item)=>/*#__PURE__*/ jsx("p", {
1201
1221
  className: "my-2",
1222
+ role: "listitem",
1202
1223
  children: item
1203
1224
  }, hashCode(item)))
1204
1225
  });
@@ -1207,16 +1228,16 @@ const TextContent = ({ text, className = 'inline text-base-contrast-min font-med
1207
1228
  {
1208
1229
  const textString = Array.isArray(text) ? text.join('') : text;
1209
1230
  return /*#__PURE__*/ jsx("div", {
1231
+ "aria-label": "Markdown content",
1210
1232
  children: /*#__PURE__*/ jsx(Markdown, {
1211
1233
  remarkPlugins: [
1212
1234
  remarkGfm
1213
1235
  ],
1214
1236
  components: {
1215
- // define some formatting for the ai response
1216
1237
  p (props) {
1217
1238
  const { node, ...rest } = props;
1218
1239
  return /*#__PURE__*/ jsx("p", {
1219
- className: "text-lg text-primary-contrast my-1",
1240
+ className: "text-lg my-1",
1220
1241
  ...rest
1221
1242
  });
1222
1243
  },
@@ -1248,7 +1269,7 @@ const TextContent = ({ text, className = 'inline text-base-contrast-min font-med
1248
1269
  }
1249
1270
  case "textWithEmail":
1250
1271
  {
1251
- const DEFAULT_STYLE = 'inline text-base-contrast-min font-medium margin-block-start-1 margin-block-end-1';
1272
+ const DEFAULT_STYLE = 'inline text-base-contrast-max font-medium margin-block-start-1 margin-block-end-1';
1252
1273
  const mergedClassname = className ? twMerge(DEFAULT_STYLE, className) : DEFAULT_STYLE;
1253
1274
  const textString = Array.isArray(text) ? text.join('') : text;
1254
1275
  return /*#__PURE__*/ jsx("div", {
@@ -1261,6 +1282,7 @@ const TextContent = ({ text, className = 'inline text-base-contrast-min font-med
1261
1282
  root: mergedClassname
1262
1283
  },
1263
1284
  href: `mailto:${email}`,
1285
+ "aria-label": `Send an email to ${email}`,
1264
1286
  children: ` ${email}.`
1265
1287
  })
1266
1288
  ]
@@ -1269,13 +1291,14 @@ const TextContent = ({ text, className = 'inline text-base-contrast-min font-med
1269
1291
  }
1270
1292
  case "textWithLink":
1271
1293
  {
1272
- const DEFAULT_STYLE = 'inline text-base-contrast-min font-medium margin-block-start-1 margin-block-end-1';
1294
+ const DEFAULT_STYLE = 'inline text-base-contrast-max font-medium margin-block-start-1 margin-block-end-1';
1273
1295
  const mergedClassname = className ? twMerge(DEFAULT_STYLE, className) : DEFAULT_STYLE;
1274
1296
  const textString = Array.isArray(text) ? text.join('') : text;
1275
1297
  if (!link) {
1276
1298
  return /*#__PURE__*/ jsx("div", {
1277
1299
  className: mergedClassname,
1278
- children: " Link is not defined."
1300
+ "aria-label": "No link defined",
1301
+ children: "Link is not defined."
1279
1302
  });
1280
1303
  }
1281
1304
  return /*#__PURE__*/ jsx("div", {
@@ -1288,6 +1311,7 @@ const TextContent = ({ text, className = 'inline text-base-contrast-min font-med
1288
1311
  root: mergedClassname
1289
1312
  },
1290
1313
  href: link,
1314
+ "aria-label": `Visit the link: ${linkText || link}`,
1291
1315
  children: ` ${linkText ?? link}.`
1292
1316
  })
1293
1317
  ]
@@ -1298,6 +1322,7 @@ const TextContent = ({ text, className = 'inline text-base-contrast-min font-med
1298
1322
  default:
1299
1323
  return /*#__PURE__*/ jsx("div", {
1300
1324
  className: className,
1325
+ "aria-label": "Plain text content",
1301
1326
  children: /*#__PURE__*/ jsx("p", {
1302
1327
  children: text.toString()
1303
1328
  })
@@ -1360,10 +1385,14 @@ const LoginPanel = (loginConfig)=>{
1360
1385
  loginConfig?.showCredentialsLogin && process.env.NODE_ENV === 'development' && /*#__PURE__*/ jsx(CredentialsLogin, {
1361
1386
  handleLogin: handleCredentialsLogin
1362
1387
  }),
1363
- bottomContent?.map((content, index)=>/*#__PURE__*/ createElement(TextContent, {
1364
- ...content,
1365
- key: `bottomContent-${index}`
1366
- }))
1388
+ /*#__PURE__*/ jsx(Center, {
1389
+ children: /*#__PURE__*/ jsx(Stack, {
1390
+ children: bottomContent?.map((content, index)=>/*#__PURE__*/ createElement(TextContent, {
1391
+ ...content,
1392
+ key: `bottomContent-${index}`
1393
+ }))
1394
+ })
1395
+ })
1367
1396
  ]
1368
1397
  }),
1369
1398
  /*#__PURE__*/ jsx(TexturedSidePanel, {
@@ -7176,6 +7205,28 @@ font-content
7176
7205
  });
7177
7206
  };
7178
7207
 
7208
+ const compareKeysAscending = (a, b)=>{
7209
+ if (typeof a === 'number' && typeof b === 'number') {
7210
+ return a - b;
7211
+ }
7212
+ // If only one value is a number, move numbers to one end
7213
+ // (in this case, numbers will come before strings)
7214
+ if (typeof a === 'number') return -1;
7215
+ if (typeof b === 'number') return 1;
7216
+ // If both are strings, sort alphabetically
7217
+ return a.localeCompare(b);
7218
+ };
7219
+ const compareKeysDescending = (a, b)=>{
7220
+ if (typeof a === 'number' && typeof b === 'number') {
7221
+ return b - a;
7222
+ }
7223
+ // If only one value is a number, move numbers to one end
7224
+ // (in this case, numbers will come before strings)
7225
+ if (typeof a === 'number') return 1;
7226
+ if (typeof b === 'number') return -1;
7227
+ // If both are strings, sort alphabetically
7228
+ return b.localeCompare(a);
7229
+ };
7179
7230
  const FacetEnumList = ({ field, facetName, hooks, valueLabel, isFacetView = true, isSearching = false, showPercent = false, hideIfEmpty = false, showSorting = true })=>{
7180
7231
  const [isGroupExpanded, setIsGroupExpanded] = useState(false);
7181
7232
  const cardRef = useRef(null);
@@ -7188,7 +7239,7 @@ const FacetEnumList = ({ field, facetName, hooks, valueLabel, isFacetView = true
7188
7239
  const updateFacetFilters = hooks.useUpdateFacetFilters();
7189
7240
  const isFilterExpanded = hooks?.useFilterExpanded && hooks.useFilterExpanded(field);
7190
7241
  const showFilters = isFilterExpanded === undefined || isFilterExpanded;
7191
- const [sortedData, setSortedData] = useState({});
7242
+ const [sortedData, setSortedData] = useState([]);
7192
7243
  const [sortType, setSortType] = useState({
7193
7244
  type: 'alpha',
7194
7245
  direction: 'asc'
@@ -7307,25 +7358,9 @@ const FacetEnumList = ({ field, facetName, hooks, valueLabel, isFacetView = true
7307
7358
  ]);
7308
7359
  useDeepCompareEffect(()=>{
7309
7360
  if (facetChartData.filteredData && facetChartData.filteredData.length > 0) {
7310
- const compareValuesAscending = ([, a], [, b])=>a - b;
7311
- const compareValuesDescending = ([, a], [, b])=>b - a;
7312
- const compareKeysAscending = ([a], [b])=>typeof a === 'string' && typeof b === 'string' ? a.localeCompare(b) : typeof a === 'number' && typeof b === 'number' ? a - b : 0;
7313
- const compareKeysDescending = ([a], [b])=>typeof a === 'string' && typeof b === 'string' ? b.localeCompare(a) : typeof a === 'number' && typeof b === 'number' ? b - a : 0;
7314
- let comparisonFn;
7315
- if (sortType.type === 'value') {
7316
- comparisonFn = sortType.direction === 'dsc' ? compareValuesDescending : compareValuesAscending;
7317
- } else {
7318
- comparisonFn = sortType.direction === 'dsc' ? compareKeysDescending : compareKeysAscending;
7319
- }
7320
7361
  const obj = [
7321
7362
  ...facetChartData.filteredData
7322
- ].sort(comparisonFn).slice(0, !isGroupExpanded ? maxValuesToDisplay : undefined).reduce((acc, [key, value])=>{
7323
- acc[key] = value;
7324
- return acc;
7325
- }, {});
7326
- Object.fromEntries([
7327
- ...facetChartData.filteredData
7328
- ].sort(comparisonFn).slice(0, !isGroupExpanded ? maxValuesToDisplay : undefined));
7363
+ ].sort(sortType.type === 'value' ? ([, a], [, b])=>sortType.direction === 'dsc' ? b - a : a - b : ([a], [b])=>sortType.direction === 'dsc' ? compareKeysDescending(a, b) : compareKeysAscending(a, b)).slice(0, !isGroupExpanded ? maxValuesToDisplay : undefined);
7329
7364
  setSortedData(obj);
7330
7365
  }
7331
7366
  }, [
@@ -7389,10 +7424,10 @@ const FacetEnumList = ({ field, facetName, hooks, valueLabel, isFacetView = true
7389
7424
  facetChartData.filteredData.length == 0 ? /*#__PURE__*/ jsx("div", {
7390
7425
  className: "mx-4 font-content text-sm",
7391
7426
  children: BAD_DATA_MESSAGE
7392
- }) : isSuccess ? !sortedData || Object.entries(sortedData).length === 0 ? /*#__PURE__*/ jsx("div", {
7427
+ }) : isSuccess ? !sortedData || sortedData.length === 0 ? /*#__PURE__*/ jsx("div", {
7393
7428
  className: "mx-4",
7394
7429
  children: "No results found"
7395
- }) : Object.entries(sortedData ?? {}).map(([value, count])=>{
7430
+ }) : sortedData.map(([value, count])=>{
7396
7431
  return /*#__PURE__*/ jsxs("div", {
7397
7432
  className: "flex flex-row items-center gap-x-1",
7398
7433
  children: [
@@ -7413,7 +7448,7 @@ const FacetEnumList = ({ field, facetName, hooks, valueLabel, isFacetView = true
7413
7448
  })
7414
7449
  }),
7415
7450
  /*#__PURE__*/ jsx(OverflowTooltippedLabel, {
7416
- label: value,
7451
+ label: value.toString(),
7417
7452
  children: /*#__PURE__*/ jsx("span", {
7418
7453
  className: "text-xs font-normal font-content",
7419
7454
  children: value
@@ -7697,6 +7732,13 @@ const RangeFacet = ({ field, hooks, valueLabel, description, facetName, minimum
7697
7732
  const instanceOfIncludesExcludes$1 = (op)=>[
7698
7733
  'in'
7699
7734
  ].includes(op.operator); // TODO: Guppy does not support excludes
7735
+ const isOperandsObject = (obj)=>{
7736
+ return !!obj && // Ensure obj is not null or undefined
7737
+ typeof obj === 'object' && 'operands' in obj && Array.isArray(obj.operands);
7738
+ };
7739
+ const isFacetEmpty = (op)=>{
7740
+ return isOperandsObject(op) && op.operands.length === 0;
7741
+ };
7700
7742
  /**
7701
7743
  * Exact value facet component
7702
7744
  * @param field - field to facet on
@@ -7727,7 +7769,7 @@ const instanceOfIncludesExcludes$1 = (op)=>[
7727
7769
  facetDataValues?.data
7728
7770
  ]);
7729
7771
  useDeepCompareEffect(()=>{
7730
- if (!facetValue) {
7772
+ if (!facetValue || isFacetEmpty(facetValue)) {
7731
7773
  setSelectedValues([]);
7732
7774
  } else if (instanceOfIncludesExcludes$1(facetValue)) {
7733
7775
  const filters = facetValue.operands.map((x)=>x.toString());
@@ -7738,26 +7780,9 @@ const instanceOfIncludesExcludes$1 = (op)=>[
7738
7780
  ]);
7739
7781
  useDeepCompareEffect(()=>{
7740
7782
  const setValues = (values)=>{
7741
- if (values.length > 0) {
7742
- if (facetValue && instanceOfIncludesExcludes$1(facetValue)) {
7743
- // updating facet value
7744
- updateFacetFilters(field, {
7745
- ...facetValue,
7746
- operands: values
7747
- });
7748
- }
7749
- if (facetValue === undefined) {
7750
- // TODO: Assuming Includes by default but this might change to Include|Excludes
7751
- updateFacetFilters(field, {
7752
- operator: 'in',
7753
- field: field,
7754
- operands: values
7755
- });
7756
- }
7757
- } else {
7758
- clearFilters(field);
7759
- }
7783
+ updateFacetEnum(field, values, updateFacetFilters, clearFilters);
7760
7784
  };
7785
+ console.log('selectedValues: ', selectedValues);
7761
7786
  setValues(selectedValues);
7762
7787
  }, [
7763
7788
  selectedValues
@@ -7818,17 +7843,25 @@ const instanceOfIncludesExcludes$1 = (op)=>[
7818
7843
  children: /*#__PURE__*/ jsx(MultiSelect, {
7819
7844
  "data-testid": "multiselect-add-filter-value",
7820
7845
  size: "sm",
7821
- placeholder: `Enter ${facetTitle}`,
7822
- classNames: {
7823
- root: 'grow',
7824
- input: 'border-r-0 rounded-r-none py-1'
7846
+ comboboxProps: {
7847
+ shadow: 'md'
7825
7848
  },
7849
+ placeholder: `Enter ${facetTitle}`,
7826
7850
  "aria-label": "enter value to add filter",
7827
7851
  value: selectedValues,
7828
7852
  onChange: setSelectedValues,
7829
7853
  data: dataValues,
7854
+ limit: 10,
7830
7855
  searchable: true,
7831
- maxDropdownHeight: 200
7856
+ hidePickedOptions: true,
7857
+ withScrollArea: false,
7858
+ styles: {
7859
+ dropdown: {
7860
+ maxHeight: 200,
7861
+ overflowY: 'auto'
7862
+ }
7863
+ },
7864
+ mt: "md"
7832
7865
  })
7833
7866
  })
7834
7867
  ]
@@ -8052,7 +8085,7 @@ const FiltersPanel = ({ fields, dataFunctions, valueLabel })=>{
8052
8085
  "data-testid": "filters-facets",
8053
8086
  className: "flex flex-col gap-y-4 h-full overflow-y-scroll px-4 w-full",
8054
8087
  children: fields.map((facetDefinition)=>{
8055
- return createFacetCard(facetDefinition, valueLabel, dataFunctions[facetDefinition.type], 'filters-panel', undefined, false, facetDefinition.label, 'w-64');
8088
+ return createFacetCard(facetDefinition, valueLabel, dataFunctions[facetDefinition.type], 'filters-panel', undefined, false, facetDefinition.label, 'w-80');
8056
8089
  })
8057
8090
  });
8058
8091
  };
@@ -10073,7 +10106,7 @@ const SinglePanel = ({ filters, tabTitle, facetDefinitions, facetDataHooks })=>{
10073
10106
  const [facetDefinitions, setFacetDefinitions] = useState({});
10074
10107
  const [summaryCharts, setSummaryCharts] = useState({});
10075
10108
  const cohortFilters = useCoreSelector((state)=>selectIndexFilters(state, index));
10076
- const { data, isSuccess, isError: isAggsQueryError } = useGetAggsQuery({
10109
+ const { data, isSuccess, isFetching: isAggsQueryFetching, isError: isAggsQueryError } = useGetAggsQuery({
10077
10110
  type: index,
10078
10111
  fields: fields,
10079
10112
  filters: cohortFilters
@@ -10189,6 +10222,9 @@ const SinglePanel = ({ filters, tabTitle, facetDefinitions, facetDataHooks })=>{
10189
10222
  return /*#__PURE__*/ jsxs("div", {
10190
10223
  className: "flex mt-3 relative",
10191
10224
  children: [
10225
+ /*#__PURE__*/ jsx(LoadingOverlay, {
10226
+ visible: isAggsQueryFetching
10227
+ }),
10192
10228
  /*#__PURE__*/ jsx("div", {
10193
10229
  children: filters?.tabs === undefined ? null : filters?.tabs.length > 1 ? /*#__PURE__*/ jsx(TabbedPanel, {
10194
10230
  filters: filters,
@@ -12268,7 +12304,7 @@ const DefaultRendererCatalog = {
12268
12304
  radarComparison: RadarComparison
12269
12305
  }
12270
12306
  };
12271
- const DiversityChartsFactory = ()=>{
12307
+ const CohortSimilarityChartsFactory = ()=>{
12272
12308
  if (!instance) {
12273
12309
  instance = new RenderFactoryTypedInstance();
12274
12310
  instance.registerRendererCatalog(DefaultRendererCatalog);
@@ -12276,7 +12312,7 @@ const DiversityChartsFactory = ()=>{
12276
12312
  return instance;
12277
12313
  };
12278
12314
 
12279
- DiversityChartsFactory();
12315
+ CohortSimilarityChartsFactory();
12280
12316
  const generateChart = (groundData, groundLabel, comparisonData, comparisonLabel, field, config, showTitle = true)=>{
12281
12317
  // Check if the field exists in the datasets
12282
12318
  if (!(field in groundData) || !(field in comparisonData)) {
@@ -12285,7 +12321,7 @@ const generateChart = (groundData, groundLabel, comparisonData, comparisonLabel,
12285
12321
  children: "Error: Data field missing"
12286
12322
  });
12287
12323
  }
12288
- const chartRenderer = DiversityChartsFactory().getRenderer('comparison', config.chartType);
12324
+ const chartRenderer = CohortSimilarityChartsFactory().getRenderer('comparison', config.chartType);
12289
12325
  // Check if renderer is the DefaultItemRenderer to log a warning
12290
12326
  if (chartRenderer === DefaultComparisonChart) {
12291
12327
  console.warn(`No specific renderer found for ${config.chartType}. Using default renderer.`);
@@ -12652,7 +12688,7 @@ const ComparisonCharts = ({ ground, groundLabel, comparison, comparisonLabel, co
12652
12688
  return result;
12653
12689
  };
12654
12690
 
12655
- const getStaticDiversityData = (dataset)=>{
12691
+ const getStaticSimilarityData = (dataset)=>{
12656
12692
  return convertToAggregateData({
12657
12693
  census: {
12658
12694
  age_at_index: {
@@ -12710,7 +12746,7 @@ const convertToValidJSON = (inputString)=>{
12710
12746
  cleanedString = cleanedString.replace(/'/g, '"');
12711
12747
  return cleanedString;
12712
12748
  };
12713
- const createDiversityQuery = (fields = {
12749
+ const createSimilarityQuery = (fields = {
12714
12750
  age_at_index: 'age_at_index',
12715
12751
  sex: 'sex',
12716
12752
  ethnicity: 'ethnicity',
@@ -12985,9 +13021,9 @@ const createDiversityQuery = (fields = {
12985
13021
  };
12986
13022
  };
12987
13023
 
12988
- const CohortDiversityApp = (config)=>{
12989
- const groundDataset = getStaticDiversityData(config.datasets.ground.dataset);
12990
- const gqlQuery = createDiversityQuery(); // TODO: add field mapping
13024
+ const CohortSimilarityApp = (config)=>{
13025
+ const groundDataset = getStaticSimilarityData(config.datasets.ground.dataset);
13026
+ const gqlQuery = createSimilarityQuery(); // TODO: add field mapping
12991
13027
  const { data: rawComparisonDataset, isLoading: isComparisonLoading, isError: isComparisonError } = useGeneralGQLQuery({
12992
13028
  query: gqlQuery.query,
12993
13029
  variables: JSON.parse(gqlQuery.variables)
@@ -13004,7 +13040,7 @@ const CohortDiversityApp = (config)=>{
13004
13040
  ]);
13005
13041
  if (isComparisonError) {
13006
13042
  return /*#__PURE__*/ jsx(ErrorCard, {
13007
- message: 'Unable to get data need for Cohort Diversity'
13043
+ message: 'Unable to get data need for Cohort Similarity'
13008
13044
  });
13009
13045
  }
13010
13046
  if (isComparisonLoading) {
@@ -13016,12 +13052,12 @@ const CohortDiversityApp = (config)=>{
13016
13052
  classNames: {
13017
13053
  root: 'w-full m-4 mb-2'
13018
13054
  },
13019
- "aria-label": "Main Content of Cohort Diversity App",
13055
+ "aria-label": "Main Content of Cohort Similarity App",
13020
13056
  children: [
13021
13057
  /*#__PURE__*/ jsx(Title, {
13022
13058
  order: 1,
13023
13059
  size: "h3",
13024
- children: "Cohort Diversity Visualization"
13060
+ children: "Cohort Similarity Visualization"
13025
13061
  }),
13026
13062
  /*#__PURE__*/ jsx(Accordion, {
13027
13063
  variant: "filled",
@@ -13071,13 +13107,13 @@ const CohortDiversityApp = (config)=>{
13071
13107
  });
13072
13108
  };
13073
13109
 
13074
- const { appApi: diversityApi, appStore, appContext } = createAppApiForRTKQ('cohortDiversity');
13110
+ const { appApi: cohortSimilarityApi, appStore, appContext } = createAppApiForRTKQ('cohortSimilarity');
13075
13111
 
13076
- const _APP_NAME$1 = 'CohortDiversity'; // This wil be the route name of the app
13112
+ const _APP_NAME$1 = 'CohortSimilarity'; // This wil be the route name of the app
13077
13113
  const _APP_VERSION = '1.0.0';
13078
13114
  const AppId = getGen3AppId(_APP_NAME$1, _APP_VERSION);
13079
- const registerCohortDiversityApp = ()=>createGen3AppWithOwnStore({
13080
- App: CohortDiversityApp,
13115
+ const registerCohortSimilarityApp = ()=>createGen3AppWithOwnStore({
13116
+ App: CohortSimilarityApp,
13081
13117
  name: _APP_NAME$1,
13082
13118
  version: 'v1.0.0',
13083
13119
  id: AppId,
@@ -15138,19 +15174,12 @@ const getStatus = (expiration, now)=>{
15138
15174
  header: 'Actions',
15139
15175
  Cell: ({ row })=>/*#__PURE__*/ jsx("div", {
15140
15176
  className: "flex items-center",
15141
- children: row.original.actions === 'delete' ? /*#__PURE__*/ jsx(ActionIcon, {
15177
+ children: /*#__PURE__*/ jsx(ActionIcon, {
15142
15178
  onClick: ()=>removeCredential({
15143
15179
  csrfToken: csrfToken?.csrfToken,
15144
15180
  id: row.original.key
15145
15181
  }),
15146
15182
  children: /*#__PURE__*/ jsx(MdDelete, {})
15147
- }) : /*#__PURE__*/ jsxs("span", {
15148
- children: [
15149
- ' ',
15150
- /*#__PURE__*/ jsx(LuRefreshCw, {}),
15151
- " ",
15152
- /*#__PURE__*/ jsx(MdDelete, {})
15153
- ]
15154
15183
  })
15155
15184
  })
15156
15185
  }
@@ -15393,18 +15422,18 @@ const ResourceBadge = ({ resource, serviceBadgeStyle, defaultColor = 'primary' }
15393
15422
  * Open a new window for authentication.
15394
15423
  * @param url - URL to open
15395
15424
  * @param title - Title of the window
15396
- */ const openAuthWindow = (url, title)=>{
15425
+ * @param refetch - refetch the external status if successful
15426
+ */ const openAuthWindow = (url, title, refetch)=>{
15397
15427
  const pollInterval = 500;
15398
15428
  return new Promise((resolve, reject)=>{
15399
15429
  if (window.navigator.cookieEnabled) {
15430
+ const width = Math.max(1024, window.innerWidth / 2);
15431
+ const height = Math.max(1024, window.innerHeight / 2);
15400
15432
  const dualScreenLeft = window.screenLeft ?? window.screenX;
15401
15433
  const dualScreenTop = window.screenTop ?? window.screenY;
15402
- const width = window.innerWidth ?? document.documentElement.clientWidth ?? screen.width;
15403
- const height = window.innerHeight ?? document.documentElement.clientHeight ?? screen.height;
15404
- const systemZoom = width / window.screen.availWidth;
15405
- const left = (width - 500) / 2 / systemZoom + dualScreenLeft;
15406
- const top = (height - 550) / 2 / systemZoom + dualScreenTop;
15407
- const win = window.open(url, title, `width=${500 / systemZoom},height=${550 / systemZoom},top=${top},left=${left}`);
15434
+ const left = dualScreenLeft + (window.innerWidth - width) / 2;
15435
+ const top = dualScreenTop + (window.innerHeight - height) / 2;
15436
+ const win = window.open(url, title, `width=${width},height=${height},left=${left},top=${top}`);
15408
15437
  if (!win) {
15409
15438
  reject('Popup blocked');
15410
15439
  return;
@@ -15423,9 +15452,11 @@ const ResourceBadge = ({ resource, serviceBadgeStyle, defaultColor = 'primary' }
15423
15452
  reject('login_error');
15424
15453
  return;
15425
15454
  }
15455
+ refetch();
15426
15456
  resolve('success');
15427
15457
  }
15428
- } catch (err) {
15458
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
15459
+ } catch (_err) {
15429
15460
  // We just want to catch it and not reject it. Rejecting the promise leads to unexpected behavior
15430
15461
  // where the logged-in status isn't reflected immediately as the program moves ahead w/o users
15431
15462
  // having a chance to log in, requiring a manual screen refresh to update. By catching errors
@@ -15440,7 +15471,7 @@ const ResourceBadge = ({ resource, serviceBadgeStyle, defaultColor = 'primary' }
15440
15471
  }
15441
15472
  });
15442
15473
  };
15443
- const ExternalProviderCard = ({ provider })=>{
15474
+ const ExternalProviderCard = ({ provider, refetch })=>{
15444
15475
  const [loading, handler] = useDisclosure();
15445
15476
  return /*#__PURE__*/ jsxs(Card, {
15446
15477
  withBorder: true,
@@ -15534,7 +15565,7 @@ const ExternalProviderCard = ({ provider })=>{
15534
15565
  onClick: async ()=>{
15535
15566
  const queryChar = providerUrl.url.includes('?') ? '&' : '?';
15536
15567
  handler.open();
15537
- openAuthWindow(`${providerUrl.url}${queryChar}redirect=${window.location.pathname}`, provider.name).finally(()=>{
15568
+ openAuthWindow(`${providerUrl.url}${queryChar}redirect=${window.location.pathname}`, provider.name, refetch).finally(()=>{
15538
15569
  handler.close();
15539
15570
  });
15540
15571
  },
@@ -15557,9 +15588,10 @@ const ExternalProviderCard = ({ provider })=>{
15557
15588
  };
15558
15589
 
15559
15590
  const ExternalProvidersPanel = ()=>{
15560
- const { data: externalProviders, isLoading, isError, isSuccess } = useGetExternalLoginsQuery();
15591
+ const { data: externalProviders, isLoading, isError, isSuccess, refetch } = useGetExternalLoginsQuery();
15561
15592
  const providerCards = useMemo(()=>externalProviders ? externalProviders.providers.map((provider)=>/*#__PURE__*/ jsx(ExternalProviderCard, {
15562
- provider: provider
15593
+ provider: provider,
15594
+ refetch: refetch
15563
15595
  }, provider.base_url)) : null, [
15564
15596
  externalProviders
15565
15597
  ]);
@@ -19213,7 +19245,7 @@ const DataSetContentsTable = ({ listId, data, removeList, size = 'sm' })=>{
19213
19245
  listId: listId,
19214
19246
  data: rowData?.files
19215
19247
  }),
19216
- rowData.additionalData.length > 0 && /*#__PURE__*/ jsx(AdditionalDataTableTable, {
19248
+ rowData?.additionalData.length > 0 && /*#__PURE__*/ jsx(AdditionalDataTableTable, {
19217
19249
  header: 'Additional Data',
19218
19250
  data: rowData?.additionalData
19219
19251
  }),
@@ -20073,5 +20105,5 @@ async function credentialsLogout(req, res) {
20073
20105
  res.redirect(307, '/');
20074
20106
  }
20075
20107
 
20076
- export { AISearchPageGetServerSideProps, AdminAuthZPageGetServerSideProps, AiSearch, AISearchPage as AiSearchPage, AnalysisCenter, AnalysisEditorPage, AnalysisEditorPageGetServerSideProps, AnalysisPage, AnalysisPageGetServerSideProps, AuthzPage, BaseModal, Charts, CohortBuilder, ColorThemePage, ColorThemePageGetServerSideProps, ContentSource, CreateCredentialsAPIKeyModal, CrosswalkPage, CrosswalkPageGetServerSideProps, Custom404Page, DataLibraryPage, DataLibraryPageGetServerSideProps, DictionaryPage, DictionaryPageGetServerSideProps, DiscoveryCellRendererFactory, DiscoveryProvider as DiscoveryConfigProvider, DiscoveryIndexPanel, DiscoveryPage, DiscoveryPageGetServerSideProps, DiscoveryRowRendererFactory, EnumFacetChart, ErrorCard, ExplorerPage, ExplorerPageGetServerSideProps, ExplorerTableCellRendererFactory, ExplorerTableDetailsPanelFactory, FirstTimeModal, Footer, Gen3Link, Gen3ModalsProvider, Gen3Provider, GqlQueryEditor$1 as GqlQueryEditor, Header, HoverLink, LandingPage, LandingPageGetStaticProps, LoginButton, LoginPage, LoginPageGetServerSideProps, LoginPanel, LoginProvidersPanel, MinutesToMilliseconds, NavPageLayout, NavigationBar, NavigationButton, NoAccessModal, NotebookLitePage, NotebookLitePageGetStaticProps, ProfilePage, ProfilePageGetServerSideProps, ProfileProvider, ProtectedContent, QueryPage, QueryPageGetServerSideProps, ReactECharts, ResourcesFilters, SPECIAL_CASE_FIELDS, SessionExpiredModal, StudyGroup, SubmissionPage, SubmissionPageGetServerSideProps, TagCloud, TailwindConfig, User, Workspace, WorkspaceNoAccessPage, WorkspaceNoAccessPageServerSideProps, WorkspacePage, WorkspacePageGetServerSideProps, capitalize, computeRowSpan, convertMinutesToMilliseconds, convertSecondsToMilliseconds, create10ColorAccessibleContrast, create10ColorPallet, createMantineTheme, credentialsLogin, credentialsLogout, extractObjectKey, focusStyles, getCurrentUnixTimestamp, getNavPageLayoutPropsFromConfig, getParamsValueAsString, getTagInfo, hasOwnProperty, isArrayOfString, isPropertyKey, isTextTransform$1 as isTextTransform, processLabel$1 as processLabel, processRangeKeyLabel, registerCohortBuilderDefaultPreviewRenderers, registerCohortDiscoveryApp, registerCohortDiversityApp, registerDefaultDiscoveryDataLoaders, registerDiscoveryDefaultCellRenderers, registerDiscoveryDefaultStudyPreviewRenderers, registerExplorerDefaultCellRenderers, registerMetadataSchemaApp, removeKey$1 as removeKey, resourcePathFromProjectID, sessionLogout, sessionToken, stripTrailingSlash, toDisplayName, truncateString, unixTimeToString, useDiscoveryContext, userHasMethodForServiceOnResource$1 as userHasMethodForServiceOnResource };
20108
+ export { AISearchPageGetServerSideProps, AdminAuthZPageGetServerSideProps, AiSearch, AISearchPage as AiSearchPage, AnalysisCenter, AnalysisEditorPage, AnalysisEditorPageGetServerSideProps, AnalysisPage, AnalysisPageGetServerSideProps, AuthzPage, BaseModal, Charts, CohortBuilder, ColorThemePage, ColorThemePageGetServerSideProps, ContentSource, CreateCredentialsAPIKeyModal, CrosswalkPage, CrosswalkPageGetServerSideProps, Custom404Page, DataLibraryPage, DataLibraryPageGetServerSideProps, DictionaryPage, DictionaryPageGetServerSideProps, DiscoveryCellRendererFactory, DiscoveryProvider as DiscoveryConfigProvider, DiscoveryIndexPanel, DiscoveryPage, DiscoveryPageGetServerSideProps, DiscoveryRowRendererFactory, EnumFacetChart, ErrorCard, ExplorerPage, ExplorerPageGetServerSideProps, ExplorerTableCellRendererFactory, ExplorerTableDetailsPanelFactory, FirstTimeModal, Footer, Gen3Link, Gen3ModalsProvider, Gen3Provider, GqlQueryEditor$1 as GqlQueryEditor, Header, HoverLink, LandingPage, LandingPageGetStaticProps, LoginButton, LoginPage, LoginPageGetServerSideProps, LoginPanel, LoginProvidersPanel, MinutesToMilliseconds, NavPageLayout, NavigationBar, NavigationButton, NoAccessModal, NotebookLitePage, NotebookLitePageGetStaticProps, ProfilePage, ProfilePageGetServerSideProps, ProfileProvider, ProtectedContent, QueryPage, QueryPageGetServerSideProps, ReactECharts, ResourcesFilters, SPECIAL_CASE_FIELDS, SessionExpiredModal, StudyGroup, SubmissionPage, SubmissionPageGetServerSideProps, TagCloud, TailwindConfig, User, Workspace, WorkspaceNoAccessPage, WorkspaceNoAccessPageServerSideProps, WorkspacePage, WorkspacePageGetServerSideProps, capitalize, computeRowSpan, convertMinutesToMilliseconds, convertSecondsToMilliseconds, create10ColorAccessibleContrast, create10ColorPallet, createMantineTheme, credentialsLogin, credentialsLogout, extractObjectKey, focusStyles, getCurrentUnixTimestamp, getNavPageLayoutPropsFromConfig, getParamsValueAsString, getTagInfo, hasOwnProperty, isArrayOfString, isPropertyKey, isTextTransform$1 as isTextTransform, processLabel$1 as processLabel, processRangeKeyLabel, registerCohortBuilderDefaultPreviewRenderers, registerCohortDiscoveryApp, registerCohortSimilarityApp, registerDefaultDiscoveryDataLoaders, registerDiscoveryDefaultCellRenderers, registerDiscoveryDefaultStudyPreviewRenderers, registerExplorerDefaultCellRenderers, registerMetadataSchemaApp, removeKey$1 as removeKey, resourcePathFromProjectID, sessionLogout, sessionToken, stripTrailingSlash, toDisplayName, truncateString, unixTimeToString, useDiscoveryContext, userHasMethodForServiceOnResource$1 as userHasMethodForServiceOnResource };
20077
20109
  //# sourceMappingURL=index.js.map