@report-designer/core 0.1.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 (205) hide show
  1. package/dist/aggregate-engine/aggregate-runtime.d.ts +14 -0
  2. package/dist/aggregate-engine/aggregate-runtime.d.ts.map +1 -0
  3. package/dist/aggregate-engine/aggregate-runtime.js +98 -0
  4. package/dist/aggregate-engine/aggregate-runtime.js.map +1 -0
  5. package/dist/aggregate-engine/aggregate-types.d.ts +14 -0
  6. package/dist/aggregate-engine/aggregate-types.d.ts.map +1 -0
  7. package/dist/aggregate-engine/aggregate-types.js +2 -0
  8. package/dist/aggregate-engine/aggregate-types.js.map +1 -0
  9. package/dist/aggregate-engine/index.d.ts +3 -0
  10. package/dist/aggregate-engine/index.d.ts.map +1 -0
  11. package/dist/aggregate-engine/index.js +3 -0
  12. package/dist/aggregate-engine/index.js.map +1 -0
  13. package/dist/band-planner/band-plan.d.ts +46 -0
  14. package/dist/band-planner/band-plan.d.ts.map +1 -0
  15. package/dist/band-planner/band-plan.js +2 -0
  16. package/dist/band-planner/band-plan.js.map +1 -0
  17. package/dist/band-planner/build-band-plan.d.ts +4 -0
  18. package/dist/band-planner/build-band-plan.d.ts.map +1 -0
  19. package/dist/band-planner/build-band-plan.js +84 -0
  20. package/dist/band-planner/build-band-plan.js.map +1 -0
  21. package/dist/band-planner/execute-band-plan.d.ts +8 -0
  22. package/dist/band-planner/execute-band-plan.d.ts.map +1 -0
  23. package/dist/band-planner/execute-band-plan.js +280 -0
  24. package/dist/band-planner/execute-band-plan.js.map +1 -0
  25. package/dist/band-planner/index.d.ts +4 -0
  26. package/dist/band-planner/index.d.ts.map +1 -0
  27. package/dist/band-planner/index.js +4 -0
  28. package/dist/band-planner/index.js.map +1 -0
  29. package/dist/chart/chart-capabilities.d.ts +40 -0
  30. package/dist/chart/chart-capabilities.d.ts.map +1 -0
  31. package/dist/chart/chart-capabilities.js +62 -0
  32. package/dist/chart/chart-capabilities.js.map +1 -0
  33. package/dist/chart/index.d.ts +2 -0
  34. package/dist/chart/index.d.ts.map +1 -0
  35. package/dist/chart/index.js +2 -0
  36. package/dist/chart/index.js.map +1 -0
  37. package/dist/command-engine/index.d.ts +49 -0
  38. package/dist/command-engine/index.d.ts.map +1 -0
  39. package/dist/command-engine/index.js +537 -0
  40. package/dist/command-engine/index.js.map +1 -0
  41. package/dist/conditional-format/index.d.ts +17 -0
  42. package/dist/conditional-format/index.d.ts.map +1 -0
  43. package/dist/conditional-format/index.js +171 -0
  44. package/dist/conditional-format/index.js.map +1 -0
  45. package/dist/data-dictionary/index.d.ts +3 -0
  46. package/dist/data-dictionary/index.d.ts.map +1 -0
  47. package/dist/data-dictionary/index.js +3 -0
  48. package/dist/data-dictionary/index.js.map +1 -0
  49. package/dist/data-dictionary/json-dictionary.d.ts +6 -0
  50. package/dist/data-dictionary/json-dictionary.d.ts.map +1 -0
  51. package/dist/data-dictionary/json-dictionary.js +195 -0
  52. package/dist/data-dictionary/json-dictionary.js.map +1 -0
  53. package/dist/data-dictionary/json-path.d.ts +9 -0
  54. package/dist/data-dictionary/json-path.d.ts.map +1 -0
  55. package/dist/data-dictionary/json-path.js +34 -0
  56. package/dist/data-dictionary/json-path.js.map +1 -0
  57. package/dist/event-engine/event-component-handles.d.ts +84 -0
  58. package/dist/event-engine/event-component-handles.d.ts.map +1 -0
  59. package/dist/event-engine/event-component-handles.js +276 -0
  60. package/dist/event-engine/event-component-handles.js.map +1 -0
  61. package/dist/event-engine/event-context.d.ts +23 -0
  62. package/dist/event-engine/event-context.d.ts.map +1 -0
  63. package/dist/event-engine/event-context.js +184 -0
  64. package/dist/event-engine/event-context.js.map +1 -0
  65. package/dist/event-engine/event-editor-contract.d.ts +39 -0
  66. package/dist/event-engine/event-editor-contract.d.ts.map +1 -0
  67. package/dist/event-engine/event-editor-contract.js +442 -0
  68. package/dist/event-engine/event-editor-contract.js.map +1 -0
  69. package/dist/event-engine/event-editor-data-contract.d.ts +10 -0
  70. package/dist/event-engine/event-editor-data-contract.d.ts.map +1 -0
  71. package/dist/event-engine/event-editor-data-contract.js +85 -0
  72. package/dist/event-engine/event-editor-data-contract.js.map +1 -0
  73. package/dist/event-engine/event-log.d.ts +3 -0
  74. package/dist/event-engine/event-log.d.ts.map +1 -0
  75. package/dist/event-engine/event-log.js +37 -0
  76. package/dist/event-engine/event-log.js.map +1 -0
  77. package/dist/event-engine/event-runner.d.ts +7 -0
  78. package/dist/event-engine/event-runner.d.ts.map +1 -0
  79. package/dist/event-engine/event-runner.js +265 -0
  80. package/dist/event-engine/event-runner.js.map +1 -0
  81. package/dist/event-engine/event-template.d.ts +14 -0
  82. package/dist/event-engine/event-template.d.ts.map +1 -0
  83. package/dist/event-engine/event-template.js +183 -0
  84. package/dist/event-engine/event-template.js.map +1 -0
  85. package/dist/event-engine/index.d.ts +9 -0
  86. package/dist/event-engine/index.d.ts.map +1 -0
  87. package/dist/event-engine/index.js +9 -0
  88. package/dist/event-engine/index.js.map +1 -0
  89. package/dist/event-engine/types.d.ts +129 -0
  90. package/dist/event-engine/types.d.ts.map +1 -0
  91. package/dist/event-engine/types.js +2 -0
  92. package/dist/event-engine/types.js.map +1 -0
  93. package/dist/expression-engine/ast.d.ts +35 -0
  94. package/dist/expression-engine/ast.d.ts.map +1 -0
  95. package/dist/expression-engine/ast.js +9 -0
  96. package/dist/expression-engine/ast.js.map +1 -0
  97. package/dist/expression-engine/chinese-money.d.ts +2 -0
  98. package/dist/expression-engine/chinese-money.d.ts.map +1 -0
  99. package/dist/expression-engine/chinese-money.js +90 -0
  100. package/dist/expression-engine/chinese-money.js.map +1 -0
  101. package/dist/expression-engine/evaluator.d.ts +26 -0
  102. package/dist/expression-engine/evaluator.d.ts.map +1 -0
  103. package/dist/expression-engine/evaluator.js +406 -0
  104. package/dist/expression-engine/evaluator.js.map +1 -0
  105. package/dist/expression-engine/index.d.ts +7 -0
  106. package/dist/expression-engine/index.d.ts.map +1 -0
  107. package/dist/expression-engine/index.js +5 -0
  108. package/dist/expression-engine/index.js.map +1 -0
  109. package/dist/expression-engine/lexer.d.ts +33 -0
  110. package/dist/expression-engine/lexer.d.ts.map +1 -0
  111. package/dist/expression-engine/lexer.js +169 -0
  112. package/dist/expression-engine/lexer.js.map +1 -0
  113. package/dist/expression-engine/parser.d.ts +8 -0
  114. package/dist/expression-engine/parser.d.ts.map +1 -0
  115. package/dist/expression-engine/parser.js +223 -0
  116. package/dist/expression-engine/parser.js.map +1 -0
  117. package/dist/expression-engine/report-functions.d.ts +3 -0
  118. package/dist/expression-engine/report-functions.d.ts.map +1 -0
  119. package/dist/expression-engine/report-functions.js +41 -0
  120. package/dist/expression-engine/report-functions.js.map +1 -0
  121. package/dist/fonts/index.d.ts +14 -0
  122. package/dist/fonts/index.d.ts.map +1 -0
  123. package/dist/fonts/index.js +73 -0
  124. package/dist/fonts/index.js.map +1 -0
  125. package/dist/index.d.ts +19 -0
  126. package/dist/index.d.ts.map +1 -0
  127. package/dist/index.js +19 -0
  128. package/dist/index.js.map +1 -0
  129. package/dist/layout-engine/index.d.ts +3 -0
  130. package/dist/layout-engine/index.d.ts.map +1 -0
  131. package/dist/layout-engine/index.js +3 -0
  132. package/dist/layout-engine/index.js.map +1 -0
  133. package/dist/layout-engine/layout-band.d.ts +40 -0
  134. package/dist/layout-engine/layout-band.d.ts.map +1 -0
  135. package/dist/layout-engine/layout-band.js +1243 -0
  136. package/dist/layout-engine/layout-band.js.map +1 -0
  137. package/dist/layout-engine/measure.d.ts +10 -0
  138. package/dist/layout-engine/measure.d.ts.map +1 -0
  139. package/dist/layout-engine/measure.js +37 -0
  140. package/dist/layout-engine/measure.js.map +1 -0
  141. package/dist/pagination/index.d.ts +38 -0
  142. package/dist/pagination/index.d.ts.map +1 -0
  143. package/dist/pagination/index.js +114 -0
  144. package/dist/pagination/index.js.map +1 -0
  145. package/dist/pagination/page-number-pass.d.ts +3 -0
  146. package/dist/pagination/page-number-pass.d.ts.map +1 -0
  147. package/dist/pagination/page-number-pass.js +18 -0
  148. package/dist/pagination/page-number-pass.js.map +1 -0
  149. package/dist/pagination/paginate.d.ts +24 -0
  150. package/dist/pagination/paginate.d.ts.map +1 -0
  151. package/dist/pagination/paginate.js +904 -0
  152. package/dist/pagination/paginate.js.map +1 -0
  153. package/dist/render-document/index.d.ts +2 -0
  154. package/dist/render-document/index.d.ts.map +1 -0
  155. package/dist/render-document/index.js +2 -0
  156. package/dist/render-document/index.js.map +1 -0
  157. package/dist/render-document/types.d.ts +159 -0
  158. package/dist/render-document/types.d.ts.map +1 -0
  159. package/dist/render-document/types.js +2 -0
  160. package/dist/render-document/types.js.map +1 -0
  161. package/dist/render-engine/index.d.ts +65 -0
  162. package/dist/render-engine/index.d.ts.map +1 -0
  163. package/dist/render-engine/index.js +188 -0
  164. package/dist/render-engine/index.js.map +1 -0
  165. package/dist/rich-text/index.d.ts +2 -0
  166. package/dist/rich-text/index.d.ts.map +1 -0
  167. package/dist/rich-text/index.js +84 -0
  168. package/dist/rich-text/index.js.map +1 -0
  169. package/dist/table/table-structure.d.ts +10 -0
  170. package/dist/table/table-structure.d.ts.map +1 -0
  171. package/dist/table/table-structure.js +196 -0
  172. package/dist/table/table-structure.js.map +1 -0
  173. package/dist/template-model/index.d.ts +5 -0
  174. package/dist/template-model/index.d.ts.map +1 -0
  175. package/dist/template-model/index.js +5 -0
  176. package/dist/template-model/index.js.map +1 -0
  177. package/dist/template-model/normalize-template.d.ts +3 -0
  178. package/dist/template-model/normalize-template.d.ts.map +1 -0
  179. package/dist/template-model/normalize-template.js +167 -0
  180. package/dist/template-model/normalize-template.js.map +1 -0
  181. package/dist/template-model/schema.d.ts +10 -0
  182. package/dist/template-model/schema.d.ts.map +1 -0
  183. package/dist/template-model/schema.js +134 -0
  184. package/dist/template-model/schema.js.map +1 -0
  185. package/dist/template-model/template.d.ts +5 -0
  186. package/dist/template-model/template.d.ts.map +1 -0
  187. package/dist/template-model/template.js +194 -0
  188. package/dist/template-model/template.js.map +1 -0
  189. package/dist/template-model/types.d.ts +641 -0
  190. package/dist/template-model/types.d.ts.map +1 -0
  191. package/dist/template-model/types.js +36 -0
  192. package/dist/template-model/types.js.map +1 -0
  193. package/dist/text-format/index.d.ts +5 -0
  194. package/dist/text-format/index.d.ts.map +1 -0
  195. package/dist/text-format/index.js +311 -0
  196. package/dist/text-format/index.js.map +1 -0
  197. package/dist/text-style/index.d.ts +3 -0
  198. package/dist/text-style/index.d.ts.map +1 -0
  199. package/dist/text-style/index.js +2 -0
  200. package/dist/text-style/index.js.map +1 -0
  201. package/dist/text-style/resolve-text-style.d.ts +58 -0
  202. package/dist/text-style/resolve-text-style.d.ts.map +1 -0
  203. package/dist/text-style/resolve-text-style.js +155 -0
  204. package/dist/text-style/resolve-text-style.js.map +1 -0
  205. package/package.json +38 -0
@@ -0,0 +1,641 @@
1
+ import type { BandEventName, ComponentEventName, EventMap, PageEventName, ReportEventName } from '../event-engine/types';
2
+ export type Expression = string;
3
+ export interface Margins {
4
+ top: number;
5
+ right: number;
6
+ bottom: number;
7
+ left: number;
8
+ }
9
+ export interface FontConfig {
10
+ family?: string;
11
+ size?: number;
12
+ bold?: boolean;
13
+ italic?: boolean;
14
+ underline?: boolean;
15
+ strikethrough?: boolean;
16
+ color?: string;
17
+ }
18
+ export interface ReportFont {
19
+ id: string;
20
+ name: string;
21
+ family: string;
22
+ fallback?: string;
23
+ source?: {
24
+ url?: string;
25
+ dataUrl?: string;
26
+ format?: 'woff2' | 'woff' | 'truetype' | 'opentype';
27
+ };
28
+ builtin?: boolean;
29
+ }
30
+ export type RichTextDocument = Record<string, unknown>;
31
+ export interface BorderConfig {
32
+ style: 'none' | 'solid' | 'dashed' | 'dotted' | 'double';
33
+ width: number;
34
+ color: string;
35
+ sides: {
36
+ top: boolean;
37
+ right: boolean;
38
+ bottom: boolean;
39
+ left: boolean;
40
+ };
41
+ }
42
+ export interface Padding {
43
+ top: number;
44
+ right: number;
45
+ bottom: number;
46
+ left: number;
47
+ }
48
+ export interface ConditionRule {
49
+ id: string;
50
+ expression: Expression;
51
+ conditionType?: 'expression' | 'value';
52
+ enabled?: boolean;
53
+ breakIfTrue?: boolean;
54
+ dataType?: 'string' | 'number' | 'date' | 'boolean' | 'expression';
55
+ field?: Expression;
56
+ operator?: 'equalTo' | 'notEqualTo' | 'between' | 'notBetween' | 'greaterThan' | 'greaterThanOrEqualTo' | 'lessThan' | 'lessThanOrEqualTo' | 'containing' | 'notContaining' | 'beginningWith' | 'endingWith';
57
+ value?: string | number | boolean;
58
+ valueTo?: string | number | boolean;
59
+ overrides: Record<string, any>;
60
+ }
61
+ export type TextFormatType = 'none' | 'text' | 'number' | 'currency' | 'date' | 'time' | 'dateTime' | 'percent' | 'boolean' | 'custom';
62
+ export type TextFormatNegativePattern = 'minus' | 'parentheses';
63
+ export type TextFormatPositivePattern = 'plain' | 'plus';
64
+ export type TextFormatSymbolPosition = 'prefix' | 'suffix';
65
+ export type TextFormatTextTransform = 'none' | 'uppercase' | 'lowercase' | 'capitalize';
66
+ export interface TextFormatConfig {
67
+ type: TextFormatType;
68
+ pattern?: string;
69
+ nullValue?: string;
70
+ trueText?: string;
71
+ falseText?: string;
72
+ decimalDigits?: number;
73
+ decimalSeparator?: string;
74
+ useGroupSeparator?: boolean;
75
+ groupSeparator?: string;
76
+ groupSize?: number;
77
+ useAbbreviation?: boolean;
78
+ positivePattern?: TextFormatPositivePattern;
79
+ negativePattern?: TextFormatNegativePattern;
80
+ currencySymbol?: string;
81
+ currencySymbolPosition?: TextFormatSymbolPosition;
82
+ currencySpace?: boolean;
83
+ percentMultiplier?: 1 | 100;
84
+ percentSymbol?: string;
85
+ percentSymbolPosition?: TextFormatSymbolPosition;
86
+ percentSpace?: boolean;
87
+ dateFormat?: string;
88
+ timeFormat?: string;
89
+ textTransform?: TextFormatTextTransform;
90
+ trimText?: boolean;
91
+ trueValues?: string[];
92
+ falseValues?: string[];
93
+ }
94
+ export type ChartType = 'line' | 'area' | 'areaPercent' | 'column' | 'columnParallel' | 'columnPercent' | 'bar' | 'barParallel' | 'barPercent' | 'pie' | 'donut' | 'rose' | 'scatter' | 'radar' | 'funnel' | 'dualAxis' | 'heatmap' | 'histogram' | 'boxPlot' | 'sankey' | 'treeMap' | 'sunburst' | 'circlePacking';
95
+ export type ChartAggregateMode = 'none' | 'sum' | 'avg' | 'count' | 'min' | 'max';
96
+ export type ChartLegendPosition = 'top' | 'right' | 'bottom' | 'left';
97
+ export type ChartSortDirection = 'asc' | 'desc';
98
+ export interface ChartDimension {
99
+ field: string;
100
+ alias?: string;
101
+ }
102
+ export interface ChartMeasure {
103
+ field: string;
104
+ alias?: string;
105
+ aggregation?: ChartAggregateMode;
106
+ axis?: 'left' | 'right';
107
+ }
108
+ export interface ChartBinding {
109
+ dataSourceId?: string;
110
+ arrayPath?: Expression;
111
+ dimensions?: ChartDimension[];
112
+ seriesField?: string;
113
+ measures?: ChartMeasure[];
114
+ sort?: Array<{
115
+ field: string;
116
+ direction: ChartSortDirection;
117
+ }>;
118
+ filterExpression?: Expression;
119
+ }
120
+ export interface ChartThemeConfig {
121
+ baseTheme: 'light' | 'dark';
122
+ palettePresetId?: string;
123
+ customPalette?: string[];
124
+ linearPalette?: [string, string];
125
+ backgroundColor?: string;
126
+ titleColor?: string;
127
+ subtitleColor?: string;
128
+ axisLabelColor?: string;
129
+ axisTitleColor?: string;
130
+ axisLineColor?: string;
131
+ axisGridColor?: string;
132
+ gridColor?: string;
133
+ labelColor?: string;
134
+ legendLabelColor?: string;
135
+ fontFamily?: string;
136
+ textPrimary?: string;
137
+ textSecondary?: string;
138
+ }
139
+ export type ChartFontConfig = FontConfig;
140
+ export interface ChartTitleConfig {
141
+ visible: boolean;
142
+ text?: string;
143
+ subtitle?: string;
144
+ position?: 'top' | 'bottom';
145
+ align?: 'left' | 'center' | 'right';
146
+ font?: ChartFontConfig;
147
+ color?: string;
148
+ subtitleFont?: ChartFontConfig;
149
+ subtitleColor?: string;
150
+ padding?: Partial<Padding>;
151
+ }
152
+ export interface ChartLegendConfig {
153
+ visible: boolean;
154
+ position: ChartLegendPosition;
155
+ align?: 'start' | 'center' | 'end';
156
+ layout?: 'horizontal' | 'vertical';
157
+ font?: ChartFontConfig;
158
+ color?: string;
159
+ markerShape?: 'circle' | 'square' | 'rect' | 'line' | 'diamond';
160
+ maxRows?: number;
161
+ maxColumns?: number;
162
+ }
163
+ export interface ChartAxesConfig {
164
+ x?: ChartAxisConfig;
165
+ y?: ChartAxisConfig;
166
+ rightY?: ChartAxisConfig;
167
+ }
168
+ export interface ChartAxisConfig {
169
+ visible: boolean;
170
+ title?: string;
171
+ titleFont?: ChartFontConfig;
172
+ titleColor?: string;
173
+ labelFont?: ChartFontConfig;
174
+ labelColor?: string;
175
+ labelRotate?: number;
176
+ lineVisible?: boolean;
177
+ lineColor?: string;
178
+ tickVisible?: boolean;
179
+ tickColor?: string;
180
+ gridVisible?: boolean;
181
+ gridColor?: string;
182
+ gridDash?: number[];
183
+ min?: number;
184
+ max?: number;
185
+ nice?: boolean;
186
+ format?: TextFormatConfig;
187
+ axisCount?: number;
188
+ shape?: 'polygon' | 'circle';
189
+ }
190
+ export interface ChartLabelConfig {
191
+ visible: boolean;
192
+ content: 'name' | 'value' | 'percent' | 'name-value' | 'custom';
193
+ customTemplate?: string;
194
+ position?: 'auto' | 'inside' | 'outside' | 'top' | 'bottom' | 'left' | 'right' | 'spider';
195
+ font?: ChartFontConfig;
196
+ color?: string;
197
+ backgroundColor?: string;
198
+ borderColor?: string;
199
+ borderRadius?: number;
200
+ showLeaderLine?: boolean;
201
+ overlapStrategy?: 'hide' | 'shift' | 'none';
202
+ }
203
+ export interface ChartBarOptions {
204
+ barWidth?: number;
205
+ cornerRadius?: number;
206
+ fillOpacity?: number;
207
+ borderColor?: string;
208
+ borderWidth?: number;
209
+ labelPosition?: 'inside' | 'top' | 'outside';
210
+ }
211
+ export interface ChartLineOptions {
212
+ curveType?: 'linear' | 'monotone' | 'step';
213
+ lineWidth?: number;
214
+ showPoint?: boolean;
215
+ pointSize?: number;
216
+ pointShape?: 'circle' | 'square' | 'triangle' | 'diamond';
217
+ connectNulls?: boolean;
218
+ }
219
+ export interface ChartAreaOptions {
220
+ showArea?: boolean;
221
+ areaOpacity?: number;
222
+ }
223
+ export interface ChartPieOptions {
224
+ innerRadius?: number;
225
+ outerRadius?: number;
226
+ startAngle?: number;
227
+ padAngle?: number;
228
+ roseType?: 'radius' | 'area';
229
+ }
230
+ export interface ChartScatterOptions {
231
+ pointSize?: number;
232
+ pointShape?: 'circle' | 'square' | 'triangle' | 'diamond';
233
+ fillOpacity?: number;
234
+ showTrendLine?: boolean;
235
+ trendLineType?: 'linear' | 'polynomial' | 'exponential';
236
+ }
237
+ export interface ChartRadarOptions {
238
+ shape?: 'polygon' | 'circle';
239
+ showArea?: boolean;
240
+ areaOpacity?: number;
241
+ lineWidth?: number;
242
+ showPoint?: boolean;
243
+ pointSize?: number;
244
+ axisCount?: number;
245
+ }
246
+ export interface ChartFunnelOptions {
247
+ direction?: 'vertical' | 'horizontal';
248
+ shape?: 'trapezoid' | 'triangle' | 'rect';
249
+ showConversionRate?: boolean;
250
+ gap?: number;
251
+ minSize?: number;
252
+ maxSize?: number;
253
+ }
254
+ export interface ChartDualAxisOptions {
255
+ primaryType?: 'bar' | 'line';
256
+ secondaryType?: 'bar' | 'line';
257
+ }
258
+ export interface ChartHeatmapOptions {
259
+ cellGap?: number;
260
+ colorRange?: [string, string];
261
+ }
262
+ export interface ChartPlotOptions {
263
+ bar?: ChartBarOptions;
264
+ line?: ChartLineOptions;
265
+ area?: ChartAreaOptions;
266
+ pie?: ChartPieOptions;
267
+ scatter?: ChartScatterOptions;
268
+ radar?: ChartRadarOptions;
269
+ funnel?: ChartFunnelOptions;
270
+ dualAxis?: ChartDualAxisOptions;
271
+ heatmap?: ChartHeatmapOptions;
272
+ }
273
+ export type TextAlign = 'left' | 'center' | 'right';
274
+ export type VerticalAlign = 'top' | 'middle' | 'bottom';
275
+ export interface PageWatermark {
276
+ enabled: boolean;
277
+ text: Expression;
278
+ fontFamily?: string;
279
+ fontSize: number;
280
+ color: string;
281
+ opacity: number;
282
+ angle: number;
283
+ horizontalAlign: TextAlign;
284
+ verticalAlign: VerticalAlign;
285
+ showBehind: boolean;
286
+ }
287
+ export interface PageBorder {
288
+ enabled: boolean;
289
+ style: BorderConfig['style'];
290
+ width: number;
291
+ color: string;
292
+ sides: BorderConfig['sides'];
293
+ offset: number;
294
+ }
295
+ export interface ReportStyle {
296
+ id: string;
297
+ name: string;
298
+ category?: 'text';
299
+ font?: Partial<FontConfig>;
300
+ border?: Partial<BorderConfig>;
301
+ backgroundColor?: string;
302
+ textAlign?: TextAlign;
303
+ verticalAlign?: VerticalAlign;
304
+ padding?: Partial<Padding>;
305
+ format?: TextFormatConfig;
306
+ canGrow?: boolean;
307
+ canShrink?: boolean;
308
+ isDefault?: boolean;
309
+ }
310
+ export interface ConditionalFormat {
311
+ id: string;
312
+ name: string;
313
+ rules: ConditionRule[];
314
+ applyTo: string[];
315
+ }
316
+ export type JsonFieldType = 'null' | 'boolean' | 'number' | 'date' | 'string';
317
+ export interface DataField {
318
+ id?: string;
319
+ name: string;
320
+ path?: string;
321
+ type: JsonFieldType;
322
+ label?: string;
323
+ nullable?: boolean;
324
+ }
325
+ export interface DataSource {
326
+ id: string;
327
+ name: string;
328
+ type: 'json';
329
+ path?: string;
330
+ fields?: DataField[];
331
+ schema?: DataField[];
332
+ data?: Record<string, any>[];
333
+ }
334
+ export type ComponentType = 'text' | 'image' | 'chart' | 'table' | 'barcode' | 'qrcode' | 'checkbox' | 'richtext' | 'subreport' | 'panel' | 'line' | 'shape' | 'pagenumber' | 'datetime';
335
+ export interface ReportComponent {
336
+ id: string;
337
+ name?: string;
338
+ type: ComponentType;
339
+ x: number;
340
+ y: number;
341
+ width: number;
342
+ height: number;
343
+ zOrder?: number;
344
+ backgroundColor?: string;
345
+ border?: BorderConfig;
346
+ padding?: Padding;
347
+ style?: string;
348
+ conditionalFormat?: string;
349
+ visible?: Expression;
350
+ printableExpression?: Expression;
351
+ enabledExpression?: Expression;
352
+ conditions?: ConditionRule[];
353
+ events?: EventMap<ComponentEventName>;
354
+ anchor?: string;
355
+ }
356
+ export interface TextComponent extends ReportComponent {
357
+ type: 'text';
358
+ text: Expression;
359
+ format?: TextFormatConfig;
360
+ font: FontConfig;
361
+ textAlign: TextAlign;
362
+ verticalAlign: VerticalAlign;
363
+ border: BorderConfig;
364
+ canGrow: boolean;
365
+ canShrink: boolean;
366
+ }
367
+ export interface ImageComponent extends ReportComponent {
368
+ type: 'image';
369
+ src: Expression;
370
+ fitMode: 'fill' | 'contain' | 'cover' | 'stretch';
371
+ }
372
+ export interface ChartDataPoint {
373
+ category: string;
374
+ value: number | null;
375
+ measureValues?: Record<string, number | null>;
376
+ measureKey?: string;
377
+ series?: string;
378
+ axis?: 'left' | 'right';
379
+ label?: string;
380
+ x?: number | null;
381
+ y?: number | null;
382
+ source?: string;
383
+ target?: string;
384
+ path?: string[];
385
+ raw: Record<string, unknown>;
386
+ }
387
+ export interface ChartComponent extends ReportComponent {
388
+ type: 'chart';
389
+ chartType: ChartType;
390
+ binding: ChartBinding;
391
+ title?: ChartTitleConfig;
392
+ legend?: ChartLegendConfig;
393
+ axes?: ChartAxesConfig;
394
+ labels?: ChartLabelConfig;
395
+ theme?: ChartThemeConfig;
396
+ plotOptions?: ChartPlotOptions;
397
+ data?: ChartDataPoint[];
398
+ emptyMessage?: string;
399
+ }
400
+ export interface TableColumn {
401
+ id: string;
402
+ header: string;
403
+ field: string;
404
+ width?: number;
405
+ cellType: 'text' | 'image' | 'barcode' | 'checkbox';
406
+ }
407
+ export interface TableStyle {
408
+ backgroundColor?: string;
409
+ font?: FontConfig;
410
+ border?: BorderConfig;
411
+ padding?: Padding;
412
+ textAlign?: TextAlign;
413
+ verticalAlign?: VerticalAlign;
414
+ format?: TextFormatConfig;
415
+ }
416
+ export interface TableCell {
417
+ id?: string;
418
+ row?: number;
419
+ column?: number;
420
+ text?: Expression;
421
+ width?: number;
422
+ rowSpan?: number;
423
+ colSpan?: number;
424
+ backgroundColor?: string;
425
+ font?: FontConfig;
426
+ border?: BorderConfig;
427
+ padding?: Padding;
428
+ textAlign?: TextAlign;
429
+ verticalAlign?: VerticalAlign;
430
+ format?: TextFormatConfig;
431
+ style?: TableStyle;
432
+ }
433
+ export interface TableRow {
434
+ id: string;
435
+ role?: 'header' | 'body' | 'footer' | 'normal';
436
+ height?: number;
437
+ backgroundColor?: string;
438
+ font?: FontConfig;
439
+ border?: BorderConfig;
440
+ padding?: Padding;
441
+ textAlign?: TextAlign;
442
+ verticalAlign?: VerticalAlign;
443
+ format?: TextFormatConfig;
444
+ style?: TableStyle;
445
+ cells: TableCell[];
446
+ }
447
+ export interface TableBinding {
448
+ mode: 'fixed' | 'detail';
449
+ dataSourceId?: string;
450
+ arrayPath?: string;
451
+ }
452
+ export interface TableComponent extends ReportComponent {
453
+ type: 'table';
454
+ dataSource?: string;
455
+ binding?: TableBinding;
456
+ columns?: TableColumn[];
457
+ rows?: TableRow[];
458
+ rowCount?: number;
459
+ columnCount?: number;
460
+ canBreak?: boolean;
461
+ cells?: TableCell[];
462
+ rowHeight?: number;
463
+ showBorder?: boolean;
464
+ font?: FontConfig;
465
+ textAlign?: TextAlign;
466
+ verticalAlign?: VerticalAlign;
467
+ format?: TextFormatConfig;
468
+ }
469
+ export type BarcodeFormat = 'CODE128' | 'EAN13' | 'EAN8' | 'UPC' | 'CODE39' | 'ITF14';
470
+ export type QRCodeFormat = 'QR_CODE';
471
+ export interface BarcodeComponent extends ReportComponent {
472
+ type: 'barcode';
473
+ value: Expression;
474
+ format: BarcodeFormat;
475
+ showText: boolean;
476
+ foregroundColor?: string;
477
+ font?: FontConfig;
478
+ }
479
+ export interface QRCodeComponent extends ReportComponent {
480
+ type: 'qrcode';
481
+ value: Expression;
482
+ format: QRCodeFormat;
483
+ foregroundColor?: string;
484
+ }
485
+ export interface CheckboxComponent extends ReportComponent {
486
+ type: 'checkbox';
487
+ checked: Expression | boolean;
488
+ label?: Expression;
489
+ foregroundColor?: string;
490
+ font?: FontConfig;
491
+ }
492
+ export interface RichtextComponent extends ReportComponent {
493
+ type: 'richtext';
494
+ html: Expression;
495
+ document?: RichTextDocument;
496
+ }
497
+ export interface SubreportComponent extends ReportComponent {
498
+ type: 'subreport';
499
+ templateUrl: string;
500
+ parameters: Record<string, Expression>;
501
+ }
502
+ export interface PanelComponent extends ReportComponent {
503
+ type: 'panel';
504
+ components: ReportComponent[];
505
+ backgroundColor?: string;
506
+ border: BorderConfig;
507
+ }
508
+ export interface LineComponent extends ReportComponent {
509
+ type: 'line';
510
+ startX: number;
511
+ startY: number;
512
+ endX: number;
513
+ endY: number;
514
+ lineColor: string;
515
+ lineWidth: number;
516
+ lineStyle: 'solid' | 'dashed' | 'dotted';
517
+ }
518
+ export interface ShapeComponent extends ReportComponent {
519
+ type: 'shape';
520
+ shapeType: 'rectangle' | 'ellipse' | 'roundRect' | 'triangle';
521
+ fillColor: string;
522
+ borderColor: string;
523
+ borderWidth: number;
524
+ borderStyle: 'solid' | 'dashed' | 'dotted';
525
+ }
526
+ export interface PageNumberComponent extends ReportComponent {
527
+ type: 'pagenumber';
528
+ format: '1' | '1/N' | 'Page 1 of N' | 'Page 1';
529
+ font: FontConfig;
530
+ textAlign: TextAlign;
531
+ verticalAlign?: VerticalAlign;
532
+ }
533
+ export interface DateTimeComponent extends ReportComponent {
534
+ type: 'datetime';
535
+ format: string;
536
+ font: FontConfig;
537
+ textAlign: TextAlign;
538
+ verticalAlign?: VerticalAlign;
539
+ }
540
+ export type ReportComponentUnion = TextComponent | ImageComponent | ChartComponent | TableComponent | BarcodeComponent | QRCodeComponent | CheckboxComponent | RichtextComponent | SubreportComponent | PanelComponent | LineComponent | ShapeComponent | PageNumberComponent | DateTimeComponent;
541
+ export declare const STANDARD_BAND_TYPES: readonly ["reportTitle", "reportSummary", "pageHeader", "pageFooter", "header", "footer", "groupHeader", "groupFooter", "columnHeader", "columnFooter", "data", "hierarchicalData", "overlay"];
542
+ export type StandardBandType = typeof STANDARD_BAND_TYPES[number];
543
+ export type BandType = StandardBandType;
544
+ export type BandPrintOn = 'allPages' | 'firstPage' | 'exceptFirstPage' | 'lastPage' | 'oddPages' | 'evenPages';
545
+ export declare function isRepeatOnEveryPageBandType(type: BandType): boolean;
546
+ export interface BandBehavior {
547
+ enabled: boolean;
548
+ visibleExpression?: string;
549
+ printOn: BandPrintOn;
550
+ printIfEmpty: boolean;
551
+ printOnAllPages: boolean;
552
+ keepTogether?: boolean;
553
+ canBreak?: boolean;
554
+ breakIfLessThan?: number;
555
+ printAtBottom: boolean;
556
+ autoGrow?: boolean;
557
+ autoShrink?: boolean;
558
+ }
559
+ export interface DataBandOptions {
560
+ dataSourceId?: string;
561
+ filterExpression?: string;
562
+ sort?: Array<{
563
+ field: string;
564
+ direction: 'asc' | 'desc';
565
+ }>;
566
+ oddRowBackgroundColor?: string;
567
+ evenRowBackgroundColor?: string;
568
+ columns?: {
569
+ count: number;
570
+ gap: number;
571
+ direction: 'downThenAcross' | 'acrossThenDown';
572
+ };
573
+ hierarchical?: {
574
+ childrenField?: string;
575
+ indentChars?: number;
576
+ };
577
+ }
578
+ export interface GroupBandOptions {
579
+ conditionExpression?: string;
580
+ sortDirection?: 'none' | 'asc' | 'desc';
581
+ }
582
+ export interface Band {
583
+ id: string;
584
+ type: StandardBandType;
585
+ name?: string;
586
+ height: number;
587
+ components: ReportComponent[];
588
+ behavior?: BandBehavior;
589
+ dataBand?: DataBandOptions;
590
+ group?: GroupBandOptions;
591
+ dataSource?: string;
592
+ groupField?: string;
593
+ sort?: Array<{
594
+ field: string;
595
+ direction: 'asc' | 'desc';
596
+ }>;
597
+ visible?: Expression;
598
+ events?: EventMap<BandEventName>;
599
+ }
600
+ export type PageOrientation = 'portrait' | 'landscape';
601
+ export interface Page {
602
+ id: string;
603
+ name?: string;
604
+ width: number;
605
+ height: number;
606
+ backgroundColor?: string;
607
+ watermark?: PageWatermark;
608
+ pageBorder?: PageBorder;
609
+ events?: EventMap<PageEventName>;
610
+ margins: Margins;
611
+ orientation: PageOrientation;
612
+ bands: Band[];
613
+ }
614
+ export interface ReportParameter {
615
+ id: string;
616
+ name: string;
617
+ type: JsonFieldType;
618
+ defaultValue?: unknown;
619
+ }
620
+ export interface ReportTemplate {
621
+ id: string;
622
+ name: string;
623
+ version: '2.0';
624
+ pages: Page[];
625
+ dataSources: DataSource[];
626
+ styles: ReportStyle[];
627
+ conditionalFormats: ConditionalFormat[];
628
+ parameters: ReportParameter[];
629
+ fonts?: ReportFont[];
630
+ events?: EventMap<ReportEventName>;
631
+ }
632
+ export interface JsonDictionary {
633
+ dataSources: DataSource[];
634
+ }
635
+ export interface ValidationResult<TError = string> {
636
+ valid: boolean;
637
+ errors: TError[];
638
+ }
639
+ export type DataContext = Record<string, Record<string, any>[] | Record<string, any>>;
640
+ export declare function mapDataField(source: Pick<DataSource, 'id'>, field: Pick<DataField, 'name' | 'type' | 'label'>): DataField;
641
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/template-model/types.ts"],"names":[],"mappings":"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"}