structural-codes-viewer 0.1.0-alpha.1 → 0.1.0-alpha.3

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 (63) hide show
  1. package/LICENSE +501 -0
  2. package/NOTICE +16 -0
  3. package/README.md +57 -68
  4. package/package-dist/CorpusContent.d.ts +44 -9
  5. package/package-dist/CorpusContent.js +452 -26
  6. package/package-dist/CorpusContent.js.map +1 -1
  7. package/package-dist/NormativeViewer.d.ts +23 -2
  8. package/package-dist/NormativeViewer.js +1699 -234
  9. package/package-dist/NormativeViewer.js.map +1 -1
  10. package/package-dist/ReferenceTools.d.ts +49 -0
  11. package/package-dist/ReferenceTools.js +14 -0
  12. package/package-dist/ReferenceTools.js.map +1 -0
  13. package/package-dist/annotations/AnnotationUi.d.ts +57 -0
  14. package/package-dist/annotations/AnnotationUi.js +114 -0
  15. package/package-dist/annotations/AnnotationUi.js.map +1 -0
  16. package/package-dist/annotations/annotationTargets.d.ts +39 -0
  17. package/package-dist/annotations/annotationTargets.js +94 -0
  18. package/package-dist/annotations/annotationTargets.js.map +1 -0
  19. package/package-dist/annotations/exportImport.d.ts +6 -0
  20. package/package-dist/annotations/exportImport.js +30 -0
  21. package/package-dist/annotations/exportImport.js.map +1 -0
  22. package/package-dist/annotations/index.d.ts +4 -0
  23. package/package-dist/annotations/index.js +5 -0
  24. package/package-dist/annotations/index.js.map +1 -0
  25. package/package-dist/annotations/indexedDb.d.ts +21 -0
  26. package/package-dist/annotations/indexedDb.js +210 -0
  27. package/package-dist/annotations/indexedDb.js.map +1 -0
  28. package/package-dist/annotations/schema.d.ts +8 -0
  29. package/package-dist/annotations/schema.js +102 -0
  30. package/package-dist/annotations/schema.js.map +1 -0
  31. package/package-dist/annotations/types.d.ts +52 -0
  32. package/package-dist/annotations/types.js +18 -0
  33. package/package-dist/annotations/types.js.map +1 -0
  34. package/package-dist/chunkNavigation.d.ts +12 -0
  35. package/package-dist/chunkNavigation.js +44 -0
  36. package/package-dist/chunkNavigation.js.map +1 -0
  37. package/package-dist/corpusData.d.ts +176 -33
  38. package/package-dist/corpusData.js +52 -0
  39. package/package-dist/corpusData.js.map +1 -1
  40. package/package-dist/crossReferences.d.ts +46 -0
  41. package/package-dist/crossReferences.js +198 -0
  42. package/package-dist/crossReferences.js.map +1 -0
  43. package/package-dist/generate-artifacts.mjs +47 -12
  44. package/package-dist/globalScrubber.d.ts +10 -0
  45. package/package-dist/globalScrubber.js +85 -0
  46. package/package-dist/globalScrubber.js.map +1 -0
  47. package/package-dist/permalinks.d.ts +22 -0
  48. package/package-dist/permalinks.js +36 -0
  49. package/package-dist/permalinks.js.map +1 -0
  50. package/package-dist/searchClient.d.ts +22 -0
  51. package/package-dist/searchClient.js +133 -0
  52. package/package-dist/searchClient.js.map +1 -0
  53. package/package-dist/searchEngine.d.ts +68 -0
  54. package/package-dist/searchEngine.js +558 -0
  55. package/package-dist/searchEngine.js.map +1 -0
  56. package/package-dist/searchWorker.d.ts +1 -0
  57. package/package-dist/searchWorker.js +32 -0
  58. package/package-dist/searchWorker.js.map +1 -0
  59. package/package-dist/styles.css +762 -182
  60. package/package-dist/tableCaptions.d.mts +3 -0
  61. package/package-dist/tableCaptions.mjs +35 -0
  62. package/package-dist/tableCaptions.mjs.map +1 -0
  63. package/package.json +18 -14
@@ -0,0 +1,133 @@
1
+ import { useEffect, useMemo, useRef, useState } from "react";
2
+ import { parseNormativeReference, resolveDataPath, } from "./corpusData";
3
+ function resultForSummary(summary) {
4
+ const prefix = summary.numbering.official;
5
+ return {
6
+ id: summary.id,
7
+ document: summary.document,
8
+ numbering: prefix,
9
+ title: summary.title,
10
+ chunkPath: summary.chunkPath,
11
+ snippet: `${prefix} — ${summary.title}`,
12
+ highlights: [[0, prefix.length]],
13
+ score: 9000000,
14
+ matchKind: "number-exact",
15
+ };
16
+ }
17
+ export function resolveExactSearch(query, mode, lookup, circLookup) {
18
+ var _a;
19
+ const reference = parseNormativeReference(query);
20
+ if (!reference)
21
+ return null;
22
+ let summary;
23
+ if (reference.documentHint === "circ2019") {
24
+ if (mode !== "ntc")
25
+ summary = circLookup === null || circLookup === void 0 ? void 0 : circLookup.unitByNumbering.get(reference.numbering);
26
+ }
27
+ else if (mode === "circ")
28
+ summary = circLookup === null || circLookup === void 0 ? void 0 : circLookup.unitByNumbering.get(reference.numbering);
29
+ else
30
+ summary = (_a = lookup === null || lookup === void 0 ? void 0 : lookup.unitByNumbering.get(reference.numbering)) !== null && _a !== void 0 ? _a : (mode === "combined" ? circLookup === null || circLookup === void 0 ? void 0 : circLookup.unitByNumbering.get(reference.numbering) : undefined);
31
+ return summary ? [resultForSummary(summary)] : [];
32
+ }
33
+ function useDebouncedValue(value, delayMs) {
34
+ const [debounced, setDebounced] = useState(value);
35
+ useEffect(() => {
36
+ const timer = window.setTimeout(() => setDebounced(value), delayMs);
37
+ return () => window.clearTimeout(timer);
38
+ }, [delayMs, value]);
39
+ return debounced;
40
+ }
41
+ export function useViewerSearch({ query, mode, manifest, dataBaseUrl, lookup, circLookup, maxResults, debounceMs = 80 }) {
42
+ const maximum = Math.max(1, Math.min(50, maxResults));
43
+ const debouncedQuery = useDebouncedValue(query, debounceMs);
44
+ const exactResults = useMemo(() => resolveExactSearch(query, mode, lookup, circLookup), [circLookup, lookup, mode, query]);
45
+ const [workerResponse, setWorkerResponse] = useState(null);
46
+ const [indexRequested, setIndexRequested] = useState(false);
47
+ const workerRef = useRef(null);
48
+ const requestIdRef = useRef(0);
49
+ useEffect(() => () => { var _a; return (_a = workerRef.current) === null || _a === void 0 ? void 0 : _a.terminate(); }, []);
50
+ useEffect(() => {
51
+ if (!manifest || exactResults !== null || debouncedQuery.trim().length < 2) {
52
+ requestIdRef.current += 1;
53
+ return;
54
+ }
55
+ const scheduleFailure = (errorMessage) => {
56
+ const timer = window.setTimeout(() => {
57
+ setWorkerResponse({ query: debouncedQuery, mode, status: "error", results: [], durationMs: null, errorMessage });
58
+ }, 0);
59
+ return () => window.clearTimeout(timer);
60
+ };
61
+ let worker = workerRef.current;
62
+ if (!worker) {
63
+ if (typeof Worker === "undefined") {
64
+ return scheduleFailure("Web Worker non disponibile in questo browser.");
65
+ }
66
+ try {
67
+ worker = new Worker(new URL("./searchWorker.js", import.meta.url), { type: "module", name: "structural-codes-search" });
68
+ }
69
+ catch (_a) {
70
+ return scheduleFailure("Avvio del Web Worker non riuscito.");
71
+ }
72
+ workerRef.current = worker;
73
+ }
74
+ const requestId = ++requestIdRef.current;
75
+ const activeWorker = worker;
76
+ const onMessage = ({ data }) => {
77
+ if (data.requestId !== requestIdRef.current || data.requestId !== requestId)
78
+ return;
79
+ setIndexRequested(true);
80
+ if (data.type === "error") {
81
+ setWorkerResponse({ query: debouncedQuery, mode, status: "error", results: [], durationMs: null, errorMessage: data.message });
82
+ return;
83
+ }
84
+ setWorkerResponse({ query: data.query, mode: data.mode, status: "ready", results: data.results, durationMs: data.durationMs });
85
+ };
86
+ const onError = () => {
87
+ if (requestId !== requestIdRef.current)
88
+ return;
89
+ activeWorker.terminate();
90
+ if (workerRef.current === activeWorker)
91
+ workerRef.current = null;
92
+ setIndexRequested(true);
93
+ setWorkerResponse({ query: debouncedQuery, mode, status: "error", results: [], durationMs: null, errorMessage: "Avvio del Web Worker non riuscito." });
94
+ };
95
+ activeWorker.addEventListener("message", onMessage);
96
+ activeWorker.addEventListener("error", onError);
97
+ let postFailureCleanup = null;
98
+ try {
99
+ activeWorker.postMessage({
100
+ type: "search",
101
+ requestId,
102
+ indexUrl: new URL(resolveDataPath(manifest.searchIndexPath, dataBaseUrl), window.location.href).href,
103
+ query: debouncedQuery,
104
+ mode,
105
+ limit: maximum,
106
+ });
107
+ }
108
+ catch (_b) {
109
+ activeWorker.terminate();
110
+ if (workerRef.current === activeWorker)
111
+ workerRef.current = null;
112
+ postFailureCleanup = scheduleFailure("Invio della ricerca al Web Worker non riuscito.");
113
+ }
114
+ return () => {
115
+ postFailureCleanup === null || postFailureCleanup === void 0 ? void 0 : postFailureCleanup();
116
+ activeWorker.removeEventListener("message", onMessage);
117
+ activeWorker.removeEventListener("error", onError);
118
+ };
119
+ }, [dataBaseUrl, debouncedQuery, exactResults, manifest, maximum, mode]);
120
+ const normalizedInputLength = query.trim().length;
121
+ const querySettled = debouncedQuery === query;
122
+ const fullTextCurrent = querySettled && (workerResponse === null || workerResponse === void 0 ? void 0 : workerResponse.query) === debouncedQuery && workerResponse.mode === mode;
123
+ return {
124
+ queryReady: normalizedInputLength >= 2,
125
+ results: exactResults !== null && exactResults !== void 0 ? exactResults : (fullTextCurrent ? workerResponse.results : []),
126
+ status: exactResults !== null ? "ready" : normalizedInputLength < 2 ? "idle" : fullTextCurrent ? workerResponse.status : "loading",
127
+ source: exactResults !== null ? "exact" : "worker",
128
+ durationMs: exactResults !== null ? 0 : fullTextCurrent ? workerResponse.durationMs : null,
129
+ errorMessage: exactResults === null && fullTextCurrent ? workerResponse.errorMessage : undefined,
130
+ indexRequested,
131
+ };
132
+ }
133
+ //# sourceMappingURL=searchClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchClient.js","sourceRoot":"","sources":["../shared/searchClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ export function normalizeSearchText(value: any): string;
2
+ export function tokenizeSearchText(value: any): [] | RegExpMatchArray;
3
+ export function parseNormativeReference(value: any): {
4
+ numbering: string;
5
+ documentHint: string | null;
6
+ } | null;
7
+ export function buildSearchIndexPayload(sourceUnits: any): {
8
+ formatVersion: number;
9
+ normalization: string;
10
+ units: any;
11
+ references: any;
12
+ assetReferences: any;
13
+ postings: any;
14
+ };
15
+ export function highlightedSnippet(value: any, normalizedQuery: any, queryTokens: any): {
16
+ snippet: string;
17
+ highlights: any[][];
18
+ };
19
+ export function createSearchEngine(index: any): {
20
+ search({ query, mode, limit }: {
21
+ query: any;
22
+ mode?: string | undefined;
23
+ limit?: number | undefined;
24
+ }): {
25
+ assetKind?: any;
26
+ assetId?: any;
27
+ blockId?: any;
28
+ score: number;
29
+ matchKind: any;
30
+ snippet: string;
31
+ highlights: any[][];
32
+ id: any;
33
+ document: any;
34
+ numbering: any;
35
+ title: any;
36
+ chunkPath: any;
37
+ }[];
38
+ };
39
+ export const searchIndexFormatVersion: 4;
40
+ export const searchRankingWeights: Readonly<{
41
+ priority: Readonly<{
42
+ numberExact: 9000000;
43
+ assetExact: 8000000;
44
+ titleExact: 7000000;
45
+ numberKeyword: 6000000;
46
+ titleTerms: 5000000;
47
+ phrase: 4000000;
48
+ proximity: 3000000;
49
+ allTerms: 2000000;
50
+ partial: 1000000;
51
+ }>;
52
+ field: Readonly<{
53
+ matchedTerm: 20000;
54
+ titleFrequency: 2000;
55
+ bodyRelevance: 420;
56
+ assetRelevance: 260;
57
+ exactNumberPrefix: 90000;
58
+ }>;
59
+ proximity: Readonly<{
60
+ sameBlock: 80000;
61
+ ordered: 35000;
62
+ window: 24;
63
+ perTokenSaved: 1500;
64
+ }>;
65
+ candidatePoolMinimum: 300;
66
+ candidatePoolPerResult: 28;
67
+ partialExpansionLimit: 8;
68
+ }>;