@gabrielkf/gk-dsl-viewer 1.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.
- package/LICENSE +21 -0
- package/README.md +87 -0
- package/dist/index.css +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +42031 -0
- package/dist/packages/viewer/src/GKFilterPanel.d.ts +8 -0
- package/dist/packages/viewer/src/GKFilterPanel.d.ts.map +1 -0
- package/dist/packages/viewer/src/components/GKReportPDF.d.ts +17 -0
- package/dist/packages/viewer/src/components/GKReportPDF.d.ts.map +1 -0
- package/dist/packages/viewer/src/components/GKReportPreview.d.ts +10 -0
- package/dist/packages/viewer/src/components/GKReportPreview.d.ts.map +1 -0
- package/dist/packages/viewer/src/components/band-renderer/BandRenderer.d.ts +16 -0
- package/dist/packages/viewer/src/components/band-renderer/BandRenderer.d.ts.map +1 -0
- package/dist/packages/viewer/src/components/content-renderers/chart-configuration.d.ts +36 -0
- package/dist/packages/viewer/src/components/content-renderers/chart-configuration.d.ts.map +1 -0
- package/dist/packages/viewer/src/components/content-renderers/chart-id.d.ts +2 -0
- package/dist/packages/viewer/src/components/content-renderers/chart-id.d.ts.map +1 -0
- package/dist/packages/viewer/src/components/content-renderers/chart-renderer.d.ts +13 -0
- package/dist/packages/viewer/src/components/content-renderers/chart-renderer.d.ts.map +1 -0
- package/dist/packages/viewer/src/components/content-renderers/content-orchestrator.d.ts +15 -0
- package/dist/packages/viewer/src/components/content-renderers/content-orchestrator.d.ts.map +1 -0
- package/dist/packages/viewer/src/components/content-renderers/line-renderer.d.ts +8 -0
- package/dist/packages/viewer/src/components/content-renderers/line-renderer.d.ts.map +1 -0
- package/dist/packages/viewer/src/components/content-renderers/table-records.d.ts +9 -0
- package/dist/packages/viewer/src/components/content-renderers/table-records.d.ts.map +1 -0
- package/dist/packages/viewer/src/components/content-renderers/table-renderer.d.ts +10 -0
- package/dist/packages/viewer/src/components/content-renderers/table-renderer.d.ts.map +1 -0
- package/dist/packages/viewer/src/components/content-renderers/text-renderer.d.ts +9 -0
- package/dist/packages/viewer/src/components/content-renderers/text-renderer.d.ts.map +1 -0
- package/dist/packages/viewer/src/components/dsl-inspector/DSLInspector.d.ts +3 -0
- package/dist/packages/viewer/src/components/dsl-inspector/DSLInspector.d.ts.map +1 -0
- package/dist/packages/viewer/src/components/footer-status.d.ts +3 -0
- package/dist/packages/viewer/src/components/footer-status.d.ts.map +1 -0
- package/dist/packages/viewer/src/components/multi-page-preview/MultiPagePreview.d.ts +13 -0
- package/dist/packages/viewer/src/components/multi-page-preview/MultiPagePreview.d.ts.map +1 -0
- package/dist/packages/viewer/src/components/page-canvas/PageCanvas.d.ts +21 -0
- package/dist/packages/viewer/src/components/page-canvas/PageCanvas.d.ts.map +1 -0
- package/dist/packages/viewer/src/components/param-panel.d.ts +11 -0
- package/dist/packages/viewer/src/components/param-panel.d.ts.map +1 -0
- package/dist/packages/viewer/src/components/pdf-layout.d.ts +3 -0
- package/dist/packages/viewer/src/components/pdf-layout.d.ts.map +1 -0
- package/dist/packages/viewer/src/components/preview-toolbar/PreviewToolbar.d.ts +22 -0
- package/dist/packages/viewer/src/components/preview-toolbar/PreviewToolbar.d.ts.map +1 -0
- package/dist/packages/viewer/src/components/test-data-panel.d.ts +11 -0
- package/dist/packages/viewer/src/components/test-data-panel.d.ts.map +1 -0
- package/dist/packages/viewer/src/context/page-context-value.d.ts +20 -0
- package/dist/packages/viewer/src/context/page-context-value.d.ts.map +1 -0
- package/dist/packages/viewer/src/context/page-context.d.ts +8 -0
- package/dist/packages/viewer/src/context/page-context.d.ts.map +1 -0
- package/dist/packages/viewer/src/context/report-context-values.d.ts +143 -0
- package/dist/packages/viewer/src/context/report-context-values.d.ts.map +1 -0
- package/dist/packages/viewer/src/context/report-context.d.ts +32 -0
- package/dist/packages/viewer/src/context/report-context.d.ts.map +1 -0
- package/dist/packages/viewer/src/context/report-reducer.d.ts +9 -0
- package/dist/packages/viewer/src/context/report-reducer.d.ts.map +1 -0
- package/dist/packages/viewer/src/export/xlsx-export.d.ts +125 -0
- package/dist/packages/viewer/src/export/xlsx-export.d.ts.map +1 -0
- package/dist/packages/viewer/src/filter-controls/BooleanToggleControl.d.ts +9 -0
- package/dist/packages/viewer/src/filter-controls/BooleanToggleControl.d.ts.map +1 -0
- package/dist/packages/viewer/src/filter-controls/DateFilterControl.d.ts +9 -0
- package/dist/packages/viewer/src/filter-controls/DateFilterControl.d.ts.map +1 -0
- package/dist/packages/viewer/src/filter-controls/DateRangeFilterControl.d.ts +9 -0
- package/dist/packages/viewer/src/filter-controls/DateRangeFilterControl.d.ts.map +1 -0
- package/dist/packages/viewer/src/filter-controls/EnumFilterControl.d.ts +13 -0
- package/dist/packages/viewer/src/filter-controls/EnumFilterControl.d.ts.map +1 -0
- package/dist/packages/viewer/src/filter-controls/NumberRangeFilterControl.d.ts +12 -0
- package/dist/packages/viewer/src/filter-controls/NumberRangeFilterControl.d.ts.map +1 -0
- package/dist/packages/viewer/src/filter-controls/SearchFilterControl.d.ts +14 -0
- package/dist/packages/viewer/src/filter-controls/SearchFilterControl.d.ts.map +1 -0
- package/dist/packages/viewer/src/filter-controls/TextFilterControl.d.ts +10 -0
- package/dist/packages/viewer/src/filter-controls/TextFilterControl.d.ts.map +1 -0
- package/dist/packages/viewer/src/hooks/useChartImages.d.ts +13 -0
- package/dist/packages/viewer/src/hooks/useChartImages.d.ts.map +1 -0
- package/dist/packages/viewer/src/hooks/useExportPipeline.d.ts +21 -0
- package/dist/packages/viewer/src/hooks/useExportPipeline.d.ts.map +1 -0
- package/dist/packages/viewer/src/hooks/useGKPageNavigation.d.ts +14 -0
- package/dist/packages/viewer/src/hooks/useGKPageNavigation.d.ts.map +1 -0
- package/dist/packages/viewer/src/hooks/usePageBreaker.d.ts +32 -0
- package/dist/packages/viewer/src/hooks/usePageBreaker.d.ts.map +1 -0
- package/dist/packages/viewer/src/index.d.ts +17 -0
- package/dist/packages/viewer/src/index.d.ts.map +1 -0
- package/dist/packages/viewer/src/layout/layout-dimensions.d.ts +15 -0
- package/dist/packages/viewer/src/layout/layout-dimensions.d.ts.map +1 -0
- package/dist/packages/viewer/src/layout/layout-plan.d.ts +53 -0
- package/dist/packages/viewer/src/layout/layout-plan.d.ts.map +1 -0
- package/dist/packages/viewer/src/main.d.ts +7 -0
- package/dist/packages/viewer/src/main.d.ts.map +1 -0
- package/dist/packages/viewer/src/utils/measureTextHeight.d.ts +24 -0
- package/dist/packages/viewer/src/utils/measureTextHeight.d.ts.map +1 -0
- package/dist/packages/viewer/src/viewer-app.d.ts +9 -0
- package/dist/packages/viewer/src/viewer-app.d.ts.map +1 -0
- package/package.json +67 -0
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { CoreReferenceValueType, GKContent, GKFormat, GKStyle, ReportDiagnostic, ResolvedGeneration } from '@gabrielkf/gk-dsl-core';
|
|
2
|
+
import { LayoutPlan } from '../layout/layout-plan.js';
|
|
3
|
+
export interface SourceRowField {
|
|
4
|
+
readonly sourceId: string;
|
|
5
|
+
readonly rowIndex: number;
|
|
6
|
+
readonly field: string;
|
|
7
|
+
}
|
|
8
|
+
export interface CellIdentity {
|
|
9
|
+
readonly sheet: string;
|
|
10
|
+
readonly address: string;
|
|
11
|
+
}
|
|
12
|
+
export interface CellRangeRef {
|
|
13
|
+
readonly kind: 'contiguous' | 'disjoint';
|
|
14
|
+
readonly ranges: readonly string[];
|
|
15
|
+
}
|
|
16
|
+
export interface CellMapEntry {
|
|
17
|
+
readonly sourceRowField?: SourceRowField;
|
|
18
|
+
readonly cell: CellIdentity;
|
|
19
|
+
readonly range?: CellRangeRef;
|
|
20
|
+
readonly expressionId?: string;
|
|
21
|
+
readonly widgetId?: string;
|
|
22
|
+
readonly groupId?: string;
|
|
23
|
+
readonly scope: 'row' | 'group' | 'global';
|
|
24
|
+
}
|
|
25
|
+
/** The only part of the XLSX map that an expression translator needs. */
|
|
26
|
+
export interface CellReferenceResolver {
|
|
27
|
+
cellForSourceRow(sourceId: string, rowIndex: number, field: string): CellIdentity;
|
|
28
|
+
rangeForSourceRows(sourceId: string, rowIndices: readonly number[], field: string): CellRangeRef;
|
|
29
|
+
referenceValueTypeForSourceRow?(sourceId: string, rowIndex: number, field: string): CoreReferenceValueType | undefined;
|
|
30
|
+
}
|
|
31
|
+
export interface RenderedChartImage {
|
|
32
|
+
readonly generationId: string;
|
|
33
|
+
readonly mimeType: 'image/png';
|
|
34
|
+
readonly dataUrl: string;
|
|
35
|
+
}
|
|
36
|
+
export type XlsxCellValue = string | number | boolean | Date | null;
|
|
37
|
+
export interface TranslatedFormula {
|
|
38
|
+
readonly formula: string;
|
|
39
|
+
readonly result: XlsxCellValue;
|
|
40
|
+
}
|
|
41
|
+
export interface FormulaTranslationContext {
|
|
42
|
+
readonly expression: string;
|
|
43
|
+
readonly cell: CellIdentity;
|
|
44
|
+
readonly sourceRowField?: SourceRowField;
|
|
45
|
+
readonly scope: 'row' | 'group' | 'global';
|
|
46
|
+
readonly groupId?: string;
|
|
47
|
+
readonly resolver: CellReferenceResolver;
|
|
48
|
+
readonly calculatedValue: unknown;
|
|
49
|
+
readonly aggregateRows?: {
|
|
50
|
+
readonly sourceId: string;
|
|
51
|
+
readonly rowIndices: readonly number[];
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
/** Injected by core T017. XLSX never guesses a formula when it is absent. */
|
|
55
|
+
export type CellFormulaTranslator = (context: FormulaTranslationContext) => TranslatedFormula | undefined;
|
|
56
|
+
export interface XlsxExportRequest {
|
|
57
|
+
readonly generation: ResolvedGeneration;
|
|
58
|
+
readonly layoutPlan?: LayoutPlan;
|
|
59
|
+
readonly chartImages?: Readonly<Record<string, RenderedChartImage>>;
|
|
60
|
+
readonly translateFormula?: CellFormulaTranslator;
|
|
61
|
+
}
|
|
62
|
+
export type XlsxExportResult = {
|
|
63
|
+
readonly status: 'complete';
|
|
64
|
+
readonly blob: Blob;
|
|
65
|
+
readonly diagnostics: readonly ReportDiagnostic[];
|
|
66
|
+
} | {
|
|
67
|
+
readonly status: 'failed';
|
|
68
|
+
readonly blob?: never;
|
|
69
|
+
readonly diagnostics: readonly ReportDiagnostic[];
|
|
70
|
+
};
|
|
71
|
+
interface CellModelValue {
|
|
72
|
+
readonly value: unknown;
|
|
73
|
+
readonly format?: GKFormat;
|
|
74
|
+
readonly style?: GKStyle;
|
|
75
|
+
readonly sourceRowField?: SourceRowField;
|
|
76
|
+
readonly expression?: string;
|
|
77
|
+
readonly expressionId?: string;
|
|
78
|
+
readonly widgetId?: string;
|
|
79
|
+
readonly scope: 'row' | 'group' | 'global';
|
|
80
|
+
readonly groupId?: string;
|
|
81
|
+
readonly aggregateRows?: {
|
|
82
|
+
readonly sourceId: string;
|
|
83
|
+
readonly rowIndices: readonly number[];
|
|
84
|
+
};
|
|
85
|
+
readonly calculationError?: string;
|
|
86
|
+
}
|
|
87
|
+
export interface XlsxTableColumn {
|
|
88
|
+
readonly widgetId: string;
|
|
89
|
+
readonly content: GKContent;
|
|
90
|
+
readonly field: NonNullable<GKContent['columns']>[number];
|
|
91
|
+
readonly sourceId?: string;
|
|
92
|
+
}
|
|
93
|
+
interface ModelRow {
|
|
94
|
+
readonly kind: 'header' | 'data' | 'group' | 'total' | 'note' | 'text' | 'section';
|
|
95
|
+
readonly label?: string;
|
|
96
|
+
readonly groupId?: string;
|
|
97
|
+
readonly values: readonly CellModelValue[];
|
|
98
|
+
}
|
|
99
|
+
export interface XlsxTextSection {
|
|
100
|
+
readonly kind: 'text';
|
|
101
|
+
readonly rows: readonly ModelRow[];
|
|
102
|
+
}
|
|
103
|
+
export interface XlsxTableSection {
|
|
104
|
+
readonly kind: 'table';
|
|
105
|
+
readonly widgetId: string;
|
|
106
|
+
readonly content: GKContent;
|
|
107
|
+
readonly sourceId?: string;
|
|
108
|
+
readonly columns: readonly XlsxTableColumn[];
|
|
109
|
+
readonly rows: readonly ModelRow[];
|
|
110
|
+
}
|
|
111
|
+
export type XlsxSheetSection = XlsxTextSection | XlsxTableSection;
|
|
112
|
+
export interface XlsxCellModel {
|
|
113
|
+
readonly sheet: string;
|
|
114
|
+
readonly sections: readonly XlsxSheetSection[];
|
|
115
|
+
readonly entries: readonly CellMapEntry[];
|
|
116
|
+
readonly resolver: CellReferenceResolver;
|
|
117
|
+
readonly chartIds: readonly string[];
|
|
118
|
+
}
|
|
119
|
+
export declare function buildXlsxCellModel(request: XlsxExportRequest): {
|
|
120
|
+
model?: XlsxCellModel;
|
|
121
|
+
diagnostics: readonly ReportDiagnostic[];
|
|
122
|
+
};
|
|
123
|
+
export declare function exportXlsx(request: XlsxExportRequest): Promise<XlsxExportResult>;
|
|
124
|
+
export {};
|
|
125
|
+
//# sourceMappingURL=xlsx-export.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xlsx-export.d.ts","sourceRoot":"","sources":["../../../../../src/export/xlsx-export.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
interface Props {
|
|
3
|
+
label: string;
|
|
4
|
+
value: unknown;
|
|
5
|
+
onChange: (value: boolean) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare function BooleanToggleControl({ label, value, onChange }: Props): ReactElement;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=BooleanToggleControl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BooleanToggleControl.d.ts","sourceRoot":"","sources":["../../../../../src/filter-controls/BooleanToggleControl.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC;AAED,wBAAgB,oBAAoB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,KAAK,GAAG,YAAY,CAQpF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
interface Props {
|
|
3
|
+
label: string;
|
|
4
|
+
value: unknown;
|
|
5
|
+
onChange: (value: Date | null) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare function DateFilterControl({ label, value, onChange }: Props): ReactElement;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=DateFilterControl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateFilterControl.d.ts","sourceRoot":"","sources":["../../../../../src/filter-controls/DateFilterControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;CACxC;AAgCD,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,KAAK,GAAG,YAAY,CAajF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
interface Props {
|
|
3
|
+
label: string;
|
|
4
|
+
value: unknown;
|
|
5
|
+
onChange: (value: [Date | null, Date | null]) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare function DateRangeFilterControl({ label, value, onChange }: Props): ReactElement;
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=DateRangeFilterControl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateRangeFilterControl.d.ts","sourceRoot":"","sources":["../../../../../src/filter-controls/DateRangeFilterControl.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC;CACvD;AAED,wBAAgB,sBAAsB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,KAAK,GAAG,YAAY,CAWtF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { OptionItem } from '../context/report-context-values.js';
|
|
2
|
+
import { ReactElement } from 'react';
|
|
3
|
+
interface Props {
|
|
4
|
+
label: string;
|
|
5
|
+
placeholder?: string | undefined;
|
|
6
|
+
value: unknown;
|
|
7
|
+
onChange: (value: string | null) => void;
|
|
8
|
+
options: OptionItem[];
|
|
9
|
+
loading?: boolean | undefined;
|
|
10
|
+
}
|
|
11
|
+
export declare function EnumFilterControl({ label, placeholder, value, onChange, options, loading }: Props): ReactElement;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=EnumFilterControl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EnumFilterControl.d.ts","sourceRoot":"","sources":["../../../../../src/filter-controls/EnumFilterControl.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACzC,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,GAAG,YAAY,CAahH"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
interface Props {
|
|
3
|
+
label: string;
|
|
4
|
+
value: unknown;
|
|
5
|
+
onChange: (value: {
|
|
6
|
+
from?: number | undefined;
|
|
7
|
+
to?: number | undefined;
|
|
8
|
+
}) => void;
|
|
9
|
+
}
|
|
10
|
+
export declare function NumberRangeFilterControl({ label, value, onChange }: Props): ReactElement;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=NumberRangeFilterControl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NumberRangeFilterControl.d.ts","sourceRoot":"","sources":["../../../../../src/filter-controls/NumberRangeFilterControl.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,KAAK,IAAI,CAAC;CACnF;AAOD,wBAAgB,wBAAwB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,KAAK,GAAG,YAAY,CAgBxF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { OptionItem } from '../context/report-context-values.js';
|
|
2
|
+
import { ReactElement } from 'react';
|
|
3
|
+
interface Props {
|
|
4
|
+
paramName: string;
|
|
5
|
+
label: string;
|
|
6
|
+
placeholder?: string | undefined;
|
|
7
|
+
value: unknown;
|
|
8
|
+
onChange: (value: string) => void;
|
|
9
|
+
options: OptionItem[];
|
|
10
|
+
loading?: boolean | undefined;
|
|
11
|
+
}
|
|
12
|
+
export declare function SearchFilterControl({ paramName, label, placeholder, value, onChange, options, loading }: Props): ReactElement;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=SearchFilterControl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchFilterControl.d.ts","sourceRoot":"","sources":["../../../../../src/filter-controls/SearchFilterControl.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAEnE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,UAAU,KAAK;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED,wBAAgB,mBAAmB,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,GAAG,YAAY,CAsB7H"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
interface Props {
|
|
3
|
+
label: string;
|
|
4
|
+
placeholder?: string | undefined;
|
|
5
|
+
value: unknown;
|
|
6
|
+
onChange: (value: string) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function TextFilterControl({ label, placeholder, value, onChange }: Props): ReactElement;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=TextFilterControl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextFilterControl.d.ts","sourceRoot":"","sources":["../../../../../src/filter-controls/TextFilterControl.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,UAAU,KAAK;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAED,wBAAgB,iBAAiB,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,KAAK,GAAG,YAAY,CAS9F"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ReportDiagnostic } from '@gabrielkf/gk-dsl-core';
|
|
2
|
+
import { RenderedChartImage } from '../export/xlsx-export.js';
|
|
3
|
+
import { ChartRegistration } from '../components/content-renderers/chart-renderer.js';
|
|
4
|
+
export declare class ChartCaptureError extends Error {
|
|
5
|
+
readonly diagnostics: readonly ReportDiagnostic[];
|
|
6
|
+
constructor(chartId: string, cause: unknown);
|
|
7
|
+
}
|
|
8
|
+
export declare function isValidPngDataUrl(dataUrl: string): boolean;
|
|
9
|
+
export declare function useChartImages(): {
|
|
10
|
+
registerChart: ChartRegistration;
|
|
11
|
+
captureAll: (generationId: string) => Promise<Record<string, RenderedChartImage>>;
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=useChartImages.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useChartImages.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/useChartImages.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AAExF,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,QAAQ,CAAC,WAAW,EAAE,SAAS,gBAAgB,EAAE,CAAC;gBAEtC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;CAc5C;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAW1D;AA+BD,wBAAgB,cAAc,IAAI;IAChC,aAAa,EAAE,iBAAiB,CAAC;IACjC,UAAU,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;CACnF,CAmDA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { RenderedChartImage } from '../export/xlsx-export.js';
|
|
2
|
+
import { ChartRegistration } from '../components/content-renderers/chart-renderer.js';
|
|
3
|
+
export type ExportState = 'idle' | 'capturingCharts' | 'renderingPdf' | 'ready' | 'failed';
|
|
4
|
+
export interface UseExportPipelineProps {
|
|
5
|
+
renderPdf: (chartImages: Record<string, string>) => Promise<Blob>;
|
|
6
|
+
onSuccess?: (blob: Blob) => void;
|
|
7
|
+
/** Required whenever the registered chart set is non-empty. */
|
|
8
|
+
generationId?: string;
|
|
9
|
+
/** Optional canonical chart capture owner supplied by the report provider. */
|
|
10
|
+
captureCharts?: (generationId: string) => Promise<Record<string, RenderedChartImage>>;
|
|
11
|
+
}
|
|
12
|
+
export declare function useExportPipeline({ renderPdf, onSuccess, generationId, captureCharts, }: UseExportPipelineProps): {
|
|
13
|
+
state: ExportState;
|
|
14
|
+
progress: number;
|
|
15
|
+
error: Error | null;
|
|
16
|
+
startExport: () => Promise<void>;
|
|
17
|
+
retry: () => Promise<void>;
|
|
18
|
+
reset: () => void;
|
|
19
|
+
registerChart: ChartRegistration;
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=useExportPipeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useExportPipeline.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/useExportPipeline.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AAExF,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,iBAAiB,GAAG,cAAc,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE3F,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACjC,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;CACvF;AAED,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,SAAS,EACT,YAAY,EACZ,aAAa,GACd,EAAE,sBAAsB,GAAG;IAC1B,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,aAAa,EAAE,iBAAiB,CAAC;CAClC,CAwEA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface GKPageNavigationState {
|
|
2
|
+
currentPage: number;
|
|
3
|
+
pageCount: number;
|
|
4
|
+
zoom: number;
|
|
5
|
+
canGoPrev: boolean;
|
|
6
|
+
canGoNext: boolean;
|
|
7
|
+
onPagesReady: (count: number) => void;
|
|
8
|
+
goToPrev: () => void;
|
|
9
|
+
goToNext: () => void;
|
|
10
|
+
goToPage: (page: number) => void;
|
|
11
|
+
setZoom: (zoom: number) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare function useGKPageNavigation(initialZoom?: number): GKPageNavigationState;
|
|
14
|
+
//# sourceMappingURL=useGKPageNavigation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGKPageNavigation.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/useGKPageNavigation.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,wBAAgB,mBAAmB,CAAC,WAAW,SAAI,GAAG,qBAAqB,CAgC1E"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { GKBand, GKBandType, DataSourceData, GKReport } from '@gabrielkf/gk-dsl-core';
|
|
2
|
+
import { LayoutPlan, LayoutPage, LayoutItem, LayoutDiagnostic, CalculatedWidget, LayoutPrintArea } from '../layout/layout-plan.js';
|
|
3
|
+
export type { LayoutPlan, LayoutPage, LayoutItem, LayoutDiagnostic, CalculatedWidget, LayoutPrintArea, };
|
|
4
|
+
export type PageItem = LayoutItem;
|
|
5
|
+
export type PageBreak = LayoutPage;
|
|
6
|
+
interface PageBreakerProps {
|
|
7
|
+
report: GKReport;
|
|
8
|
+
data: DataSourceData[];
|
|
9
|
+
/** Canonical source data. `data` remains the legacy primary-source view. */
|
|
10
|
+
dataBySource?: Record<string, DataSourceData[]> | undefined;
|
|
11
|
+
/** Optional source for callers rendering a plan for one explicit scope. */
|
|
12
|
+
sourceId?: string | undefined;
|
|
13
|
+
bodyHeightPx: number;
|
|
14
|
+
containerWidthPx: number;
|
|
15
|
+
params?: Record<string, unknown> | undefined;
|
|
16
|
+
referenceAt?: string | undefined;
|
|
17
|
+
layoutPlan?: LayoutPlan | undefined;
|
|
18
|
+
}
|
|
19
|
+
interface BandInstance {
|
|
20
|
+
type: GKBandType;
|
|
21
|
+
band: GKBand;
|
|
22
|
+
rowData?: DataSourceData | undefined;
|
|
23
|
+
groupKey?: string | undefined;
|
|
24
|
+
groupData?: DataSourceData[] | undefined;
|
|
25
|
+
sourceId?: string | undefined;
|
|
26
|
+
calculatedHeight: number;
|
|
27
|
+
widgets: CalculatedWidget[];
|
|
28
|
+
}
|
|
29
|
+
export declare function calculateBandInstance(type: GKBandType, band: GKBand, report: GKReport, containerWidthPx: number, data: DataSourceData[], params?: Record<string, unknown>, rowData?: DataSourceData, groupKey?: string, groupData?: DataSourceData[], sourceId?: string, dataBySource?: Record<string, DataSourceData[]>, referenceAt?: string): BandInstance;
|
|
30
|
+
export declare function generateLayoutPlan({ report, data, dataBySource, sourceId, bodyHeightPx, containerWidthPx, params, referenceAt, }: PageBreakerProps): LayoutPlan;
|
|
31
|
+
export declare function usePageBreaker({ report, data, dataBySource, sourceId, bodyHeightPx, containerWidthPx, params, referenceAt, layoutPlan, }: PageBreakerProps): LayoutPlan;
|
|
32
|
+
//# sourceMappingURL=usePageBreaker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePageBreaker.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/usePageBreaker.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,MAAM,EACN,UAAU,EACV,cAAc,EACd,QAAQ,EAIT,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAI/B,YAAY,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,GAChB,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,UAAU,CAAC;AAClC,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC;AAEnC,UAAU,gBAAgB;IACxB,MAAM,EAAE,QAAQ,CAAC;IACjB,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,GAAG,SAAS,CAAC;IAC5D,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CACrC;AASD,UAAU,YAAY;IACpB,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AA4OD,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,QAAQ,EAChB,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,cAAc,EAAE,EACtB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACpC,OAAO,CAAC,EAAE,cAAc,EACxB,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,cAAc,EAAE,EAC5B,QAAQ,CAAC,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,EAC/C,WAAW,CAAC,EAAE,MAAM,GACnB,YAAY,CAuCd;AAi7BD,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,MAAW,EACX,WAAW,GACZ,EAAE,gBAAgB,GAAG,UAAU,CA6B/B;AAED,wBAAgB,cAAc,CAAC,EAC7B,MAAM,EACN,IAAI,EACJ,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,MAAM,EACN,WAAW,EACX,UAAU,GACX,EAAE,gBAAgB,GAAG,UAAU,CA0B/B"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export { useRendererDiagnosticReporter, GenerationResolutionError, expectedChartIdsForGeneration, ensureRequiredChartImages, ensureGenerationOutputComplete, exportResolvedGenerationXlsx, resolveGeneration, GKReportProvider, } from './context/report-context.js';
|
|
2
|
+
export type { GenerationResolutionInput } from './context/report-context.js';
|
|
3
|
+
export * from './context/report-context-values.js';
|
|
4
|
+
export * from './components/multi-page-preview/MultiPagePreview.js';
|
|
5
|
+
export * from './components/param-panel.js';
|
|
6
|
+
export * from './GKFilterPanel.js';
|
|
7
|
+
export * from './viewer-app.js';
|
|
8
|
+
export { useGKPageNavigation } from './hooks/useGKPageNavigation.js';
|
|
9
|
+
export type { GKPageNavigationState } from './hooks/useGKPageNavigation.js';
|
|
10
|
+
export { useExportPipeline } from './hooks/useExportPipeline.js';
|
|
11
|
+
export type { ExportState, UseExportPipelineProps } from './hooks/useExportPipeline.js';
|
|
12
|
+
export { ChartCaptureError, useChartImages } from './hooks/useChartImages.js';
|
|
13
|
+
export { computeReportAggregates } from './context/report-reducer.js';
|
|
14
|
+
export { GKReportPDF } from './components/GKReportPDF.js';
|
|
15
|
+
export { buildXlsxCellModel, exportXlsx } from './export/xlsx-export.js';
|
|
16
|
+
export type { CellIdentity, CellMapEntry, CellRangeRef, CellReferenceResolver, RenderedChartImage, SourceRowField, TranslatedFormula, FormulaTranslationContext, CellFormulaTranslator, XlsxCellModel, XlsxExportRequest, XlsxExportResult, } from './export/xlsx-export.js';
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,6BAA6B,EAC7B,yBAAyB,EACzB,6BAA6B,EAC7B,yBAAyB,EACzB,8BAA8B,EAC9B,4BAA4B,EAC5B,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,cAAc,iCAAiC,CAAC;AAChD,cAAc,kDAAkD,CAAC;AACjE,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,YAAY,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACtE,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { GKReport, GKPageSize, GKOrientation, GKMargins, GKUnit } from '@gabrielkf/gk-dsl-core';
|
|
2
|
+
export declare const PAGE_DIMENSIONS_MM: Record<GKReport['pageSize'], {
|
|
3
|
+
width: number;
|
|
4
|
+
height: number;
|
|
5
|
+
}>;
|
|
6
|
+
export interface LayoutDimensions {
|
|
7
|
+
pageWidthPt: number;
|
|
8
|
+
pageHeightPt: number;
|
|
9
|
+
bodyHeightPt: number;
|
|
10
|
+
contentWidthPt: number;
|
|
11
|
+
marginsPt: GKMargins;
|
|
12
|
+
}
|
|
13
|
+
export declare function getPageDimensions(pageSize: GKPageSize, orientation: GKOrientation, margins: GKMargins, units?: GKUnit): Pick<LayoutDimensions, 'pageWidthPt' | 'pageHeightPt' | 'contentWidthPt' | 'marginsPt'>;
|
|
14
|
+
export declare function getLayoutDimensions(report: GKReport): LayoutDimensions;
|
|
15
|
+
//# sourceMappingURL=layout-dimensions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout-dimensions.d.ts","sourceRoot":"","sources":["../../../../../src/layout/layout-dimensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAMrG,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAK9F,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,GAAE,MAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,aAAa,GAAG,cAAc,GAAG,gBAAgB,GAAG,WAAW,CAAC,CAUrN;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,QAAQ,GAAG,gBAAgB,CAUtE"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { GKBand, GKBandType, DataSourceData, GKPageSize, GKOrientation, GKMargins } from '@gabrielkf/gk-dsl-core';
|
|
2
|
+
export interface CalculatedWidget {
|
|
3
|
+
top: number;
|
|
4
|
+
left: number;
|
|
5
|
+
width: number;
|
|
6
|
+
height: number;
|
|
7
|
+
sourceId?: string | undefined;
|
|
8
|
+
}
|
|
9
|
+
export interface LayoutItem {
|
|
10
|
+
id: string;
|
|
11
|
+
bandType: GKBandType;
|
|
12
|
+
band: GKBand;
|
|
13
|
+
rowData?: DataSourceData | undefined;
|
|
14
|
+
groupKey?: string | undefined;
|
|
15
|
+
groupData?: DataSourceData[] | undefined;
|
|
16
|
+
/** The source whose rows/cardinality produced this item. */
|
|
17
|
+
sourceId?: string | undefined;
|
|
18
|
+
calculatedHeight: number;
|
|
19
|
+
widgets: CalculatedWidget[];
|
|
20
|
+
}
|
|
21
|
+
export interface LayoutPage {
|
|
22
|
+
pageNumber: number;
|
|
23
|
+
items: LayoutItem[];
|
|
24
|
+
}
|
|
25
|
+
export interface LayoutDiagnostic {
|
|
26
|
+
severity: 'info' | 'warning' | 'error';
|
|
27
|
+
message: string;
|
|
28
|
+
code?: string | undefined;
|
|
29
|
+
itemId?: string | undefined;
|
|
30
|
+
bandType?: string | undefined;
|
|
31
|
+
sourceId?: string | undefined;
|
|
32
|
+
}
|
|
33
|
+
/** The report area used by the page breaker, expressed in points. */
|
|
34
|
+
export interface LayoutPrintArea {
|
|
35
|
+
pageSize: GKPageSize;
|
|
36
|
+
orientation: GKOrientation;
|
|
37
|
+
pageWidthPt: number;
|
|
38
|
+
pageHeightPt: number;
|
|
39
|
+
contentWidthPt: number;
|
|
40
|
+
bodyHeightPt: number;
|
|
41
|
+
marginsPt: GKMargins;
|
|
42
|
+
}
|
|
43
|
+
export interface LayoutPlan {
|
|
44
|
+
pages: LayoutPage[];
|
|
45
|
+
diagnostics: LayoutDiagnostic[];
|
|
46
|
+
printArea?: LayoutPrintArea | undefined;
|
|
47
|
+
/** False when a configured limit prevented the complete plan from being built. */
|
|
48
|
+
isComplete?: boolean | undefined;
|
|
49
|
+
}
|
|
50
|
+
export declare function serializeLayoutPlan(plan: LayoutPlan): string;
|
|
51
|
+
export declare function deserializeLayoutPlan(serialized: string): LayoutPlan;
|
|
52
|
+
export declare function buildLayoutPlan(pages: LayoutPage[], diagnostics?: LayoutDiagnostic[]): LayoutPlan;
|
|
53
|
+
//# sourceMappingURL=layout-plan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout-plan.d.ts","sourceRoot":"","sources":["../../../../../src/layout/layout-plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,MAAM,EACN,UAAU,EACV,cAAc,EACd,UAAU,EACV,aAAa,EACb,SAAS,EACV,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,UAAU,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACzC,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,qEAAqE;AACrE,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,UAAU,CAAC;IACrB,WAAW,EAAE,aAAa,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,SAAS,CAAC,EAAE,eAAe,GAAG,SAAS,CAAC;IACxC,kFAAkF;IAClF,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAClC;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAE5D;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,CAEpE;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,UAAU,EAAE,EACnB,WAAW,GAAE,gBAAgB,EAAO,GACnC,UAAU,CAKZ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../../../src/main.tsx"],"names":[],"mappings":"AAEA,OAAO,0BAA0B,CAAC;AAMlC,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB;CACF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { GKStyle } from '@gabrielkf/gk-dsl-core';
|
|
2
|
+
/**
|
|
3
|
+
* Mede a altura real de um bloco de texto usando Pretext (canvas-based, sem DOM reflow).
|
|
4
|
+
* Retorna a altura em pixels.
|
|
5
|
+
*
|
|
6
|
+
* @param text - Texto resolvido (sem templates {{ }})
|
|
7
|
+
* @param fontCss - CSS font string, ex: "bold 14px Inter"
|
|
8
|
+
* @param containerWidthPx - Largura disponível para o texto em pixels
|
|
9
|
+
* @param lineHeightPx - Altura de linha em pixels
|
|
10
|
+
*/
|
|
11
|
+
export declare function measureTextHeight(text: string, fontCss: string, containerWidthPx: number, lineHeightPx: number): number;
|
|
12
|
+
/**
|
|
13
|
+
* Constrói uma CSS font string a partir das propriedades de estilo de um widget.
|
|
14
|
+
*
|
|
15
|
+
* @param style - Objeto de estilo do widget (widget.style)
|
|
16
|
+
* @param reportFontName - Fonte padrão do relatório (report.fontName)
|
|
17
|
+
*/
|
|
18
|
+
export declare function buildFontCss(style: GKStyle | undefined, reportFontName?: string): string;
|
|
19
|
+
/**
|
|
20
|
+
* Extrai o valor numérico de fontSize de um objeto de estilo.
|
|
21
|
+
* Suporta número (14) ou string CSS ('14px').
|
|
22
|
+
*/
|
|
23
|
+
export declare function extractFontSizePx(style: GKStyle | undefined): number;
|
|
24
|
+
//# sourceMappingURL=measureTextHeight.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"measureTextHeight.d.ts","sourceRoot":"","sources":["../../../../../src/utils/measureTextHeight.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAItD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,MAAM,GACnB,MAAM,CAUR;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,OAAO,GAAG,SAAS,EAC1B,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM,CAMR;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,GAAG,SAAS,GACzB,MAAM,CAQR"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { GKReport, DataSourceData } from '@gabrielkf/gk-dsl-core';
|
|
3
|
+
interface ViewerAppProps {
|
|
4
|
+
initialReport?: GKReport;
|
|
5
|
+
explicitData?: DataSourceData[] | null;
|
|
6
|
+
}
|
|
7
|
+
export declare function ViewerApp({ initialReport, explicitData }: ViewerAppProps): ReactNode;
|
|
8
|
+
export default ViewerApp;
|
|
9
|
+
//# sourceMappingURL=viewer-app.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"viewer-app.d.ts","sourceRoot":"","sources":["../../../../src/viewer-app.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAUvC,OAAO,KAAK,EACV,QAAQ,EAER,cAAc,EAEf,MAAM,wBAAwB,CAAC;AAgUhC,UAAU,cAAc;IACtB,aAAa,CAAC,EAAE,QAAQ,CAAC;IACzB,YAAY,CAAC,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;CACxC;AAgND,wBAAgB,SAAS,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,cAAc,GAAG,SAAS,CAsDpF;AAED,eAAe,SAAS,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@gabrielkf/gk-dsl-viewer",
|
|
3
|
+
"version": "1.4.0",
|
|
4
|
+
"license": "MIT",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": {
|
|
8
|
+
"import": "./dist/index.js",
|
|
9
|
+
"types": "./dist/index.d.ts"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"main": "./dist/index.js",
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"files": [
|
|
15
|
+
"dist"
|
|
16
|
+
],
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "https://github.com/gabrielkofreitag/gk-dsl.git",
|
|
20
|
+
"directory": "packages/viewer"
|
|
21
|
+
},
|
|
22
|
+
"publishConfig": {
|
|
23
|
+
"registry": "https://registry.npmjs.org/",
|
|
24
|
+
"access": "public"
|
|
25
|
+
},
|
|
26
|
+
"dependencies": {
|
|
27
|
+
"@chenglou/pretext": "^0.0.9",
|
|
28
|
+
"@mantine/charts": "^9.6.0",
|
|
29
|
+
"@react-pdf/renderer": "^4.9.0",
|
|
30
|
+
"exceljs": "4.4.0",
|
|
31
|
+
"html-to-image": "^1.11.13",
|
|
32
|
+
"@gabrielkf/gk-dsl-core": "^1.4.0"
|
|
33
|
+
},
|
|
34
|
+
"peerDependencies": {
|
|
35
|
+
"@mantine/core": "^9.6.0",
|
|
36
|
+
"@mantine/dates": "^9.6.0",
|
|
37
|
+
"@mantine/form": "^9.6.0",
|
|
38
|
+
"@mantine/hooks": "^9.6.0",
|
|
39
|
+
"@tabler/icons-react": "^3.46.0",
|
|
40
|
+
"mantine-datatable": "^9.4.0",
|
|
41
|
+
"react": "^19.2.0",
|
|
42
|
+
"react-dom": "^19.2.0"
|
|
43
|
+
},
|
|
44
|
+
"devDependencies": {
|
|
45
|
+
"@testing-library/jest-dom": "^7.0.1",
|
|
46
|
+
"@testing-library/react": "^16.3.3",
|
|
47
|
+
"@types/react": "^19.2.18",
|
|
48
|
+
"@types/react-dom": "^19.2.7",
|
|
49
|
+
"@vitejs/plugin-react": "^6.1.1",
|
|
50
|
+
"@vitest/browser-playwright": "^4.1.8",
|
|
51
|
+
"@vitest/coverage-v8": "^4.1.8",
|
|
52
|
+
"fflate": "0.8.3",
|
|
53
|
+
"jsdom": "^30.0.1",
|
|
54
|
+
"playwright": "^1.63.0",
|
|
55
|
+
"typescript": "^6.0.3",
|
|
56
|
+
"vite": "^8.2.2",
|
|
57
|
+
"vite-plugin-dts": "^5.1.0",
|
|
58
|
+
"vitest": "^4.1.8"
|
|
59
|
+
},
|
|
60
|
+
"scripts": {
|
|
61
|
+
"dev": "vite",
|
|
62
|
+
"build": "cross-env LIB_BUILD=1 vite build && node ../../scripts/quality/normalize-package-dts.mjs viewer",
|
|
63
|
+
"build:app": "vite build",
|
|
64
|
+
"preview": "vite preview",
|
|
65
|
+
"test": "tsc --noEmit && vitest"
|
|
66
|
+
}
|
|
67
|
+
}
|