@robosystems/report-components 0.1.0 → 0.1.1
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.
- package/dist/adapters/index.d.ts +1 -5
- package/dist/adapters/index.js +2 -2
- package/dist/adapters/index.js.map +1 -1
- package/dist/chunk-K67BB5QI.js +264 -0
- package/dist/chunk-K67BB5QI.js.map +1 -0
- package/dist/{model.d.ts → index-2pOwdKOv.d.ts} +60 -17
- package/dist/index.d.ts +118 -23
- package/dist/index.js +491 -23
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
- package/dist/adapters/cypher.d.ts +0 -21
- package/dist/adapters/cypher.d.ts.map +0 -1
- package/dist/adapters/cypher.js +0 -9
- package/dist/adapters/cypher.js.map +0 -1
- package/dist/adapters/index.d.ts.map +0 -1
- package/dist/adapters/trig.d.ts +0 -7
- package/dist/adapters/trig.d.ts.map +0 -1
- package/dist/adapters/trig.js +0 -183
- package/dist/adapters/trig.js.map +0 -1
- package/dist/adapters/types.d.ts +0 -16
- package/dist/adapters/types.d.ts.map +0 -1
- package/dist/adapters/types.js +0 -2
- package/dist/adapters/types.js.map +0 -1
- package/dist/components/FactInspector.d.ts +0 -11
- package/dist/components/FactInspector.d.ts.map +0 -1
- package/dist/components/FactInspector.js +0 -79
- package/dist/components/FactInspector.js.map +0 -1
- package/dist/components/ReportView.d.ts +0 -9
- package/dist/components/ReportView.d.ts.map +0 -1
- package/dist/components/ReportView.js +0 -51
- package/dist/components/ReportView.js.map +0 -1
- package/dist/components/StatementTable.d.ts +0 -15
- package/dist/components/StatementTable.d.ts.map +0 -1
- package/dist/components/StatementTable.js +0 -86
- package/dist/components/StatementTable.js.map +0 -1
- package/dist/constants.d.ts +0 -71
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -115
- package/dist/constants.js.map +0 -1
- package/dist/format.d.ts +0 -17
- package/dist/format.d.ts.map +0 -1
- package/dist/format.js +0 -34
- package/dist/format.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/model.d.ts.map +0 -1
- package/dist/model.js +0 -15
- package/dist/model.js.map +0 -1
- package/dist/project.d.ts +0 -39
- package/dist/project.d.ts.map +0 -1
- package/dist/project.js +0 -201
- package/dist/project.js.map +0 -1
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The cypher / GraphQL adapter — a live graph database (an entity graph **or**
|
|
3
|
-
* the SEC repository) read read-only with an API key. One adapter for both:
|
|
4
|
-
* only the endpoint / `graphId` differ.
|
|
5
|
-
*
|
|
6
|
-
* Phase 2 (Mode B). Stubbed for now so the seam and the `./adapters` export
|
|
7
|
-
* surface are in place; the holon-viewer's SEC mode will drive its build-out.
|
|
8
|
-
*/
|
|
9
|
-
import type { ReportAdapter } from './types';
|
|
10
|
-
export interface CypherAdapterConfig {
|
|
11
|
-
/** GraphQL / cypher endpoint base URL. */
|
|
12
|
-
endpoint: string;
|
|
13
|
-
/** User-supplied API key (sent client-side; never app-managed). */
|
|
14
|
-
apiKey: string;
|
|
15
|
-
/** Target graph — an entity graph id or the SEC repository id. */
|
|
16
|
-
graphId: string;
|
|
17
|
-
/** The report to materialize. */
|
|
18
|
-
reportId: string;
|
|
19
|
-
}
|
|
20
|
-
export declare function cypherAdapter(config: CypherAdapterConfig): ReportAdapter;
|
|
21
|
-
//# sourceMappingURL=cypher.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cypher.d.ts","sourceRoot":"","sources":["../../src/adapters/cypher.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,MAAM,WAAW,mBAAmB;IAClC,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAA;IAChB,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAA;IACd,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAA;IACf,iCAAiC;IACjC,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,mBAAmB,GAAG,aAAa,CASxE"}
|
package/dist/adapters/cypher.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export function cypherAdapter(config) {
|
|
2
|
-
return {
|
|
3
|
-
source: `cypher:${config.graphId}/${config.reportId}`,
|
|
4
|
-
load: async () => {
|
|
5
|
-
throw new Error('The cypher adapter is not implemented yet (phase 2 / Mode B — live SEC graph).');
|
|
6
|
-
},
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=cypher.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cypher.js","sourceRoot":"","sources":["../../src/adapters/cypher.ts"],"names":[],"mappings":"AAqBA,MAAM,UAAU,aAAa,CAAC,MAA2B;IACvD,OAAO;QACL,MAAM,EAAE,UAAU,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE;QACrD,IAAI,EAAE,KAAK,IAAI,EAAE;YACf,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/adapters/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,YAAY,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AACnD,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA"}
|
package/dist/adapters/trig.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { NormalizedReport } from '../model';
|
|
2
|
-
import type { ReportAdapter } from './types';
|
|
3
|
-
/** Parse a `holon.trig` document into the normalized report model. */
|
|
4
|
-
export declare function parseTrig(trig: string): NormalizedReport;
|
|
5
|
-
/** A `ReportAdapter` over an in-memory `holon.trig` document. */
|
|
6
|
-
export declare function trigFileAdapter(trig: string, source?: string): ReportAdapter;
|
|
7
|
-
//# sourceMappingURL=trig.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trig.d.ts","sourceRoot":"","sources":["../../src/adapters/trig.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAMV,gBAAgB,EAMjB,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAqB5C,sEAAsE;AACtE,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CA2JxD;AAED,iEAAiE;AACjE,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,SAAe,GAAG,aAAa,CAKlF"}
|
package/dist/adapters/trig.js
DELETED
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The `holon.trig` file adapter — offline, no backend, no auth.
|
|
3
|
-
*
|
|
4
|
-
* Parses TriG (three named graphs: `#scene`, `#boundary`, `#projection`) with
|
|
5
|
-
* N3.js into a quad store, then traverses the store to emit a `NormalizedReport`.
|
|
6
|
-
* The three graphs are queried as a union (graph = `null`) — exactly the join
|
|
7
|
-
* the DataBook converter does on the flat graph. No SPARQL engine is required;
|
|
8
|
-
* only store traversal.
|
|
9
|
-
*/
|
|
10
|
-
import { DataFactory, Parser, Store } from 'n3';
|
|
11
|
-
import { IRI, humanize, qname } from '../constants';
|
|
12
|
-
const { namedNode } = DataFactory;
|
|
13
|
-
function makeReaders(store) {
|
|
14
|
-
const objects = (s, p) => store.getObjects(namedNode(s), namedNode(p), null);
|
|
15
|
-
const firstValue = (s, p) => {
|
|
16
|
-
const os = objects(s, p);
|
|
17
|
-
return os.length ? os[0].value : null;
|
|
18
|
-
};
|
|
19
|
-
const subjectsOfType = (type) => store.getSubjects(namedNode(IRI.type), namedNode(type), null).map((t) => t.value);
|
|
20
|
-
return { objects, firstValue, subjectsOfType };
|
|
21
|
-
}
|
|
22
|
-
function toNumber(raw) {
|
|
23
|
-
if (raw === null || raw === '')
|
|
24
|
-
return null;
|
|
25
|
-
const n = Number(raw);
|
|
26
|
-
return Number.isNaN(n) ? null : n;
|
|
27
|
-
}
|
|
28
|
-
/** Parse a `holon.trig` document into the normalized report model. */
|
|
29
|
-
export function parseTrig(trig) {
|
|
30
|
-
const parser = new Parser({ format: 'application/trig' });
|
|
31
|
-
const store = new Store(parser.parse(trig));
|
|
32
|
-
const { objects, firstValue, subjectsOfType } = makeReaders(store);
|
|
33
|
-
// ── Elements ──
|
|
34
|
-
const elements = {};
|
|
35
|
-
for (const id of subjectsOfType(IRI.Element)) {
|
|
36
|
-
const balance = firstValue(id, IRI.balance);
|
|
37
|
-
const periodType = firstValue(id, IRI.periodType);
|
|
38
|
-
elements[id] = {
|
|
39
|
-
id,
|
|
40
|
-
qname: qname(id),
|
|
41
|
-
label: firstValue(id, IRI.prefLabel) ?? humanize(id),
|
|
42
|
-
balance: balance === 'debit' || balance === 'credit' ? balance : null,
|
|
43
|
-
periodType: periodType === 'instant' || periodType === 'duration' ? periodType : null,
|
|
44
|
-
abstract: firstValue(id, IRI.abstract) === 'true',
|
|
45
|
-
monetary: firstValue(id, IRI.monetary) === 'true',
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
// ── Periods ──
|
|
49
|
-
const periods = {};
|
|
50
|
-
for (const id of subjectsOfType(IRI.Period)) {
|
|
51
|
-
const declared = firstValue(id, IRI.periodType);
|
|
52
|
-
const instant = firstValue(id, IRI.instant);
|
|
53
|
-
const startDate = firstValue(id, IRI.startDate);
|
|
54
|
-
const endDate = firstValue(id, IRI.endDate);
|
|
55
|
-
const type = declared === 'instant'
|
|
56
|
-
? 'instant'
|
|
57
|
-
: declared === 'duration'
|
|
58
|
-
? 'duration'
|
|
59
|
-
: instant
|
|
60
|
-
? 'instant'
|
|
61
|
-
: 'duration';
|
|
62
|
-
const end = (type === 'instant' ? instant : endDate) ?? instant ?? endDate ?? '';
|
|
63
|
-
periods[id] = { id, type, instant, startDate, endDate, end };
|
|
64
|
-
}
|
|
65
|
-
// ── Units ──
|
|
66
|
-
const units = {};
|
|
67
|
-
for (const id of subjectsOfType(IRI.Unit)) {
|
|
68
|
-
const measureTerm = objects(id, IRI.measure)[0];
|
|
69
|
-
const measure = measureTerm ? qname(measureTerm.value) : 'unknown';
|
|
70
|
-
units[id] = {
|
|
71
|
-
id,
|
|
72
|
-
measure,
|
|
73
|
-
label: measure.includes(':') ? measure.split(':').pop() : measure,
|
|
74
|
-
};
|
|
75
|
-
}
|
|
76
|
-
// ── Entity ──
|
|
77
|
-
let entity = null;
|
|
78
|
-
const entityIds = subjectsOfType(IRI.Entity);
|
|
79
|
-
if (entityIds.length) {
|
|
80
|
-
const id = entityIds[0];
|
|
81
|
-
entity = {
|
|
82
|
-
id,
|
|
83
|
-
name: firstValue(id, IRI.prefLabel) ?? firstValue(id, IRI.legalName) ?? 'Entity',
|
|
84
|
-
legalName: firstValue(id, IRI.legalName),
|
|
85
|
-
country: firstValue(id, IRI.country),
|
|
86
|
-
};
|
|
87
|
-
}
|
|
88
|
-
// ── Facts ──
|
|
89
|
-
const facts = [];
|
|
90
|
-
for (const id of subjectsOfType(IRI.Fact)) {
|
|
91
|
-
facts.push({
|
|
92
|
-
id,
|
|
93
|
-
element: firstValue(id, IRI.element) ?? '',
|
|
94
|
-
period: firstValue(id, IRI.period) ?? '',
|
|
95
|
-
unit: firstValue(id, IRI.unit),
|
|
96
|
-
entity: firstValue(id, IRI.entity),
|
|
97
|
-
factSet: firstValue(id, IRI.factSet),
|
|
98
|
-
value: toNumber(firstValue(id, IRI.numericValue)),
|
|
99
|
-
decimals: firstValue(id, IRI.decimals),
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
// ── Information Blocks ──
|
|
103
|
-
const informationBlocks = [];
|
|
104
|
-
for (const id of subjectsOfType(IRI.InformationBlock)) {
|
|
105
|
-
informationBlocks.push({
|
|
106
|
-
id,
|
|
107
|
-
blockType: firstValue(id, IRI.blockType) ?? '',
|
|
108
|
-
factSet: firstValue(id, IRI.factSet),
|
|
109
|
-
label: firstValue(id, IRI.prefLabel),
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
// ── Structures + association → structure membership ──
|
|
113
|
-
const structures = [];
|
|
114
|
-
const assocStructure = new Map();
|
|
115
|
-
for (const id of subjectsOfType(IRI.Structure)) {
|
|
116
|
-
structures.push({
|
|
117
|
-
id,
|
|
118
|
-
blockType: firstValue(id, IRI.blockType) ?? '',
|
|
119
|
-
roleUri: firstValue(id, IRI.roleUri),
|
|
120
|
-
structureName: firstValue(id, IRI.structureName),
|
|
121
|
-
});
|
|
122
|
-
for (const assoc of objects(id, IRI.hasAssociation)) {
|
|
123
|
-
assocStructure.set(assoc.value, id);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
// ── Associations ──
|
|
127
|
-
const calcAssociations = [];
|
|
128
|
-
const presAssociations = [];
|
|
129
|
-
for (const id of subjectsOfType(IRI.Association)) {
|
|
130
|
-
const parent = firstValue(id, IRI.from);
|
|
131
|
-
const child = firstValue(id, IRI.to);
|
|
132
|
-
if (!parent || !child)
|
|
133
|
-
continue;
|
|
134
|
-
const type = firstValue(id, IRI.associationType);
|
|
135
|
-
const order = toNumber(firstValue(id, IRI.order)) ?? 0;
|
|
136
|
-
const role = firstValue(id, IRI.role);
|
|
137
|
-
const structure = assocStructure.get(id) ?? null;
|
|
138
|
-
if (type === 'calculation') {
|
|
139
|
-
calcAssociations.push({
|
|
140
|
-
parent,
|
|
141
|
-
child,
|
|
142
|
-
weight: toNumber(firstValue(id, IRI.weight)) ?? 1,
|
|
143
|
-
order,
|
|
144
|
-
role,
|
|
145
|
-
structure,
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
else if (type === 'presentation') {
|
|
149
|
-
presAssociations.push({ parent, child, order, role, structure });
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
// ── Report IRI / id (from the named-graph names) ──
|
|
153
|
-
let reportIri = null;
|
|
154
|
-
for (const graph of store.getGraphs(null, null, null)) {
|
|
155
|
-
const hash = graph.value.indexOf('#');
|
|
156
|
-
if (hash > 0) {
|
|
157
|
-
reportIri = graph.value.slice(0, hash);
|
|
158
|
-
break;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
const reportId = reportIri ? (reportIri.split('/').pop() ?? null) : null;
|
|
162
|
-
return {
|
|
163
|
-
reportId,
|
|
164
|
-
reportIri,
|
|
165
|
-
entity,
|
|
166
|
-
informationBlocks,
|
|
167
|
-
structures,
|
|
168
|
-
facts,
|
|
169
|
-
elements,
|
|
170
|
-
periods,
|
|
171
|
-
units,
|
|
172
|
-
calcAssociations,
|
|
173
|
-
presAssociations,
|
|
174
|
-
};
|
|
175
|
-
}
|
|
176
|
-
/** A `ReportAdapter` over an in-memory `holon.trig` document. */
|
|
177
|
-
export function trigFileAdapter(trig, source = 'holon.trig') {
|
|
178
|
-
return {
|
|
179
|
-
source,
|
|
180
|
-
load: async () => parseTrig(trig),
|
|
181
|
-
};
|
|
182
|
-
}
|
|
183
|
-
//# sourceMappingURL=trig.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"trig.js","sourceRoot":"","sources":["../../src/adapters/trig.ts"],"names":[],"mappings":"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"}
|
package/dist/adapters/types.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The adapter seam. An adapter turns one source into a `NormalizedReport`; the
|
|
3
|
-
* projection + components do the rest, identically for every source.
|
|
4
|
-
*
|
|
5
|
-
* The package ships two read-only reference adapters — `trig` (offline file via
|
|
6
|
-
* N3.js) and `cypher` (a live graph database). A consuming app with operational
|
|
7
|
-
* needs (a live ledger it also edits) supplies its own adapter in-app.
|
|
8
|
-
*/
|
|
9
|
-
import type { NormalizedReport } from '../model';
|
|
10
|
-
export interface ReportAdapter {
|
|
11
|
-
/** A short, human-readable description of the source (for the UI). */
|
|
12
|
-
readonly source: string;
|
|
13
|
-
/** Produce the normalized report model. */
|
|
14
|
-
load(): Promise<NormalizedReport>;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEhD,MAAM,WAAW,aAAa;IAC5B,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,2CAA2C;IAC3C,IAAI,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAA;CAClC"}
|
package/dist/adapters/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/adapters/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { NormalizedReport, Statement, StatementRow } from '../model';
|
|
2
|
-
export interface FactInspectorProps {
|
|
3
|
-
report: NormalizedReport;
|
|
4
|
-
statement: Statement;
|
|
5
|
-
row: StatementRow;
|
|
6
|
-
columnIndex: number;
|
|
7
|
-
onClose?: () => void;
|
|
8
|
-
currencySymbol?: string;
|
|
9
|
-
}
|
|
10
|
-
export declare function FactInspector({ report, statement, row, columnIndex, onClose, currencySymbol, }: FactInspectorProps): import("react").JSX.Element;
|
|
11
|
-
//# sourceMappingURL=FactInspector.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FactInspector.d.ts","sourceRoot":"","sources":["../../src/components/FactInspector.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAGzE,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,gBAAgB,CAAA;IACxB,SAAS,EAAE,SAAS,CAAA;IACpB,GAAG,EAAE,YAAY,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAsED,wBAAgB,aAAa,CAAC,EAC5B,MAAM,EACN,SAAS,EACT,GAAG,EACH,WAAW,EACX,OAAO,EACP,cAAoB,GACrB,EAAE,kBAAkB,+BA+DpB"}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { formatMoney, formatPeriod } from '../format';
|
|
3
|
-
import { footCheck } from '../project';
|
|
4
|
-
const styles = {
|
|
5
|
-
panel: {
|
|
6
|
-
fontFamily: 'var(--rs-font-sans, ui-sans-serif, system-ui, sans-serif)',
|
|
7
|
-
color: 'var(--rs-text, #111827)',
|
|
8
|
-
border: '1px solid var(--rs-border, #e5e7eb)',
|
|
9
|
-
borderRadius: '12px',
|
|
10
|
-
padding: '1rem 1.25rem',
|
|
11
|
-
background: 'var(--rs-panel-bg, #ffffff)',
|
|
12
|
-
boxShadow: '0 1px 3px rgba(0,0,0,0.08)',
|
|
13
|
-
},
|
|
14
|
-
header: {
|
|
15
|
-
display: 'flex',
|
|
16
|
-
justifyContent: 'space-between',
|
|
17
|
-
alignItems: 'flex-start',
|
|
18
|
-
gap: '1rem',
|
|
19
|
-
marginBottom: '0.75rem',
|
|
20
|
-
},
|
|
21
|
-
label: { fontSize: '1rem', fontWeight: 700, margin: 0 },
|
|
22
|
-
qname: {
|
|
23
|
-
fontFamily: 'var(--rs-font-mono, ui-monospace, monospace)',
|
|
24
|
-
fontSize: '0.8rem',
|
|
25
|
-
color: 'var(--rs-primary-700, #1d4ed8)',
|
|
26
|
-
},
|
|
27
|
-
close: {
|
|
28
|
-
border: 'none',
|
|
29
|
-
background: 'transparent',
|
|
30
|
-
fontSize: '1.25rem',
|
|
31
|
-
lineHeight: 1,
|
|
32
|
-
cursor: 'pointer',
|
|
33
|
-
color: 'var(--rs-muted, #6b7280)',
|
|
34
|
-
},
|
|
35
|
-
grid: {
|
|
36
|
-
display: 'grid',
|
|
37
|
-
gridTemplateColumns: 'auto 1fr',
|
|
38
|
-
gap: '0.35rem 1rem',
|
|
39
|
-
fontSize: '0.85rem',
|
|
40
|
-
margin: '0.5rem 0',
|
|
41
|
-
},
|
|
42
|
-
key: { color: 'var(--rs-muted, #6b7280)' },
|
|
43
|
-
mono: { fontFamily: 'var(--rs-font-mono, ui-monospace, monospace)' },
|
|
44
|
-
footing: {
|
|
45
|
-
marginTop: '0.85rem',
|
|
46
|
-
paddingTop: '0.75rem',
|
|
47
|
-
borderTop: '1px solid var(--rs-border, #e5e7eb)',
|
|
48
|
-
},
|
|
49
|
-
footTitle: {
|
|
50
|
-
fontSize: '0.75rem',
|
|
51
|
-
textTransform: 'uppercase',
|
|
52
|
-
letterSpacing: '0.05em',
|
|
53
|
-
color: 'var(--rs-muted, #6b7280)',
|
|
54
|
-
marginBottom: '0.4rem',
|
|
55
|
-
},
|
|
56
|
-
equation: {
|
|
57
|
-
fontFamily: 'var(--rs-font-mono, ui-monospace, monospace)',
|
|
58
|
-
fontSize: '0.85rem',
|
|
59
|
-
lineHeight: 1.6,
|
|
60
|
-
},
|
|
61
|
-
};
|
|
62
|
-
function Field({ k, children }) {
|
|
63
|
-
return (_jsxs(_Fragment, { children: [_jsx("span", { style: styles.key, children: k }), _jsx("span", { children: children })] }));
|
|
64
|
-
}
|
|
65
|
-
export function FactInspector({ report, statement, row, columnIndex, onClose, currencySymbol = '$', }) {
|
|
66
|
-
const { element } = row;
|
|
67
|
-
const cell = row.cells[columnIndex];
|
|
68
|
-
const column = statement.columns[columnIndex];
|
|
69
|
-
const unit = cell.fact?.unit ? report.units[cell.fact.unit] : null;
|
|
70
|
-
const foot = footCheck(report, statement, element.id, columnIndex);
|
|
71
|
-
const sym = currencySymbol;
|
|
72
|
-
return (_jsxs("div", { style: styles.panel, children: [_jsxs("div", { style: styles.header, children: [_jsxs("div", { children: [_jsx("p", { style: styles.label, children: element.label }), _jsx("span", { style: styles.qname, children: element.qname })] }), onClose ? (_jsx("button", { style: styles.close, onClick: onClose, "aria-label": "Close", children: "\u00D7" })) : null] }), _jsxs("div", { style: styles.grid, children: [_jsx(Field, { k: "Value", children: _jsx("span", { style: styles.mono, children: formatMoney(cell.value, { currencySymbol: sym }) }) }), _jsxs(Field, { k: "Period", children: [formatPeriod(column.period), " ", _jsxs("span", { style: styles.key, children: ["(", column.period.type, ")"] })] }), _jsx(Field, { k: "Unit", children: unit ? unit.label : '—' }), element.balance ? _jsx(Field, { k: "Balance", children: element.balance }) : null, cell.fact?.decimals ? _jsx(Field, { k: "Decimals", children: cell.fact.decimals }) : null] }), foot ? (_jsxs("div", { style: styles.footing, children: [_jsxs("div", { style: styles.footTitle, children: ["Calculation ", foot.ok ? '✓ foots' : '⚠ does not foot'] }), _jsxs("div", { style: styles.equation, children: [foot.terms.map((term, i) => {
|
|
73
|
-
const op = i === 0 ? (term.weight < 0 ? '−' : '') : term.weight < 0 ? ' − ' : ' + ';
|
|
74
|
-
return (_jsxs("span", { title: term.element.qname, children: [op, formatMoney(term.value === null ? 0 : Math.abs(term.value), {
|
|
75
|
-
currencySymbol: sym,
|
|
76
|
-
})] }, term.element.id));
|
|
77
|
-
}), ' = ', _jsx("strong", { children: formatMoney(foot.expected, { currencySymbol: sym }) }), ' ', foot.ok ? (_jsx("span", { style: { color: 'var(--rs-success, #00875a)' }, children: "\u2713" })) : (_jsxs("span", { style: { color: 'var(--rs-error, #dc2626)' }, children: ["\u2717 (reported ", formatMoney(foot.actual, { currencySymbol: sym }), ")"] }))] })] })) : null] }));
|
|
78
|
-
}
|
|
79
|
-
//# sourceMappingURL=FactInspector.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FactInspector.js","sourceRoot":"","sources":["../../src/components/FactInspector.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { NormalizedReport } from '../model';
|
|
2
|
-
export interface ReportViewProps {
|
|
3
|
-
report: NormalizedReport;
|
|
4
|
-
currencySymbol?: string;
|
|
5
|
-
/** Disable the click-to-inspect fact panel (render-only). */
|
|
6
|
-
inspect?: boolean;
|
|
7
|
-
}
|
|
8
|
-
export declare function ReportView({ report, currencySymbol, inspect }: ReportViewProps): import("react").JSX.Element;
|
|
9
|
-
//# sourceMappingURL=ReportView.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ReportView.d.ts","sourceRoot":"","sources":["../../src/components/ReportView.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,gBAAgB,EAAgB,MAAM,UAAU,CAAA;AAK9D,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,gBAAgB,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAiCD,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,cAAoB,EAAE,OAAc,EAAE,EAAE,eAAe,+BAmE3F"}
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useMemo, useState } from 'react';
|
|
3
|
-
import { buildStatements } from '../project';
|
|
4
|
-
import { FactInspector } from './FactInspector';
|
|
5
|
-
import { StatementTable } from './StatementTable';
|
|
6
|
-
const styles = {
|
|
7
|
-
layout: {
|
|
8
|
-
display: 'grid',
|
|
9
|
-
gridTemplateColumns: 'minmax(0, 1fr)',
|
|
10
|
-
gap: '1.5rem',
|
|
11
|
-
alignItems: 'start',
|
|
12
|
-
},
|
|
13
|
-
layoutWithPanel: {
|
|
14
|
-
gridTemplateColumns: 'minmax(0, 1fr) 340px',
|
|
15
|
-
},
|
|
16
|
-
entity: {
|
|
17
|
-
fontFamily: 'var(--rs-font-heading, var(--rs-font-sans, sans-serif))',
|
|
18
|
-
textAlign: 'center',
|
|
19
|
-
marginBottom: '1.5rem',
|
|
20
|
-
},
|
|
21
|
-
entityName: {
|
|
22
|
-
fontSize: '1.5rem',
|
|
23
|
-
fontWeight: 700,
|
|
24
|
-
margin: 0,
|
|
25
|
-
color: 'var(--rs-text, #111827)',
|
|
26
|
-
},
|
|
27
|
-
entitySub: { fontSize: '0.85rem', color: 'var(--rs-muted, #6b7280)' },
|
|
28
|
-
panel: { position: 'sticky', top: '1rem' },
|
|
29
|
-
};
|
|
30
|
-
export function ReportView({ report, currencySymbol = '$', inspect = true }) {
|
|
31
|
-
const statements = useMemo(() => buildStatements(report), [report]);
|
|
32
|
-
const [selection, setSelection] = useState(null);
|
|
33
|
-
const selected = selection !== null ? statements[selection.statementIndex] : null;
|
|
34
|
-
const selectedRow = selected?.rows.find((r) => r.element.id === selection?.elementId) ?? null;
|
|
35
|
-
return (_jsxs("div", { children: [report.entity ? (_jsxs("header", { style: styles.entity, children: [_jsx("h2", { style: styles.entityName, children: report.entity.name }), report.entity.country ? (_jsx("div", { style: styles.entitySub, children: report.entity.country })) : null] })) : null, _jsxs("div", { style: {
|
|
36
|
-
...styles.layout,
|
|
37
|
-
...(inspect && selectedRow ? styles.layoutWithPanel : {}),
|
|
38
|
-
}, children: [_jsx("div", { children: statements.map((statement, statementIndex) => (_jsx(StatementTable, { statement: statement, currencySymbol: currencySymbol, selected: selection && selection.statementIndex === statementIndex
|
|
39
|
-
? {
|
|
40
|
-
elementId: selection.elementId,
|
|
41
|
-
columnIndex: selection.columnIndex,
|
|
42
|
-
}
|
|
43
|
-
: null, onCellClick: inspect
|
|
44
|
-
? (row, columnIndex) => setSelection({
|
|
45
|
-
statementIndex,
|
|
46
|
-
elementId: row.element.id,
|
|
47
|
-
columnIndex,
|
|
48
|
-
})
|
|
49
|
-
: undefined }, statement.ib.id))) }), inspect && selected && selectedRow && selection ? (_jsx("div", { style: styles.panel, children: _jsx(FactInspector, { report: report, statement: selected, row: selectedRow, columnIndex: selection.columnIndex, currencySymbol: currencySymbol, onClose: () => setSelection(null) }) })) : null] })] }));
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=ReportView.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ReportView.js","sourceRoot":"","sources":["../../src/components/ReportView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { Statement, StatementRow } from '../model';
|
|
2
|
-
export interface StatementTableProps {
|
|
3
|
-
statement: Statement;
|
|
4
|
-
/** Called when a value cell is clicked — drives fact inspection. */
|
|
5
|
-
onCellClick?: (row: StatementRow, columnIndex: number) => void;
|
|
6
|
-
/** Currency symbol for values (default `$`). */
|
|
7
|
-
currencySymbol?: string;
|
|
8
|
-
/** The currently-selected cell, highlighted. */
|
|
9
|
-
selected?: {
|
|
10
|
-
elementId: string;
|
|
11
|
-
columnIndex: number;
|
|
12
|
-
} | null;
|
|
13
|
-
}
|
|
14
|
-
export declare function StatementTable({ statement, onCellClick, currencySymbol, selected, }: StatementTableProps): import("react").JSX.Element;
|
|
15
|
-
//# sourceMappingURL=StatementTable.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StatementTable.d.ts","sourceRoot":"","sources":["../../src/components/StatementTable.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvD,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,SAAS,CAAA;IACpB,oEAAoE;IACpE,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9D,gDAAgD;IAChD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,gDAAgD;IAChD,QAAQ,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAA;CAC7D;AAmDD,wBAAgB,cAAc,CAAC,EAC7B,SAAS,EACT,WAAW,EACX,cAAoB,EACpB,QAAe,GAChB,EAAE,mBAAmB,+BA8ErB"}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { formatMoney, formatPeriod } from '../format';
|
|
3
|
-
const styles = {
|
|
4
|
-
wrap: {
|
|
5
|
-
fontFamily: 'var(--rs-font-sans, ui-sans-serif, system-ui, sans-serif)',
|
|
6
|
-
color: 'var(--rs-text, #111827)',
|
|
7
|
-
marginBottom: '2.5rem',
|
|
8
|
-
},
|
|
9
|
-
heading: {
|
|
10
|
-
textAlign: 'center',
|
|
11
|
-
marginBottom: '1rem',
|
|
12
|
-
},
|
|
13
|
-
title: {
|
|
14
|
-
fontFamily: 'var(--rs-font-heading, var(--rs-font-sans, sans-serif))',
|
|
15
|
-
fontSize: '1.15rem',
|
|
16
|
-
fontWeight: 700,
|
|
17
|
-
letterSpacing: '0.02em',
|
|
18
|
-
margin: 0,
|
|
19
|
-
},
|
|
20
|
-
subtitle: {
|
|
21
|
-
fontSize: '0.85rem',
|
|
22
|
-
color: 'var(--rs-muted, #6b7280)',
|
|
23
|
-
marginTop: '0.25rem',
|
|
24
|
-
},
|
|
25
|
-
table: {
|
|
26
|
-
width: '100%',
|
|
27
|
-
borderCollapse: 'collapse',
|
|
28
|
-
fontSize: '0.875rem',
|
|
29
|
-
},
|
|
30
|
-
th: {
|
|
31
|
-
borderBottom: '2px solid var(--rs-border-strong, #9ca3af)',
|
|
32
|
-
padding: '0.5rem 0.75rem',
|
|
33
|
-
fontWeight: 600,
|
|
34
|
-
color: 'var(--rs-muted, #6b7280)',
|
|
35
|
-
fontSize: '0.8rem',
|
|
36
|
-
},
|
|
37
|
-
thConcept: { textAlign: 'left' },
|
|
38
|
-
thNum: { textAlign: 'right', whiteSpace: 'nowrap' },
|
|
39
|
-
labelCell: {
|
|
40
|
-
padding: '0.3rem 0.75rem',
|
|
41
|
-
whiteSpace: 'normal',
|
|
42
|
-
},
|
|
43
|
-
numCell: {
|
|
44
|
-
padding: '0.3rem 0.75rem',
|
|
45
|
-
textAlign: 'right',
|
|
46
|
-
whiteSpace: 'nowrap',
|
|
47
|
-
fontFamily: 'var(--rs-font-mono, ui-monospace, SFMono-Regular, monospace)',
|
|
48
|
-
fontVariantNumeric: 'tabular-nums',
|
|
49
|
-
},
|
|
50
|
-
};
|
|
51
|
-
export function StatementTable({ statement, onCellClick, currencySymbol = '$', selected = null, }) {
|
|
52
|
-
const { columns, rows } = statement;
|
|
53
|
-
const periodCaption = columns.length === 1 ? formatPeriod(columns[0].period) : null;
|
|
54
|
-
return (_jsxs("section", { style: styles.wrap, children: [_jsxs("header", { style: styles.heading, children: [_jsx("h3", { style: styles.title, children: statement.title }), statement.structureName ? (_jsx("div", { style: styles.subtitle, children: statement.structureName })) : null, periodCaption ? _jsx("div", { style: styles.subtitle, children: periodCaption }) : null] }), _jsxs("table", { style: styles.table, children: [_jsx("thead", { children: _jsxs("tr", { children: [_jsx("th", { style: { ...styles.th, ...styles.thConcept }, children: "Concept" }), columns.map((col) => (_jsx("th", { style: { ...styles.th, ...styles.thNum }, children: col.label }, col.key)))] }) }), _jsx("tbody", { children: rows.map((row) => {
|
|
55
|
-
const isGrandTotal = row.isSubtotal && row.depth === 0;
|
|
56
|
-
const allZeroOrNull = row.cells.every((c) => c.value === null || c.value === 0);
|
|
57
|
-
const rowStyle = {
|
|
58
|
-
backgroundColor: row.isSubtotal ? 'var(--rs-subtotal-bg, #f9fafb)' : undefined,
|
|
59
|
-
};
|
|
60
|
-
const labelStyle = {
|
|
61
|
-
...styles.labelCell,
|
|
62
|
-
paddingLeft: `${row.depth * 20 + 12}px`,
|
|
63
|
-
fontWeight: row.isSubtotal ? 600 : 400,
|
|
64
|
-
color: !row.isSubtotal && allZeroOrNull ? 'var(--rs-muted, #9ca3af)' : undefined,
|
|
65
|
-
borderBottom: isGrandTotal ? '3px double var(--rs-text, #111827)' : undefined,
|
|
66
|
-
};
|
|
67
|
-
return (_jsxs("tr", { style: rowStyle, children: [_jsx("td", { style: labelStyle, title: row.element.qname, children: row.element.label }), row.cells.map((cell, i) => {
|
|
68
|
-
const isSelected = selected !== null &&
|
|
69
|
-
selected.elementId === row.element.id &&
|
|
70
|
-
selected.columnIndex === i;
|
|
71
|
-
const clickable = onCellClick && cell.fact !== null;
|
|
72
|
-
const numStyle = {
|
|
73
|
-
...styles.numCell,
|
|
74
|
-
fontWeight: row.isSubtotal ? 600 : 400,
|
|
75
|
-
borderBottom: isGrandTotal ? '3px double var(--rs-text, #111827)' : undefined,
|
|
76
|
-
cursor: clickable ? 'pointer' : 'default',
|
|
77
|
-
backgroundColor: isSelected ? 'var(--rs-selected-bg, #dbeafe)' : undefined,
|
|
78
|
-
color: !row.isSubtotal && (cell.value === null || cell.value === 0)
|
|
79
|
-
? 'var(--rs-muted, #9ca3af)'
|
|
80
|
-
: undefined,
|
|
81
|
-
};
|
|
82
|
-
return (_jsx("td", { style: numStyle, onClick: clickable ? () => onCellClick?.(row, i) : undefined, children: formatMoney(cell.value, { currencySymbol }) }, columns[i].key));
|
|
83
|
-
})] }, row.element.id));
|
|
84
|
-
}) })] })] }));
|
|
85
|
-
}
|
|
86
|
-
//# sourceMappingURL=StatementTable.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StatementTable.js","sourceRoot":"","sources":["../../src/components/StatementTable.tsx"],"names":[],"mappings":"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"}
|