@rivm-loculus-tools/common-frontend 0.1.0 → 0.1.4

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 (126) hide show
  1. package/dist/_chunks/FastaDataImportDialog.js +309 -0
  2. package/dist/_chunks/FastaDataImportDialog.js.map +1 -0
  3. package/dist/_chunks/react.js +11 -0
  4. package/dist/_chunks/react.js.map +1 -0
  5. package/dist/classes/services/FastaDataEventBusService/FastaDataEventBusService.d.ts +10 -0
  6. package/dist/classes/services/FastaDataEventBusService/index.js +16 -0
  7. package/dist/classes/services/FastaDataEventBusService/index.js.map +1 -0
  8. package/dist/components/FastaDataImportDialog/FastaDataImportDialog.d.ts +12 -0
  9. package/dist/components/FastaDataImportDialog/index.js +2 -0
  10. package/dist/components/FastaDataImportDialogLoader/FastaDataImportDialogLoader.d.ts +8 -0
  11. package/dist/components/FastaDataImportDialogLoader/index.js +70 -0
  12. package/dist/components/FastaDataImportDialogLoader/index.js.map +1 -0
  13. package/dist/components/FastaNotLoaded/FastaNotLoaded.d.ts +7 -0
  14. package/dist/components/FastaNotLoaded/index.js +53 -0
  15. package/dist/components/FastaNotLoaded/index.js.map +1 -0
  16. package/dist/components/FastaPageHeaderCenterComponent/FastaPageHeaderCenterComponent.d.ts +6 -0
  17. package/dist/components/FastaPageHeaderCenterComponent/index.js +37 -0
  18. package/dist/components/FastaPageHeaderCenterComponent/index.js.map +1 -0
  19. package/dist/components/FastaPageHeaderImportButton/FastaPageHeaderImportButton.d.ts +1 -0
  20. package/dist/components/FastaPageHeaderImportButton/index.js +26 -0
  21. package/dist/components/FastaPageHeaderImportButton/index.js.map +1 -0
  22. package/dist/components/FastaPageHeaderResetButton/FastaPageHeaderResetButton.d.ts +4 -0
  23. package/dist/components/FastaPageHeaderResetButton/index.js +35 -0
  24. package/dist/components/FastaPageHeaderResetButton/index.js.map +1 -0
  25. package/dist/components/I18nWrapper/I18nWrapper.d.ts +4 -0
  26. package/dist/components/I18nWrapper/index.js +21 -0
  27. package/dist/components/I18nWrapper/index.js.map +1 -0
  28. package/dist/components/PageHeaderDocumentationButton/PageHeaderDocumentationButton.d.ts +1 -0
  29. package/dist/components/PageHeaderDocumentationButton/index.js +24 -0
  30. package/dist/components/PageHeaderDocumentationButton/index.js.map +1 -0
  31. package/dist/components/SearchBar/SearchBar.d.ts +10 -0
  32. package/dist/components/SearchBar/SearchBarNodeCounter.d.ts +4 -0
  33. package/dist/components/SearchBar/index.js +129 -0
  34. package/dist/components/SearchBar/index.js.map +1 -0
  35. package/dist/components/page/ErrorPageCommon.d.ts +4 -0
  36. package/dist/components/page/PageCommon.d.ts +8 -0
  37. package/dist/components/page/PageCommonContext.d.ts +7 -0
  38. package/dist/components/page/PageCommonContextProvider.d.ts +3 -0
  39. package/dist/components/page/PageCommonDrawer.d.ts +5 -0
  40. package/dist/components/page/PageCommonHeader.d.ts +8 -0
  41. package/dist/components/page/index.js +207 -0
  42. package/dist/components/page/index.js.map +1 -0
  43. package/dist/constants/page.d.ts +1 -0
  44. package/dist/constants/page.js +6 -0
  45. package/dist/constants/page.js.map +1 -0
  46. package/dist/models/fasta.d.ts +23 -0
  47. package/dist/models/fasta.js +8 -0
  48. package/dist/models/fasta.js.map +1 -0
  49. package/dist/models/metadata.d.ts +9 -0
  50. package/dist/stores/fastaDataStore/fastaDataStore.d.ts +32 -0
  51. package/dist/stores/fastaDataStore/index.js +57 -0
  52. package/dist/stores/fastaDataStore/index.js.map +1 -0
  53. package/dist/theme/index.js +257 -0
  54. package/dist/theme/index.js.map +1 -0
  55. package/dist/theme/theme.d.ts +1 -0
  56. package/dist/utils/DownloadUtil/DownloadUtil.d.ts +3 -0
  57. package/dist/utils/DownloadUtil/index.js +10 -0
  58. package/dist/utils/DownloadUtil/index.js.map +1 -0
  59. package/dist/utils/ErrorUtil/ErrorUtil.d.ts +3 -0
  60. package/dist/utils/ErrorUtil/index.js +10 -0
  61. package/dist/utils/ErrorUtil/index.js.map +1 -0
  62. package/dist/utils/FastaUtil/FastaUtil.d.ts +6 -0
  63. package/dist/utils/FastaUtil/index.js +63 -0
  64. package/dist/utils/FastaUtil/index.js.map +1 -0
  65. package/dist/utils/MetaDataUtil/MetaDataUtil.d.ts +20 -0
  66. package/dist/utils/MetaDataUtil/index.js +133 -0
  67. package/dist/utils/MetaDataUtil/index.js.map +1 -0
  68. package/dist/utils/UrlUtil/UrlUtil.d.ts +5 -0
  69. package/dist/utils/UrlUtil/index.js +30 -0
  70. package/dist/utils/UrlUtil/index.js.map +1 -0
  71. package/package.json +10 -7
  72. package/CHANGELOG.md +0 -8
  73. package/eslint.config.js +0 -16
  74. package/scripts/update-exports.js +0 -9
  75. package/src/classes/services/FastaDataEventBusService/FastaDataEventBusService.ts +0 -22
  76. package/src/components/FastaDataImportDialog/FastaDataImportDialog.tsx +0 -364
  77. package/src/components/FastaDataImportDialogLoader/FastaDataImportDialogLoader.tsx +0 -124
  78. package/src/components/FastaNotLoaded/FastaNotLoaded.tsx +0 -62
  79. package/src/components/FastaPageHeaderCenterComponent/FastaPageHeaderCenterComponent.tsx +0 -50
  80. package/src/components/FastaPageHeaderImportButton/FastaPageHeaderImportButton.tsx +0 -28
  81. package/src/components/FastaPageHeaderResetButton/FastaPageHeaderResetButton.tsx +0 -50
  82. package/src/components/I18nWrapper/I18nWrapper.tsx +0 -39
  83. package/src/components/PageHeaderDocumentationButton/PageHeaderDocumentationButton.tsx +0 -25
  84. package/src/components/SearchBar/SearchBar.tsx +0 -207
  85. package/src/components/SearchBar/SearchBarNodeCounter.tsx +0 -23
  86. package/src/components/page/ErrorPageCommon.tsx +0 -51
  87. package/src/components/page/PageCommon.tsx +0 -76
  88. package/src/components/page/PageCommonContext.ts +0 -15
  89. package/src/components/page/PageCommonContextProvider.tsx +0 -30
  90. package/src/components/page/PageCommonDrawer.tsx +0 -35
  91. package/src/components/page/PageCommonHeader.tsx +0 -99
  92. package/src/constants/page.ts +0 -1
  93. package/src/index.ts +0 -21
  94. package/src/models/fasta.ts +0 -22
  95. package/src/models/metadata.ts +0 -10
  96. package/src/stores/fastaDataStore/fastaDataStore.ts +0 -103
  97. package/src/theme/fonts/RobotoFlex.woff2 +0 -0
  98. package/src/theme/theme.ts +0 -368
  99. package/src/utils/DownloadUtil/DownloadUtil.ts +0 -10
  100. package/src/utils/ErrorUtil/ErrorUtil.ts +0 -5
  101. package/src/utils/FastaUtil/FastaUtil.ts +0 -109
  102. package/src/utils/MetaDataUtil/MetaDataUtil.ts +0 -292
  103. package/src/utils/UrlUtil/UrlUtil.ts +0 -35
  104. package/tsconfig.build.json +0 -14
  105. package/tsconfig.json +0 -32
  106. package/vite.config.ts +0 -137
  107. /package/{src → dist}/@types/vite-env.d.ts +0 -0
  108. /package/{src/classes/services/FastaDataEventBusService/index.ts → dist/classes/services/FastaDataEventBusService/index.d.ts} +0 -0
  109. /package/{src/components/FastaDataImportDialog/index.ts → dist/components/FastaDataImportDialog/index.d.ts} +0 -0
  110. /package/{src/components/FastaDataImportDialogLoader/index.ts → dist/components/FastaDataImportDialogLoader/index.d.ts} +0 -0
  111. /package/{src/components/FastaNotLoaded/index.ts → dist/components/FastaNotLoaded/index.d.ts} +0 -0
  112. /package/{src/components/FastaPageHeaderCenterComponent/index.ts → dist/components/FastaPageHeaderCenterComponent/index.d.ts} +0 -0
  113. /package/{src/components/FastaPageHeaderImportButton/index.ts → dist/components/FastaPageHeaderImportButton/index.d.ts} +0 -0
  114. /package/{src/components/FastaPageHeaderResetButton/index.ts → dist/components/FastaPageHeaderResetButton/index.d.ts} +0 -0
  115. /package/{src/components/I18nWrapper/index.ts → dist/components/I18nWrapper/index.d.ts} +0 -0
  116. /package/{src/components/PageHeaderDocumentationButton/index.ts → dist/components/PageHeaderDocumentationButton/index.d.ts} +0 -0
  117. /package/{src/components/SearchBar/index.ts → dist/components/SearchBar/index.d.ts} +0 -0
  118. /package/{src/components/page/index.ts → dist/components/page/index.d.ts} +0 -0
  119. /package/{src/.gitkeep → dist/models/metadata.js} +0 -0
  120. /package/{src/stores/fastaDataStore/index.ts → dist/stores/fastaDataStore/index.d.ts} +0 -0
  121. /package/{src/theme/index.ts → dist/theme/index.d.ts} +0 -0
  122. /package/{src/utils/DownloadUtil/index.ts → dist/utils/DownloadUtil/index.d.ts} +0 -0
  123. /package/{src/utils/ErrorUtil/index.ts → dist/utils/ErrorUtil/index.d.ts} +0 -0
  124. /package/{src/utils/FastaUtil/index.ts → dist/utils/FastaUtil/index.d.ts} +0 -0
  125. /package/{src/utils/MetaDataUtil/index.ts → dist/utils/MetaDataUtil/index.d.ts} +0 -0
  126. /package/{src/utils/UrlUtil/index.ts → dist/utils/UrlUtil/index.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fasta.js","names":[],"sources":["../../src/models/fasta.ts"],"sourcesContent":["export enum LOADING_STATUS {\n ERROR = 'ERROR',\n IDLE = 'IDLE',\n LOADING = 'LOADING',\n SUCCESS = 'SUCCESS',\n}\n\nexport type FastaParseResult = {\n error?: string;\n expectedLength: number;\n invalidSequences?: { id: string; length: number }[];\n isAligned: boolean;\n sequences: FastaSequence[];\n};\n\nexport type FastaSequence = {\n accessionVersion: string;\n header: string;\n id: string;\n length: number;\n sequence: string;\n};\n"],"mappings":";AAAA,IAAY,IAAL,yBAAA,GAAA;QACL,EAAA,QAAA,SACA,EAAA,OAAA,QACA,EAAA,UAAA,WACA,EAAA,UAAA;AACF,EAAA,CAAA,CAAA"}
@@ -0,0 +1,9 @@
1
+ export interface MetadataParseResult {
2
+ columns: string[];
3
+ error?: string;
4
+ records: MetadataRecord[];
5
+ recordsByAccession: Record<string, MetadataRecord>;
6
+ recordsByColumn: Record<string, Record<string, MetadataRecord>>;
7
+ recordsBySampleId: Record<string, MetadataRecord>;
8
+ }
9
+ export type MetadataRecord = Record<string, string>;
@@ -0,0 +1,32 @@
1
+ import { StoreApi } from 'zustand';
2
+ import { FastaParseResult, LOADING_STATUS } from '../../models/fasta';
3
+ import { MetadataParseResult } from '../../models/metadata';
4
+ export type FastaDataStore = FastaDataStoreActions & FastaDataStoreState;
5
+ export interface FastaDataStoreActions {
6
+ resetDataset: () => void;
7
+ setColumnMatchCounts: (counts: Record<string, number>) => void;
8
+ setData: (fasta: string, tsv?: string) => Promise<{
9
+ fastaResult: FastaParseResult;
10
+ metadataResult?: MetadataParseResult;
11
+ }>;
12
+ setLoadingStatus: (status: LOADING_STATUS) => void;
13
+ setMatchKeyField: (field: null | string) => void;
14
+ }
15
+ export interface FastaDataStoreState {
16
+ columnMatchCounts: Record<string, number>;
17
+ loadingError: null | string;
18
+ loadingStatus: LOADING_STATUS;
19
+ matchKeyField: null | string;
20
+ parsedFasta: FastaParseResult | null;
21
+ parsedMetadata: MetadataParseResult | null;
22
+ rawFasta: string;
23
+ rawMetadata: string;
24
+ }
25
+ export declare const createFastaDataStoreInitialState: () => FastaDataStoreState;
26
+ type Get<T extends FastaDataStore> = StoreApi<T>['getState'];
27
+ type Set<T extends FastaDataStore> = StoreApi<T>['setState'];
28
+ export declare const createFastaDataStoreActions: <T extends FastaDataStore>(kwArgs: {
29
+ get: Get<T>;
30
+ set: Set<T>;
31
+ }) => FastaDataStoreActions;
32
+ export {};
@@ -0,0 +1,57 @@
1
+ import { MetaDataUtil as e } from "../../utils/MetaDataUtil/index.js";
2
+ import { FastaUtil as t } from "../../utils/FastaUtil/index.js";
3
+ import { LOADING_STATUS as n } from "../../models/fasta.js";
4
+ //#region src/stores/fastaDataStore/fastaDataStore.ts
5
+ var r = () => ({
6
+ columnMatchCounts: {},
7
+ loadingError: null,
8
+ loadingStatus: n.IDLE,
9
+ matchKeyField: null,
10
+ parsedFasta: null,
11
+ parsedMetadata: null,
12
+ rawFasta: "",
13
+ rawMetadata: ""
14
+ }), i = (i) => {
15
+ let { get: a, set: o } = i, s = (e) => o(e);
16
+ return {
17
+ resetDataset: () => s(r()),
18
+ setColumnMatchCounts: (e) => s({ columnMatchCounts: e }),
19
+ setData: async (r, i) => {
20
+ let o = t.parseFasta(r);
21
+ if (o.error) throw s({
22
+ loadingError: o.error,
23
+ loadingStatus: n.ERROR
24
+ }), Error(o.error);
25
+ s({
26
+ parsedFasta: o,
27
+ rawFasta: r
28
+ });
29
+ let c;
30
+ if (i) {
31
+ if (c = e.parseTsv(i), c.error) throw s({
32
+ loadingError: c.error,
33
+ loadingStatus: n.ERROR
34
+ }), Error(c.error);
35
+ s({
36
+ parsedMetadata: c,
37
+ rawMetadata: i
38
+ });
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
+ }
42
+ return s({
43
+ loadingError: null,
44
+ loadingStatus: n.SUCCESS
45
+ }), Promise.resolve({
46
+ fastaResult: o,
47
+ metadataResult: c
48
+ });
49
+ },
50
+ setLoadingStatus: (e) => s({ loadingStatus: e }),
51
+ setMatchKeyField: (e) => s({ matchKeyField: e })
52
+ };
53
+ };
54
+ //#endregion
55
+ export { i as createFastaDataStoreActions, r as createFastaDataStoreInitialState };
56
+
57
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"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,IAAa,WAA+D;CAC1E,mBAAmB,CAAC;CACpB,cAAc;CACd,eAAe,EAAe;CAC9B,eAAe;CACf,aAAa;CACb,gBAAgB;CAChB,UAAU;CACV,aAAa;AACf,IAMa,KAAyD,MAAgE;CACpI,IAAM,EAAE,QAAK,WAAQ,GACf,KAAgB,MAA0C,EAAI,CAAqB;CAEzF,OAAO;EACL,oBAAoB,EAAa,EAAiC,CAAC;EACnE,uBAAuB,MAAmC,EAAa,EAAE,mBAAmB,EAAO,CAAC;EACpG,SAAS,OAAO,GAAe,MAAiB;GAC9C,IAAM,IAAc,EAAU,WAAW,CAAK;GAE9C,IAAI,EAAY,OAKd,MAJA,EAAa;IACX,cAAc,EAAY;IAC1B,eAAe,EAAe;GAChC,CAAC,GACS,MAAM,EAAY,KAAK;GAGnC,EAAa;IACX;IACA,UAAU;GACZ,CAAC;GAED,IAAI;GACJ,IAAI,GAAK;IAEP,IADA,IAAiB,EAAa,SAAS,CAAG,GACtC,EAAe,OAKjB,MAJA,EAAa;KACX,cAAc,EAAe;KAC7B,eAAe,EAAe;IAChC,CAAC,GACS,MAAM,EAAe,KAAK;IAGtC,EAAa;KACX;KACA,aAAa;IACf,CAAC;IAED,IAAM,IAAW,EAAY,UAAU,KAAK,MAAM,EAAE,EAAE,GAChD,EAAE,eAAY,mBAAgB,EAAa,uBAC/C,EAAe,SACf,EAAe,iBACf,CACF;IAEA,AADA,EAAI,CAAC,CAAC,qBAAqB,CAAW,GACtC,EAAI,CAAC,CAAC,iBAAiB,CAAU;GACnC;GAMA,OAJA,EAAa;IACX,cAAc;IACd,eAAe,EAAe;GAChC,CAAC,GACM,QAAQ,QAAQ;IAAE,aAAa;IAAa,gBAAgB;GAAe,CAAC;EACrF;EACA,mBAAmB,MAA2B,EAAa,EAAE,eAAe,EAAO,CAAC;EACpF,mBAAmB,MAAyB,EAAa,EAAE,eAAe,EAAM,CAAC;CACnF;AACF"}