@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.
Files changed (92) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +87 -0
  3. package/dist/index.css +2 -0
  4. package/dist/index.d.ts +2 -0
  5. package/dist/index.js +42031 -0
  6. package/dist/packages/viewer/src/GKFilterPanel.d.ts +8 -0
  7. package/dist/packages/viewer/src/GKFilterPanel.d.ts.map +1 -0
  8. package/dist/packages/viewer/src/components/GKReportPDF.d.ts +17 -0
  9. package/dist/packages/viewer/src/components/GKReportPDF.d.ts.map +1 -0
  10. package/dist/packages/viewer/src/components/GKReportPreview.d.ts +10 -0
  11. package/dist/packages/viewer/src/components/GKReportPreview.d.ts.map +1 -0
  12. package/dist/packages/viewer/src/components/band-renderer/BandRenderer.d.ts +16 -0
  13. package/dist/packages/viewer/src/components/band-renderer/BandRenderer.d.ts.map +1 -0
  14. package/dist/packages/viewer/src/components/content-renderers/chart-configuration.d.ts +36 -0
  15. package/dist/packages/viewer/src/components/content-renderers/chart-configuration.d.ts.map +1 -0
  16. package/dist/packages/viewer/src/components/content-renderers/chart-id.d.ts +2 -0
  17. package/dist/packages/viewer/src/components/content-renderers/chart-id.d.ts.map +1 -0
  18. package/dist/packages/viewer/src/components/content-renderers/chart-renderer.d.ts +13 -0
  19. package/dist/packages/viewer/src/components/content-renderers/chart-renderer.d.ts.map +1 -0
  20. package/dist/packages/viewer/src/components/content-renderers/content-orchestrator.d.ts +15 -0
  21. package/dist/packages/viewer/src/components/content-renderers/content-orchestrator.d.ts.map +1 -0
  22. package/dist/packages/viewer/src/components/content-renderers/line-renderer.d.ts +8 -0
  23. package/dist/packages/viewer/src/components/content-renderers/line-renderer.d.ts.map +1 -0
  24. package/dist/packages/viewer/src/components/content-renderers/table-records.d.ts +9 -0
  25. package/dist/packages/viewer/src/components/content-renderers/table-records.d.ts.map +1 -0
  26. package/dist/packages/viewer/src/components/content-renderers/table-renderer.d.ts +10 -0
  27. package/dist/packages/viewer/src/components/content-renderers/table-renderer.d.ts.map +1 -0
  28. package/dist/packages/viewer/src/components/content-renderers/text-renderer.d.ts +9 -0
  29. package/dist/packages/viewer/src/components/content-renderers/text-renderer.d.ts.map +1 -0
  30. package/dist/packages/viewer/src/components/dsl-inspector/DSLInspector.d.ts +3 -0
  31. package/dist/packages/viewer/src/components/dsl-inspector/DSLInspector.d.ts.map +1 -0
  32. package/dist/packages/viewer/src/components/footer-status.d.ts +3 -0
  33. package/dist/packages/viewer/src/components/footer-status.d.ts.map +1 -0
  34. package/dist/packages/viewer/src/components/multi-page-preview/MultiPagePreview.d.ts +13 -0
  35. package/dist/packages/viewer/src/components/multi-page-preview/MultiPagePreview.d.ts.map +1 -0
  36. package/dist/packages/viewer/src/components/page-canvas/PageCanvas.d.ts +21 -0
  37. package/dist/packages/viewer/src/components/page-canvas/PageCanvas.d.ts.map +1 -0
  38. package/dist/packages/viewer/src/components/param-panel.d.ts +11 -0
  39. package/dist/packages/viewer/src/components/param-panel.d.ts.map +1 -0
  40. package/dist/packages/viewer/src/components/pdf-layout.d.ts +3 -0
  41. package/dist/packages/viewer/src/components/pdf-layout.d.ts.map +1 -0
  42. package/dist/packages/viewer/src/components/preview-toolbar/PreviewToolbar.d.ts +22 -0
  43. package/dist/packages/viewer/src/components/preview-toolbar/PreviewToolbar.d.ts.map +1 -0
  44. package/dist/packages/viewer/src/components/test-data-panel.d.ts +11 -0
  45. package/dist/packages/viewer/src/components/test-data-panel.d.ts.map +1 -0
  46. package/dist/packages/viewer/src/context/page-context-value.d.ts +20 -0
  47. package/dist/packages/viewer/src/context/page-context-value.d.ts.map +1 -0
  48. package/dist/packages/viewer/src/context/page-context.d.ts +8 -0
  49. package/dist/packages/viewer/src/context/page-context.d.ts.map +1 -0
  50. package/dist/packages/viewer/src/context/report-context-values.d.ts +143 -0
  51. package/dist/packages/viewer/src/context/report-context-values.d.ts.map +1 -0
  52. package/dist/packages/viewer/src/context/report-context.d.ts +32 -0
  53. package/dist/packages/viewer/src/context/report-context.d.ts.map +1 -0
  54. package/dist/packages/viewer/src/context/report-reducer.d.ts +9 -0
  55. package/dist/packages/viewer/src/context/report-reducer.d.ts.map +1 -0
  56. package/dist/packages/viewer/src/export/xlsx-export.d.ts +125 -0
  57. package/dist/packages/viewer/src/export/xlsx-export.d.ts.map +1 -0
  58. package/dist/packages/viewer/src/filter-controls/BooleanToggleControl.d.ts +9 -0
  59. package/dist/packages/viewer/src/filter-controls/BooleanToggleControl.d.ts.map +1 -0
  60. package/dist/packages/viewer/src/filter-controls/DateFilterControl.d.ts +9 -0
  61. package/dist/packages/viewer/src/filter-controls/DateFilterControl.d.ts.map +1 -0
  62. package/dist/packages/viewer/src/filter-controls/DateRangeFilterControl.d.ts +9 -0
  63. package/dist/packages/viewer/src/filter-controls/DateRangeFilterControl.d.ts.map +1 -0
  64. package/dist/packages/viewer/src/filter-controls/EnumFilterControl.d.ts +13 -0
  65. package/dist/packages/viewer/src/filter-controls/EnumFilterControl.d.ts.map +1 -0
  66. package/dist/packages/viewer/src/filter-controls/NumberRangeFilterControl.d.ts +12 -0
  67. package/dist/packages/viewer/src/filter-controls/NumberRangeFilterControl.d.ts.map +1 -0
  68. package/dist/packages/viewer/src/filter-controls/SearchFilterControl.d.ts +14 -0
  69. package/dist/packages/viewer/src/filter-controls/SearchFilterControl.d.ts.map +1 -0
  70. package/dist/packages/viewer/src/filter-controls/TextFilterControl.d.ts +10 -0
  71. package/dist/packages/viewer/src/filter-controls/TextFilterControl.d.ts.map +1 -0
  72. package/dist/packages/viewer/src/hooks/useChartImages.d.ts +13 -0
  73. package/dist/packages/viewer/src/hooks/useChartImages.d.ts.map +1 -0
  74. package/dist/packages/viewer/src/hooks/useExportPipeline.d.ts +21 -0
  75. package/dist/packages/viewer/src/hooks/useExportPipeline.d.ts.map +1 -0
  76. package/dist/packages/viewer/src/hooks/useGKPageNavigation.d.ts +14 -0
  77. package/dist/packages/viewer/src/hooks/useGKPageNavigation.d.ts.map +1 -0
  78. package/dist/packages/viewer/src/hooks/usePageBreaker.d.ts +32 -0
  79. package/dist/packages/viewer/src/hooks/usePageBreaker.d.ts.map +1 -0
  80. package/dist/packages/viewer/src/index.d.ts +17 -0
  81. package/dist/packages/viewer/src/index.d.ts.map +1 -0
  82. package/dist/packages/viewer/src/layout/layout-dimensions.d.ts +15 -0
  83. package/dist/packages/viewer/src/layout/layout-dimensions.d.ts.map +1 -0
  84. package/dist/packages/viewer/src/layout/layout-plan.d.ts +53 -0
  85. package/dist/packages/viewer/src/layout/layout-plan.d.ts.map +1 -0
  86. package/dist/packages/viewer/src/main.d.ts +7 -0
  87. package/dist/packages/viewer/src/main.d.ts.map +1 -0
  88. package/dist/packages/viewer/src/utils/measureTextHeight.d.ts +24 -0
  89. package/dist/packages/viewer/src/utils/measureTextHeight.d.ts.map +1 -0
  90. package/dist/packages/viewer/src/viewer-app.d.ts +9 -0
  91. package/dist/packages/viewer/src/viewer-app.d.ts.map +1 -0
  92. package/package.json +67 -0
@@ -0,0 +1,8 @@
1
+ import { ReactElement } from 'react';
2
+ interface GKFilterPanelProps {
3
+ className?: string | undefined;
4
+ style?: React.CSSProperties | undefined;
5
+ }
6
+ export declare function GKFilterPanel({ className, style }: GKFilterPanelProps): ReactElement;
7
+ export {};
8
+ //# sourceMappingURL=GKFilterPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GKFilterPanel.d.ts","sourceRoot":"","sources":["../../../../src/GKFilterPanel.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,UAAU,kBAAkB;IAC1B,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC;CACzC;AAgED,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,kBAAkB,GAAG,YAAY,CAwCpF"}
@@ -0,0 +1,17 @@
1
+ import { GKReport, DataSourceData } from '@gabrielkf/gk-dsl-core';
2
+ import { ReactElement } from 'react';
3
+ interface GKReportPDFProps {
4
+ report: GKReport;
5
+ data: DataSourceData[];
6
+ dataBySource?: Record<string, DataSourceData[]>;
7
+ params: Record<string, unknown>;
8
+ aggregates: {
9
+ global: Record<string, unknown>;
10
+ groups: Record<string, unknown>;
11
+ };
12
+ chartImages?: Readonly<Record<string, string>>;
13
+ referenceAt?: string;
14
+ }
15
+ export declare function GKReportPDF({ report, data, dataBySource, params, aggregates, chartImages, referenceAt }: GKReportPDFProps): ReactElement;
16
+ export {};
17
+ //# sourceMappingURL=GKReportPDF.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GKReportPDF.d.ts","sourceRoot":"","sources":["../../../../../src/components/GKReportPDF.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAqB,cAAc,EAAW,MAAM,wBAAwB,CAAC;AAQnG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,UAAU,gBAAgB;IACxB,MAAM,EAAE,QAAQ,CAAC;IACjB,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IAChD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,UAAU,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IACjF,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAiMD,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,YAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,gBAAgB,GAAG,YAAY,CAuI7I"}
@@ -0,0 +1,10 @@
1
+ import { DataSourceData } from '@gabrielkf/gk-dsl-core';
2
+ import { ReactElement } from 'react';
3
+ interface GKReportPreviewProps {
4
+ json: unknown;
5
+ data: DataSourceData[];
6
+ params?: Record<string, unknown>;
7
+ }
8
+ export declare function GKReportPreview({ json, data, params }: GKReportPreviewProps): ReactElement;
9
+ export {};
10
+ //# sourceMappingURL=GKReportPreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GKReportPreview.d.ts","sourceRoot":"","sources":["../../../../../src/components/GKReportPreview.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,0BAA0B,CAAC;AAElC,UAAU,oBAAoB;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAW,EAAE,EAAE,oBAAoB,GAAG,YAAY,CAkB/F"}
@@ -0,0 +1,16 @@
1
+ import { ChartRegistration } from '../content-renderers/chart-renderer.js';
2
+ import { GKBand, DataSourceData } from '@gabrielkf/gk-dsl-core';
3
+ import { CalculatedWidget } from '../../hooks/usePageBreaker.js';
4
+ interface BandRendererProps {
5
+ band: GKBand;
6
+ row?: DataSourceData | undefined;
7
+ groupKey?: string | undefined;
8
+ groupData?: DataSourceData[] | undefined;
9
+ calculatedHeight?: number | undefined;
10
+ widgets?: CalculatedWidget[] | undefined;
11
+ chartScopeId?: string | undefined;
12
+ registerChart?: ChartRegistration | undefined;
13
+ }
14
+ export declare const BandRenderer: import('react').MemoExoticComponent<({ band, row, groupKey, groupData, calculatedHeight, widgets, chartScopeId, registerChart, }: BandRendererProps) => import("react").JSX.Element>;
15
+ export {};
16
+ //# sourceMappingURL=BandRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BandRenderer.d.ts","sourceRoot":"","sources":["../../../../../../src/components/band-renderer/BandRenderer.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,UAAU,iBAAiB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,cAAc,EAAE,GAAG,SAAS,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,OAAO,CAAC,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;CAC/C;AAoCD,eAAO,MAAM,YAAY,oIAStB,iBAAiB,iCA0DlB,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { DataSourceData, GKContent, ReportDiagnostic } from '@gabrielkf/gk-dsl-core';
2
+ export type ChartWidget = GKContent & {
3
+ type: 'chart';
4
+ };
5
+ export type SupportedChartType = 'BarChart' | 'LineChart' | 'PieChart' | 'waterfall' | 'stacked';
6
+ export type ChartAggregation = NonNullable<ChartWidget['aggregation']>;
7
+ export interface ChartDataResolution {
8
+ readonly data: DataSourceData[];
9
+ readonly diagnostic?: ReportDiagnostic;
10
+ }
11
+ export interface ChartConfiguration {
12
+ readonly chartType: SupportedChartType;
13
+ readonly data: DataSourceData[];
14
+ readonly dataKey: string;
15
+ readonly series: NonNullable<ChartWidget['series']>;
16
+ readonly aggregation?: ChartAggregation;
17
+ readonly sort?: NonNullable<ChartWidget['sort']>;
18
+ readonly xAxisLabel?: string;
19
+ readonly yAxisLabel?: string;
20
+ readonly withLegend?: boolean;
21
+ }
22
+ export interface ChartConfigurationValidation {
23
+ readonly configuration?: ChartConfiguration;
24
+ readonly diagnostics: readonly ReportDiagnostic[];
25
+ }
26
+ export interface ChartDataPreparation {
27
+ readonly data: DataSourceData[];
28
+ readonly diagnostics: readonly ReportDiagnostic[];
29
+ }
30
+ export declare function resolveChartData(widget: ChartWidget, globalData: DataSourceData[], dataBySource: Record<string, DataSourceData[]>): ChartDataResolution;
31
+ /** Prepare the immutable data snapshot consumed by both chart rendering and capture. */
32
+ export declare function prepareChartData(widget: ChartWidget, data: DataSourceData[]): ChartDataPreparation;
33
+ /** Validate only choices represented by the existing chart model. */
34
+ export declare function validateChartConfiguration(widget: ChartWidget, data: DataSourceData[]): ChartConfigurationValidation;
35
+ export declare function getChartColor(index: number): string;
36
+ //# sourceMappingURL=chart-configuration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart-configuration.d.ts","sourceRoot":"","sources":["../../../../../../src/components/content-renderers/chart-configuration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1F,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AACxD,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC;AACjG,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;AAIvE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;IAChC,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC;CACxC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACvC,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,WAAW,CAAC,EAAE,gBAAgB,CAAC;IACxC,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,aAAa,CAAC,EAAE,kBAAkB,CAAC;IAC5C,QAAQ,CAAC,WAAW,EAAE,SAAS,gBAAgB,EAAE,CAAC;CACnD;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,SAAS,gBAAgB,EAAE,CAAC;CACnD;AAcD,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EACnB,UAAU,EAAE,cAAc,EAAE,EAC5B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,GAC7C,mBAAmB,CAmBrB;AA6OD,wFAAwF;AACxF,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,cAAc,EAAE,GACrB,oBAAoB,CAetB;AAED,qEAAqE;AACrE,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,cAAc,EAAE,GACrB,4BAA4B,CAgC9B;AAyID,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEnD"}
@@ -0,0 +1,2 @@
1
+ export declare function buildChartId(scopeId: string, contentIndex: number): string;
2
+ //# sourceMappingURL=chart-id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart-id.d.ts","sourceRoot":"","sources":["../../../../../../src/components/content-renderers/chart-id.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAE1E"}
@@ -0,0 +1,13 @@
1
+ import { GKContent, ReportDiagnostic } from '@gabrielkf/gk-dsl-core';
2
+ export type ChartRegistration = (id: string, el: HTMLElement | null, previousElement?: HTMLElement | null) => void;
3
+ interface ChartRendererProps {
4
+ widget: GKContent;
5
+ contextOverride?: Record<string, unknown> | undefined;
6
+ rowIndex?: number;
7
+ chartId?: string | undefined;
8
+ registerChart?: ChartRegistration | undefined;
9
+ onChartError?: ((diagnostic: ReportDiagnostic) => void) | undefined;
10
+ }
11
+ export declare const ChartRenderer: import('react').MemoExoticComponent<({ widget, rowIndex, chartId, registerChart, onChartError, }: ChartRendererProps) => import("react").JSX.Element | null>;
12
+ export {};
13
+ //# sourceMappingURL=chart-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chart-renderer.d.ts","sourceRoot":"","sources":["../../../../../../src/components/content-renderers/chart-renderer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAU1E,MAAM,MAAM,iBAAiB,GAAG,CAC9B,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,WAAW,GAAG,IAAI,EACtB,eAAe,CAAC,EAAE,WAAW,GAAG,IAAI,KACjC,IAAI,CAAC;AAEV,UAAU,kBAAkB;IAC1B,MAAM,EAAE,SAAS,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,aAAa,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC9C,YAAY,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,gBAAgB,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CACrE;AAuHD,eAAO,MAAM,aAAa,oGAMvB,kBAAkB,wCAuCnB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { ChartRegistration } from '../content-renderers/chart-renderer.js';
2
+ import { GKContent, DataSourceData } from '@gabrielkf/gk-dsl-core';
3
+ import { ReactElement, default as React } from 'react';
4
+ import { CalculatedWidget } from '../../hooks/usePageBreaker.js';
5
+ interface ContentOrchestratorProps {
6
+ content: GKContent[];
7
+ row?: DataSourceData | undefined;
8
+ contextOverride?: Record<string, unknown> | undefined;
9
+ widgets?: CalculatedWidget[] | undefined;
10
+ chartScopeId?: string | undefined;
11
+ registerChart?: ChartRegistration | undefined;
12
+ }
13
+ export declare const ContentOrchestrator: React.MemoExoticComponent<({ content, row, contextOverride, widgets, chartScopeId, registerChart, }: ContentOrchestratorProps) => ReactElement>;
14
+ export {};
15
+ //# sourceMappingURL=content-orchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-orchestrator.d.ts","sourceRoot":"","sources":["../../../../../../src/components/content-renderers/content-orchestrator.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,UAAU,wBAAwB;IAChC,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,GAAG,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IACtD,OAAO,CAAC,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC;IACzC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,aAAa,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;CAC/C;AAmFD,eAAO,MAAM,mBAAmB,uGAO7B,wBAAwB,KAAG,YAAY,CAaxC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { GKContent } from '@gabrielkf/gk-dsl-core';
2
+ import { ReactElement } from 'react';
3
+ interface LineRendererProps {
4
+ widget: GKContent;
5
+ }
6
+ export declare function LineRenderer({ widget }: LineRendererProps): ReactElement | null;
7
+ export {};
8
+ //# sourceMappingURL=line-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"line-renderer.d.ts","sourceRoot":"","sources":["../../../../../../src/components/content-renderers/line-renderer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,UAAU,iBAAiB;IACzB,MAAM,EAAE,SAAS,CAAC;CACnB;AAED,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,EAAE,iBAAiB,GAAG,YAAY,GAAG,IAAI,CAU/E"}
@@ -0,0 +1,9 @@
1
+ import { DataSourceData } from '@gabrielkf/gk-dsl-core';
2
+ export declare function asDataRows(value: unknown): DataSourceData[] | undefined;
3
+ /**
4
+ * A table in a repeating detail band owns one record per detail instance.
5
+ * Nested items and group rows remain explicit collection scopes; only bands
6
+ * without a row may consume the complete dataset.
7
+ */
8
+ export declare function resolveTableRecords(globalData: DataSourceData[], row: DataSourceData | undefined, groupData?: DataSourceData[], sourceData?: DataSourceData[], explicitSource?: boolean): DataSourceData[];
9
+ //# sourceMappingURL=table-records.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-records.d.ts","sourceRoot":"","sources":["../../../../../../src/components/content-renderers/table-records.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,EAAE,GAAG,SAAS,CAMvE;AAgBD;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,cAAc,EAAE,EAC5B,GAAG,EAAE,cAAc,GAAG,SAAS,EAC/B,SAAS,CAAC,EAAE,cAAc,EAAE,EAC5B,UAAU,CAAC,EAAE,cAAc,EAAE,EAC7B,cAAc,UAAQ,GACrB,cAAc,EAAE,CAOlB"}
@@ -0,0 +1,10 @@
1
+ import { GKContent, DataSourceData } from '@gabrielkf/gk-dsl-core';
2
+ import { ReactElement } from 'react';
3
+ interface TableRendererProps {
4
+ widget: GKContent;
5
+ row?: DataSourceData | undefined;
6
+ contextOverride?: Record<string, unknown> | undefined;
7
+ }
8
+ export declare const TableRenderer: import('react').MemoExoticComponent<({ widget, row, contextOverride }: TableRendererProps) => ReactElement | null>;
9
+ export {};
10
+ //# sourceMappingURL=table-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table-renderer.d.ts","sourceRoot":"","sources":["../../../../../../src/components/content-renderers/table-renderer.tsx"],"names":[],"mappings":"AAGA,OAAO,EAA8B,KAAK,SAAS,EAAE,KAAK,cAAc,EAAwC,MAAM,wBAAwB,CAAC;AAE/I,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,UAAU,kBAAkB;IAC1B,MAAM,EAAE,SAAS,CAAC;IAClB,GAAG,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CACvD;AAsBD,eAAO,MAAM,aAAa,yEAAiE,kBAAkB,KAAG,YAAY,GAAG,IAAI,CA6EjI,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { GKContent, DataSourceData } from '@gabrielkf/gk-dsl-core';
2
+ interface TextRendererProps {
3
+ widget: GKContent;
4
+ row?: DataSourceData | undefined;
5
+ contextOverride?: Record<string, unknown> | undefined;
6
+ }
7
+ export declare const TextRenderer: import('react').MemoExoticComponent<({ widget, row, contextOverride }: TextRendererProps) => import("react").JSX.Element | null>;
8
+ export {};
9
+ //# sourceMappingURL=text-renderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-renderer.d.ts","sourceRoot":"","sources":["../../../../../../src/components/content-renderers/text-renderer.tsx"],"names":[],"mappings":"AACA,OAAO,EAA8C,KAAK,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAIzH,UAAU,iBAAiB;IACzB,MAAM,EAAE,SAAS,CAAC;IAClB,GAAG,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CACvD;AAgBD,eAAO,MAAM,YAAY,yEAAgE,iBAAiB,wCAmCxG,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ReactElement } from 'react';
2
+ export declare function DSLInspector(): ReactElement;
3
+ //# sourceMappingURL=DSLInspector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DSLInspector.d.ts","sourceRoot":"","sources":["../../../../../../src/components/dsl-inspector/DSLInspector.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,wBAAgB,YAAY,IAAI,YAAY,CA6D3C"}
@@ -0,0 +1,3 @@
1
+ import { ReactElement } from 'react';
2
+ export declare function FooterStatus(): ReactElement;
3
+ //# sourceMappingURL=footer-status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"footer-status.d.ts","sourceRoot":"","sources":["../../../../../src/components/footer-status.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAQ1C,wBAAgB,YAAY,IAAI,YAAY,CA+D3C"}
@@ -0,0 +1,13 @@
1
+ import { LayoutPlan } from '../../hooks/usePageBreaker.js';
2
+ import { ChartRegistration } from '../content-renderers/chart-renderer.js';
3
+ import { ReactNode } from 'react';
4
+ interface MultiPagePreviewProps {
5
+ zoom?: number;
6
+ currentPage?: number;
7
+ onPagesReady?: (count: number) => void;
8
+ registerChart?: ChartRegistration | undefined;
9
+ layoutPlan?: LayoutPlan | undefined;
10
+ }
11
+ export declare function MultiPagePreview({ zoom, currentPage, onPagesReady, registerChart, layoutPlan: providedLayoutPlan, }: MultiPagePreviewProps): ReactNode;
12
+ export {};
13
+ //# sourceMappingURL=MultiPagePreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiPagePreview.d.ts","sourceRoot":"","sources":["../../../../../../src/components/multi-page-preview/MultiPagePreview.tsx"],"names":[],"mappings":"AAYA,OAAO,EAGL,KAAK,UAAU,EAEhB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,KAAK,EAAE,SAAS,EAAoC,MAAM,OAAO,CAAC;AAMzE,UAAU,qBAAqB;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,aAAa,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC9C,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;CACrC;AAifD,wBAAgB,gBAAgB,CAAC,EAC/B,IAAQ,EACR,WAAe,EACf,YAAY,EACZ,aAAa,EACb,UAAU,EAAE,kBAAkB,GAC/B,EAAE,qBAAqB,GAAG,SAAS,CAgEnC"}
@@ -0,0 +1,21 @@
1
+ import { ReactNode, ReactElement } from 'react';
2
+ import { GKPageSize, GKOrientation, GKMargins, GKUnit } from '@gabrielkf/gk-dsl-core';
3
+ interface PageCanvasProps {
4
+ pageSize?: GKPageSize | undefined;
5
+ orientation?: GKOrientation | undefined;
6
+ margins?: GKMargins | undefined;
7
+ pageNumber: number;
8
+ pageCount: number;
9
+ children: ReactNode;
10
+ header?: ReactNode | undefined;
11
+ footer?: ReactNode | undefined;
12
+ debug?: boolean | undefined;
13
+ cpi?: number | undefined;
14
+ fontName?: string | undefined;
15
+ layout?: 'list' | 'grid' | undefined;
16
+ columns?: number | undefined;
17
+ units?: GKUnit | undefined;
18
+ }
19
+ export declare function PageCanvas({ pageSize, orientation, margins, pageNumber, pageCount, children, header, footer, debug, cpi, fontName, layout, columns, units, }: PageCanvasProps): ReactElement;
20
+ export {};
21
+ //# sourceMappingURL=PageCanvas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageCanvas.d.ts","sourceRoot":"","sources":["../../../../../../src/components/page-canvas/PageCanvas.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAI3F,OAAO,kBAAkB,CAAC;AAE1B,UAAU,eAAe;IACvB,QAAQ,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAClC,WAAW,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IACxC,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/B,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/B,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAgBD,wBAAgB,UAAU,CAAC,EACzB,QAAe,EACf,WAAwB,EACxB,OAAsD,EACtD,UAAU,EACV,SAAS,EACT,QAAQ,EACR,MAAM,EACN,MAAM,EACN,KAAa,EACb,GAAG,EACH,QAAsB,EACtB,MAAe,EACf,OAAW,EACX,KAAY,GACb,EAAE,eAAe,GAAG,YAAY,CA8ChC"}
@@ -0,0 +1,11 @@
1
+ import { ReactElement } from 'react';
2
+ import { GKParameter } from '@gabrielkf/gk-dsl-core';
3
+ interface ParamPanelProps {
4
+ parameters?: GKParameter[];
5
+ values?: Record<string, unknown>;
6
+ onChange: (params: Record<string, unknown>) => void;
7
+ loading?: boolean;
8
+ }
9
+ export declare function ParamPanel({ parameters, values, onChange, loading }: ParamPanelProps): ReactElement;
10
+ export {};
11
+ //# sourceMappingURL=param-panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"param-panel.d.ts","sourceRoot":"","sources":["../../../../../src/components/param-panel.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1D,UAAU,eAAe;IACvB,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IACpD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAgBD,wBAAgB,UAAU,CAAC,EAAE,UAAe,EAAE,MAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,eAAe,GAAG,YAAY,CAwE7G"}
@@ -0,0 +1,3 @@
1
+ import { GKBand, GKReport } from '@gabrielkf/gk-dsl-core';
2
+ export declare function getPdfContentOffsetPt(header: GKBand | undefined, units: GKReport['units']): number;
3
+ //# sourceMappingURL=pdf-layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pdf-layout.d.ts","sourceRoot":"","sources":["../../../../../src/components/pdf-layout.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAE/D,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,MAAM,CAElG"}
@@ -0,0 +1,22 @@
1
+ import { ReactElement } from 'react';
2
+ interface PreviewToolbarProps {
3
+ zoom: number;
4
+ onZoomChange: (zoom: number) => void;
5
+ currentPage: number;
6
+ pageCount: number;
7
+ onPrevPage: () => void;
8
+ onNextPage: () => void;
9
+ onPrint: () => void;
10
+ onExportPDF: () => void;
11
+ onExportXLSX?: () => void;
12
+ onToggleInspector: () => void;
13
+ inspectorOpen: boolean;
14
+ exportState?: 'idle' | 'capturingCharts' | 'renderingPdf' | 'ready' | 'failed';
15
+ exportProgress?: number;
16
+ exportError?: Error | null;
17
+ onRetryExport?: () => void;
18
+ onResetExport?: () => void;
19
+ }
20
+ export declare function PreviewToolbar({ zoom, onZoomChange, currentPage, pageCount, onPrevPage, onNextPage, onPrint, onExportPDF, onExportXLSX, onToggleInspector, inspectorOpen, exportState, exportProgress, exportError, onRetryExport, onResetExport, }: PreviewToolbarProps): ReactElement;
21
+ export {};
22
+ //# sourceMappingURL=PreviewToolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PreviewToolbar.d.ts","sourceRoot":"","sources":["../../../../../../src/components/preview-toolbar/PreviewToolbar.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,iBAAiB,GAAG,cAAc,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC/E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;CAC5B;AAkBD,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EACJ,YAAY,EACZ,WAAW,EACX,SAAS,EACT,UAAU,EACV,UAAU,EACV,OAAO,EACP,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,WAAoB,EACpB,cAAkB,EAClB,WAAkB,EAClB,aAAa,EACb,aAAa,GACd,EAAE,mBAAmB,GAAG,YAAY,CAyHpC"}
@@ -0,0 +1,11 @@
1
+ import { DataSourceData } from '@gabrielkf/gk-dsl-core';
2
+ import { ReactElement } from 'react';
3
+ interface TestDataPanelProps {
4
+ data: DataSourceData[];
5
+ onDataChange: (data: DataSourceData[] | null) => void;
6
+ useMockData: boolean;
7
+ onUseMockDataChange: (use: boolean) => void;
8
+ }
9
+ export declare function TestDataPanel({ data, onDataChange, useMockData, onUseMockDataChange }: TestDataPanelProps): ReactElement;
10
+ export {};
11
+ //# sourceMappingURL=test-data-panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test-data-panel.d.ts","sourceRoot":"","sources":["../../../../../src/components/test-data-panel.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAgB1C,UAAU,kBAAkB;IAC1B,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,YAAY,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IACtD,WAAW,EAAE,OAAO,CAAC;IACrB,mBAAmB,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7C;AAED,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,EAAE,kBAAkB,GAAG,YAAY,CA0NxH"}
@@ -0,0 +1,20 @@
1
+ import { GKOrientation } from '@gabrielkf/gk-dsl-core';
2
+ export interface PageContextValue {
3
+ pageNumber: number;
4
+ pageCount: number;
5
+ pageHeightPx: number;
6
+ pageWidthPx: number;
7
+ bodyHeightPx: number;
8
+ orientation: GKOrientation;
9
+ marginsPx: {
10
+ top: number;
11
+ right: number;
12
+ bottom: number;
13
+ left: number;
14
+ };
15
+ charWidthPx?: number | undefined;
16
+ fontName?: string | undefined;
17
+ }
18
+ export declare const PageContext: import('react').Context<PageContextValue | undefined>;
19
+ export declare function usePageContext(): PageContextValue;
20
+ //# sourceMappingURL=page-context-value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-context-value.d.ts","sourceRoot":"","sources":["../../../../../src/context/page-context-value.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,aAAa,CAAC;IAC3B,SAAS,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACxE,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,eAAO,MAAM,WAAW,uDAAyD,CAAC;AAElF,wBAAgB,cAAc,IAAI,gBAAgB,CAIjD"}
@@ -0,0 +1,8 @@
1
+ import { ReactNode, ReactElement } from 'react';
2
+ import { PageContextValue } from './page-context-value.js';
3
+ export type { PageContextValue } from './page-context-value.js';
4
+ export declare function PageProvider({ value, children, }: {
5
+ value: PageContextValue;
6
+ children: ReactNode;
7
+ }): ReactElement;
8
+ //# sourceMappingURL=page-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-context.d.ts","sourceRoot":"","sources":["../../../../../src/context/page-context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAE1C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,QAAQ,GACT,EAAE;IACD,KAAK,EAAE,gBAAgB,CAAC;IACxB,QAAQ,EAAE,SAAS,CAAC;CACrB,GAAG,YAAY,CAEf"}
@@ -0,0 +1,143 @@
1
+ import { ReactNode } from 'react';
2
+ import { DataSourceData, GKReport, LegacySourceDataProvider, ReportDiagnostic, ReportProgress, ReportRequest, ResolvedGeneration, SourceDataProvider } from '@gabrielkf/gk-dsl-core';
3
+ import { LayoutPlan } from '../layout/layout-plan.js';
4
+ import { ChartRegistration } from '../components/content-renderers/chart-renderer.js';
5
+ import { RenderedChartImage } from '../export/xlsx-export.js';
6
+ export interface OptionItem {
7
+ label: string;
8
+ value: string;
9
+ }
10
+ export type ReportPhase = 'idle' | 'generating' | 'ready';
11
+ export interface GKReportProviderBase {
12
+ schema: GKReport;
13
+ onFetchFilterOptions?: (sourceId: string, query?: string) => Promise<OptionItem[]>;
14
+ isDataReady?: boolean;
15
+ initialParams?: Record<string, unknown>;
16
+ children: ReactNode;
17
+ }
18
+ /**
19
+ * Public provider input. A source-aware consumer does not need a legacy callback;
20
+ * the two callback forms cannot be supplied together by accident.
21
+ */
22
+ export type GKReportProviderInput = GKReportProviderBase & ({
23
+ onFetchData: LegacySourceDataProvider;
24
+ onFetchDataBySource?: never;
25
+ } | {
26
+ onFetchData?: LegacySourceDataProvider;
27
+ onFetchDataBySource: SourceDataProvider;
28
+ });
29
+ /** Public provider props retain the legacy branch and add source-aware input. */
30
+ export type GKReportProviderProps = GKReportProviderInput;
31
+ export interface ReportPreviewBinding {
32
+ readonly generationId: string;
33
+ readonly layoutPlan: Readonly<LayoutPlan>;
34
+ }
35
+ export type XlsxExportResult = {
36
+ readonly status: 'complete';
37
+ readonly blob: Blob;
38
+ readonly diagnostics: readonly ReportDiagnostic[];
39
+ } | {
40
+ readonly status: 'failed';
41
+ readonly blob?: never;
42
+ readonly diagnostics: readonly ReportDiagnostic[];
43
+ };
44
+ export type PdfExportResult = {
45
+ readonly status: 'complete';
46
+ readonly blob: Blob;
47
+ readonly diagnostics: readonly ReportDiagnostic[];
48
+ } | {
49
+ readonly status: 'failed';
50
+ readonly blob?: never;
51
+ readonly diagnostics: readonly ReportDiagnostic[];
52
+ };
53
+ export interface ReportGenerationResult {
54
+ readonly generation: ResolvedGeneration;
55
+ readonly status: 'complete' | 'failed' | 'cancelled';
56
+ readonly diagnostics: readonly ReportDiagnostic[];
57
+ readonly preview?: ReportPreviewBinding;
58
+ readonly pdf?: Blob;
59
+ readonly xlsx?: XlsxExportResult;
60
+ }
61
+ export interface ReportGenerationApi {
62
+ generate(request?: ReportRequest): Promise<ReportGenerationResult>;
63
+ exportCurrent(destination: 'pdf'): Promise<PdfExportResult>;
64
+ exportCurrent(destination: 'xlsx'): Promise<XlsxExportResult>;
65
+ }
66
+ /** Renderer registered by the ViewerApp so the public API can reuse its PDF path. */
67
+ export type PdfRenderer = (generation: ResolvedGeneration, chartImages: Readonly<Record<string, string>>) => Promise<Blob>;
68
+ export interface GKReportContextValue {
69
+ report: GKReport;
70
+ params: Record<string, unknown>;
71
+ setParam: (name: string, value: unknown) => void;
72
+ filterOptions: Record<string, OptionItem[]>;
73
+ filterOptionsLoading: Record<string, boolean>;
74
+ anyFilterOptionsLoading: boolean;
75
+ isDataReady: boolean;
76
+ canGenerate: boolean;
77
+ data: DataSourceData[];
78
+ dataBySource: Record<string, DataSourceData[]>;
79
+ aggregates: {
80
+ global: Record<string, unknown>;
81
+ groups: Record<string, unknown>;
82
+ };
83
+ phase: ReportPhase;
84
+ isLoading: boolean;
85
+ error: string | null;
86
+ generate: (request?: ReportRequest) => Promise<ReportGenerationResult>;
87
+ exportCurrent: ReportGenerationApi['exportCurrent'];
88
+ /** Registers the same chart DOM nodes used by preview/PDF capture. */
89
+ registerChart: ChartRegistration;
90
+ /** Internal capture bridge used by the ViewerApp PDF pipeline. */
91
+ captureChartImages: (generationId: string) => Promise<Record<string, RenderedChartImage>>;
92
+ /** Internal bridge used by ViewerApp; it does not change the public request contract. */
93
+ registerPdfRenderer: (renderer: PdfRenderer | null) => void;
94
+ currentGeneration?: ResolvedGeneration;
95
+ applyPreset: (presetId: string) => void;
96
+ generationId?: string;
97
+ progress?: ReportProgress;
98
+ diagnostics?: readonly ReportDiagnostic[];
99
+ searchFilterOptions: (paramName: string, query: string) => Promise<void>;
100
+ }
101
+ export interface GKReportSchemaCtx {
102
+ report: GKReport;
103
+ }
104
+ export interface GKReportDataCtx {
105
+ data: DataSourceData[];
106
+ dataBySource: Record<string, DataSourceData[]>;
107
+ aggregates: {
108
+ global: Record<string, unknown>;
109
+ groups: Record<string, unknown>;
110
+ };
111
+ }
112
+ export interface GKReportParamsCtx {
113
+ params: Record<string, unknown>;
114
+ setParam: (name: string, value: unknown) => void;
115
+ filterOptions: Record<string, OptionItem[]>;
116
+ filterOptionsLoading: Record<string, boolean>;
117
+ isDataReady: boolean;
118
+ canGenerate: boolean;
119
+ anyFilterOptionsLoading: boolean;
120
+ applyPreset: (presetId: string) => void;
121
+ searchFilterOptions: (paramName: string, query: string) => Promise<void>;
122
+ }
123
+ export interface GKReportPhaseCtx {
124
+ phase: ReportPhase;
125
+ isLoading: boolean;
126
+ error: string | null;
127
+ generate: () => void;
128
+ exportCurrent: ReportGenerationApi['exportCurrent'];
129
+ generationId?: string;
130
+ progress?: ReportProgress;
131
+ diagnostics?: readonly ReportDiagnostic[];
132
+ }
133
+ export declare const GKReportContext: import('react').Context<GKReportContextValue | undefined>;
134
+ export declare const GKReportSchemaContext: import('react').Context<GKReportSchemaCtx | undefined>;
135
+ export declare const GKReportDataContext: import('react').Context<GKReportDataCtx | undefined>;
136
+ export declare const GKReportParamsContext: import('react').Context<GKReportParamsCtx | undefined>;
137
+ export declare const GKReportPhaseContext: import('react').Context<GKReportPhaseCtx | undefined>;
138
+ export declare function useGKReportContext(): GKReportContextValue;
139
+ export declare function useGKReportSchema(): GKReportSchemaCtx;
140
+ export declare function useGKReportData(): GKReportDataCtx;
141
+ export declare function useGKReportParams(): GKReportParamsCtx;
142
+ export declare function useGKReportPhase(): GKReportPhaseCtx;
143
+ //# sourceMappingURL=report-context-values.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report-context-values.d.ts","sourceRoot":"","sources":["../../../../../src/context/report-context-values.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import { ReactNode } from 'react';
2
+ import { LegacySourceDataProvider, ReportDiagnostic, ReportRequest, ResolvedGeneration } from '@gabrielkf/gk-dsl-core';
3
+ import { GKReportProviderInput, XlsxExportResult } from './report-context-values.js';
4
+ import { RenderedChartImage } from '../export/xlsx-export.js';
5
+ import { generateLayoutPlan } from '../hooks/usePageBreaker.js';
6
+ type RendererDiagnosticReporter = (diagnostic: ReportDiagnostic) => void;
7
+ export declare function useRendererDiagnosticReporter(): RendererDiagnosticReporter;
8
+ export interface GenerationResolutionInput extends ReportRequest {
9
+ /** Viewer-only adapter for the active legacy single-source contract. */
10
+ legacyProvider?: LegacySourceDataProvider;
11
+ generationId?: string;
12
+ }
13
+ export declare class GenerationResolutionError extends Error {
14
+ readonly diagnostics: readonly ReportDiagnostic[];
15
+ readonly cancelled: boolean;
16
+ readonly displayMessage: string;
17
+ constructor(diagnostics: readonly ReportDiagnostic[], cancelled?: boolean, displayMessage?: string);
18
+ }
19
+ export declare function getLayoutPlanForGeneration(generation: ResolvedGeneration): ReturnType<typeof generateLayoutPlan>;
20
+ export declare function expectedChartIdsForGeneration(generation: ResolvedGeneration): string[];
21
+ export declare function ensureRequiredChartImages(generation: ResolvedGeneration, images: Readonly<Record<string, unknown>>): void;
22
+ export declare function ensureGenerationOutputComplete(generation: ResolvedGeneration): void;
23
+ /** Export an already resolved generation without resolving its sources again. */
24
+ export declare function exportResolvedGenerationXlsx(generation: ResolvedGeneration, chartImages?: Readonly<Record<string, RenderedChartImage>>): Promise<XlsxExportResult>;
25
+ /**
26
+ * Resolve one immutable in-memory generation. All host-owned input is copied before
27
+ * the first provider await; providers never receive the mutable input objects.
28
+ */
29
+ export declare function resolveGeneration(input: GenerationResolutionInput): Promise<ResolvedGeneration>;
30
+ export declare function GKReportProvider(props: GKReportProviderInput): ReactNode;
31
+ export {};
32
+ //# sourceMappingURL=report-context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report-context.d.ts","sourceRoot":"","sources":["../../../../../src/context/report-context.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAKV,wBAAwB,EACxB,gBAAgB,EAEhB,aAAa,EACb,kBAAkB,EAGnB,MAAM,wBAAwB,CAAC;AAQhC,OAAO,KAAK,EAEV,qBAAqB,EAUrB,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AAOjC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AA8B7D,KAAK,0BAA0B,GAAG,CAAC,UAAU,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAGzE,wBAAgB,6BAA6B,IAAI,0BAA0B,CAE1E;AAmBD,MAAM,WAAW,yBAA0B,SAAQ,aAAa;IAC9D,wEAAwE;IACxE,cAAc,CAAC,EAAE,wBAAwB,CAAC;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,yBAA0B,SAAQ,KAAK;IAClD,QAAQ,CAAC,WAAW,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAClD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;gBAG9B,WAAW,EAAE,SAAS,gBAAgB,EAAE,EACxC,SAAS,UAAQ,EACjB,cAAc,CAAC,EAAE,MAAM;CAQ1B;AA8ID,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,kBAAkB,GAC7B,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAwBvC;AA+HD,wBAAgB,6BAA6B,CAAC,UAAU,EAAE,kBAAkB,GAAG,MAAM,EAAE,CAEtF;AAED,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,kBAAkB,EAC9B,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACxC,IAAI,CAmCN;AAED,wBAAgB,8BAA8B,CAAC,UAAU,EAAE,kBAAkB,GAAG,IAAI,CAGnF;AA8WD,iFAAiF;AACjF,wBAAsB,4BAA4B,CAChD,UAAU,EAAE,kBAAkB,EAC9B,WAAW,GAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAM,GAC7D,OAAO,CAAC,gBAAgB,CAAC,CAS3B;AA0VD;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,kBAAkB,CAAC,CAqB7B;AAmCD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,SAAS,CASxE"}
@@ -0,0 +1,9 @@
1
+ import { GKReport, DataSourceData } from '@gabrielkf/gk-dsl-core';
2
+ /**
3
+ * Helper to compute aggregates outside the reducer (as it is a side effect/expensive)
4
+ */
5
+ export declare function computeReportAggregates(report: GKReport, data: DataSourceData[]): {
6
+ global: Record<string, unknown>;
7
+ groups: Record<string, unknown>;
8
+ };
9
+ //# sourceMappingURL=report-reducer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report-reducer.d.ts","sourceRoot":"","sources":["../../../../../src/context/report-reducer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAKvE;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,QAAQ,EAChB,IAAI,EAAE,cAAc,EAAE,GACrB;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CActE"}