@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,537 @@
1
+ /** Whitelisted commands that are allowed to execute */
2
+ const allowedCommands = new Set();
3
+ /** Register a command type with its execute and undo handlers */
4
+ export function registerCommand(type, execute, undo) {
5
+ allowedCommands.add(type);
6
+ commandHandlers[type] = execute;
7
+ undoHandlers[type] = undo;
8
+ }
9
+ const commandHandlers = {};
10
+ const undoHandlers = {};
11
+ /** Command execution error */
12
+ export class CommandError extends Error {
13
+ commandType;
14
+ constructor(message, commandType) {
15
+ super(message);
16
+ this.commandType = commandType;
17
+ }
18
+ }
19
+ /**
20
+ * CommandDispatcher with whitelist security.
21
+ * Only registered commands can be executed.
22
+ */
23
+ export class CommandDispatcher {
24
+ history = [];
25
+ future = [];
26
+ maxHistory = 100;
27
+ /** Check if a command type is allowed */
28
+ static isAllowed(type) {
29
+ return allowedCommands.has(type);
30
+ }
31
+ /** List all registered command types */
32
+ static listCommands() {
33
+ return Array.from(allowedCommands);
34
+ }
35
+ /** Execute a command */
36
+ execute(state, command) {
37
+ if (!CommandDispatcher.isAllowed(command.type)) {
38
+ throw new CommandError(`Command '${command.type}' is not whitelisted`, command.type);
39
+ }
40
+ const handler = commandHandlers[command.type];
41
+ if (!handler) {
42
+ throw new CommandError(`No handler registered for '${command.type}'`, command.type);
43
+ }
44
+ // Execute the command
45
+ const newState = handler(state, command.payload);
46
+ // Record in history
47
+ this.history.push(command);
48
+ this.future = []; // Clear redo stack
49
+ // Limit history size
50
+ if (this.history.length > this.maxHistory) {
51
+ this.history = this.history.slice(-this.maxHistory);
52
+ }
53
+ return newState;
54
+ }
55
+ /** Undo the last command */
56
+ undo(state) {
57
+ if (this.history.length === 0)
58
+ return null;
59
+ const command = this.history.pop();
60
+ const handler = undoHandlers[command.type];
61
+ if (!handler) {
62
+ throw new CommandError(`No undo handler for '${command.type}'`, command.type);
63
+ }
64
+ const newState = handler(state, command.payload);
65
+ this.future.push(command);
66
+ return newState;
67
+ }
68
+ /** Redo the last undone command */
69
+ redo(state) {
70
+ if (this.future.length === 0)
71
+ return null;
72
+ const command = this.future.pop();
73
+ const handler = commandHandlers[command.type];
74
+ if (!handler) {
75
+ throw new CommandError(`No handler registered for '${command.type}'`, command.type);
76
+ }
77
+ const newState = handler(state, command.payload);
78
+ this.history.push(command);
79
+ return newState;
80
+ }
81
+ /** Check if undo is available */
82
+ canUndo() {
83
+ return this.history.length > 0;
84
+ }
85
+ /** Check if redo is available */
86
+ canRedo() {
87
+ return this.future.length > 0;
88
+ }
89
+ /** Get the current history size */
90
+ get historySize() {
91
+ return this.history.length;
92
+ }
93
+ /** Clear history */
94
+ clear() {
95
+ this.history = [];
96
+ this.future = [];
97
+ }
98
+ }
99
+ // ---- Built-in Command Handlers ----
100
+ /** Add a component to a band */
101
+ registerCommand('add-component', (state, payload) => {
102
+ const { pageId, bandId, component } = payload;
103
+ return {
104
+ ...state,
105
+ pages: state.pages.map(p => {
106
+ if (p.id !== pageId)
107
+ return p;
108
+ return {
109
+ ...p,
110
+ bands: p.bands.map(b => {
111
+ if (b.id !== bandId)
112
+ return b;
113
+ return { ...b, components: [...b.components, component] };
114
+ }),
115
+ };
116
+ }),
117
+ };
118
+ }, (state, payload) => {
119
+ const { pageId, bandId, component } = payload;
120
+ return {
121
+ ...state,
122
+ pages: state.pages.map(p => {
123
+ if (p.id !== pageId)
124
+ return p;
125
+ return {
126
+ ...p,
127
+ bands: p.bands.map(b => {
128
+ if (b.id !== bandId)
129
+ return b;
130
+ return { ...b, components: b.components.filter(c => c.id !== component.id) };
131
+ }),
132
+ };
133
+ }),
134
+ };
135
+ });
136
+ /** Remove a component from a band */
137
+ registerCommand('remove-component', (state, payload) => {
138
+ const { pageId, bandId, componentId } = payload;
139
+ return {
140
+ ...state,
141
+ pages: state.pages.map(p => {
142
+ if (p.id !== pageId)
143
+ return p;
144
+ return {
145
+ ...p,
146
+ bands: p.bands.map(b => {
147
+ if (b.id !== bandId)
148
+ return b;
149
+ return { ...b, components: b.components.filter(c => c.id !== componentId) };
150
+ }),
151
+ };
152
+ }),
153
+ };
154
+ }, (state, payload) => {
155
+ // Undo of remove = re-add (but we need the component data)
156
+ // The payload should include the removed component
157
+ const { pageId, bandId, component } = payload;
158
+ return {
159
+ ...state,
160
+ pages: state.pages.map(p => {
161
+ if (p.id !== pageId)
162
+ return p;
163
+ return {
164
+ ...p,
165
+ bands: p.bands.map(b => {
166
+ if (b.id !== bandId)
167
+ return b;
168
+ return { ...b, components: [...b.components, component] };
169
+ }),
170
+ };
171
+ }),
172
+ };
173
+ });
174
+ /** Update a component's properties */
175
+ registerCommand('update-component', (state, payload) => {
176
+ const { pageId, bandId, componentId, updates } = payload;
177
+ return {
178
+ ...state,
179
+ pages: state.pages.map(p => {
180
+ if (p.id !== pageId)
181
+ return p;
182
+ return {
183
+ ...p,
184
+ bands: p.bands.map(b => {
185
+ if (b.id !== bandId)
186
+ return b;
187
+ return {
188
+ ...b,
189
+ components: b.components.map(c => {
190
+ if (c.id !== componentId)
191
+ return c;
192
+ return { ...c, ...updates };
193
+ }),
194
+ };
195
+ }),
196
+ };
197
+ }),
198
+ };
199
+ }, (state, payload) => {
200
+ const { pageId, bandId, componentId, previous } = payload;
201
+ if (!previous)
202
+ return state;
203
+ return {
204
+ ...state,
205
+ pages: state.pages.map(p => {
206
+ if (p.id !== pageId)
207
+ return p;
208
+ return {
209
+ ...p,
210
+ bands: p.bands.map(b => {
211
+ if (b.id !== bandId)
212
+ return b;
213
+ return {
214
+ ...b,
215
+ components: b.components.map(c => {
216
+ if (c.id !== componentId)
217
+ return c;
218
+ return { ...c, ...previous };
219
+ }),
220
+ };
221
+ }),
222
+ };
223
+ }),
224
+ };
225
+ });
226
+ /** Update a band's height */
227
+ registerCommand('resize-band', (state, payload) => {
228
+ const { pageId, bandId, newHeight } = payload;
229
+ return {
230
+ ...state,
231
+ pages: state.pages.map(p => {
232
+ if (p.id !== pageId)
233
+ return p;
234
+ return {
235
+ ...p,
236
+ bands: p.bands.map(b => {
237
+ if (b.id !== bandId)
238
+ return b;
239
+ return { ...b, height: newHeight };
240
+ }),
241
+ };
242
+ }),
243
+ };
244
+ }, (state, payload) => {
245
+ const { pageId, bandId, oldHeight } = payload;
246
+ if (oldHeight === undefined)
247
+ return state;
248
+ return {
249
+ ...state,
250
+ pages: state.pages.map(p => {
251
+ if (p.id !== pageId)
252
+ return p;
253
+ return {
254
+ ...p,
255
+ bands: p.bands.map(b => {
256
+ if (b.id !== bandId)
257
+ return b;
258
+ return { ...b, height: oldHeight };
259
+ }),
260
+ };
261
+ }),
262
+ };
263
+ });
264
+ /** Move a component (update x, y) */
265
+ registerCommand('move-component', (state, payload) => {
266
+ const { pageId, bandId, componentId, x, y } = payload;
267
+ return {
268
+ ...state,
269
+ pages: state.pages.map(p => {
270
+ if (p.id !== pageId)
271
+ return p;
272
+ return {
273
+ ...p,
274
+ bands: p.bands.map(b => {
275
+ if (b.id !== bandId)
276
+ return b;
277
+ return {
278
+ ...b,
279
+ components: b.components.map(c => {
280
+ if (c.id !== componentId)
281
+ return c;
282
+ return { ...c, x: x ?? c.x, y: y ?? c.y };
283
+ }),
284
+ };
285
+ }),
286
+ };
287
+ }),
288
+ };
289
+ }, (state, payload) => {
290
+ const { pageId, bandId, componentId, prevX, prevY } = payload;
291
+ if (prevX === undefined && prevY === undefined)
292
+ return state;
293
+ return {
294
+ ...state,
295
+ pages: state.pages.map(p => {
296
+ if (p.id !== pageId)
297
+ return p;
298
+ return {
299
+ ...p,
300
+ bands: p.bands.map(b => {
301
+ if (b.id !== bandId)
302
+ return b;
303
+ return {
304
+ ...b,
305
+ components: b.components.map(c => {
306
+ if (c.id !== componentId)
307
+ return c;
308
+ return { ...c, x: prevX ?? c.x, y: prevY ?? c.y };
309
+ }),
310
+ };
311
+ }),
312
+ };
313
+ }),
314
+ };
315
+ });
316
+ /** Set template property */
317
+ registerCommand('set-template', (state, payload) => {
318
+ return { ...state, ...payload };
319
+ }, (state, payload) => {
320
+ const { previous } = payload;
321
+ if (!previous)
322
+ return state;
323
+ return { ...state, ...previous };
324
+ });
325
+ /** Align multiple selected components */
326
+ registerCommand('align-components', (state, payload) => {
327
+ const { pageId, bandId, componentIds, alignment, updates, previous } = payload;
328
+ return {
329
+ ...state,
330
+ pages: state.pages.map(p => {
331
+ if (p.id !== pageId)
332
+ return p;
333
+ return {
334
+ ...p,
335
+ bands: p.bands.map(b => {
336
+ if (b.id !== bandId)
337
+ return b;
338
+ return {
339
+ ...b,
340
+ components: b.components.map(c => {
341
+ const idx = componentIds.indexOf(c.id);
342
+ if (idx < 0)
343
+ return c;
344
+ return { ...c, ...updates[idx] };
345
+ }),
346
+ };
347
+ }),
348
+ };
349
+ }),
350
+ };
351
+ }, (state, payload) => {
352
+ const { pageId, bandId, componentIds, previous } = payload;
353
+ if (!previous)
354
+ return state;
355
+ return {
356
+ ...state,
357
+ pages: state.pages.map(p => {
358
+ if (p.id !== pageId)
359
+ return p;
360
+ return {
361
+ ...p,
362
+ bands: p.bands.map(b => {
363
+ if (b.id !== bandId)
364
+ return b;
365
+ return {
366
+ ...b,
367
+ components: b.components.map(c => {
368
+ const idx = componentIds.indexOf(c.id);
369
+ if (idx < 0)
370
+ return c;
371
+ return { ...c, ...previous[idx] };
372
+ }),
373
+ };
374
+ }),
375
+ };
376
+ }),
377
+ };
378
+ });
379
+ /** Resize multiple selected components */
380
+ registerCommand('size-components', (state, payload) => {
381
+ const { pageId, bandId, componentIds, updates, previous } = payload;
382
+ return {
383
+ ...state,
384
+ pages: state.pages.map(p => {
385
+ if (p.id !== pageId)
386
+ return p;
387
+ return {
388
+ ...p,
389
+ bands: p.bands.map(b => {
390
+ if (b.id !== bandId)
391
+ return b;
392
+ return {
393
+ ...b,
394
+ components: b.components.map(c => {
395
+ const idx = componentIds.indexOf(c.id);
396
+ if (idx < 0)
397
+ return c;
398
+ return { ...c, ...updates[idx] };
399
+ }),
400
+ };
401
+ }),
402
+ };
403
+ }),
404
+ };
405
+ }, (state, payload) => {
406
+ const { pageId, bandId, componentIds, previous } = payload;
407
+ if (!previous)
408
+ return state;
409
+ return {
410
+ ...state,
411
+ pages: state.pages.map(p => {
412
+ if (p.id !== pageId)
413
+ return p;
414
+ return {
415
+ ...p,
416
+ bands: p.bands.map(b => {
417
+ if (b.id !== bandId)
418
+ return b;
419
+ return {
420
+ ...b,
421
+ components: b.components.map(c => {
422
+ const idx = componentIds.indexOf(c.id);
423
+ if (idx < 0)
424
+ return c;
425
+ return { ...c, ...previous[idx] };
426
+ }),
427
+ };
428
+ }),
429
+ };
430
+ }),
431
+ };
432
+ });
433
+ /** Bring component to front (z-order) */
434
+ registerCommand('bring-to-front', (state, payload) => {
435
+ const { pageId, bandId, componentId, zOrder } = payload;
436
+ return {
437
+ ...state,
438
+ pages: state.pages.map(p => {
439
+ if (p.id !== pageId)
440
+ return p;
441
+ return {
442
+ ...p,
443
+ bands: p.bands.map(b => {
444
+ if (b.id !== bandId)
445
+ return b;
446
+ return {
447
+ ...b,
448
+ components: b.components.map(c => {
449
+ if (c.id !== componentId)
450
+ return c;
451
+ return { ...c, zOrder };
452
+ }),
453
+ };
454
+ }),
455
+ };
456
+ }),
457
+ };
458
+ }, (state, payload) => {
459
+ const { pageId, bandId, componentId, previousZOrder } = payload;
460
+ if (previousZOrder === undefined)
461
+ return state;
462
+ return {
463
+ ...state,
464
+ pages: state.pages.map(p => {
465
+ if (p.id !== pageId)
466
+ return p;
467
+ return {
468
+ ...p,
469
+ bands: p.bands.map(b => {
470
+ if (b.id !== bandId)
471
+ return b;
472
+ return {
473
+ ...b,
474
+ components: b.components.map(c => {
475
+ if (c.id !== componentId)
476
+ return c;
477
+ return { ...c, zOrder: previousZOrder };
478
+ }),
479
+ };
480
+ }),
481
+ };
482
+ }),
483
+ };
484
+ });
485
+ /** Send component to back (z-order) */
486
+ registerCommand('send-to-back', (state, payload) => {
487
+ const { pageId, bandId, componentId, zOrder } = payload;
488
+ return {
489
+ ...state,
490
+ pages: state.pages.map(p => {
491
+ if (p.id !== pageId)
492
+ return p;
493
+ return {
494
+ ...p,
495
+ bands: p.bands.map(b => {
496
+ if (b.id !== bandId)
497
+ return b;
498
+ return {
499
+ ...b,
500
+ components: b.components.map(c => {
501
+ if (c.id !== componentId)
502
+ return c;
503
+ return { ...c, zOrder };
504
+ }),
505
+ };
506
+ }),
507
+ };
508
+ }),
509
+ };
510
+ }, (state, payload) => {
511
+ const { pageId, bandId, componentId, previousZOrder } = payload;
512
+ if (previousZOrder === undefined)
513
+ return state;
514
+ return {
515
+ ...state,
516
+ pages: state.pages.map(p => {
517
+ if (p.id !== pageId)
518
+ return p;
519
+ return {
520
+ ...p,
521
+ bands: p.bands.map(b => {
522
+ if (b.id !== bandId)
523
+ return b;
524
+ return {
525
+ ...b,
526
+ components: b.components.map(c => {
527
+ if (c.id !== componentId)
528
+ return c;
529
+ return { ...c, zOrder: previousZOrder };
530
+ }),
531
+ };
532
+ }),
533
+ };
534
+ }),
535
+ };
536
+ });
537
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/command-engine/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { ConditionalFormat, ConditionRule, FontConfig, BorderConfig, ReportComponent } from '../template-model/types';
2
+ import type { EvalContext } from '../expression-engine/evaluator';
3
+ export interface ConditionalRenderedStyle {
4
+ font?: FontConfig;
5
+ background?: string;
6
+ border?: BorderConfig;
7
+ padding?: unknown;
8
+ textAlign?: 'left' | 'center' | 'right';
9
+ verticalAlign?: 'top' | 'middle' | 'bottom';
10
+ format?: unknown;
11
+ canGrow?: boolean;
12
+ canShrink?: boolean;
13
+ enabled?: boolean;
14
+ }
15
+ export declare function evaluateConditionRule(rule: ConditionRule, ctx: EvalContext): boolean;
16
+ export declare function applyConditionalFormatsToStyle<TStyle extends ConditionalRenderedStyle>(baseStyle: TStyle, formats: ConditionalFormat[], component: ReportComponent, ctx: EvalContext): TStyle;
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/conditional-format/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC3H,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAGlE,MAAM,WAAW,wBAAwB;IACvC,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACxC,aAAa,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC5C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAapF;AAED,wBAAgB,8BAA8B,CAAC,MAAM,SAAS,wBAAwB,EACpF,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,iBAAiB,EAAE,EAC5B,SAAS,EAAE,eAAe,EAC1B,GAAG,EAAE,WAAW,GACf,MAAM,CAaR"}