@rivm-loculus-tools/common-frontend 0.2.0 → 0.4.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 (147) hide show
  1. package/dist/_chunks/EmotionCacheService.js +33 -0
  2. package/dist/_chunks/EmotionCacheService.js.map +1 -0
  3. package/dist/_chunks/decorate.js +9 -0
  4. package/dist/classes/services/EmotionCacheService/EmotionCacheService.d.ts +7 -0
  5. package/dist/classes/services/EmotionCacheService/index.d.ts +1 -0
  6. package/dist/classes/services/EmotionCacheService/index.js +1 -0
  7. package/dist/classes/services/FastaDataEventBusService/FastaDataEventBusService.d.ts +1 -3
  8. package/dist/classes/services/FastaDataEventBusService/index.js +6 -8
  9. package/dist/classes/services/FastaDataEventBusService/index.js.map +1 -1
  10. package/dist/components/app/App/App.d.ts +6 -0
  11. package/dist/components/app/App/index.d.ts +1 -0
  12. package/dist/components/app/App/index.js +104 -0
  13. package/dist/components/app/App/index.js.map +1 -0
  14. package/dist/{_chunks/FastaDataImportDialog.js → components/fasta/FastaDataImportDialog/index.js} +3 -3
  15. package/dist/components/fasta/FastaDataImportDialog/index.js.map +1 -0
  16. package/dist/components/{FastaDataImportDialogLoader → fasta/FastaDataImportDialogLoader}/FastaDataImportDialogLoader.d.ts +2 -2
  17. package/dist/components/fasta/FastaDataImportDialogLoader/index.js +71 -0
  18. package/dist/components/fasta/FastaDataImportDialogLoader/index.js.map +1 -0
  19. package/dist/components/fasta/FastaNotLoaded/index.js +54 -0
  20. package/dist/components/fasta/FastaNotLoaded/index.js.map +1 -0
  21. package/dist/components/{FastaPageHeaderCenterComponent → fasta/FastaPageHeaderCenterComponent}/FastaPageHeaderCenterComponent.d.ts +1 -1
  22. package/dist/components/{FastaPageHeaderCenterComponent → fasta/FastaPageHeaderCenterComponent}/index.js +2 -2
  23. package/dist/components/fasta/FastaPageHeaderCenterComponent/index.js.map +1 -0
  24. package/dist/components/fasta/FastaPageHeaderImportButton/index.js +27 -0
  25. package/dist/components/fasta/FastaPageHeaderImportButton/index.js.map +1 -0
  26. package/dist/components/{FastaPageHeaderResetButton → fasta/FastaPageHeaderResetButton}/index.js +1 -1
  27. package/dist/components/fasta/FastaPageHeaderResetButton/index.js.map +1 -0
  28. package/dist/components/ui/ButtonWithMenu/ButtonWithMenu.d.ts +12 -0
  29. package/dist/components/ui/ButtonWithMenu/index.d.ts +1 -0
  30. package/dist/components/ui/ButtonWithMenu/index.js +47 -0
  31. package/dist/components/ui/ButtonWithMenu/index.js.map +1 -0
  32. package/dist/components/ui/GenericErrorMessage/GenericErrorMessage.d.ts +4 -0
  33. package/dist/components/ui/GenericErrorMessage/index.d.ts +1 -0
  34. package/dist/components/ui/GenericErrorMessage/index.js +44 -0
  35. package/dist/components/ui/GenericErrorMessage/index.js.map +1 -0
  36. package/dist/components/ui/I18nWrapper/index.js +21 -0
  37. package/dist/components/ui/I18nWrapper/index.js.map +1 -0
  38. package/dist/components/ui/PageCommon/PageCommon.d.ts +7 -0
  39. package/dist/components/ui/PageCommon/index.d.ts +1 -0
  40. package/dist/components/ui/PageCommon/index.js +55 -0
  41. package/dist/components/ui/PageCommon/index.js.map +1 -0
  42. package/dist/components/ui/PageCommonDrawer/index.d.ts +1 -0
  43. package/dist/components/ui/PageCommonDrawer/index.js +30 -0
  44. package/dist/components/ui/PageCommonDrawer/index.js.map +1 -0
  45. package/dist/components/{page → ui/PageCommonHeader}/PageCommonHeader.d.ts +1 -2
  46. package/dist/components/ui/PageCommonHeader/index.d.ts +1 -0
  47. package/dist/components/ui/PageCommonHeader/index.js +107 -0
  48. package/dist/components/ui/PageCommonHeader/index.js.map +1 -0
  49. package/dist/constants/config.constants.d.ts +9 -0
  50. package/dist/constants/config.constants.js +6 -0
  51. package/dist/constants/config.constants.js.map +1 -0
  52. package/dist/constants/page.constants.js +6 -0
  53. package/dist/constants/page.constants.js.map +1 -0
  54. package/dist/context/commonConfigContext/CommonConfigContext.d.ts +9 -0
  55. package/dist/context/commonConfigContext/CommonConfigContextProvider.d.ts +6 -0
  56. package/dist/context/commonConfigContext/index.d.ts +3 -0
  57. package/dist/context/commonConfigContext/index.js +34 -0
  58. package/dist/context/commonConfigContext/index.js.map +1 -0
  59. package/dist/context/commonConfigContext/useCommonConfigContext.d.ts +3 -0
  60. package/dist/context/pageCommonContext/PageCommonContext.d.ts +17 -0
  61. package/dist/context/pageCommonContext/PageCommonContextProvider.d.ts +4 -0
  62. package/dist/context/pageCommonContext/index.d.ts +2 -0
  63. package/dist/context/pageCommonContext/index.js +26 -0
  64. package/dist/context/pageCommonContext/index.js.map +1 -0
  65. package/dist/hooks/useConfig/index.d.ts +1 -0
  66. package/dist/hooks/useConfig/index.js +7 -0
  67. package/dist/hooks/useConfig/index.js.map +1 -0
  68. package/dist/hooks/useConfig/useConfig.d.ts +2 -0
  69. package/dist/hooks/useUpdateDocumentTitle/index.d.ts +1 -0
  70. package/dist/hooks/useUpdateDocumentTitle/index.js +13 -0
  71. package/dist/hooks/useUpdateDocumentTitle/index.js.map +1 -0
  72. package/dist/hooks/useUpdateDocumentTitle/useUpdateDocumentTitle.d.ts +1 -0
  73. package/dist/models/config.models.d.ts +16 -0
  74. package/dist/models/{fasta.js → fasta.models.js} +2 -2
  75. package/dist/models/fasta.models.js.map +1 -0
  76. package/dist/models/metadata.models.js +0 -0
  77. package/dist/pages/ErrorPage/ErrorPage.d.ts +4 -0
  78. package/dist/pages/ErrorPage/index.d.ts +1 -0
  79. package/dist/pages/ErrorPage/index.js +17 -0
  80. package/dist/pages/ErrorPage/index.js.map +1 -0
  81. package/dist/stores/fastaDataStore/fastaDataStore.d.ts +2 -2
  82. package/dist/stores/fastaDataStore/index.js +17 -15
  83. package/dist/stores/fastaDataStore/index.js.map +1 -1
  84. package/dist/theme/index.js +17 -17
  85. package/dist/theme/index.js.map +1 -1
  86. package/dist/utils/DependencyContainerUtil/DependencyContainerUtil.d.ts +6 -0
  87. package/dist/utils/DependencyContainerUtil/index.d.ts +1 -0
  88. package/dist/utils/DependencyContainerUtil/index.js +18 -0
  89. package/dist/utils/DependencyContainerUtil/index.js.map +1 -0
  90. package/dist/utils/ExportUtil/ExportUtil.d.ts +6 -0
  91. package/dist/utils/ExportUtil/index.d.ts +1 -0
  92. package/dist/utils/ExportUtil/index.js +42 -0
  93. package/dist/utils/ExportUtil/index.js.map +1 -0
  94. package/dist/utils/FastaUtil/FastaUtil.d.ts +1 -1
  95. package/dist/utils/FastaUtil/index.js.map +1 -1
  96. package/dist/utils/MetaDataUtil/MetaDataUtil.d.ts +1 -1
  97. package/dist/utils/MetaDataUtil/index.js.map +1 -1
  98. package/dist/utils/StandardConfigUtil/StandardConfigUtil.d.ts +4 -0
  99. package/dist/utils/StandardConfigUtil/index.d.ts +1 -0
  100. package/dist/utils/StandardConfigUtil/index.js +18 -0
  101. package/dist/utils/StandardConfigUtil/index.js.map +1 -0
  102. package/dist/utils/UrlUtil/index.js +6 -5
  103. package/dist/utils/UrlUtil/index.js.map +1 -1
  104. package/package.json +111 -47
  105. package/dist/_chunks/FastaDataImportDialog.js.map +0 -1
  106. package/dist/components/FastaDataImportDialog/index.js +0 -1
  107. package/dist/components/FastaDataImportDialogLoader/index.js +0 -70
  108. package/dist/components/FastaDataImportDialogLoader/index.js.map +0 -1
  109. package/dist/components/FastaNotLoaded/index.js +0 -53
  110. package/dist/components/FastaNotLoaded/index.js.map +0 -1
  111. package/dist/components/FastaPageHeaderCenterComponent/index.js.map +0 -1
  112. package/dist/components/FastaPageHeaderImportButton/index.js +0 -26
  113. package/dist/components/FastaPageHeaderImportButton/index.js.map +0 -1
  114. package/dist/components/FastaPageHeaderResetButton/index.js.map +0 -1
  115. package/dist/components/I18nWrapper/index.js +0 -21
  116. package/dist/components/I18nWrapper/index.js.map +0 -1
  117. package/dist/components/PageHeaderDocumentationButton/PageHeaderDocumentationButton.d.ts +0 -1
  118. package/dist/components/PageHeaderDocumentationButton/index.d.ts +0 -1
  119. package/dist/components/PageHeaderDocumentationButton/index.js +0 -24
  120. package/dist/components/PageHeaderDocumentationButton/index.js.map +0 -1
  121. package/dist/components/page/ErrorPageCommon.d.ts +0 -4
  122. package/dist/components/page/PageCommon.d.ts +0 -8
  123. package/dist/components/page/PageCommonContext.d.ts +0 -7
  124. package/dist/components/page/PageCommonContextProvider.d.ts +0 -3
  125. package/dist/components/page/index.d.ts +0 -6
  126. package/dist/components/page/index.js +0 -207
  127. package/dist/components/page/index.js.map +0 -1
  128. package/dist/constants/page.js +0 -6
  129. package/dist/constants/page.js.map +0 -1
  130. package/dist/models/fasta.js.map +0 -1
  131. /package/dist/components/{FastaDataImportDialog → fasta/FastaDataImportDialog}/FastaDataImportDialog.d.ts +0 -0
  132. /package/dist/components/{FastaDataImportDialog → fasta/FastaDataImportDialog}/index.d.ts +0 -0
  133. /package/dist/components/{FastaDataImportDialogLoader → fasta/FastaDataImportDialogLoader}/index.d.ts +0 -0
  134. /package/dist/components/{FastaNotLoaded → fasta/FastaNotLoaded}/FastaNotLoaded.d.ts +0 -0
  135. /package/dist/components/{FastaNotLoaded → fasta/FastaNotLoaded}/index.d.ts +0 -0
  136. /package/dist/components/{FastaPageHeaderCenterComponent → fasta/FastaPageHeaderCenterComponent}/index.d.ts +0 -0
  137. /package/dist/components/{FastaPageHeaderImportButton → fasta/FastaPageHeaderImportButton}/FastaPageHeaderImportButton.d.ts +0 -0
  138. /package/dist/components/{FastaPageHeaderImportButton → fasta/FastaPageHeaderImportButton}/index.d.ts +0 -0
  139. /package/dist/components/{FastaPageHeaderResetButton → fasta/FastaPageHeaderResetButton}/FastaPageHeaderResetButton.d.ts +0 -0
  140. /package/dist/components/{FastaPageHeaderResetButton → fasta/FastaPageHeaderResetButton}/index.d.ts +0 -0
  141. /package/dist/components/{I18nWrapper → ui/I18nWrapper}/I18nWrapper.d.ts +0 -0
  142. /package/dist/components/{I18nWrapper → ui/I18nWrapper}/index.d.ts +0 -0
  143. /package/dist/components/{page → ui/PageCommonDrawer}/PageCommonDrawer.d.ts +0 -0
  144. /package/dist/constants/{page.d.ts → page.constants.d.ts} +0 -0
  145. /package/dist/models/{metadata.js → config.models.js} +0 -0
  146. /package/dist/models/{fasta.d.ts → fasta.models.d.ts} +0 -0
  147. /package/dist/models/{metadata.d.ts → metadata.models.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ export * from './ErrorPage';
@@ -0,0 +1,17 @@
1
+ import { GenericErrorMessage as e } from "../../components/ui/GenericErrorMessage/index.js";
2
+ import { PageCommon as t } from "../../components/ui/PageCommon/index.js";
3
+ import { useTranslation as n } from "react-i18next";
4
+ import { jsx as r } from "react/jsx-runtime";
5
+ //#region src/pages/ErrorPage/ErrorPage.tsx
6
+ var i = ({ error: i }) => {
7
+ let { t: a } = n();
8
+ return /* @__PURE__ */ r(t, {
9
+ isNoInteraction: !0,
10
+ title: a`Error`,
11
+ children: /* @__PURE__ */ r(e, { error: i })
12
+ });
13
+ };
14
+ //#endregion
15
+ export { i as ErrorPage };
16
+
17
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["ErrorPage","useTranslation","PageCommon","GenericErrorMessage"],"sources":["../../../src/pages/ErrorPage/ErrorPage.tsx"],"sourcesContent":["import { useTranslation } from 'react-i18next';\n\nimport { GenericErrorMessage } from '../../components/ui/GenericErrorMessage';\nimport { PageCommon } from '../../components/ui/PageCommon';\n\nexport type ErrorPageProps = {\n readonly error?: unknown;\n};\n\nexport const ErrorPage = ({ error }: ErrorPageProps) => {\n const { t } = useTranslation();\n\n return (\n <PageCommon\n isNoInteraction\n title={t`Error`}\n >\n <GenericErrorMessage\n error={error}\n />\n </PageCommon>\n );\n};\n"],"mappings":";;;;;AASA,IAAaA,KAAa,EAAE,eAA4B;CACtD,IAAM,EAAE,SAAMC,EAAe;CAE7B,OACE,kBAACC,GAAD;EACE,iBAAA;EACA,OAAO,CAAC;EAER,UAAA,kBAACC,GAAD,EACS,SACR,CAAA;CACS,CAAA;AAEhB"}
@@ -1,6 +1,6 @@
1
1
  import { StoreApi } from 'zustand';
2
- import { FastaParseResult, LOADING_STATUS } from '../../models/fasta';
3
- import { MetadataParseResult } from '../../models/metadata';
2
+ import { FastaParseResult, LOADING_STATUS } from '../../models/fasta.models';
3
+ import { MetadataParseResult } from '../../models/metadata.models';
4
4
  export type FastaDataStore = FastaDataStoreActions & FastaDataStoreState;
5
5
  export interface FastaDataStoreActions {
6
6
  resetDataset: () => void;
@@ -1,6 +1,6 @@
1
1
  import { MetaDataUtil as e } from "../../utils/MetaDataUtil/index.js";
2
2
  import { FastaUtil as t } from "../../utils/FastaUtil/index.js";
3
- import { LOADING_STATUS as n } from "../../models/fasta.js";
3
+ import { LOADING_STATUS as n } from "../../models/fasta.models.js";
4
4
  //#region src/stores/fastaDataStore/fastaDataStore.ts
5
5
  var r = () => ({
6
6
  columnMatchCounts: {},
@@ -17,34 +17,36 @@ var r = () => ({
17
17
  resetDataset: () => s(r()),
18
18
  setColumnMatchCounts: (e) => s({ columnMatchCounts: e }),
19
19
  setData: async (r, i) => {
20
- let o = t.parseFasta(r);
21
- if (o.error) throw s({
22
- loadingError: o.error,
20
+ let { resetDataset: o } = a();
21
+ o();
22
+ let c = t.parseFasta(r);
23
+ if (c.error) throw s({
24
+ loadingError: c.error,
23
25
  loadingStatus: n.ERROR
24
- }), Error(o.error);
26
+ }), Error(c.error);
25
27
  s({
26
- parsedFasta: o,
28
+ parsedFasta: c,
27
29
  rawFasta: r
28
30
  });
29
- let c;
31
+ let l;
30
32
  if (i) {
31
- if (c = e.parseTsv(i), c.error) throw s({
32
- loadingError: c.error,
33
+ if (l = e.parseTsv(i), l.error) throw s({
34
+ loadingError: l.error,
33
35
  loadingStatus: n.ERROR
34
- }), Error(c.error);
36
+ }), Error(l.error);
35
37
  s({
36
- parsedMetadata: c,
38
+ parsedMetadata: l,
37
39
  rawMetadata: i
38
40
  });
39
- let t = o.sequences.map((e) => e.id), { bestColumn: r, matchCounts: l } = e.findBestMatchingColumn(c.columns, c.recordsByColumn, t);
40
- a().setColumnMatchCounts(l), a().setMatchKeyField(r);
41
+ let t = c.sequences.map((e) => e.id), { bestColumn: r, matchCounts: o } = e.findBestMatchingColumn(l.columns, l.recordsByColumn, t);
42
+ a().setColumnMatchCounts(o), a().setMatchKeyField(r);
41
43
  }
42
44
  return s({
43
45
  loadingError: null,
44
46
  loadingStatus: n.SUCCESS
45
47
  }), Promise.resolve({
46
- fastaResult: o,
47
- metadataResult: c
48
+ fastaResult: c,
49
+ metadataResult: l
48
50
  });
49
51
  },
50
52
  setLoadingStatus: (e) => s({ loadingStatus: e }),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["createFastaDataStoreInitialState","LOADING_STATUS","createFastaDataStoreActions","kwArgs","setBaseState","set","partial","counts","parsedFasta","FastaUtil","fasta","parsedMetadata","tsv","MetaDataUtil","fastaIds","s","get","matchCounts","bestColumn","status","field"],"sources":["../../../src/stores/fastaDataStore/fastaDataStore.ts"],"sourcesContent":["import type { StoreApi } from 'zustand';\n\nimport type { FastaParseResult } from '../../models/fasta';\nimport { LOADING_STATUS } from '../../models/fasta';\nimport type { MetadataParseResult } from '../../models/metadata';\nimport { FastaUtil } from '../../utils/FastaUtil';\nimport { MetaDataUtil } from '../../utils/MetaDataUtil';\n\nexport type FastaDataStore = FastaDataStoreActions & FastaDataStoreState;\n\nexport interface FastaDataStoreActions {\n resetDataset: () => void;\n setColumnMatchCounts: (counts: Record<string, number>) => void;\n setData: (fasta: string, tsv?: string) => Promise<{ fastaResult: FastaParseResult; metadataResult?: MetadataParseResult }>;\n setLoadingStatus: (status: LOADING_STATUS) => void;\n setMatchKeyField: (field: null | string) => void;\n}\n\nexport interface FastaDataStoreState {\n columnMatchCounts: Record<string, number>;\n loadingError: null | string;\n loadingStatus: LOADING_STATUS;\n matchKeyField: null | string;\n parsedFasta: FastaParseResult | null;\n parsedMetadata: MetadataParseResult | null;\n rawFasta: string;\n rawMetadata: string;\n}\n\nexport const createFastaDataStoreInitialState = (): FastaDataStoreState => ({\n columnMatchCounts: {},\n loadingError: null,\n loadingStatus: LOADING_STATUS.IDLE,\n matchKeyField: null,\n parsedFasta: null,\n parsedMetadata: null,\n rawFasta: '',\n rawMetadata: '',\n});\n\n\ntype Get<T extends FastaDataStore> = StoreApi<T>['getState'];\ntype Set<T extends FastaDataStore> = StoreApi<T>['setState'];\n\nexport const createFastaDataStoreActions = <T extends FastaDataStore>(kwArgs: { get: Get<T>; set: Set<T> }): FastaDataStoreActions => {\n const { get, set } = kwArgs;\n const setBaseState = (partial: Partial<FastaDataStoreState>) => set(partial as Partial<T>);\n\n return {\n resetDataset: () => setBaseState(createFastaDataStoreInitialState()),\n setColumnMatchCounts: (counts: Record<string, number>) => setBaseState({ columnMatchCounts: counts }),\n setData: async (fasta: string, tsv?: string) => {\n const parsedFasta = FastaUtil.parseFasta(fasta);\n\n if (parsedFasta.error) {\n setBaseState({\n loadingError: parsedFasta.error,\n loadingStatus: LOADING_STATUS.ERROR,\n });\n throw new Error(parsedFasta.error);\n }\n\n setBaseState({\n parsedFasta,\n rawFasta: fasta,\n });\n\n let parsedMetadata: MetadataParseResult | undefined;\n if (tsv) {\n parsedMetadata = MetaDataUtil.parseTsv(tsv);\n if (parsedMetadata.error) {\n setBaseState({\n loadingError: parsedMetadata.error,\n loadingStatus: LOADING_STATUS.ERROR,\n });\n throw new Error(parsedMetadata.error);\n }\n\n setBaseState({\n parsedMetadata,\n rawMetadata: tsv,\n });\n\n const fastaIds = parsedFasta.sequences.map((s) => s.id);\n const { bestColumn, matchCounts } = MetaDataUtil.findBestMatchingColumn(\n parsedMetadata.columns,\n parsedMetadata.recordsByColumn,\n fastaIds,\n );\n get().setColumnMatchCounts(matchCounts);\n get().setMatchKeyField(bestColumn);\n }\n\n setBaseState({\n loadingError: null,\n loadingStatus: LOADING_STATUS.SUCCESS,\n });\n return Promise.resolve({ fastaResult: parsedFasta, metadataResult: parsedMetadata });\n },\n setLoadingStatus: (status: LOADING_STATUS) => setBaseState({ loadingStatus: status }),\n setMatchKeyField: (field: null | string) => setBaseState({ matchKeyField: field }),\n };\n};\n"],"mappings":";;;;AA6BA,IAAaA,WAA+D;CAC1E,mBAAmB,CAAC;CACpB,cAAc;CACd,eAAeC,EAAe;CAC9B,eAAe;CACf,aAAa;CACb,gBAAgB;CAChB,UAAU;CACV,aAAa;AACf,IAMaC,KAAyD,MAAgE;CACpI,IAAM,EAAE,QAAK,WAAQC,GACfC,KAAgB,MAA0CC,EAAIC,CAAqB;CAEzF,OAAO;EACL,oBAAoBF,EAAaJ,EAAiC,CAAC;EACnE,uBAAuB,MAAmCI,EAAa,EAAE,mBAAmBG,EAAO,CAAC;EACpG,SAAS,OAAO,GAAe,MAAiB;GAC9C,IAAMC,IAAcC,EAAU,WAAWC,CAAK;GAE9C,IAAIF,EAAY,OAKd,MAJAJ,EAAa;IACX,cAAcI,EAAY;IAC1B,eAAeP,EAAe;GAChC,CAAC,GACS,MAAMO,EAAY,KAAK;GAGnC,EAAa;IACX;IACA,UAAUE;GACZ,CAAC;GAED,IAAIC;GACJ,IAAIC,GAAK;IAEP,IADA,IAAiBC,EAAa,SAASD,CAAG,GACtCD,EAAe,OAKjB,MAJAP,EAAa;KACX,cAAcO,EAAe;KAC7B,eAAeV,EAAe;IAChC,CAAC,GACS,MAAMU,EAAe,KAAK;IAGtC,EAAa;KACX;KACA,aAAaC;IACf,CAAC;IAED,IAAME,IAAWN,EAAY,UAAU,KAAK,MAAMO,EAAE,EAAE,GAChD,EAAE,eAAY,mBAAgBF,EAAa,uBAC/CF,EAAe,SACfA,EAAe,iBACfG,CACF;IAEA,AADAE,EAAI,CAAC,CAAC,qBAAqBC,CAAW,GACtCD,EAAI,CAAC,CAAC,iBAAiBE,CAAU;GACnC;GAMA,OAJAd,EAAa;IACX,cAAc;IACd,eAAeH,EAAe;GAChC,CAAC,GACM,QAAQ,QAAQ;IAAE,aAAaO;IAAa,gBAAgBG;GAAe,CAAC;EACrF;EACA,mBAAmB,MAA2BP,EAAa,EAAE,eAAee,EAAO,CAAC;EACpF,mBAAmB,MAAyBf,EAAa,EAAE,eAAegB,EAAM,CAAC;CACnF;AACF"}
1
+ {"version":3,"file":"index.js","names":["createFastaDataStoreInitialState","LOADING_STATUS","createFastaDataStoreActions","kwArgs","setBaseState","set","partial","counts","get","parsedFasta","FastaUtil","fasta","parsedMetadata","tsv","MetaDataUtil","fastaIds","s","matchCounts","bestColumn","status","field"],"sources":["../../../src/stores/fastaDataStore/fastaDataStore.ts"],"sourcesContent":["import type { StoreApi } from 'zustand';\n\nimport type { FastaParseResult } from '../../models/fasta.models';\nimport { LOADING_STATUS } from '../../models/fasta.models';\nimport type { MetadataParseResult } from '../../models/metadata.models';\nimport { FastaUtil } from '../../utils/FastaUtil';\nimport { MetaDataUtil } from '../../utils/MetaDataUtil';\n\nexport type FastaDataStore = FastaDataStoreActions & FastaDataStoreState;\n\nexport interface FastaDataStoreActions {\n resetDataset: () => void;\n setColumnMatchCounts: (counts: Record<string, number>) => void;\n setData: (fasta: string, tsv?: string) => Promise<{ fastaResult: FastaParseResult; metadataResult?: MetadataParseResult }>;\n setLoadingStatus: (status: LOADING_STATUS) => void;\n setMatchKeyField: (field: null | string) => void;\n}\n\nexport interface FastaDataStoreState {\n columnMatchCounts: Record<string, number>;\n loadingError: null | string;\n loadingStatus: LOADING_STATUS;\n matchKeyField: null | string;\n parsedFasta: FastaParseResult | null;\n parsedMetadata: MetadataParseResult | null;\n rawFasta: string;\n rawMetadata: string;\n}\n\nexport const createFastaDataStoreInitialState = (): FastaDataStoreState => ({\n columnMatchCounts: {},\n loadingError: null,\n loadingStatus: LOADING_STATUS.IDLE,\n matchKeyField: null,\n parsedFasta: null,\n parsedMetadata: null,\n rawFasta: '',\n rawMetadata: '',\n});\n\n\ntype Get<T extends FastaDataStore> = StoreApi<T>['getState'];\ntype Set<T extends FastaDataStore> = StoreApi<T>['setState'];\n\nexport const createFastaDataStoreActions = <T extends FastaDataStore>(kwArgs: { get: Get<T>; set: Set<T> }): FastaDataStoreActions => {\n const { get, set } = kwArgs;\n const setBaseState = (partial: Partial<FastaDataStoreState>) => set(partial as Partial<T>);\n\n return {\n resetDataset: () => setBaseState(createFastaDataStoreInitialState()),\n setColumnMatchCounts: (counts: Record<string, number>) => setBaseState({ columnMatchCounts: counts }),\n setData: async (fasta: string, tsv?: string) => {\n const { resetDataset } = get();\n resetDataset();\n const parsedFasta = FastaUtil.parseFasta(fasta);\n\n if (parsedFasta.error) {\n setBaseState({\n loadingError: parsedFasta.error,\n loadingStatus: LOADING_STATUS.ERROR,\n });\n throw new Error(parsedFasta.error);\n }\n\n setBaseState({\n parsedFasta,\n rawFasta: fasta,\n });\n\n let parsedMetadata: MetadataParseResult | undefined;\n if (tsv) {\n parsedMetadata = MetaDataUtil.parseTsv(tsv);\n if (parsedMetadata.error) {\n setBaseState({\n loadingError: parsedMetadata.error,\n loadingStatus: LOADING_STATUS.ERROR,\n });\n throw new Error(parsedMetadata.error);\n }\n\n setBaseState({\n parsedMetadata,\n rawMetadata: tsv,\n });\n\n const fastaIds = parsedFasta.sequences.map((s) => s.id);\n const { bestColumn, matchCounts } = MetaDataUtil.findBestMatchingColumn(\n parsedMetadata.columns,\n parsedMetadata.recordsByColumn,\n fastaIds,\n );\n get().setColumnMatchCounts(matchCounts);\n get().setMatchKeyField(bestColumn);\n }\n\n setBaseState({\n loadingError: null,\n loadingStatus: LOADING_STATUS.SUCCESS,\n });\n return Promise.resolve({ fastaResult: parsedFasta, metadataResult: parsedMetadata });\n },\n setLoadingStatus: (status: LOADING_STATUS) => setBaseState({ loadingStatus: status }),\n setMatchKeyField: (field: null | string) => setBaseState({ matchKeyField: field }),\n };\n};\n"],"mappings":";;;;AA6BA,IAAaA,WAA+D;CAC1E,mBAAmB,CAAC;CACpB,cAAc;CACd,eAAeC,EAAe;CAC9B,eAAe;CACf,aAAa;CACb,gBAAgB;CAChB,UAAU;CACV,aAAa;AACf,IAMaC,KAAyD,MAAgE;CACpI,IAAM,EAAE,QAAK,WAAQC,GACfC,KAAgB,MAA0CC,EAAIC,CAAqB;CAEzF,OAAO;EACL,oBAAoBF,EAAaJ,EAAiC,CAAC;EACnE,uBAAuB,MAAmCI,EAAa,EAAE,mBAAmBG,EAAO,CAAC;EACpG,SAAS,OAAO,GAAe,MAAiB;GAC9C,IAAM,EAAE,oBAAiBC,EAAI;GAC7B,EAAa;GACb,IAAMC,IAAcC,EAAU,WAAWC,CAAK;GAE9C,IAAIF,EAAY,OAKd,MAJAL,EAAa;IACX,cAAcK,EAAY;IAC1B,eAAeR,EAAe;GAChC,CAAC,GACS,MAAMQ,EAAY,KAAK;GAGnC,EAAa;IACX;IACA,UAAUE;GACZ,CAAC;GAED,IAAIC;GACJ,IAAIC,GAAK;IAEP,IADA,IAAiBC,EAAa,SAASD,CAAG,GACtCD,EAAe,OAKjB,MAJAR,EAAa;KACX,cAAcQ,EAAe;KAC7B,eAAeX,EAAe;IAChC,CAAC,GACS,MAAMW,EAAe,KAAK;IAGtC,EAAa;KACX;KACA,aAAaC;IACf,CAAC;IAED,IAAME,IAAWN,EAAY,UAAU,KAAK,MAAMO,EAAE,EAAE,GAChD,EAAE,eAAY,mBAAgBF,EAAa,uBAC/CF,EAAe,SACfA,EAAe,iBACfG,CACF;IAEA,AADAP,EAAI,CAAC,CAAC,qBAAqBS,CAAW,GACtCT,EAAI,CAAC,CAAC,iBAAiBU,CAAU;GACnC;GAMA,OAJAd,EAAa;IACX,cAAc;IACd,eAAeH,EAAe;GAChC,CAAC,GACM,QAAQ,QAAQ;IAAE,aAAaQ;IAAa,gBAAgBG;GAAe,CAAC;EACrF;EACA,mBAAmB,MAA2BR,EAAa,EAAE,eAAee,EAAO,CAAC;EACpF,mBAAmB,MAAyBf,EAAa,EAAE,eAAegB,EAAM,CAAC;CACnF;AACF"}
@@ -100,10 +100,10 @@ var t = "data:font/woff2;base64,d09GMgABAAAAC2dAABUAAAAZt9gAC2a/AAEAAAAAAAAAAAAA
100
100
  styleOverrides: { root: { fontWeight: "bold" } }
101
101
  },
102
102
  MuiCssBaseline: { styleOverrides: r },
103
- MuiDivider: { styleOverrides: { root: { backgroundColor: "#c9defc" } } },
103
+ MuiDivider: { styleOverrides: { root: { backgroundColor: "#323946" } } },
104
104
  MuiFab: { styleOverrides: { root: { fontWeight: "bold" } } },
105
105
  MuiFilledInput: { styleOverrides: {
106
- input: { color: "#282245" },
106
+ input: { color: "#323946" },
107
107
  root: {
108
108
  "&:hover": { backgroundColor: "rgba(186,214,237,0.6)" },
109
109
  "&.Mui-disabled": { backgroundColor: "rgba(186,214,237,0.1)" },
@@ -131,24 +131,24 @@ var t = "data:font/woff2;base64,d09GMgABAAAAC2dAABUAAAAZt9gAC2a/AAEAAAAAAAAAAAAA
131
131
  backgroundColor: "rgba(186,214,237,0.2)"
132
132
  }
133
133
  } },
134
- MuiFormControlLabel: { styleOverrides: { label: { color: "#282245" } } },
134
+ MuiFormControlLabel: { styleOverrides: { label: { color: "#323946" } } },
135
135
  MuiFormHelperText: { styleOverrides: { root: {
136
136
  "&.Mui-error": { color: "#ba2818" },
137
137
  "&.Mui-warning": { color: "rgb(119,80,21)" },
138
- color: "#453e6d"
138
+ color: "#323946"
139
139
  } } },
140
140
  MuiFormLabel: { styleOverrides: {
141
141
  asterisk: { color: "#D90000" },
142
142
  root: {
143
143
  "&.Mui-error": { color: "#ba2818" },
144
144
  "&.Mui-warning": { color: "rgb(119,80,21)" },
145
- color: "#453e6d"
145
+ color: "#323946"
146
146
  }
147
147
  } },
148
148
  MuiInputLabel: { styleOverrides: { root: {
149
149
  "&.Mui-error": { color: "#a45c4f" },
150
150
  "&.Mui-warning": { color: "rgb(119,80,21)" },
151
- color: "#453e6d"
151
+ color: "#323946"
152
152
  } } },
153
153
  MuiLink: { styleOverrides: { root: {
154
154
  "&:hover": { textDecoration: "underline" },
@@ -159,7 +159,7 @@ var t = "data:font/woff2;base64,d09GMgABAAAAC2dAABUAAAAZt9gAC2a/AAEAAAAAAAAAAAAA
159
159
  padding: "9px"
160
160
  } } },
161
161
  MuiSelect: { styleOverrides: { select: { padding: "7.5px 32px 7.5px 5px" } } },
162
- MuiTableCell: { styleOverrides: { root: { borderColor: "#c9defc" } } },
162
+ MuiTableCell: { styleOverrides: { root: { borderColor: "#323946" } } },
163
163
  MuiTooltip: { defaultProps: {
164
164
  enterDelay: 500,
165
165
  enterNextDelay: 500
@@ -175,32 +175,32 @@ var t = "data:font/woff2;base64,d09GMgABAAAAC2dAABUAAAAZt9gAC2a/AAEAAAAAAAAAAAAA
175
175
  },
176
176
  caption: { fontStyle: "italic" },
177
177
  h1: {
178
- color: "#171c42",
178
+ color: "#323946",
179
179
  fontSize: "2.143rem",
180
180
  fontWeight: 700
181
181
  },
182
182
  h2: {
183
- color: "#171c42",
183
+ color: "#323946",
184
184
  fontSize: "1.857rem",
185
185
  fontWeight: 400
186
186
  },
187
187
  h3: {
188
- color: "#171c42",
188
+ color: "#323946",
189
189
  fontSize: "1.714rem",
190
190
  fontWeight: 700
191
191
  },
192
192
  h4: {
193
- color: "#171c42",
193
+ color: "#323946",
194
194
  fontSize: "1.429rem",
195
195
  fontWeight: 700
196
196
  },
197
197
  h5: {
198
- color: "#171c42",
198
+ color: "#323946",
199
199
  fontSize: "1.286rem",
200
200
  fontWeight: 700
201
201
  },
202
202
  h6: {
203
- color: "#171c42",
203
+ color: "#323946",
204
204
  fontSize: "1.143rem",
205
205
  fontWeight: 400
206
206
  },
@@ -210,7 +210,7 @@ var t = "data:font/woff2;base64,d09GMgABAAAAC2dAABUAAAAZt9gAC2a/AAEAAAAAAAAAAAAA
210
210
  fontWeight: 400
211
211
  },
212
212
  subtitle2: {
213
- color: "#171c42",
213
+ color: "#323946",
214
214
  fontSize: "1.143rem",
215
215
  fontWeight: 700
216
216
  }
@@ -229,11 +229,11 @@ var t = "data:font/woff2;base64,d09GMgABAAAAC2dAABUAAAAZt9gAC2a/AAEAAAAAAAAAAAAA
229
229
  mode: "light",
230
230
  primary: {
231
231
  contrastText: "#fff",
232
- main: "#154273"
232
+ main: "#5160ab"
233
233
  },
234
234
  secondary: {
235
- contrastText: "#fff",
236
- main: "#2a2b33"
235
+ contrastText: "#323946",
236
+ main: "#f8f9fa"
237
237
  },
238
238
  success: {
239
239
  contrastText: "#fff",