snap-report-viewer 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 (76) hide show
  1. package/README.md +24 -0
  2. package/esm2022/lib/components/chart-renderer/chart-renderer.component.mjs +75 -0
  3. package/esm2022/lib/components/complex-table-renderer/complex-table-renderer.component.mjs +155 -0
  4. package/esm2022/lib/components/component-renderer/component-renderer.component.mjs +158 -0
  5. package/esm2022/lib/components/container-renderer/container-renderer.component.mjs +53 -0
  6. package/esm2022/lib/components/image-renderer/image-renderer.component.mjs +67 -0
  7. package/esm2022/lib/components/line-renderer/line-renderer.component.mjs +94 -0
  8. package/esm2022/lib/components/list-renderer/list-renderer.component.mjs +96 -0
  9. package/esm2022/lib/components/qrcode-renderer/qrcode-renderer.component.mjs +67 -0
  10. package/esm2022/lib/components/shape-renderer/shape-renderer.component.mjs +133 -0
  11. package/esm2022/lib/components/table-renderer/table-renderer.component.mjs +148 -0
  12. package/esm2022/lib/components/text-renderer/text-renderer.component.mjs +33 -0
  13. package/esm2022/lib/constants/page-sizes.mjs +3 -0
  14. package/esm2022/lib/constants/report-tokens.mjs +21 -0
  15. package/esm2022/lib/layout/report-band.component.mjs +33 -0
  16. package/esm2022/lib/layout/report-page.component.mjs +159 -0
  17. package/esm2022/lib/models/component.model.mjs +3 -0
  18. package/esm2022/lib/models/report-template.model.mjs +19 -0
  19. package/esm2022/lib/page-container/page-container.component.mjs +248 -0
  20. package/esm2022/lib/report-viewer.component.mjs +393 -0
  21. package/esm2022/lib/services/chart-options-builder.service.mjs +749 -0
  22. package/esm2022/lib/services/data-resolver.service.mjs +385 -0
  23. package/esm2022/lib/services/export.service.mjs +82 -0
  24. package/esm2022/lib/services/formatting.service.mjs +59 -0
  25. package/esm2022/lib/services/print.service.mjs +133 -0
  26. package/esm2022/lib/services/search.service.mjs +117 -0
  27. package/esm2022/lib/services/style-mapper.service.mjs +247 -0
  28. package/esm2022/lib/services/template-normalizer.service.mjs +213 -0
  29. package/esm2022/lib/services/template-validator.service.mjs +293 -0
  30. package/esm2022/lib/services/token-resolver.service.mjs +14 -0
  31. package/esm2022/lib/services/viewer-state.service.mjs +155 -0
  32. package/esm2022/lib/sidebar/sidebar-container.component.mjs +86 -0
  33. package/esm2022/lib/sidebar/thumbnail-sidebar.component.mjs +110 -0
  34. package/esm2022/lib/sidebar/toc-sidebar.component.mjs +155 -0
  35. package/esm2022/lib/toolbar/viewer-toolbar.component.mjs +486 -0
  36. package/esm2022/public-api.mjs +43 -0
  37. package/esm2022/snap-report-viewer.mjs +5 -0
  38. package/fesm2022/snap-report-viewer.mjs +5110 -0
  39. package/fesm2022/snap-report-viewer.mjs.map +1 -0
  40. package/index.d.ts +5 -0
  41. package/lib/components/chart-renderer/chart-renderer.component.d.ts +14 -0
  42. package/lib/components/complex-table-renderer/complex-table-renderer.component.d.ts +17 -0
  43. package/lib/components/component-renderer/component-renderer.component.d.ts +14 -0
  44. package/lib/components/container-renderer/container-renderer.component.d.ts +11 -0
  45. package/lib/components/image-renderer/image-renderer.component.d.ts +14 -0
  46. package/lib/components/line-renderer/line-renderer.component.d.ts +10 -0
  47. package/lib/components/list-renderer/list-renderer.component.d.ts +16 -0
  48. package/lib/components/qrcode-renderer/qrcode-renderer.component.d.ts +16 -0
  49. package/lib/components/shape-renderer/shape-renderer.component.d.ts +11 -0
  50. package/lib/components/table-renderer/table-renderer.component.d.ts +20 -0
  51. package/lib/components/text-renderer/text-renderer.component.d.ts +13 -0
  52. package/lib/constants/page-sizes.d.ts +2 -0
  53. package/lib/constants/report-tokens.d.ts +8 -0
  54. package/lib/layout/report-band.component.d.ts +10 -0
  55. package/lib/layout/report-page.component.d.ts +21 -0
  56. package/lib/models/component.model.d.ts +315 -0
  57. package/lib/models/report-template.model.d.ts +122 -0
  58. package/lib/page-container/page-container.component.d.ts +29 -0
  59. package/lib/report-viewer.component.d.ts +51 -0
  60. package/lib/services/chart-options-builder.service.d.ts +31 -0
  61. package/lib/services/data-resolver.service.d.ts +27 -0
  62. package/lib/services/export.service.d.ts +11 -0
  63. package/lib/services/formatting.service.d.ts +10 -0
  64. package/lib/services/print.service.d.ts +12 -0
  65. package/lib/services/search.service.d.ts +13 -0
  66. package/lib/services/style-mapper.service.d.ts +14 -0
  67. package/lib/services/template-normalizer.service.d.ts +24 -0
  68. package/lib/services/template-validator.service.d.ts +19 -0
  69. package/lib/services/token-resolver.service.d.ts +6 -0
  70. package/lib/services/viewer-state.service.d.ts +49 -0
  71. package/lib/sidebar/sidebar-container.component.d.ts +8 -0
  72. package/lib/sidebar/thumbnail-sidebar.component.d.ts +15 -0
  73. package/lib/sidebar/toc-sidebar.component.d.ts +17 -0
  74. package/lib/toolbar/viewer-toolbar.component.d.ts +17 -0
  75. package/package.json +43 -0
  76. package/public-api.d.ts +35 -0
@@ -0,0 +1,33 @@
1
+ import { Component, Input, ChangeDetectionStrategy, inject } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { DataResolverService } from '../../services/data-resolver.service';
4
+ import * as i0 from "@angular/core";
5
+ export class TextRendererComponent {
6
+ constructor() {
7
+ this.pageNumber = 1;
8
+ this.totalPages = 1;
9
+ this.reportTitle = '';
10
+ this.dataResolver = inject(DataResolverService);
11
+ }
12
+ get resolvedContent() {
13
+ return this.dataResolver.resolveContent(this.component, this.data, this.pageNumber, this.totalPages, this.reportTitle);
14
+ }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TextRendererComponent, isStandalone: true, selector: "rv-text-renderer", inputs: { component: "component", data: "data", pageNumber: "pageNumber", totalPages: "totalPages", reportTitle: "reportTitle" }, ngImport: i0, template: `<div class="rv-text-content" [innerHTML]="resolvedContent"></div>`, isInline: true, styles: [".rv-text-content{width:100%;height:100%;white-space:pre-wrap;word-break:break-word}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17
+ }
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextRendererComponent, decorators: [{
19
+ type: Component,
20
+ args: [{ selector: 'rv-text-renderer', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `<div class="rv-text-content" [innerHTML]="resolvedContent"></div>`, styles: [".rv-text-content{width:100%;height:100%;white-space:pre-wrap;word-break:break-word}\n"] }]
21
+ }], propDecorators: { component: [{
22
+ type: Input,
23
+ args: [{ required: true }]
24
+ }], data: [{
25
+ type: Input
26
+ }], pageNumber: [{
27
+ type: Input
28
+ }], totalPages: [{
29
+ type: Input
30
+ }], reportTitle: [{
31
+ type: Input
32
+ }] } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1yZW5kZXJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yZXBvcnQtdmlld2VyL3NyYy9saWIvY29tcG9uZW50cy90ZXh0LXJlbmRlcmVyL3RleHQtcmVuZGVyZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7O0FBaUIzRSxNQUFNLE9BQU8scUJBQXFCO0lBZmxDO1FBa0JXLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFDZixlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFFbEIsaUJBQVksR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztLQU9wRDtJQUxDLElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxDQUNyQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQzlFLENBQUM7SUFDSixDQUFDOytHQWJVLHFCQUFxQjttR0FBckIscUJBQXFCLDhNQVZ0QixtRUFBbUUsOEpBRm5FLFlBQVk7OzRGQVlYLHFCQUFxQjtrQkFmakMsU0FBUzsrQkFDRSxrQkFBa0IsY0FDaEIsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDLG1CQUNOLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsbUVBQW1FOzhCQVdsRCxTQUFTO3NCQUFuQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDaEIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2NvbXBvbmVudC5tb2RlbCc7XG5pbXBvcnQgeyBEYXRhUmVzb2x2ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YS1yZXNvbHZlci5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncnYtdGV4dC1yZW5kZXJlcicsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwicnYtdGV4dC1jb250ZW50XCIgW2lubmVySFRNTF09XCJyZXNvbHZlZENvbnRlbnRcIj48L2Rpdj5gLFxuICBzdHlsZXM6IFtgXG4gICAgLnJ2LXRleHQtY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgfVxuICBgXVxufSlcbmV4cG9ydCBjbGFzcyBUZXh0UmVuZGVyZXJDb21wb25lbnQge1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBjb21wb25lbnQhOiBDb21wb25lbnRNb2RlbDtcbiAgQElucHV0KCkgZGF0YTogYW55O1xuICBASW5wdXQoKSBwYWdlTnVtYmVyID0gMTtcbiAgQElucHV0KCkgdG90YWxQYWdlcyA9IDE7XG4gIEBJbnB1dCgpIHJlcG9ydFRpdGxlID0gJyc7XG5cbiAgcHJpdmF0ZSBkYXRhUmVzb2x2ZXIgPSBpbmplY3QoRGF0YVJlc29sdmVyU2VydmljZSk7XG5cbiAgZ2V0IHJlc29sdmVkQ29udGVudCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRhdGFSZXNvbHZlci5yZXNvbHZlQ29udGVudChcbiAgICAgIHRoaXMuY29tcG9uZW50LCB0aGlzLmRhdGEsIHRoaXMucGFnZU51bWJlciwgdGhpcy50b3RhbFBhZ2VzLCB0aGlzLnJlcG9ydFRpdGxlXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,3 @@
1
+ export const MM_TO_PX = 3.7795275591;
2
+ export const PX_TO_MM = 1 / MM_TO_PX;
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1zaXplcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JlcG9ydC12aWV3ZXIvc3JjL2xpYi9jb25zdGFudHMvcGFnZS1zaXplcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDO0FBQ3JDLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IE1NX1RPX1BYID0gMy43Nzk1Mjc1NTkxO1xuZXhwb3J0IGNvbnN0IFBYX1RPX01NID0gMSAvIE1NX1RPX1BYO1xuIl19
@@ -0,0 +1,21 @@
1
+ export const REPORT_TOKENS = [
2
+ { token: '{{PageNumber}}', label: 'Page Number', description: 'Current page number', category: 'pagination' },
3
+ { token: '{{TotalPages}}', label: 'Total Pages', description: 'Total number of pages', category: 'pagination' },
4
+ { token: '{{PageNofM}}', label: 'Page N of M', description: '"Page 1 of 5" format', category: 'pagination' },
5
+ { token: '{{PrintDate}}', label: 'Print Date', description: 'Date when report is printed', category: 'datetime' },
6
+ { token: '{{PrintTime}}', label: 'Print Time', description: 'Time when report is printed', category: 'datetime' },
7
+ { token: '{{PrintDateTime}}', label: 'Date & Time', description: 'Full date and time', category: 'datetime' },
8
+ { token: '{{ReportTitle}}', label: 'Report Title', description: 'Report/template name', category: 'metadata' },
9
+ ];
10
+ export function resolveTokens(content, pageNum, totalPages, reportTitle) {
11
+ const now = new Date();
12
+ return content
13
+ .replace(/\{\{PageNumber\}\}/g, String(pageNum))
14
+ .replace(/\{\{TotalPages\}\}/g, String(totalPages))
15
+ .replace(/\{\{PageNofM\}\}/g, `Page ${pageNum} of ${totalPages}`)
16
+ .replace(/\{\{PrintDate\}\}/g, now.toLocaleDateString())
17
+ .replace(/\{\{PrintTime\}\}/g, now.toLocaleTimeString())
18
+ .replace(/\{\{PrintDateTime\}\}/g, now.toLocaleString())
19
+ .replace(/\{\{ReportTitle\}\}/g, reportTitle);
20
+ }
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXRva2Vucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3JlcG9ydC12aWV3ZXIvc3JjL2xpYi9jb25zdGFudHMvcmVwb3J0LXRva2Vucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFPQSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQWtCO0lBQzFDLEVBQUUsS0FBSyxFQUFFLGdCQUFnQixFQUFLLEtBQUssRUFBRSxhQUFhLEVBQUksV0FBVyxFQUFFLHFCQUFxQixFQUFTLFFBQVEsRUFBRSxZQUFZLEVBQUU7SUFDekgsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUssS0FBSyxFQUFFLGFBQWEsRUFBSSxXQUFXLEVBQUUsdUJBQXVCLEVBQU8sUUFBUSxFQUFFLFlBQVksRUFBRTtJQUN6SCxFQUFFLEtBQUssRUFBRSxjQUFjLEVBQU8sS0FBSyxFQUFFLGFBQWEsRUFBSSxXQUFXLEVBQUUsc0JBQXNCLEVBQVEsUUFBUSxFQUFFLFlBQVksRUFBRTtJQUN6SCxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQU0sS0FBSyxFQUFFLFlBQVksRUFBSyxXQUFXLEVBQUUsNkJBQTZCLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRTtJQUN4SCxFQUFFLEtBQUssRUFBRSxlQUFlLEVBQU0sS0FBSyxFQUFFLFlBQVksRUFBSyxXQUFXLEVBQUUsNkJBQTZCLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRTtJQUN4SCxFQUFFLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFJLFdBQVcsRUFBRSxvQkFBb0IsRUFBVSxRQUFRLEVBQUUsVUFBVSxFQUFFO0lBQ3ZILEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFJLEtBQUssRUFBRSxjQUFjLEVBQUcsV0FBVyxFQUFFLHNCQUFzQixFQUFRLFFBQVEsRUFBRSxVQUFVLEVBQUU7Q0FDeEgsQ0FBQztBQUVGLE1BQU0sVUFBVSxhQUFhLENBQUMsT0FBZSxFQUFFLE9BQWUsRUFBRSxVQUFrQixFQUFFLFdBQW1CO0lBQ3JHLE1BQU0sR0FBRyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7SUFDdkIsT0FBTyxPQUFPO1NBQ1gsT0FBTyxDQUFDLHFCQUFxQixFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUMvQyxPQUFPLENBQUMscUJBQXFCLEVBQUUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ2xELE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxRQUFRLE9BQU8sT0FBTyxVQUFVLEVBQUUsQ0FBQztTQUNoRSxPQUFPLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxDQUFDLGtCQUFrQixFQUFFLENBQUM7U0FDdkQsT0FBTyxDQUFDLG9CQUFvQixFQUFFLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1NBQ3ZELE9BQU8sQ0FBQyx3QkFBd0IsRUFBRSxHQUFHLENBQUMsY0FBYyxFQUFFLENBQUM7U0FDdkQsT0FBTyxDQUFDLHNCQUFzQixFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBQ2xELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIFJlcG9ydFRva2VuIHtcbiAgdG9rZW46IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgY2F0ZWdvcnk6ICdwYWdpbmF0aW9uJyB8ICdkYXRldGltZScgfCAnbWV0YWRhdGEnO1xufVxuXG5leHBvcnQgY29uc3QgUkVQT1JUX1RPS0VOUzogUmVwb3J0VG9rZW5bXSA9IFtcbiAgeyB0b2tlbjogJ3t7UGFnZU51bWJlcn19JywgICAgbGFiZWw6ICdQYWdlIE51bWJlcicsICAgZGVzY3JpcHRpb246ICdDdXJyZW50IHBhZ2UgbnVtYmVyJywgICAgICAgIGNhdGVnb3J5OiAncGFnaW5hdGlvbicgfSxcbiAgeyB0b2tlbjogJ3t7VG90YWxQYWdlc319JywgICAgbGFiZWw6ICdUb3RhbCBQYWdlcycsICAgZGVzY3JpcHRpb246ICdUb3RhbCBudW1iZXIgb2YgcGFnZXMnLCAgICAgIGNhdGVnb3J5OiAncGFnaW5hdGlvbicgfSxcbiAgeyB0b2tlbjogJ3t7UGFnZU5vZk19fScsICAgICAgbGFiZWw6ICdQYWdlIE4gb2YgTScsICAgZGVzY3JpcHRpb246ICdcIlBhZ2UgMSBvZiA1XCIgZm9ybWF0JywgICAgICAgY2F0ZWdvcnk6ICdwYWdpbmF0aW9uJyB9LFxuICB7IHRva2VuOiAne3tQcmludERhdGV9fScsICAgICBsYWJlbDogJ1ByaW50IERhdGUnLCAgICBkZXNjcmlwdGlvbjogJ0RhdGUgd2hlbiByZXBvcnQgaXMgcHJpbnRlZCcsIGNhdGVnb3J5OiAnZGF0ZXRpbWUnIH0sXG4gIHsgdG9rZW46ICd7e1ByaW50VGltZX19JywgICAgIGxhYmVsOiAnUHJpbnQgVGltZScsICAgIGRlc2NyaXB0aW9uOiAnVGltZSB3aGVuIHJlcG9ydCBpcyBwcmludGVkJywgY2F0ZWdvcnk6ICdkYXRldGltZScgfSxcbiAgeyB0b2tlbjogJ3t7UHJpbnREYXRlVGltZX19JywgbGFiZWw6ICdEYXRlICYgVGltZScsICAgZGVzY3JpcHRpb246ICdGdWxsIGRhdGUgYW5kIHRpbWUnLCAgICAgICAgIGNhdGVnb3J5OiAnZGF0ZXRpbWUnIH0sXG4gIHsgdG9rZW46ICd7e1JlcG9ydFRpdGxlfX0nLCAgIGxhYmVsOiAnUmVwb3J0IFRpdGxlJywgIGRlc2NyaXB0aW9uOiAnUmVwb3J0L3RlbXBsYXRlIG5hbWUnLCAgICAgICBjYXRlZ29yeTogJ21ldGFkYXRhJyB9LFxuXTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVUb2tlbnMoY29udGVudDogc3RyaW5nLCBwYWdlTnVtOiBudW1iZXIsIHRvdGFsUGFnZXM6IG51bWJlciwgcmVwb3J0VGl0bGU6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IG5vdyA9IG5ldyBEYXRlKCk7XG4gIHJldHVybiBjb250ZW50XG4gICAgLnJlcGxhY2UoL1xce1xce1BhZ2VOdW1iZXJcXH1cXH0vZywgU3RyaW5nKHBhZ2VOdW0pKVxuICAgIC5yZXBsYWNlKC9cXHtcXHtUb3RhbFBhZ2VzXFx9XFx9L2csIFN0cmluZyh0b3RhbFBhZ2VzKSlcbiAgICAucmVwbGFjZSgvXFx7XFx7UGFnZU5vZk1cXH1cXH0vZywgYFBhZ2UgJHtwYWdlTnVtfSBvZiAke3RvdGFsUGFnZXN9YClcbiAgICAucmVwbGFjZSgvXFx7XFx7UHJpbnREYXRlXFx9XFx9L2csIG5vdy50b0xvY2FsZURhdGVTdHJpbmcoKSlcbiAgICAucmVwbGFjZSgvXFx7XFx7UHJpbnRUaW1lXFx9XFx9L2csIG5vdy50b0xvY2FsZVRpbWVTdHJpbmcoKSlcbiAgICAucmVwbGFjZSgvXFx7XFx7UHJpbnREYXRlVGltZVxcfVxcfS9nLCBub3cudG9Mb2NhbGVTdHJpbmcoKSlcbiAgICAucmVwbGFjZSgvXFx7XFx7UmVwb3J0VGl0bGVcXH1cXH0vZywgcmVwb3J0VGl0bGUpO1xufVxuIl19
@@ -0,0 +1,33 @@
1
+ import { Component, Input, ChangeDetectionStrategy } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { StyleMapperService } from '../services/style-mapper.service';
4
+ import { inject } from '@angular/core';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ export class ReportBandComponent {
8
+ constructor() {
9
+ this.position = 'header';
10
+ this.styleMapper = inject(StyleMapperService);
11
+ }
12
+ get bandStyles() {
13
+ return this.styleMapper.mapBandStyle(this.section);
14
+ }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ReportBandComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
16
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ReportBandComponent, isStandalone: true, selector: "rv-report-band", inputs: { section: "section", position: "position" }, ngImport: i0, template: `
17
+ <div class="rv-band" [ngStyle]="bandStyles" [style.height.mm]="section.height">
18
+ </div>
19
+ `, isInline: true, styles: [".rv-band{position:absolute;left:0;right:0;box-sizing:border-box}:host(.header) .rv-band{top:0}:host(.footer) .rv-band{bottom:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
+ }
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ReportBandComponent, decorators: [{
22
+ type: Component,
23
+ args: [{ selector: 'rv-report-band', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
24
+ <div class="rv-band" [ngStyle]="bandStyles" [style.height.mm]="section.height">
25
+ </div>
26
+ `, styles: [".rv-band{position:absolute;left:0;right:0;box-sizing:border-box}:host(.header) .rv-band{top:0}:host(.footer) .rv-band{bottom:0}\n"] }]
27
+ }], propDecorators: { section: [{
28
+ type: Input,
29
+ args: [{ required: true }]
30
+ }], position: [{
31
+ type: Input
32
+ }] } });
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LWJhbmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVwb3J0LXZpZXdlci9zcmMvbGliL2xheW91dC9yZXBvcnQtYmFuZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQXNCdkMsTUFBTSxPQUFPLG1CQUFtQjtJQXBCaEM7UUFzQlcsYUFBUSxHQUF3QixRQUFRLENBQUM7UUFFMUMsZ0JBQVcsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztLQUtsRDtJQUhDLElBQUksVUFBVTtRQUNaLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JELENBQUM7K0dBUlUsbUJBQW1CO21HQUFuQixtQkFBbUIsZ0lBZnBCOzs7R0FHVCwwTUFMUyxZQUFZOzs0RkFpQlgsbUJBQW1CO2tCQXBCL0IsU0FBUzsrQkFDRSxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsbUJBQ04sdUJBQXVCLENBQUMsTUFBTSxZQUNyQzs7O0dBR1Q7OEJBYTBCLE9BQU87c0JBQWpDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNoQixRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSZXBvcnRTZWN0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL3JlcG9ydC10ZW1wbGF0ZS5tb2RlbCc7XG5pbXBvcnQgeyBTdHlsZU1hcHBlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9zdHlsZS1tYXBwZXIuc2VydmljZSc7XG5pbXBvcnQgeyBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncnYtcmVwb3J0LWJhbmQnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBjbGFzcz1cInJ2LWJhbmRcIiBbbmdTdHlsZV09XCJiYW5kU3R5bGVzXCIgW3N0eWxlLmhlaWdodC5tbV09XCJzZWN0aW9uLmhlaWdodFwiPlxuICAgIDwvZGl2PlxuICBgLFxuICBzdHlsZXM6IFtgXG4gICAgLnJ2LWJhbmQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG4gICAgOmhvc3QoLmhlYWRlcikgLnJ2LWJhbmQgeyB0b3A6IDA7IH1cbiAgICA6aG9zdCguZm9vdGVyKSAucnYtYmFuZCB7IGJvdHRvbTogMDsgfVxuICBgXVxufSlcbmV4cG9ydCBjbGFzcyBSZXBvcnRCYW5kQ29tcG9uZW50IHtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgc2VjdGlvbiE6IFJlcG9ydFNlY3Rpb247XG4gIEBJbnB1dCgpIHBvc2l0aW9uOiAnaGVhZGVyJyB8ICdmb290ZXInID0gJ2hlYWRlcic7XG5cbiAgcHJpdmF0ZSBzdHlsZU1hcHBlciA9IGluamVjdChTdHlsZU1hcHBlclNlcnZpY2UpO1xuXG4gIGdldCBiYW5kU3R5bGVzKCk6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLnN0eWxlTWFwcGVyLm1hcEJhbmRTdHlsZSh0aGlzLnNlY3Rpb24pO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,159 @@
1
+ import { Component, Input, ChangeDetectionStrategy, inject } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { StyleMapperService } from '../services/style-mapper.service';
4
+ import { ComponentRendererComponent } from '../components/component-renderer/component-renderer.component';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common";
7
+ export class ReportPageComponent {
8
+ constructor() {
9
+ this.pageWidth = 210;
10
+ this.pageHeight = 297;
11
+ this.bodyComponents = [];
12
+ this.globalStyles = { fontFamily: 'Arial', fontSize: '11px', color: '#000', backgroundColor: '#fff' };
13
+ this.pageNumber = 1;
14
+ this.totalPages = 1;
15
+ this.reportTitle = '';
16
+ this.styleMapper = inject(StyleMapperService);
17
+ }
18
+ get headerBandStyle() {
19
+ return this.headerSection ? this.styleMapper.mapBandStyle(this.headerSection) : {};
20
+ }
21
+ get footerBandStyle() {
22
+ return this.footerSection ? this.styleMapper.mapBandStyle(this.footerSection) : {};
23
+ }
24
+ get allComponents() {
25
+ const result = [];
26
+ const bodyOffset = this.headerSection?.enabled ? this.headerSection.height : 0;
27
+ // Header components
28
+ if (this.headerSection?.enabled) {
29
+ result.push(...this.headerSection.components.map(c => ({ ...c })));
30
+ }
31
+ // Body components (offset by header height)
32
+ result.push(...this.bodyComponents.map(c => ({
33
+ ...c,
34
+ position: { ...c.position, y: c.position.y + bodyOffset },
35
+ })));
36
+ // Footer components (positioned at bottom of page)
37
+ if (this.footerSection?.enabled) {
38
+ const footerY = this.pageHeight - this.footerSection.height;
39
+ result.push(...this.footerSection.components.map(c => ({
40
+ ...c,
41
+ position: { ...c.position, y: c.position.y + footerY },
42
+ })));
43
+ }
44
+ return result.sort((a, b) => a.zIndex - b.zIndex);
45
+ }
46
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ReportPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
47
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: ReportPageComponent, isStandalone: true, selector: "rv-report-page", inputs: { pageWidth: "pageWidth", pageHeight: "pageHeight", headerSection: "headerSection", footerSection: "footerSection", bodyComponents: "bodyComponents", globalStyles: "globalStyles", data: "data", pageNumber: "pageNumber", totalPages: "totalPages", reportTitle: "reportTitle" }, ngImport: i0, template: `
48
+ <div class="rv-page"
49
+ [style.width.mm]="pageWidth"
50
+ [style.height.mm]="pageHeight"
51
+ [style.font-family]="globalStyles.fontFamily"
52
+ [style.font-size]="globalStyles.fontSize"
53
+ [style.color]="globalStyles.color"
54
+ [style.background-color]="globalStyles.backgroundColor">
55
+
56
+ <!-- Header band background -->
57
+ @if (headerSection?.enabled) {
58
+ <div class="rv-band rv-header-band"
59
+ [style.height.mm]="headerSection!.height"
60
+ [ngStyle]="headerBandStyle">
61
+ </div>
62
+ }
63
+
64
+ <!-- Footer band background -->
65
+ @if (footerSection?.enabled) {
66
+ <div class="rv-band rv-footer-band"
67
+ [style.height.mm]="footerSection!.height"
68
+ [ngStyle]="footerBandStyle">
69
+ </div>
70
+ }
71
+
72
+ <!-- All components merged and positioned -->
73
+ @for (comp of allComponents; track comp.id) {
74
+ <rv-component-renderer
75
+ [component]="comp"
76
+ [data]="data"
77
+ [pageNumber]="pageNumber"
78
+ [totalPages]="totalPages"
79
+ [reportTitle]="reportTitle">
80
+ </rv-component-renderer>
81
+ }
82
+
83
+ <!-- Empty state -->
84
+ @if (allComponents.length === 0) {
85
+ <div class="rv-empty">
86
+ <p>No components in the report</p>
87
+ </div>
88
+ }
89
+ </div>
90
+ `, isInline: true, styles: [".rv-page{position:relative;background:#fff;box-shadow:0 4px 20px #00000026;overflow:hidden}.rv-band{position:absolute;left:0;right:0;box-sizing:border-box}.rv-header-band{top:0}.rv-footer-band{bottom:0}.rv-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#999}.rv-empty p{margin:0;font-size:14px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: ComponentRendererComponent, selector: "rv-component-renderer", inputs: ["component", "data", "pageNumber", "totalPages", "reportTitle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
91
+ }
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ReportPageComponent, decorators: [{
93
+ type: Component,
94
+ args: [{ selector: 'rv-report-page', standalone: true, imports: [CommonModule, ComponentRendererComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: `
95
+ <div class="rv-page"
96
+ [style.width.mm]="pageWidth"
97
+ [style.height.mm]="pageHeight"
98
+ [style.font-family]="globalStyles.fontFamily"
99
+ [style.font-size]="globalStyles.fontSize"
100
+ [style.color]="globalStyles.color"
101
+ [style.background-color]="globalStyles.backgroundColor">
102
+
103
+ <!-- Header band background -->
104
+ @if (headerSection?.enabled) {
105
+ <div class="rv-band rv-header-band"
106
+ [style.height.mm]="headerSection!.height"
107
+ [ngStyle]="headerBandStyle">
108
+ </div>
109
+ }
110
+
111
+ <!-- Footer band background -->
112
+ @if (footerSection?.enabled) {
113
+ <div class="rv-band rv-footer-band"
114
+ [style.height.mm]="footerSection!.height"
115
+ [ngStyle]="footerBandStyle">
116
+ </div>
117
+ }
118
+
119
+ <!-- All components merged and positioned -->
120
+ @for (comp of allComponents; track comp.id) {
121
+ <rv-component-renderer
122
+ [component]="comp"
123
+ [data]="data"
124
+ [pageNumber]="pageNumber"
125
+ [totalPages]="totalPages"
126
+ [reportTitle]="reportTitle">
127
+ </rv-component-renderer>
128
+ }
129
+
130
+ <!-- Empty state -->
131
+ @if (allComponents.length === 0) {
132
+ <div class="rv-empty">
133
+ <p>No components in the report</p>
134
+ </div>
135
+ }
136
+ </div>
137
+ `, styles: [".rv-page{position:relative;background:#fff;box-shadow:0 4px 20px #00000026;overflow:hidden}.rv-band{position:absolute;left:0;right:0;box-sizing:border-box}.rv-header-band{top:0}.rv-footer-band{bottom:0}.rv-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#999}.rv-empty p{margin:0;font-size:14px}\n"] }]
138
+ }], propDecorators: { pageWidth: [{
139
+ type: Input
140
+ }], pageHeight: [{
141
+ type: Input
142
+ }], headerSection: [{
143
+ type: Input
144
+ }], footerSection: [{
145
+ type: Input
146
+ }], bodyComponents: [{
147
+ type: Input
148
+ }], globalStyles: [{
149
+ type: Input
150
+ }], data: [{
151
+ type: Input
152
+ }], pageNumber: [{
153
+ type: Input
154
+ }], totalPages: [{
155
+ type: Input
156
+ }], reportTitle: [{
157
+ type: Input
158
+ }] } });
159
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVwb3J0LXZpZXdlci9zcmMvbGliL2xheW91dC9yZXBvcnQtcGFnZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUcvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrREFBK0QsQ0FBQzs7O0FBNkUzRyxNQUFNLE9BQU8sbUJBQW1CO0lBM0VoQztRQTRFVyxjQUFTLEdBQUcsR0FBRyxDQUFDO1FBQ2hCLGVBQVUsR0FBRyxHQUFHLENBQUM7UUFHakIsbUJBQWMsR0FBcUIsRUFBRSxDQUFDO1FBQ3RDLGlCQUFZLEdBQWlCLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBRS9HLGVBQVUsR0FBRyxDQUFDLENBQUM7UUFDZixlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFFbEIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztLQW9DbEQ7SUFsQ0MsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDckYsQ0FBQztJQUVELElBQUksZUFBZTtRQUNqQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3JGLENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixNQUFNLE1BQU0sR0FBcUIsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRS9FLG9CQUFvQjtRQUNwQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLENBQUM7WUFDaEMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLENBQUM7UUFFRCw0Q0FBNEM7UUFDNUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMzQyxHQUFHLENBQUM7WUFDSixRQUFRLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLFVBQVUsRUFBRTtTQUMxRCxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRUwsbURBQW1EO1FBQ25ELElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUNoQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO1lBQzVELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNyRCxHQUFHLENBQUM7Z0JBQ0osUUFBUSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxPQUFPLEVBQUU7YUFDdkQsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwRCxDQUFDOytHQS9DVSxtQkFBbUI7bUdBQW5CLG1CQUFtQixzV0F0RXBCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkNULGthQTdDUyxZQUFZLG9IQUFFLDBCQUEwQjs7NEZBd0V2QyxtQkFBbUI7a0JBM0UvQixTQUFTOytCQUNFLGdCQUFnQixjQUNkLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSwwQkFBMEIsQ0FBQyxtQkFDbEMsdUJBQXVCLENBQUMsTUFBTSxZQUNyQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJDVDs4QkE0QlEsU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudE1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2NvbXBvbmVudC5tb2RlbCc7XG5pbXBvcnQgeyBSZXBvcnRTZWN0aW9uLCBHbG9iYWxTdHlsZXMgfSBmcm9tICcuLi9tb2RlbHMvcmVwb3J0LXRlbXBsYXRlLm1vZGVsJztcbmltcG9ydCB7IFN0eWxlTWFwcGVyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3N0eWxlLW1hcHBlci5zZXJ2aWNlJztcbmltcG9ydCB7IENvbXBvbmVudFJlbmRlcmVyQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jb21wb25lbnQtcmVuZGVyZXIvY29tcG9uZW50LXJlbmRlcmVyLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3J2LXJlcG9ydC1wYWdlJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQ29tcG9uZW50UmVuZGVyZXJDb21wb25lbnRdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwicnYtcGFnZVwiXG4gICAgICAgICBbc3R5bGUud2lkdGgubW1dPVwicGFnZVdpZHRoXCJcbiAgICAgICAgIFtzdHlsZS5oZWlnaHQubW1dPVwicGFnZUhlaWdodFwiXG4gICAgICAgICBbc3R5bGUuZm9udC1mYW1pbHldPVwiZ2xvYmFsU3R5bGVzLmZvbnRGYW1pbHlcIlxuICAgICAgICAgW3N0eWxlLmZvbnQtc2l6ZV09XCJnbG9iYWxTdHlsZXMuZm9udFNpemVcIlxuICAgICAgICAgW3N0eWxlLmNvbG9yXT1cImdsb2JhbFN0eWxlcy5jb2xvclwiXG4gICAgICAgICBbc3R5bGUuYmFja2dyb3VuZC1jb2xvcl09XCJnbG9iYWxTdHlsZXMuYmFja2dyb3VuZENvbG9yXCI+XG5cbiAgICAgIDwhLS0gSGVhZGVyIGJhbmQgYmFja2dyb3VuZCAtLT5cbiAgICAgIEBpZiAoaGVhZGVyU2VjdGlvbj8uZW5hYmxlZCkge1xuICAgICAgICA8ZGl2IGNsYXNzPVwicnYtYmFuZCBydi1oZWFkZXItYmFuZFwiXG4gICAgICAgICAgICAgW3N0eWxlLmhlaWdodC5tbV09XCJoZWFkZXJTZWN0aW9uIS5oZWlnaHRcIlxuICAgICAgICAgICAgIFtuZ1N0eWxlXT1cImhlYWRlckJhbmRTdHlsZVwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cblxuICAgICAgPCEtLSBGb290ZXIgYmFuZCBiYWNrZ3JvdW5kIC0tPlxuICAgICAgQGlmIChmb290ZXJTZWN0aW9uPy5lbmFibGVkKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJydi1iYW5kIHJ2LWZvb3Rlci1iYW5kXCJcbiAgICAgICAgICAgICBbc3R5bGUuaGVpZ2h0Lm1tXT1cImZvb3RlclNlY3Rpb24hLmhlaWdodFwiXG4gICAgICAgICAgICAgW25nU3R5bGVdPVwiZm9vdGVyQmFuZFN0eWxlXCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgfVxuXG4gICAgICA8IS0tIEFsbCBjb21wb25lbnRzIG1lcmdlZCBhbmQgcG9zaXRpb25lZCAtLT5cbiAgICAgIEBmb3IgKGNvbXAgb2YgYWxsQ29tcG9uZW50czsgdHJhY2sgY29tcC5pZCkge1xuICAgICAgICA8cnYtY29tcG9uZW50LXJlbmRlcmVyXG4gICAgICAgICAgW2NvbXBvbmVudF09XCJjb21wXCJcbiAgICAgICAgICBbZGF0YV09XCJkYXRhXCJcbiAgICAgICAgICBbcGFnZU51bWJlcl09XCJwYWdlTnVtYmVyXCJcbiAgICAgICAgICBbdG90YWxQYWdlc109XCJ0b3RhbFBhZ2VzXCJcbiAgICAgICAgICBbcmVwb3J0VGl0bGVdPVwicmVwb3J0VGl0bGVcIj5cbiAgICAgICAgPC9ydi1jb21wb25lbnQtcmVuZGVyZXI+XG4gICAgICB9XG5cbiAgICAgIDwhLS0gRW1wdHkgc3RhdGUgLS0+XG4gICAgICBAaWYgKGFsbENvbXBvbmVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJydi1lbXB0eVwiPlxuICAgICAgICAgIDxwPk5vIGNvbXBvbmVudHMgaW4gdGhlIHJlcG9ydDwvcD5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW2BcbiAgICAucnYtcGFnZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgIC5ydi1iYW5kIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuICAgIC5ydi1oZWFkZXItYmFuZCB7IHRvcDogMDsgfVxuICAgIC5ydi1mb290ZXItYmFuZCB7IGJvdHRvbTogMDsgfVxuICAgIC5ydi1lbXB0eSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY29sb3I6ICM5OTk7XG4gICAgfVxuICAgIC5ydi1lbXB0eSBwIHsgbWFyZ2luOiAwOyBmb250LXNpemU6IDE0cHg7IH1cbiAgYF1cbn0pXG5leHBvcnQgY2xhc3MgUmVwb3J0UGFnZUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHBhZ2VXaWR0aCA9IDIxMDtcbiAgQElucHV0KCkgcGFnZUhlaWdodCA9IDI5NztcbiAgQElucHV0KCkgaGVhZGVyU2VjdGlvbj86IFJlcG9ydFNlY3Rpb247XG4gIEBJbnB1dCgpIGZvb3RlclNlY3Rpb24/OiBSZXBvcnRTZWN0aW9uO1xuICBASW5wdXQoKSBib2R5Q29tcG9uZW50czogQ29tcG9uZW50TW9kZWxbXSA9IFtdO1xuICBASW5wdXQoKSBnbG9iYWxTdHlsZXM6IEdsb2JhbFN0eWxlcyA9IHsgZm9udEZhbWlseTogJ0FyaWFsJywgZm9udFNpemU6ICcxMXB4JywgY29sb3I6ICcjMDAwJywgYmFja2dyb3VuZENvbG9yOiAnI2ZmZicgfTtcbiAgQElucHV0KCkgZGF0YTogYW55O1xuICBASW5wdXQoKSBwYWdlTnVtYmVyID0gMTtcbiAgQElucHV0KCkgdG90YWxQYWdlcyA9IDE7XG4gIEBJbnB1dCgpIHJlcG9ydFRpdGxlID0gJyc7XG5cbiAgcHJpdmF0ZSBzdHlsZU1hcHBlciA9IGluamVjdChTdHlsZU1hcHBlclNlcnZpY2UpO1xuXG4gIGdldCBoZWFkZXJCYW5kU3R5bGUoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuaGVhZGVyU2VjdGlvbiA/IHRoaXMuc3R5bGVNYXBwZXIubWFwQmFuZFN0eWxlKHRoaXMuaGVhZGVyU2VjdGlvbikgOiB7fTtcbiAgfVxuXG4gIGdldCBmb290ZXJCYW5kU3R5bGUoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuZm9vdGVyU2VjdGlvbiA/IHRoaXMuc3R5bGVNYXBwZXIubWFwQmFuZFN0eWxlKHRoaXMuZm9vdGVyU2VjdGlvbikgOiB7fTtcbiAgfVxuXG4gIGdldCBhbGxDb21wb25lbnRzKCk6IENvbXBvbmVudE1vZGVsW10ge1xuICAgIGNvbnN0IHJlc3VsdDogQ29tcG9uZW50TW9kZWxbXSA9IFtdO1xuICAgIGNvbnN0IGJvZHlPZmZzZXQgPSB0aGlzLmhlYWRlclNlY3Rpb24/LmVuYWJsZWQgPyB0aGlzLmhlYWRlclNlY3Rpb24uaGVpZ2h0IDogMDtcblxuICAgIC8vIEhlYWRlciBjb21wb25lbnRzXG4gICAgaWYgKHRoaXMuaGVhZGVyU2VjdGlvbj8uZW5hYmxlZCkge1xuICAgICAgcmVzdWx0LnB1c2goLi4udGhpcy5oZWFkZXJTZWN0aW9uLmNvbXBvbmVudHMubWFwKGMgPT4gKHsgLi4uYyB9KSkpO1xuICAgIH1cblxuICAgIC8vIEJvZHkgY29tcG9uZW50cyAob2Zmc2V0IGJ5IGhlYWRlciBoZWlnaHQpXG4gICAgcmVzdWx0LnB1c2goLi4udGhpcy5ib2R5Q29tcG9uZW50cy5tYXAoYyA9PiAoe1xuICAgICAgLi4uYyxcbiAgICAgIHBvc2l0aW9uOiB7IC4uLmMucG9zaXRpb24sIHk6IGMucG9zaXRpb24ueSArIGJvZHlPZmZzZXQgfSxcbiAgICB9KSkpO1xuXG4gICAgLy8gRm9vdGVyIGNvbXBvbmVudHMgKHBvc2l0aW9uZWQgYXQgYm90dG9tIG9mIHBhZ2UpXG4gICAgaWYgKHRoaXMuZm9vdGVyU2VjdGlvbj8uZW5hYmxlZCkge1xuICAgICAgY29uc3QgZm9vdGVyWSA9IHRoaXMucGFnZUhlaWdodCAtIHRoaXMuZm9vdGVyU2VjdGlvbi5oZWlnaHQ7XG4gICAgICByZXN1bHQucHVzaCguLi50aGlzLmZvb3RlclNlY3Rpb24uY29tcG9uZW50cy5tYXAoYyA9PiAoe1xuICAgICAgICAuLi5jLFxuICAgICAgICBwb3NpdGlvbjogeyAuLi5jLnBvc2l0aW9uLCB5OiBjLnBvc2l0aW9uLnkgKyBmb290ZXJZIH0sXG4gICAgICB9KSkpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQuc29ydCgoYSwgYikgPT4gYS56SW5kZXggLSBiLnpJbmRleCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ // Core Component Model Interface - Base interface for all design components
2
+ export {};
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVwb3J0LXZpZXdlci9zcmMvbGliL21vZGVscy9jb21wb25lbnQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNEVBQTRFIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29yZSBDb21wb25lbnQgTW9kZWwgSW50ZXJmYWNlIC0gQmFzZSBpbnRlcmZhY2UgZm9yIGFsbCBkZXNpZ24gY29tcG9uZW50c1xuXG5leHBvcnQgdHlwZSBDb21wb25lbnRUeXBlID0gJ3RleHQnIHwgJ2ZpZWxkJyB8ICd0YWJsZScgfCAnbGlzdCcgfCAnaW1hZ2UnIHwgJ2NvbnRhaW5lcicgfCAncXJjb2RlJyB8ICdjaGFydCcgfCAnbGluZScgfCAnc2hhcGUnIHwgJ2NvbXBsZXgtdGFibGUnO1xuXG5leHBvcnQgdHlwZSBCYW5kVHlwZSA9ICdoZWFkZXInIHwgJ2Zvb3RlcicgfCAnYm9keSc7XG5cbmV4cG9ydCB0eXBlIFNoYXBlVHlwZSA9ICdyZWN0YW5nbGUnIHwgJ2NpcmNsZScgfCAnZWxsaXBzZScgfCAndHJpYW5nbGUnIHwgJ2RpYW1vbmQnIHwgJ3BlbnRhZ29uJyB8ICdoZXhhZ29uJyB8ICdzdGFyJyB8ICdhcnJvdyc7XG5leHBvcnQgdHlwZSBMaW5lVHlwZSA9ICdzb2xpZCcgfCAnZGFzaGVkJyB8ICdkb3R0ZWQnIHwgJ2Fycm93JztcblxuLy8gQ2hhcnQgdHlwZXNcbmV4cG9ydCB0eXBlIENoYXJ0VHlwZSA9ICdiYXInIHwgJ2xpbmUnIHwgJ2FyZWEnIHwgJ3BpZScgfCAnZG91Z2hudXQnIHwgJ3NjYXR0ZXInIHwgJ3JhZGFyJyB8ICdmdW5uZWwnIHwgJ2dhdWdlJyB8ICd3YXRlcmZhbGwnO1xuZXhwb3J0IHR5cGUgQ2hhcnRTdWJUeXBlID0gJ2NsdXN0ZXJlZCcgfCAnc3RhY2tlZCcgfCAncGVyY2VudC1zdGFja2VkJyB8ICdzdGFuZGFyZCc7XG5leHBvcnQgdHlwZSBUcmVuZGxpbmVUeXBlID0gJ2xpbmVhcicgfCAnZXhwb25lbnRpYWwnIHwgJ3BvbHlub21pYWwnIHwgJ21vdmluZy1hdmVyYWdlJztcbmV4cG9ydCB0eXBlIEFnZ3JlZ2F0aW9uRnVuY3Rpb24gPSAnbm9uZScgfCAnc3VtJyB8ICdhdmVyYWdlJyB8ICdjb3VudCcgfCAnbWluJyB8ICdtYXgnO1xuZXhwb3J0IHR5cGUgTGVnZW5kUG9zaXRpb24gPSAndG9wJyB8ICdib3R0b20nIHwgJ2xlZnQnIHwgJ3JpZ2h0JyB8ICdub25lJztcbmV4cG9ydCB0eXBlIEF4aXNMYWJlbFJvdGF0aW9uID0gMCB8IDQ1IHwgOTAgfCAtNDUgfCAtOTA7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9zaXRpb24ge1xuICB4OiBudW1iZXI7XG4gIHk6IG51bWJlcjtcbiAgdW5pdDogJ21tJyB8ICdweCc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2l6ZSB7XG4gIHdpZHRoOiBudW1iZXI7XG4gIGhlaWdodDogbnVtYmVyO1xuICB1bml0OiAnbW0nIHwgJ3B4Jztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb21wb25lbnRNZXRhZGF0YSB7XG4gIGNyZWF0ZWREYXRlOiBEYXRlIHwgc3RyaW5nO1xuICBtb2RpZmllZERhdGU6IERhdGUgfCBzdHJpbmc7XG4gIGxvY2tlZDogYm9vbGVhbjtcbiAgdmlzaWJsZTogYm9vbGVhbjtcbiAgbmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb21wb25lbnRNb2RlbCB7XG4gIGlkOiBzdHJpbmc7XG4gIHR5cGU6IENvbXBvbmVudFR5cGU7XG4gIHBvc2l0aW9uOiBQb3NpdGlvbjtcbiAgc2l6ZTogU2l6ZTtcbiAgc3R5bGU6IFN0eWxlUHJvcGVydGllcztcbiAgZGF0YUJpbmRpbmc/OiBEYXRhQmluZGluZztcbiAgY29uZGl0aW9uYWxMb2dpYz86IENvbmRpdGlvbmFsUnVsZVtdO1xuICBjaGlsZHJlbj86IENvbXBvbmVudE1vZGVsW107XG4gIG1ldGFkYXRhOiBDb21wb25lbnRNZXRhZGF0YTtcbiAgY29udGVudD86IHN0cmluZztcbiAgY29sdW1ucz86IFRhYmxlQ29sdW1uW107XG4gIGxpc3RDb25maWc/OiBMaXN0Q29uZmlnO1xuICB0YWJsZUNvbmZpZz86IFRhYmxlQ29uZmlnO1xuICBzaGFwZUNvbmZpZz86IFNoYXBlQ29uZmlnO1xuICBsaW5lQ29uZmlnPzogTGluZUNvbmZpZztcbiAgaW1hZ2VDb25maWc/OiBJbWFnZUNvbmZpZztcbiAgY2hhcnRDb25maWc/OiBDaGFydENvbmZpZztcbiAgY29tcGxleFRhYmxlQ29uZmlnPzogQ29tcGxleFRhYmxlQ29uZmlnO1xuICB6SW5kZXg6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaGFwZUNvbmZpZyB7XG4gIHNoYXBlVHlwZTogU2hhcGVUeXBlO1xuICBmaWxsQ29sb3I6IHN0cmluZztcbiAgc3Ryb2tlQ29sb3I6IHN0cmluZztcbiAgc3Ryb2tlV2lkdGg6IG51bWJlcjtcbiAgY29ybmVyUmFkaXVzPzogbnVtYmVyO1xuICBvcGFjaXR5PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpbmVDb25maWcge1xuICBsaW5lVHlwZTogTGluZVR5cGU7XG4gIHN0cm9rZUNvbG9yOiBzdHJpbmc7XG4gIHN0cm9rZVdpZHRoOiBudW1iZXI7XG4gIHN0YXJ0QXJyb3c/OiBib29sZWFuO1xuICBlbmRBcnJvdz86IGJvb2xlYW47XG4gIGFycm93U2l6ZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbWFnZUNvbmZpZyB7XG4gIGltYWdlVXJsPzogc3RyaW5nO1xuICBvYmplY3RGaXQ/OiAnZmlsbCcgfCAnY29udGFpbicgfCAnY292ZXInO1xuICBuYXR1cmFsV2lkdGg/OiBudW1iZXI7XG4gIG5hdHVyYWxIZWlnaHQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVDb25maWcge1xuICAvLyBIZWFkZXIgc3R5bGluZ1xuICBoZWFkZXJCYWNrZ3JvdW5kPzogc3RyaW5nO1xuICBoZWFkZXJUZXh0Q29sb3I/OiBzdHJpbmc7XG4gIGhlYWRlckZvbnRXZWlnaHQ/OiBzdHJpbmc7XG4gIGhlYWRlckZvbnRTaXplPzogc3RyaW5nO1xuICBoZWFkZXJUZXh0QWxpZ24/OiAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCc7XG4gIGhlYWRlckJvcmRlckJvdHRvbT86IHN0cmluZztcbiAgaGVhZGVyUGFkZGluZz86IHN0cmluZztcblxuICAvLyBCb3JkZXIgY29uZmlndXJhdGlvblxuICBzaG93T3V0ZXJCb3JkZXI/OiBib29sZWFuO1xuICBvdXRlckJvcmRlcldpZHRoPzogc3RyaW5nO1xuICBvdXRlckJvcmRlckNvbG9yPzogc3RyaW5nO1xuICBvdXRlckJvcmRlclN0eWxlPzogJ3NvbGlkJyB8ICdkYXNoZWQnIHwgJ2RvdHRlZCcgfCAnZG91YmxlJyB8ICdub25lJztcblxuICBzaG93Um93U2VwYXJhdG9ycz86IGJvb2xlYW47XG4gIHJvd1NlcGFyYXRvcldpZHRoPzogc3RyaW5nO1xuICByb3dTZXBhcmF0b3JDb2xvcj86IHN0cmluZztcbiAgcm93U2VwYXJhdG9yU3R5bGU/OiAnc29saWQnIHwgJ2Rhc2hlZCcgfCAnZG90dGVkJyB8ICdub25lJztcblxuICBzaG93Q29sdW1uU2VwYXJhdG9ycz86IGJvb2xlYW47XG4gIGNvbHVtblNlcGFyYXRvcldpZHRoPzogc3RyaW5nO1xuICBjb2x1bW5TZXBhcmF0b3JDb2xvcj86IHN0cmluZztcbiAgY29sdW1uU2VwYXJhdG9yU3R5bGU/OiAnc29saWQnIHwgJ2Rhc2hlZCcgfCAnZG90dGVkJyB8ICdub25lJztcblxuICAvLyBSb3cgc3R5bGluZ1xuICBjZWxsUGFkZGluZz86IHN0cmluZztcbiAgY2VsbFZlcnRpY2FsQWxpZ24/OiAndG9wJyB8ICdtaWRkbGUnIHwgJ2JvdHRvbSc7XG5cbiAgLy8gQWx0ZXJuYXRpbmcgcm93IGNvbG9ycyAoemVicmEgc3RyaXBpbmcpXG4gIGVuYWJsZUFsdGVybmF0ZVJvd3M/OiBib29sZWFuO1xuICBldmVuUm93QmFja2dyb3VuZD86IHN0cmluZztcbiAgb2RkUm93QmFja2dyb3VuZD86IHN0cmluZztcblxuICAvLyBSb3cgaG92ZXIgZWZmZWN0XG4gIGVuYWJsZVJvd0hvdmVyPzogYm9vbGVhbjtcbiAgaG92ZXJSb3dCYWNrZ3JvdW5kPzogc3RyaW5nO1xuXG4gIC8vIEZpcnN0L0xhc3Qgcm93IHNwZWNpYWwgc3R5bGluZ1xuICBoaWdobGlnaHRGaXJzdFJvdz86IGJvb2xlYW47XG4gIGZpcnN0Um93QmFja2dyb3VuZD86IHN0cmluZztcbiAgaGlnaGxpZ2h0TGFzdFJvdz86IGJvb2xlYW47XG4gIGxhc3RSb3dCYWNrZ3JvdW5kPzogc3RyaW5nO1xuXG4gIC8vIFRhYmxlIGxheW91dFxuICB0YWJsZUxheW91dD86ICdhdXRvJyB8ICdmaXhlZCc7XG5cbiAgLy8gQ29tcGFjdCBtb2RlXG4gIGNvbXBhY3RNb2RlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0Q29uZmlnIHtcbiAgc2hvd0hlYWRlcjogYm9vbGVhbjtcbiAgaGVhZGVyVGV4dD86IHN0cmluZztcbiAgaGVhZGVyQmluZGluZz86IHN0cmluZztcbiAgc2hvd0J1bGxldHM/OiBib29sZWFuO1xuICBidWxsZXRTdHlsZT86ICdkaXNjJyB8ICdjaXJjbGUnIHwgJ3NxdWFyZScgfCAnZGVjaW1hbCcgfCAnbm9uZSc7XG4gIGl0ZW1TcGFjaW5nPzogbnVtYmVyO1xuICBuZXN0ZWRFeHByZXNzaW9ucz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG59XG5cbi8vIENoYXJ0IGNvbmZpZ3VyYXRpb24gaW50ZXJmYWNlc1xuXG5leHBvcnQgaW50ZXJmYWNlIENoYXJ0U2VyaWVzIHtcbiAgaWQ6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlPzogQ2hhcnRUeXBlO1xuICB2YWx1ZUZpZWxkOiBzdHJpbmc7XG4gIGNvbG9yPzogc3RyaW5nO1xuICB5QXhpc0luZGV4PzogMCB8IDE7XG4gIGFnZ3JlZ2F0aW9uPzogQWdncmVnYXRpb25GdW5jdGlvbjtcbiAgc2hvd0RhdGFMYWJlbHM/OiBib29sZWFuO1xuICBsaW5lU3R5bGU/OiAnc29saWQnIHwgJ2Rhc2hlZCcgfCAnZG90dGVkJztcbiAgbGluZVdpZHRoPzogbnVtYmVyO1xuICBhcmVhT3BhY2l0eT86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFydEF4aXNDb25maWcge1xuICBzaG93PzogYm9vbGVhbjtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHRpdGxlQ29sb3I/OiBzdHJpbmc7XG4gIHRpdGxlRm9udFNpemU/OiBudW1iZXI7XG4gIGxhYmVsUm90YXRpb24/OiBBeGlzTGFiZWxSb3RhdGlvbjtcbiAgbGFiZWxDb2xvcj86IHN0cmluZztcbiAgbGFiZWxGb250U2l6ZT86IG51bWJlcjtcbiAgbWluPzogbnVtYmVyIHwgJ2F1dG8nO1xuICBtYXg/OiBudW1iZXIgfCAnYXV0byc7XG4gIHNob3dHcmlkTGluZXM/OiBib29sZWFuO1xuICBncmlkTGluZUNvbG9yPzogc3RyaW5nO1xuICBncmlkTGluZVN0eWxlPzogJ3NvbGlkJyB8ICdkYXNoZWQnIHwgJ2RvdHRlZCc7XG4gIGludmVyc2U/OiBib29sZWFuO1xuICBheGlzTGluZUNvbG9yPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYXJ0VHJlbmRsaW5lIHtcbiAgc2VyaWVzSW5kZXg6IG51bWJlcjtcbiAgdHlwZTogVHJlbmRsaW5lVHlwZTtcbiAgY29sb3I/OiBzdHJpbmc7XG4gIGxpbmVXaWR0aD86IG51bWJlcjtcbiAgbGluZVN0eWxlPzogJ3NvbGlkJyB8ICdkYXNoZWQnIHwgJ2RvdHRlZCc7XG4gIHBvbHlub21pYWxPcmRlcj86IG51bWJlcjtcbiAgbW92aW5nQXZlcmFnZVBlcmlvZD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFydENvbG9yUGFsZXR0ZSB7XG4gIG5hbWU6IHN0cmluZztcbiAgY29sb3JzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGFydENvbmZpZyB7XG4gIC8vIENoYXJ0IHR5cGVcbiAgY2hhcnRUeXBlOiBDaGFydFR5cGU7XG4gIGNoYXJ0U3ViVHlwZTogQ2hhcnRTdWJUeXBlO1xuXG4gIC8vIERhdGEgYmluZGluZ1xuICBkYXRhU291cmNlRmllbGQ6IHN0cmluZztcbiAgY2F0ZWdvcnlGaWVsZDogc3RyaW5nO1xuXG4gIC8vIFNlcmllc1xuICBzZXJpZXM6IENoYXJ0U2VyaWVzW107XG5cbiAgLy8gVGl0bGVcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHRpdGxlQ29sb3I/OiBzdHJpbmc7XG4gIHRpdGxlRm9udFNpemU/OiBudW1iZXI7XG4gIHRpdGxlRm9udFdlaWdodD86IHN0cmluZztcbiAgdGl0bGVBbGlnbj86ICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0JztcbiAgc3VidGl0bGU/OiBzdHJpbmc7XG4gIHN1YnRpdGxlQ29sb3I/OiBzdHJpbmc7XG4gIHN1YnRpdGxlRm9udFNpemU/OiBudW1iZXI7XG5cbiAgLy8gQXhlc1xuICB4QXhpcz86IENoYXJ0QXhpc0NvbmZpZztcbiAgeUF4aXM/OiBDaGFydEF4aXNDb25maWc7XG4gIHNlY29uZGFyeVlBeGlzPzogQ2hhcnRBeGlzQ29uZmlnO1xuXG4gIC8vIExlZ2VuZFxuICBsZWdlbmRQb3NpdGlvbj86IExlZ2VuZFBvc2l0aW9uO1xuICBsZWdlbmRGb250U2l6ZT86IG51bWJlcjtcbiAgbGVnZW5kRm9udENvbG9yPzogc3RyaW5nO1xuXG4gIC8vIENvbG9yIHBhbGV0dGVcbiAgY29sb3JQYWxldHRlPzogQ2hhcnRDb2xvclBhbGV0dGU7XG5cbiAgLy8gVHJlbmRsaW5lc1xuICB0cmVuZGxpbmVzPzogQ2hhcnRUcmVuZGxpbmVbXTtcblxuICAvLyBEYXRhIGxhYmVsc1xuICBzaG93RGF0YUxhYmVscz86IGJvb2xlYW47XG4gIGRhdGFMYWJlbFBvc2l0aW9uPzogJ2luc2lkZScgfCAnb3V0c2lkZScgfCAndG9wJyB8ICdjZW50ZXInO1xuICBkYXRhTGFiZWxGb250U2l6ZT86IG51bWJlcjtcbiAgZGF0YUxhYmVsQ29sb3I/OiBzdHJpbmc7XG5cbiAgLy8gVG9vbHRpcFxuICBzaG93VG9vbHRpcD86IGJvb2xlYW47XG4gIHRvb2x0aXBUcmlnZ2VyPzogJ2l0ZW0nIHwgJ2F4aXMnO1xuXG4gIC8vIEFuaW1hdGlvblxuICBlbmFibGVBbmltYXRpb24/OiBib29sZWFuO1xuICBhbmltYXRpb25EdXJhdGlvbj86IG51bWJlcjtcblxuICAvLyBBcHBlYXJhbmNlXG4gIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgYm9yZGVyUmFkaXVzPzogbnVtYmVyO1xuICBpbm5lclJhZGl1cz86IG51bWJlcjtcblxuICAvLyBHYXVnZS1zcGVjaWZpY1xuICBnYXVnZU1pbj86IG51bWJlcjtcbiAgZ2F1Z2VNYXg/OiBudW1iZXI7XG5cbiAgLy8gV2F0ZXJmYWxsLXNwZWNpZmljXG4gIHdhdGVyZmFsbFBvc2l0aXZlQ29sb3I/OiBzdHJpbmc7XG4gIHdhdGVyZmFsbE5lZ2F0aXZlQ29sb3I/OiBzdHJpbmc7XG4gIHdhdGVyZmFsbFRvdGFsQ29sb3I/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3R5bGVQcm9wZXJ0aWVzIHtcbiAgLy8gVHlwb2dyYXBoeVxuICBmb250RmFtaWx5Pzogc3RyaW5nO1xuICBmb250U2l6ZT86IHN0cmluZztcbiAgZm9udFdlaWdodD86IHN0cmluZztcbiAgZm9udFN0eWxlPzogc3RyaW5nO1xuICB0ZXh0RGVjb3JhdGlvbj86IHN0cmluZztcbiAgbGluZUhlaWdodD86IHN0cmluZztcbiAgbGV0dGVyU3BhY2luZz86IHN0cmluZztcblxuICAvLyBDb2xvcnNcbiAgY29sb3I/OiBzdHJpbmc7XG4gIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcblxuICAvLyBUZXh0IEFsaWdubWVudFxuICB0ZXh0QWxpZ24/OiAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCcgfCAnanVzdGlmeSc7XG4gIHZlcnRpY2FsQWxpZ24/OiAndG9wJyB8ICdtaWRkbGUnIHwgJ2JvdHRvbSc7XG5cbiAgLy8gU3BhY2luZ1xuICBwYWRkaW5nPzogc3RyaW5nO1xuICBwYWRkaW5nVG9wPzogc3RyaW5nO1xuICBwYWRkaW5nUmlnaHQ/OiBzdHJpbmc7XG4gIHBhZGRpbmdCb3R0b20/OiBzdHJpbmc7XG4gIHBhZGRpbmdMZWZ0Pzogc3RyaW5nO1xuICBtYXJnaW4/OiBzdHJpbmc7XG4gIG1hcmdpblRvcD86IHN0cmluZztcbiAgbWFyZ2luUmlnaHQ/OiBzdHJpbmc7XG4gIG1hcmdpbkJvdHRvbT86IHN0cmluZztcbiAgbWFyZ2luTGVmdD86IHN0cmluZztcblxuICAvLyBCb3JkZXJzXG4gIGJvcmRlcj86IHN0cmluZztcbiAgYm9yZGVyV2lkdGg/OiBzdHJpbmc7XG4gIGJvcmRlclN0eWxlPzogJ25vbmUnIHwgJ3NvbGlkJyB8ICdkYXNoZWQnIHwgJ2RvdHRlZCcgfCAnZG91YmxlJztcbiAgYm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gIGJvcmRlclJhZGl1cz86IHN0cmluZztcbiAgYm9yZGVyVG9wPzogc3RyaW5nO1xuICBib3JkZXJSaWdodD86IHN0cmluZztcbiAgYm9yZGVyQm90dG9tPzogc3RyaW5nO1xuICBib3JkZXJMZWZ0Pzogc3RyaW5nO1xuXG4gIC8vIFNoYWRvd1xuICBib3hTaGFkb3c/OiBzdHJpbmc7XG4gIHRleHRTaGFkb3c/OiBzdHJpbmc7XG5cbiAgLy8gTGF5b3V0XG4gIGRpc3BsYXk/OiBzdHJpbmc7XG4gIGZsZXhEaXJlY3Rpb24/OiBzdHJpbmc7XG4gIGp1c3RpZnlDb250ZW50Pzogc3RyaW5nO1xuICBhbGlnbkl0ZW1zPzogc3RyaW5nO1xuICBnYXA/OiBzdHJpbmc7XG5cbiAgLy8gVHJhbnNmb3JtXG4gIHRyYW5zZm9ybT86IHN0cmluZztcbiAgcm90YXRpb24/OiBudW1iZXI7XG5cbiAgLy8gT3RoZXJcbiAgb3BhY2l0eT86IG51bWJlcjtcbiAgb3ZlcmZsb3c/OiBzdHJpbmc7XG4gIHdoaXRlU3BhY2U/OiBzdHJpbmc7XG4gIHdvcmRCcmVhaz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhQmluZGluZyB7XG4gIHNvdXJjZUZpZWxkOiBzdHJpbmc7XG4gIGRhdGFUeXBlOiAnY3VycmVuY3knIHwgJ3RleHQnIHwgJ251bWJlcicgfCAnZGF0ZScgfCAnYm9vbGVhbicgfCAnYXJyYXknO1xuICBmb3JtYXR0aW5nPzogRGF0YUZvcm1hdHRpbmc7XG4gIGl0ZXJhdGlvbj86IEl0ZXJhdGlvbkNvbmZpZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhRm9ybWF0dGluZyB7XG4gIGxvY2FsZT86IHN0cmluZztcbiAgc3ltYm9sPzogc3RyaW5nO1xuICBkZWNpbWFsUGxhY2VzPzogbnVtYmVyO1xuICBkYXRlRm9ybWF0Pzogc3RyaW5nO1xuICBjdXN0b21Gb3JtYXQ/OiBzdHJpbmc7XG4gIHRob3VzYW5kc1NlcGFyYXRvcj86IGJvb2xlYW47XG4gIHByZWZpeD86IHN0cmluZztcbiAgc3VmZml4Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEl0ZXJhdGlvbkNvbmZpZyB7XG4gIHNvdXJjZTogc3RyaW5nO1xuICBpdGVtTmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbmRpdGlvbmFsUnVsZSB7XG4gIGlkOiBzdHJpbmc7XG4gIHR5cGU6ICdoaWRlSWZFbXB0eScgfCAnaGlkZUlmWmVybycgfCAnY3VzdG9tJztcbiAgZW5hYmxlZDogYm9vbGVhbjtcbiAgZmllbGQ/OiBzdHJpbmc7XG4gIG9wZXJhdG9yPzogJ2VxdWFscycgfCAnbm90RXF1YWxzJyB8ICdncmVhdGVyVGhhbicgfCAnbGVzc1RoYW4nIHwgJ2NvbnRhaW5zJyB8ICdpc0VtcHR5JyB8ICdpc05vdEVtcHR5JztcbiAgdmFsdWU/OiBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuO1xuICBhY3Rpb24/OiAnc2hvdycgfCAnaGlkZScgfCAnc3R5bGVPdmVycmlkZSc7XG4gIHN0eWxlT3ZlcnJpZGU/OiBQYXJ0aWFsPFN0eWxlUHJvcGVydGllcz47XG59XG5cbi8vIENvbXBsZXggVGFibGUgaW50ZXJmYWNlc1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbXBsZXhUYWJsZUNlbGwge1xuICBpZDogc3RyaW5nO1xuICByb3c6IG51bWJlcjtcbiAgY29sOiBudW1iZXI7XG4gIGNvbHNwYW46IG51bWJlcjtcbiAgcm93c3BhbjogbnVtYmVyO1xuICBjb250ZW50OiBzdHJpbmc7XG4gIGNvdmVyZWQ6IGJvb2xlYW47XG4gIGNvdmVyZWRCeT86IHN0cmluZztcbiAgaXNIZWFkZXI6IGJvb2xlYW47XG4gIGRhdGFCaW5kaW5nPzogRGF0YUJpbmRpbmc7XG4gIHN0eWxlPzogUGFydGlhbDxTdHlsZVByb3BlcnRpZXM+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbXBsZXhUYWJsZUNvbmZpZyB7XG4gIHJvd0NvdW50OiBudW1iZXI7XG4gIGNvbENvdW50OiBudW1iZXI7XG4gIGhlYWRlclJvd0NvdW50OiBudW1iZXI7XG4gIGNlbGxzOiBDb21wbGV4VGFibGVDZWxsW107XG4gIGNvbHVtbldpZHRoczogc3RyaW5nW107XG4gIHJvd0hlaWdodHM/OiBzdHJpbmdbXTtcblxuICAvLyBUYWJsZS1sZXZlbCBzdHlsaW5nXG4gIHNob3dPdXRlckJvcmRlcj86IGJvb2xlYW47XG4gIG91dGVyQm9yZGVyV2lkdGg/OiBzdHJpbmc7XG4gIG91dGVyQm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gIG91dGVyQm9yZGVyU3R5bGU/OiAnc29saWQnIHwgJ2Rhc2hlZCcgfCAnZG90dGVkJyB8ICdkb3VibGUnIHwgJ25vbmUnO1xuICBzaG93R3JpZExpbmVzPzogYm9vbGVhbjtcbiAgZ3JpZExpbmVXaWR0aD86IHN0cmluZztcbiAgZ3JpZExpbmVDb2xvcj86IHN0cmluZztcbiAgZ3JpZExpbmVTdHlsZT86ICdzb2xpZCcgfCAnZGFzaGVkJyB8ICdkb3R0ZWQnIHwgJ25vbmUnO1xuICBoZWFkZXJCYWNrZ3JvdW5kPzogc3RyaW5nO1xuICBoZWFkZXJUZXh0Q29sb3I/OiBzdHJpbmc7XG4gIGhlYWRlckZvbnRXZWlnaHQ/OiBzdHJpbmc7XG4gIGhlYWRlckZvbnRTaXplPzogc3RyaW5nO1xuICBoZWFkZXJUZXh0QWxpZ24/OiAnbGVmdCcgfCAnY2VudGVyJyB8ICdyaWdodCc7XG4gIGhlYWRlclBhZGRpbmc/OiBzdHJpbmc7XG4gIGNlbGxQYWRkaW5nPzogc3RyaW5nO1xuICBjZWxsVmVydGljYWxBbGlnbj86ICd0b3AnIHwgJ21pZGRsZScgfCAnYm90dG9tJztcbiAgY2VsbFRleHRBbGlnbj86ICdsZWZ0JyB8ICdjZW50ZXInIHwgJ3JpZ2h0JztcbiAgdGFibGVMYXlvdXQ/OiAnYXV0bycgfCAnZml4ZWQnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ29sdW1uIHtcbiAgaWQ6IHN0cmluZztcbiAgaGVhZGVyOiBzdHJpbmc7XG4gIGRhdGFCaW5kaW5nPzogRGF0YUJpbmRpbmc7XG4gIHN0eWxlPzogU3R5bGVQcm9wZXJ0aWVzO1xuICB3aWR0aD86IHN0cmluZztcbn1cbiJdfQ==
@@ -0,0 +1,19 @@
1
+ // Report Template Model - JSON schema types for report viewer
2
+ // Page size constants in millimeters
3
+ export const PAGE_SIZES = {
4
+ A2: { width: 420, height: 594 },
5
+ A3: { width: 297, height: 420 },
6
+ A4: { width: 210, height: 297 },
7
+ A5: { width: 148, height: 210 },
8
+ Letter: { width: 215.9, height: 279.4 },
9
+ Legal: { width: 215.9, height: 355.6 },
10
+ Custom: { width: 210, height: 297 },
11
+ };
12
+ // Margin presets in millimeters
13
+ export const MARGIN_PRESETS = {
14
+ Normal: { top: 25.4, right: 25.4, bottom: 25.4, left: 25.4, preset: 'Normal' },
15
+ Narrow: { top: 12.7, right: 12.7, bottom: 12.7, left: 12.7, preset: 'Narrow' },
16
+ Wide: { top: 25.4, right: 50.8, bottom: 25.4, left: 50.8, preset: 'Wide' },
17
+ Custom: { top: 20, right: 20, bottom: 20, left: 20, preset: 'Custom' },
18
+ };
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LXRlbXBsYXRlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcmVwb3J0LXZpZXdlci9zcmMvbGliL21vZGVscy9yZXBvcnQtdGVtcGxhdGUubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOERBQThEO0FBbUY5RCxxQ0FBcUM7QUFDckMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUF3RDtJQUM3RSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUU7SUFDL0IsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFO0lBQy9CLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRTtJQUMvQixFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUU7SUFDL0IsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO0lBQ3ZDLEtBQUssRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtJQUN0QyxNQUFNLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUU7Q0FDcEMsQ0FBQztBQUVGLGdDQUFnQztBQUNoQyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQWtDO0lBQzNELE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRTtJQUM5RSxNQUFNLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUU7SUFDOUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFO0lBQzFFLE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRTtDQUN2RSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gUmVwb3J0IFRlbXBsYXRlIE1vZGVsIC0gSlNPTiBzY2hlbWEgdHlwZXMgZm9yIHJlcG9ydCB2aWV3ZXJcblxuaW1wb3J0IHsgQ29tcG9uZW50TW9kZWwsIFN0eWxlUHJvcGVydGllcyB9IGZyb20gJy4vY29tcG9uZW50Lm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBSZXBvcnRUZW1wbGF0ZSB7XG4gIHZlcnNpb246IHN0cmluZztcbiAgbWV0YWRhdGE6IFNjaGVtYU1ldGFkYXRhO1xuICBwYWdlU2V0dXA6IFBhZ2VTZXR1cDtcbiAgZGF0YVNvdXJjZXM6IERhdGFTb3VyY2VbXTtcbiAgY29tcG9uZW50czogQ29tcG9uZW50TW9kZWxbXTtcbiAgZ2xvYmFsU3R5bGVzOiBHbG9iYWxTdHlsZXM7XG4gIGhlYWRlcj86IFJlcG9ydFNlY3Rpb247XG4gIGZvb3Rlcj86IFJlcG9ydFNlY3Rpb247XG59XG5cbi8vIEtlZXAgSW52b2ljZVNjaGVtYSBhcyBhbGlhcyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuZXhwb3J0IHR5cGUgSW52b2ljZVNjaGVtYSA9IFJlcG9ydFRlbXBsYXRlO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlcG9ydFNlY3Rpb24ge1xuICBlbmFibGVkOiBib29sZWFuO1xuICBoZWlnaHQ6IG51bWJlcjtcbiAgc3R5bGU/OiBTdHlsZVByb3BlcnRpZXM7XG4gIGNvbXBvbmVudHM6IENvbXBvbmVudE1vZGVsW107XG4gIHByaW50T25GaXJzdFBhZ2U6IGJvb2xlYW47XG4gIHByaW50T25MYXN0UGFnZTogYm9vbGVhbjtcbiAgZGlmZmVyZW50Rmlyc3RQYWdlOiBib29sZWFuO1xuICBmaXJzdFBhZ2VDb21wb25lbnRzPzogQ29tcG9uZW50TW9kZWxbXTtcbiAgZmlyc3RQYWdlSGVpZ2h0PzogbnVtYmVyO1xuICBmaXJzdFBhZ2VTdHlsZT86IFN0eWxlUHJvcGVydGllcztcbiAgY29udGVudD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY2hlbWFNZXRhZGF0YSB7XG4gIG5hbWU6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgY3JlYXRlZERhdGU6IERhdGUgfCBzdHJpbmc7XG4gIG1vZGlmaWVkRGF0ZTogRGF0ZSB8IHN0cmluZztcbiAgYXV0aG9yOiBzdHJpbmc7XG4gIHRhZ3M/OiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYWdlU2V0dXAge1xuICBzaXplOiBQYWdlU2l6ZTtcbiAgb3JpZW50YXRpb246IFBhZ2VPcmllbnRhdGlvbjtcbiAgd2lkdGg6IG51bWJlcjtcbiAgaGVpZ2h0OiBudW1iZXI7XG4gIHVuaXQ6ICdtbScgfCAncHgnIHwgJ2luJztcbiAgbWFyZ2luczogTWFyZ2lucztcbn1cblxuZXhwb3J0IHR5cGUgUGFnZVNpemUgPSAnQTInIHwgJ0EzJyB8ICdBNCcgfCAnQTUnIHwgJ0xldHRlcicgfCAnTGVnYWwnIHwgJ0N1c3RvbSc7XG5leHBvcnQgdHlwZSBQYWdlT3JpZW50YXRpb24gPSAnUG9ydHJhaXQnIHwgJ0xhbmRzY2FwZSc7XG5leHBvcnQgdHlwZSBNYXJnaW5QcmVzZXQgPSAnTm9ybWFsJyB8ICdOYXJyb3cnIHwgJ1dpZGUnIHwgJ0N1c3RvbSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWFyZ2lucyB7XG4gIHRvcDogbnVtYmVyO1xuICByaWdodDogbnVtYmVyO1xuICBib3R0b206IG51bWJlcjtcbiAgbGVmdDogbnVtYmVyO1xuICBwcmVzZXQ/OiBNYXJnaW5QcmVzZXQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVNvdXJjZSB7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZT86ICdvYmplY3QnIHwgJ2FycmF5JztcbiAgZmllbGRzOiBEYXRhRmllbGRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhRmllbGQge1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGU6ICd0ZXh0JyB8ICdudW1iZXInIHwgJ2N1cnJlbmN5JyB8ICdkYXRlJyB8ICdib29sZWFuJyB8ICdhcnJheScgfCAnb2JqZWN0JztcbiAgZmllbGRzPzogRGF0YUZpZWxkW107XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdsb2JhbFN0eWxlcyB7XG4gIGZvbnRGYW1pbHk6IHN0cmluZztcbiAgZm9udFNpemU6IHN0cmluZztcbiAgY29sb3I6IHN0cmluZztcbiAgYmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG4gIGxpbmVIZWlnaHQ/OiBzdHJpbmc7XG59XG5cbi8vIFBhZ2Ugc2l6ZSBjb25zdGFudHMgaW4gbWlsbGltZXRlcnNcbmV4cG9ydCBjb25zdCBQQUdFX1NJWkVTOiBSZWNvcmQ8UGFnZVNpemUsIHsgd2lkdGg6IG51bWJlcjsgaGVpZ2h0OiBudW1iZXIgfT4gPSB7XG4gIEEyOiB7IHdpZHRoOiA0MjAsIGhlaWdodDogNTk0IH0sXG4gIEEzOiB7IHdpZHRoOiAyOTcsIGhlaWdodDogNDIwIH0sXG4gIEE0OiB7IHdpZHRoOiAyMTAsIGhlaWdodDogMjk3IH0sXG4gIEE1OiB7IHdpZHRoOiAxNDgsIGhlaWdodDogMjEwIH0sXG4gIExldHRlcjogeyB3aWR0aDogMjE1LjksIGhlaWdodDogMjc5LjQgfSxcbiAgTGVnYWw6IHsgd2lkdGg6IDIxNS45LCBoZWlnaHQ6IDM1NS42IH0sXG4gIEN1c3RvbTogeyB3aWR0aDogMjEwLCBoZWlnaHQ6IDI5NyB9LFxufTtcblxuLy8gTWFyZ2luIHByZXNldHMgaW4gbWlsbGltZXRlcnNcbmV4cG9ydCBjb25zdCBNQVJHSU5fUFJFU0VUUzogUmVjb3JkPE1hcmdpblByZXNldCwgTWFyZ2lucz4gPSB7XG4gIE5vcm1hbDogeyB0b3A6IDI1LjQsIHJpZ2h0OiAyNS40LCBib3R0b206IDI1LjQsIGxlZnQ6IDI1LjQsIHByZXNldDogJ05vcm1hbCcgfSxcbiAgTmFycm93OiB7IHRvcDogMTIuNywgcmlnaHQ6IDEyLjcsIGJvdHRvbTogMTIuNywgbGVmdDogMTIuNywgcHJlc2V0OiAnTmFycm93JyB9LFxuICBXaWRlOiB7IHRvcDogMjUuNCwgcmlnaHQ6IDUwLjgsIGJvdHRvbTogMjUuNCwgbGVmdDogNTAuOCwgcHJlc2V0OiAnV2lkZScgfSxcbiAgQ3VzdG9tOiB7IHRvcDogMjAsIHJpZ2h0OiAyMCwgYm90dG9tOiAyMCwgbGVmdDogMjAsIHByZXNldDogJ0N1c3RvbScgfSxcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGlvblJlc3VsdCB7XG4gIHZhbGlkOiBib29sZWFuO1xuICBlcnJvcnM6IFZhbGlkYXRpb25FcnJvcltdO1xuICB3YXJuaW5nczogVmFsaWRhdGlvbldhcm5pbmdbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uRXJyb3Ige1xuICBjb2RlOiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgcGF0aD86IHN0cmluZztcbiAgY29tcG9uZW50SWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdGlvbldhcm5pbmcge1xuICBjb2RlOiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgcGF0aD86IHN0cmluZztcbiAgY29tcG9uZW50SWQ/OiBzdHJpbmc7XG59XG5cbi8vIFZpZXdlciByaWJib24gZXZlbnQgaW50ZXJmYWNlc1xuZXhwb3J0IGludGVyZmFjZSBFeHBvcnRFdmVudCB7XG4gIGZvcm1hdDogJ3BkZicgfCAneGxzeCcgfCAnZG9jeCcgfCAnY3N2JyB8ICdwbmcnO1xuICBwYWdlUmFuZ2U/OiB7IHN0YXJ0OiBudW1iZXI7IGVuZDogbnVtYmVyIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoRXZlbnQge1xuICBxdWVyeTogc3RyaW5nO1xuICBtYXRjaENvdW50OiBudW1iZXI7XG4gIGN1cnJlbnRNYXRjaDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VEYXRhIHtcbiAgaW5kZXg6IG51bWJlcjtcbiAgaGVhZGVyOiBSZXBvcnRTZWN0aW9uIHwgdW5kZWZpbmVkO1xuICBmb290ZXI6IFJlcG9ydFNlY3Rpb24gfCB1bmRlZmluZWQ7XG4gIGNvbXBvbmVudHM6IENvbXBvbmVudE1vZGVsW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VhcmNoTWF0Y2gge1xuICB0ZXh0Tm9kZTogVGV4dDtcbiAgc3RhcnRPZmZzZXQ6IG51bWJlcjtcbiAgZW5kT2Zmc2V0OiBudW1iZXI7XG4gIHBhZ2VJbmRleDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRvY0l0ZW0ge1xuICBpZDogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBwYWdlSW5kZXg6IG51bWJlcjtcbiAgbGV2ZWw6IG51bWJlcjtcbiAgaWNvbjogc3RyaW5nO1xufVxuIl19