@zentto/report-designer 0.4.0 → 1.0.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.
@@ -26,6 +26,10 @@ export declare class ZenttoReportDesigner extends LitElement {
26
26
  private _editingElementId;
27
27
  private _contextMenu;
28
28
  private _zoom;
29
+ private _showPageSetup;
30
+ private _showBandMenu;
31
+ private _guides;
32
+ private _pageSetupDraft;
29
33
  private _clipboard;
30
34
  private _saveTimer;
31
35
  private _idCounter;
@@ -81,6 +85,18 @@ export declare class ZenttoReportDesigner extends LitElement {
81
85
  private _handleWheel;
82
86
  render(): import("lit-html").TemplateResult<1>;
83
87
  private _renderRuler;
88
+ private _openPageSetup;
89
+ private _applyPageSetup;
90
+ private _onPresetChange;
91
+ private _toggleOrientation;
92
+ private _renderPageSetupDialog;
93
+ private _renderBandMenu;
94
+ private _renderPageSetupBar;
95
+ private _onPageSizePresetChange;
96
+ private _setOrientation;
97
+ private _updateMargin;
98
+ private _changeUnit;
99
+ private _calculateGuides;
84
100
  private _renderTopToolbar;
85
101
  private _renderToolbox;
86
102
  private _renderDataPanel;
@@ -1 +1 @@
1
- {"version":3,"file":"zentto-report-designer.d.ts","sourceRoot":"","sources":["../src/zentto-report-designer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zentto-report-designer.d.ts","sourceRoot":"","sources":["../src/zentto-report-designer.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  // @zentto/report-designer — WYSIWYG report designer web component
8
8
  import { LitElement, html, css, nothing } from 'lit';
9
9
  import { customElement, property, state } from 'lit/decorators.js';
10
- import { createBlankLayout, toPx } from '@zentto/report-core';
10
+ import { createBlankLayout, toPx, PAGE_SIZES } from '@zentto/report-core';
11
11
  const BAND_LABELS = {
12
12
  reportHeader: 'Report Header',
13
13
  pageHeader: 'Page Header',
@@ -103,6 +103,10 @@ let ZenttoReportDesigner = class ZenttoReportDesigner extends LitElement {
103
103
  this._editingElementId = null;
104
104
  this._contextMenu = null;
105
105
  this._zoom = 1.5; // Default 150% for comfortable editing
106
+ this._showPageSetup = false;
107
+ this._showBandMenu = false;
108
+ this._guides = { x: [], y: [] };
109
+ this._pageSetupDraft = null;
106
110
  this._clipboard = [];
107
111
  this._saveTimer = null;
108
112
  this._idCounter = 0;
@@ -158,7 +162,7 @@ let ZenttoReportDesigner = class ZenttoReportDesigner extends LitElement {
158
162
  .designer {
159
163
  display: grid;
160
164
  grid-template-columns: 220px 1fr 260px;
161
- grid-template-rows: auto 1fr;
165
+ grid-template-rows: auto auto 1fr;
162
166
  height: 100%;
163
167
  background: var(--zrd-bg);
164
168
  color: var(--zrd-text);
@@ -629,6 +633,151 @@ let ZenttoReportDesigner = class ZenttoReportDesigner extends LitElement {
629
633
  inset: 0;
630
634
  z-index: 999;
631
635
  }
636
+
637
+ /* ─── Dialog ─── */
638
+ .dialog-overlay { position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:1000;display:flex;align-items:center;justify-content:center; }
639
+ .dialog { background:white;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,0.3);min-width:480px;max-width:600px; }
640
+ .dialog-header { padding:16px 20px;border-bottom:1px solid var(--zrd-border);font-weight:600;font-size:15px;display:flex;justify-content:space-between;align-items:center; }
641
+ .dialog-body { padding:20px; }
642
+ .dialog-footer { padding:12px 20px;border-top:1px solid var(--zrd-border);display:flex;justify-content:flex-end;gap:8px; }
643
+ .dialog-btn { padding:8px 16px;border-radius:4px;border:1px solid var(--zrd-border);cursor:pointer;font-size:13px;background:white; }
644
+ .dialog-btn-primary { background:var(--zrd-accent);color:white;border-color:var(--zrd-accent); }
645
+ .dialog-btn-primary:hover { opacity:0.9; }
646
+ .dialog-row { display:flex;gap:12px;margin-bottom:12px;align-items:center; }
647
+ .dialog-label { font-size:12px;font-weight:600;color:var(--zrd-text-muted);min-width:70px; }
648
+ .dialog-select, .dialog-input {
649
+ flex:1;padding:6px 8px;border:1px solid var(--zrd-border);border-radius:4px;font-size:13px;
650
+ font-family:inherit;color:var(--zrd-text);
651
+ }
652
+ .dialog-input { width:60px;flex:none; }
653
+ .dialog-group { display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px; }
654
+ .dialog-group label { font-size:11px;color:var(--zrd-text-muted);display:flex;flex-direction:column;gap:2px; }
655
+ .dialog-group input { padding:5px 6px;border:1px solid var(--zrd-border);border-radius:3px;font-size:12px; }
656
+ .orientation-toggle { display:flex;gap:0; }
657
+ .orientation-toggle button {
658
+ padding:6px 14px;border:1px solid var(--zrd-border);cursor:pointer;font-size:12px;background:white;color:var(--zrd-text);
659
+ }
660
+ .orientation-toggle button:first-child { border-radius:4px 0 0 4px; }
661
+ .orientation-toggle button:last-child { border-radius:0 4px 4px 0;border-left:none; }
662
+ .orientation-toggle button.active { background:var(--zrd-accent);color:white;border-color:var(--zrd-accent); }
663
+ .page-preview-box {
664
+ width:100%;height:140px;background:#f9f9f9;border:1px solid var(--zrd-border);border-radius:4px;
665
+ display:flex;align-items:center;justify-content:center;position:relative;
666
+ }
667
+ .page-preview-page {
668
+ background:white;border:1px solid #999;position:relative;box-shadow:0 1px 4px rgba(0,0,0,0.15);
669
+ }
670
+ .page-preview-margin {
671
+ position:absolute;border:1px dashed rgba(25,118,210,0.4);
672
+ }
673
+
674
+ /* ─── Band Menu Dropdown ─── */
675
+ .band-menu-wrapper { position:relative;display:inline-block; }
676
+ .band-menu {
677
+ position:absolute;top:100%;left:0;background:white;border:1px solid var(--zrd-border);border-radius:4px;
678
+ box-shadow:0 4px 12px rgba(0,0,0,0.15);z-index:100;min-width:200px;padding:4px 0;
679
+ }
680
+ .band-menu-item {
681
+ padding:6px 12px;cursor:pointer;font-size:12px;display:flex;align-items:center;gap:8px;
682
+ }
683
+ .band-menu-item:hover { background:var(--zrd-accent-light); }
684
+ .band-menu-item.disabled { opacity:0.4;cursor:default; }
685
+ .band-menu-cat { padding:4px 12px;font-size:10px;font-weight:600;color:var(--zrd-text-muted);text-transform:uppercase; }
686
+
687
+ /* ─── Page Setup Bar ─── */
688
+ .page-setup-bar {
689
+ grid-column: 1 / -1;
690
+ display: flex;
691
+ align-items: center;
692
+ gap: 12px;
693
+ padding: 6px 16px;
694
+ background: #f8f9fa;
695
+ border-bottom: 1px solid var(--zrd-border);
696
+ font-size: 12px;
697
+ flex-wrap: wrap;
698
+ }
699
+ .page-setup-group {
700
+ display: flex;
701
+ align-items: center;
702
+ gap: 4px;
703
+ }
704
+ .page-setup-label {
705
+ font-size: 11px;
706
+ color: var(--zrd-text-muted);
707
+ white-space: nowrap;
708
+ }
709
+ .page-setup-select {
710
+ border: 1px solid var(--zrd-border);
711
+ border-radius: 3px;
712
+ padding: 3px 6px;
713
+ font-size: 12px;
714
+ background: white;
715
+ color: var(--zrd-text);
716
+ max-width: 180px;
717
+ }
718
+ .page-setup-input {
719
+ border: 1px solid var(--zrd-border);
720
+ border-radius: 3px;
721
+ padding: 3px 4px;
722
+ font-size: 11px;
723
+ width: 42px;
724
+ text-align: center;
725
+ background: white;
726
+ }
727
+ .orientation-btn {
728
+ padding: 4px 8px;
729
+ border: 1px solid var(--zrd-border);
730
+ border-radius: 3px;
731
+ background: white;
732
+ cursor: pointer;
733
+ font-size: 14px;
734
+ line-height: 1;
735
+ }
736
+ .orientation-btn.active {
737
+ background: var(--zrd-accent);
738
+ color: white;
739
+ border-color: var(--zrd-accent);
740
+ }
741
+ .page-setup-separator {
742
+ width: 1px;
743
+ height: 20px;
744
+ background: var(--zrd-border);
745
+ }
746
+
747
+ /* ─── Smart Alignment Guides ─── */
748
+ .guide-line-v { position:absolute;top:0;bottom:0;width:1px;background:#ff4444;z-index:100;pointer-events:none; }
749
+ .guide-line-h { position:absolute;left:0;right:0;height:1px;background:#ff4444;z-index:100;pointer-events:none; }
750
+
751
+ /* ─── Empty State / Onboarding ─── */
752
+ .band-empty-hint {
753
+ position: absolute;
754
+ inset: 0;
755
+ display: flex;
756
+ align-items: center;
757
+ justify-content: center;
758
+ color: #bbb;
759
+ font-size: 11px;
760
+ pointer-events: none;
761
+ font-style: italic;
762
+ }
763
+ .help-card {
764
+ background: #f0f7ff;
765
+ border: 1px solid #c2deff;
766
+ border-radius: 6px;
767
+ padding: 12px;
768
+ font-size: 12px;
769
+ line-height: 1.6;
770
+ }
771
+ .help-card h4 { margin: 0 0 8px; font-size: 13px; color: var(--zrd-accent); }
772
+ .help-card-section { margin-top: 10px; }
773
+ .help-card kbd {
774
+ background: #e8e8e8;
775
+ border: 1px solid #ccc;
776
+ border-radius: 3px;
777
+ padding: 1px 5px;
778
+ font-size: 10px;
779
+ font-family: monospace;
780
+ }
632
781
  `; }
633
782
  // ─── Lifecycle ──────────────────────────────────────────────────
634
783
  connectedCallback() {
@@ -939,10 +1088,17 @@ let ZenttoReportDesigner = class ZenttoReportDesigner extends LitElement {
939
1088
  el.x = Math.max(0, Math.round((orig.x + dxUnit) / snap) * snap);
940
1089
  el.y = Math.max(0, Math.round((orig.y + dyUnit) / snap) * snap);
941
1090
  }
1091
+ // Smart alignment guides
1092
+ const primaryEl = elements.find(e => e.id === elementId);
1093
+ const currentBand = this._layout.bands.find(b => b.id === bandId);
1094
+ if (primaryEl && currentBand) {
1095
+ this._calculateGuides(primaryEl, currentBand);
1096
+ }
942
1097
  this.requestUpdate();
943
1098
  };
944
1099
  const onUp = () => {
945
1100
  this._drag = null;
1101
+ this._guides = { x: [], y: [] };
946
1102
  // Update originals for final positions
947
1103
  this._commitChange();
948
1104
  document.removeEventListener('mousemove', onMove);
@@ -1217,6 +1373,7 @@ let ZenttoReportDesigner = class ZenttoReportDesigner extends LitElement {
1217
1373
  return html `
1218
1374
  <div class="designer">
1219
1375
  ${this._renderTopToolbar()}
1376
+ ${this._renderPageSetupBar()}
1220
1377
 
1221
1378
  <div class="left-panel">
1222
1379
  <div class="panel-tabs">
@@ -1263,6 +1420,7 @@ let ZenttoReportDesigner = class ZenttoReportDesigner extends LitElement {
1263
1420
  </div>
1264
1421
  </div>
1265
1422
  ${this._renderContextMenu()}
1423
+ ${this._renderPageSetupDialog()}
1266
1424
  `;
1267
1425
  }
1268
1426
  // ─── Ruler ────────────────────────────────────────────────────
@@ -1308,6 +1466,476 @@ let ZenttoReportDesigner = class ZenttoReportDesigner extends LitElement {
1308
1466
  </div>
1309
1467
  `;
1310
1468
  }
1469
+ // ─── Page Setup Dialog ──────────────────────────────────────
1470
+ _openPageSetup() {
1471
+ // Find matching preset
1472
+ const layout = this._layout;
1473
+ const match = PAGE_SIZES.find(p => Math.abs(p.pageSize.width - layout.pageSize.width) < 0.5 &&
1474
+ Math.abs(p.pageSize.height - layout.pageSize.height) < 0.5 &&
1475
+ p.pageSize.unit === layout.pageSize.unit);
1476
+ this._pageSetupDraft = {
1477
+ presetId: match?.id || 'custom',
1478
+ width: layout.pageSize.width,
1479
+ height: layout.pageSize.height,
1480
+ unit: layout.pageSize.unit,
1481
+ marginTop: layout.margins.top,
1482
+ marginRight: layout.margins.right,
1483
+ marginBottom: layout.margins.bottom,
1484
+ marginLeft: layout.margins.left,
1485
+ };
1486
+ this._showPageSetup = true;
1487
+ }
1488
+ _applyPageSetup() {
1489
+ if (!this._pageSetupDraft)
1490
+ return;
1491
+ const d = this._pageSetupDraft;
1492
+ this._layout = {
1493
+ ...this._layout,
1494
+ pageSize: { width: d.width, height: d.height, unit: d.unit },
1495
+ margins: { top: d.marginTop, right: d.marginRight, bottom: d.marginBottom, left: d.marginLeft },
1496
+ };
1497
+ this._showPageSetup = false;
1498
+ this._pageSetupDraft = null;
1499
+ this._commitChange();
1500
+ }
1501
+ _onPresetChange(presetId) {
1502
+ if (!this._pageSetupDraft)
1503
+ return;
1504
+ if (presetId === 'custom') {
1505
+ this._pageSetupDraft = { ...this._pageSetupDraft, presetId: 'custom' };
1506
+ return;
1507
+ }
1508
+ const preset = PAGE_SIZES.find(p => p.id === presetId);
1509
+ if (!preset)
1510
+ return;
1511
+ this._pageSetupDraft = {
1512
+ presetId,
1513
+ width: preset.pageSize.width,
1514
+ height: preset.pageSize.height,
1515
+ unit: preset.pageSize.unit,
1516
+ marginTop: preset.margins.top,
1517
+ marginRight: preset.margins.right,
1518
+ marginBottom: preset.margins.bottom,
1519
+ marginLeft: preset.margins.left,
1520
+ };
1521
+ }
1522
+ _toggleOrientation() {
1523
+ if (!this._pageSetupDraft)
1524
+ return;
1525
+ const d = this._pageSetupDraft;
1526
+ this._pageSetupDraft = {
1527
+ ...d,
1528
+ width: d.height,
1529
+ height: d.width,
1530
+ marginTop: d.marginLeft,
1531
+ marginRight: d.marginTop,
1532
+ marginBottom: d.marginRight,
1533
+ marginLeft: d.marginBottom,
1534
+ presetId: 'custom', // swapping breaks preset match
1535
+ };
1536
+ }
1537
+ _renderPageSetupDialog() {
1538
+ if (!this._showPageSetup || !this._pageSetupDraft)
1539
+ return nothing;
1540
+ const d = this._pageSetupDraft;
1541
+ const isPortrait = d.height >= d.width;
1542
+ // Mini preview scaling — fit into 120x120 box
1543
+ const scale = Math.min(120 / d.width, 120 / d.height);
1544
+ const pw = d.width * scale;
1545
+ const ph = d.height * scale;
1546
+ const mt = d.marginTop * scale;
1547
+ const mr = d.marginRight * scale;
1548
+ const mb = d.marginBottom * scale;
1549
+ const ml = d.marginLeft * scale;
1550
+ // Group presets by category
1551
+ const categories = [
1552
+ { label: 'Paper', cat: 'paper' },
1553
+ { label: 'Receipt / POS', cat: 'receipt' },
1554
+ { label: 'Labels', cat: 'label' },
1555
+ ];
1556
+ return html `
1557
+ <div class="dialog-overlay" @click=${(e) => {
1558
+ if (e.target.classList.contains('dialog-overlay')) {
1559
+ this._showPageSetup = false;
1560
+ }
1561
+ }}>
1562
+ <div class="dialog" @click=${(e) => e.stopPropagation()}>
1563
+ <div class="dialog-header">
1564
+ <span>Page Setup</span>
1565
+ <button class="dialog-btn" @click=${() => { this._showPageSetup = false; }}>\u2715</button>
1566
+ </div>
1567
+ <div class="dialog-body">
1568
+ <!-- Page size preset -->
1569
+ <div class="dialog-row">
1570
+ <span class="dialog-label">Page Size</span>
1571
+ <select class="dialog-select" .value=${d.presetId}
1572
+ @change=${(e) => this._onPresetChange(e.target.value)}>
1573
+ <option value="custom">Custom</option>
1574
+ ${categories.map(c => html `
1575
+ <optgroup label=${c.label}>
1576
+ ${PAGE_SIZES.filter(p => p.category === c.cat).map(p => html `
1577
+ <option value=${p.id} ?selected=${d.presetId === p.id}>${p.name} (${p.pageSize.width}\u00D7${p.pageSize.height} ${p.pageSize.unit})</option>
1578
+ `)}
1579
+ </optgroup>
1580
+ `)}
1581
+ </select>
1582
+ </div>
1583
+
1584
+ <!-- Orientation -->
1585
+ <div class="dialog-row">
1586
+ <span class="dialog-label">Orientation</span>
1587
+ <div class="orientation-toggle">
1588
+ <button class=${isPortrait ? 'active' : ''}
1589
+ @click=${() => { if (!isPortrait)
1590
+ this._toggleOrientation(); }}>Portrait</button>
1591
+ <button class=${!isPortrait ? 'active' : ''}
1592
+ @click=${() => { if (isPortrait)
1593
+ this._toggleOrientation(); }}>Landscape</button>
1594
+ </div>
1595
+ </div>
1596
+
1597
+ <!-- Unit -->
1598
+ <div class="dialog-row">
1599
+ <span class="dialog-label">Unit</span>
1600
+ <select class="dialog-select" style="max-width:100px;"
1601
+ .value=${d.unit}
1602
+ @change=${(e) => {
1603
+ this._pageSetupDraft = { ...d, unit: e.target.value, presetId: 'custom' };
1604
+ }}>
1605
+ <option value="mm">mm</option>
1606
+ <option value="in">in</option>
1607
+ <option value="pt">pt</option>
1608
+ <option value="px">px</option>
1609
+ </select>
1610
+ </div>
1611
+
1612
+ <!-- Width / Height -->
1613
+ <div class="dialog-row">
1614
+ <span class="dialog-label">Dimensions</span>
1615
+ <label style="font-size:11px;color:var(--zrd-text-muted)">W
1616
+ <input class="dialog-input" type="number" step="0.1" .value=${String(d.width)}
1617
+ @change=${(e) => {
1618
+ this._pageSetupDraft = { ...d, width: parseFloat(e.target.value) || d.width, presetId: 'custom' };
1619
+ }} />
1620
+ </label>
1621
+ <label style="font-size:11px;color:var(--zrd-text-muted)">H
1622
+ <input class="dialog-input" type="number" step="0.1" .value=${String(d.height)}
1623
+ @change=${(e) => {
1624
+ this._pageSetupDraft = { ...d, height: parseFloat(e.target.value) || d.height, presetId: 'custom' };
1625
+ }} />
1626
+ </label>
1627
+ <span style="font-size:11px;color:var(--zrd-text-muted)">${d.unit}</span>
1628
+ </div>
1629
+
1630
+ <!-- Margins -->
1631
+ <div class="dialog-row" style="align-items:flex-start;">
1632
+ <span class="dialog-label" style="margin-top:4px;">Margins</span>
1633
+ <div class="dialog-group" style="flex:1;">
1634
+ <label>Top
1635
+ <input type="number" step="0.1" .value=${String(d.marginTop)}
1636
+ @change=${(e) => {
1637
+ this._pageSetupDraft = { ...d, marginTop: parseFloat(e.target.value) || 0 };
1638
+ }} />
1639
+ </label>
1640
+ <label>Right
1641
+ <input type="number" step="0.1" .value=${String(d.marginRight)}
1642
+ @change=${(e) => {
1643
+ this._pageSetupDraft = { ...d, marginRight: parseFloat(e.target.value) || 0 };
1644
+ }} />
1645
+ </label>
1646
+ <label>Bottom
1647
+ <input type="number" step="0.1" .value=${String(d.marginBottom)}
1648
+ @change=${(e) => {
1649
+ this._pageSetupDraft = { ...d, marginBottom: parseFloat(e.target.value) || 0 };
1650
+ }} />
1651
+ </label>
1652
+ <label>Left
1653
+ <input type="number" step="0.1" .value=${String(d.marginLeft)}
1654
+ @change=${(e) => {
1655
+ this._pageSetupDraft = { ...d, marginLeft: parseFloat(e.target.value) || 0 };
1656
+ }} />
1657
+ </label>
1658
+ </div>
1659
+ </div>
1660
+
1661
+ <!-- Preview -->
1662
+ <div class="page-preview-box">
1663
+ <div class="page-preview-page" style="width:${pw}px;height:${ph}px;">
1664
+ <div class="page-preview-margin" style="top:${mt}px;right:${mr}px;bottom:${mb}px;left:${ml}px;"></div>
1665
+ </div>
1666
+ </div>
1667
+ </div>
1668
+ <div class="dialog-footer">
1669
+ <button class="dialog-btn" @click=${() => { this._showPageSetup = false; }}>Cancel</button>
1670
+ <button class="dialog-btn dialog-btn-primary" @click=${() => this._applyPageSetup()}>Apply</button>
1671
+ </div>
1672
+ </div>
1673
+ </div>
1674
+ `;
1675
+ }
1676
+ // ─── Band Menu Dropdown ──────────────────────────────────────
1677
+ _renderBandMenu() {
1678
+ const existingTypes = new Set(this._layout.bands.map(b => b.type));
1679
+ // Band types that can only appear once
1680
+ const singleBands = ['reportHeader', 'pageHeader', 'columnHeader', 'detail', 'columnFooter', 'pageFooter', 'reportFooter'];
1681
+ // Group header/footer can have multiples
1682
+ const allBands = ['reportHeader', 'pageHeader', 'groupHeader', 'columnHeader', 'detail', 'columnFooter', 'groupFooter', 'pageFooter', 'reportFooter'];
1683
+ return html `
1684
+ <div class="overlay-dismiss" @click=${() => { this._showBandMenu = false; }}></div>
1685
+ <div class="band-menu">
1686
+ ${allBands.map(type => {
1687
+ const isSingle = singleBands.includes(type);
1688
+ const alreadyExists = existingTypes.has(type);
1689
+ const disabled = isSingle && alreadyExists;
1690
+ return html `
1691
+ <div class="band-menu-item ${disabled ? 'disabled' : ''}"
1692
+ @click=${() => {
1693
+ if (!disabled) {
1694
+ this._addBand(type);
1695
+ this._showBandMenu = false;
1696
+ }
1697
+ }}>
1698
+ <span>${BAND_ICONS[type]}</span>
1699
+ <span>${BAND_LABELS[type]}</span>
1700
+ ${disabled ? html `<span style="font-size:10px;color:var(--zrd-text-muted);margin-left:auto;">(exists)</span>` : nothing}
1701
+ </div>
1702
+ `;
1703
+ })}
1704
+ </div>
1705
+ `;
1706
+ }
1707
+ // ─── Page Setup Bar (always visible) ──────────────────────────
1708
+ _renderPageSetupBar() {
1709
+ const ps = this._layout.pageSize;
1710
+ const m = this._layout.margins;
1711
+ const isPortrait = ps.height > ps.width;
1712
+ const currentPreset = PAGE_SIZES.find(p => Math.abs(p.pageSize.width - ps.width) < 0.5 && Math.abs(p.pageSize.height - ps.height) < 0.5);
1713
+ const categories = [
1714
+ { key: 'paper', label: 'Paper' },
1715
+ { key: 'receipt', label: 'Receipt / POS' },
1716
+ { key: 'label', label: 'Labels' },
1717
+ ];
1718
+ return html `
1719
+ <div class="page-setup-bar">
1720
+ <!-- Page Size Dropdown -->
1721
+ <div class="page-setup-group">
1722
+ <span class="page-setup-label">Page:</span>
1723
+ <select class="page-setup-select" @change=${(e) => this._onPageSizePresetChange(e.target.value)}>
1724
+ ${categories.map(cat => html `
1725
+ <optgroup label="${cat.label}">
1726
+ ${PAGE_SIZES.filter(p => p.category === cat.key).map(p => html `
1727
+ <option value="${p.id}" ?selected=${currentPreset?.id === p.id}>${p.name} (${p.pageSize.width}\u00D7${p.pageSize.height})</option>
1728
+ `)}
1729
+ </optgroup>
1730
+ `)}
1731
+ <optgroup label="Custom">
1732
+ <option value="custom" ?selected=${!currentPreset}>Custom (${ps.width}\u00D7${ps.height} ${ps.unit})</option>
1733
+ </optgroup>
1734
+ </select>
1735
+ </div>
1736
+
1737
+ <div class="page-setup-separator"></div>
1738
+
1739
+ <!-- Orientation -->
1740
+ <div class="page-setup-group">
1741
+ <span class="page-setup-label">Orientation:</span>
1742
+ <button class="orientation-btn ${isPortrait ? 'active' : ''}"
1743
+ title="Portrait"
1744
+ @click=${() => this._setOrientation('portrait')}>
1745
+ <span style="display:inline-block;width:10px;height:14px;border:1.5px solid currentColor;border-radius:1px;"></span>
1746
+ </button>
1747
+ <button class="orientation-btn ${!isPortrait ? 'active' : ''}"
1748
+ title="Landscape"
1749
+ @click=${() => this._setOrientation('landscape')}>
1750
+ <span style="display:inline-block;width:14px;height:10px;border:1.5px solid currentColor;border-radius:1px;"></span>
1751
+ </button>
1752
+ </div>
1753
+
1754
+ <div class="page-setup-separator"></div>
1755
+
1756
+ <!-- Margins -->
1757
+ <div class="page-setup-group">
1758
+ <span class="page-setup-label">Margins:</span>
1759
+ <span class="page-setup-label">T</span>
1760
+ <input class="page-setup-input" type="number" step="0.5" min="0"
1761
+ .value=${String(m.top)}
1762
+ @change=${(e) => this._updateMargin('top', Number(e.target.value))} />
1763
+ <span class="page-setup-label">R</span>
1764
+ <input class="page-setup-input" type="number" step="0.5" min="0"
1765
+ .value=${String(m.right)}
1766
+ @change=${(e) => this._updateMargin('right', Number(e.target.value))} />
1767
+ <span class="page-setup-label">B</span>
1768
+ <input class="page-setup-input" type="number" step="0.5" min="0"
1769
+ .value=${String(m.bottom)}
1770
+ @change=${(e) => this._updateMargin('bottom', Number(e.target.value))} />
1771
+ <span class="page-setup-label">L</span>
1772
+ <input class="page-setup-input" type="number" step="0.5" min="0"
1773
+ .value=${String(m.left)}
1774
+ @change=${(e) => this._updateMargin('left', Number(e.target.value))} />
1775
+ <span class="page-setup-label">${ps.unit}</span>
1776
+ </div>
1777
+
1778
+ <div class="page-setup-separator"></div>
1779
+
1780
+ <!-- Unit -->
1781
+ <div class="page-setup-group">
1782
+ <span class="page-setup-label">Unit:</span>
1783
+ <select class="page-setup-select" style="width:60px;"
1784
+ @change=${(e) => this._changeUnit(e.target.value)}>
1785
+ <option value="mm" ?selected=${ps.unit === 'mm'}>mm</option>
1786
+ <option value="in" ?selected=${ps.unit === 'in'}>in</option>
1787
+ <option value="pt" ?selected=${ps.unit === 'pt'}>pt</option>
1788
+ <option value="px" ?selected=${ps.unit === 'px'}>px</option>
1789
+ </select>
1790
+ </div>
1791
+ </div>
1792
+ `;
1793
+ }
1794
+ _onPageSizePresetChange(presetId) {
1795
+ if (presetId === 'custom')
1796
+ return;
1797
+ const preset = PAGE_SIZES.find(p => p.id === presetId);
1798
+ if (!preset)
1799
+ return;
1800
+ this._layout.pageSize = { ...preset.pageSize };
1801
+ this._layout.margins = { ...preset.margins };
1802
+ this._commitChange();
1803
+ }
1804
+ _setOrientation(orientation) {
1805
+ const ps = this._layout.pageSize;
1806
+ const isPortrait = ps.height > ps.width;
1807
+ if ((orientation === 'portrait' && !isPortrait) || (orientation === 'landscape' && isPortrait)) {
1808
+ const tmp = ps.width;
1809
+ ps.width = ps.height;
1810
+ ps.height = tmp;
1811
+ // Also swap horizontal/vertical margins
1812
+ const m = this._layout.margins;
1813
+ const tmpT = m.top;
1814
+ const tmpB = m.bottom;
1815
+ m.top = m.left;
1816
+ m.bottom = m.right;
1817
+ m.left = tmpT;
1818
+ m.right = tmpB;
1819
+ this._commitChange();
1820
+ }
1821
+ }
1822
+ _updateMargin(side, value) {
1823
+ this._layout.margins[side] = Math.max(0, value);
1824
+ this._commitChange();
1825
+ }
1826
+ _changeUnit(newUnit) {
1827
+ // Convert all dimensions from old unit to new unit via px
1828
+ const oldUnit = this._layout.pageSize.unit;
1829
+ if (oldUnit === newUnit)
1830
+ return;
1831
+ const convert = (val) => {
1832
+ // old unit -> px -> new unit
1833
+ const px = toPx(val, oldUnit);
1834
+ switch (newUnit) {
1835
+ case 'mm': return Math.round((px * 25.4 / 96) * 100) / 100;
1836
+ case 'in': return Math.round((px / 96) * 1000) / 1000;
1837
+ case 'pt': return Math.round((px * 72 / 96) * 100) / 100;
1838
+ case 'px': return Math.round(px);
1839
+ default: return val;
1840
+ }
1841
+ };
1842
+ this._layout.pageSize.width = convert(this._layout.pageSize.width);
1843
+ this._layout.pageSize.height = convert(this._layout.pageSize.height);
1844
+ this._layout.pageSize.unit = newUnit;
1845
+ this._layout.margins.top = convert(this._layout.margins.top);
1846
+ this._layout.margins.right = convert(this._layout.margins.right);
1847
+ this._layout.margins.bottom = convert(this._layout.margins.bottom);
1848
+ this._layout.margins.left = convert(this._layout.margins.left);
1849
+ // Convert band heights and element positions/sizes
1850
+ for (const band of this._layout.bands) {
1851
+ band.height = convert(band.height);
1852
+ for (const el of band.elements) {
1853
+ el.x = convert(el.x);
1854
+ el.y = convert(el.y);
1855
+ el.width = convert(el.width);
1856
+ el.height = convert(el.height);
1857
+ }
1858
+ }
1859
+ this._commitChange();
1860
+ }
1861
+ // ─── Smart Alignment Guides ──────────────────────────────────
1862
+ _calculateGuides(movingEl, band) {
1863
+ const SNAP_THRESHOLD = 2; // layout units
1864
+ const guidesX = [];
1865
+ const guidesY = [];
1866
+ const movLeft = movingEl.x;
1867
+ const movRight = movingEl.x + movingEl.width;
1868
+ const movCenterX = movingEl.x + movingEl.width / 2;
1869
+ const movTop = movingEl.y;
1870
+ const movBottom = movingEl.y + movingEl.height;
1871
+ const movCenterY = movingEl.y + movingEl.height / 2;
1872
+ // Check against other elements in the same band
1873
+ for (const other of band.elements) {
1874
+ if (this._selectedElementIds.has(other.id))
1875
+ continue;
1876
+ const edges = [
1877
+ { val: other.x, movEdges: [movLeft, movRight, movCenterX] },
1878
+ { val: other.x + other.width, movEdges: [movLeft, movRight, movCenterX] },
1879
+ { val: other.x + other.width / 2, movEdges: [movCenterX] },
1880
+ ];
1881
+ for (const edge of edges) {
1882
+ for (const me of edge.movEdges) {
1883
+ if (Math.abs(me - edge.val) <= SNAP_THRESHOLD) {
1884
+ guidesX.push(edge.val);
1885
+ // Snap the element
1886
+ const diff = edge.val - me;
1887
+ if (me === movLeft)
1888
+ movingEl.x += diff;
1889
+ else if (me === movRight)
1890
+ movingEl.x += diff;
1891
+ else if (me === movCenterX)
1892
+ movingEl.x += diff;
1893
+ }
1894
+ }
1895
+ }
1896
+ const yEdges = [
1897
+ { val: other.y, movEdges: [movTop, movBottom, movCenterY] },
1898
+ { val: other.y + other.height, movEdges: [movTop, movBottom, movCenterY] },
1899
+ { val: other.y + other.height / 2, movEdges: [movCenterY] },
1900
+ ];
1901
+ for (const edge of yEdges) {
1902
+ for (const me of edge.movEdges) {
1903
+ if (Math.abs(me - edge.val) <= SNAP_THRESHOLD) {
1904
+ guidesY.push(edge.val);
1905
+ const diff = edge.val - me;
1906
+ if (me === movTop)
1907
+ movingEl.y += diff;
1908
+ else if (me === movBottom)
1909
+ movingEl.y += diff;
1910
+ else if (me === movCenterY)
1911
+ movingEl.y += diff;
1912
+ }
1913
+ }
1914
+ }
1915
+ }
1916
+ // Check against band center
1917
+ const bandCenterX = (this._layout.pageSize.width - this._layout.margins.left - this._layout.margins.right) / 2 + this._layout.margins.left;
1918
+ if (Math.abs(movCenterX - bandCenterX) <= SNAP_THRESHOLD) {
1919
+ guidesX.push(bandCenterX);
1920
+ movingEl.x += bandCenterX - movCenterX;
1921
+ }
1922
+ // Check against page margins
1923
+ const ml = this._layout.margins.left;
1924
+ const mr = this._layout.pageSize.width - this._layout.margins.right;
1925
+ if (Math.abs(movLeft - ml) <= SNAP_THRESHOLD) {
1926
+ guidesX.push(ml);
1927
+ movingEl.x = ml;
1928
+ }
1929
+ if (Math.abs(movRight - mr) <= SNAP_THRESHOLD) {
1930
+ guidesX.push(mr);
1931
+ movingEl.x = mr - movingEl.width;
1932
+ }
1933
+ // Deduplicate
1934
+ this._guides = {
1935
+ x: [...new Set(guidesX)],
1936
+ y: [...new Set(guidesY)],
1937
+ };
1938
+ }
1311
1939
  // ─── Top Toolbar ──────────────────────────────────────────────
1312
1940
  _renderTopToolbar() {
1313
1941
  return html `
@@ -1329,28 +1957,31 @@ let ZenttoReportDesigner = class ZenttoReportDesigner extends LitElement {
1329
1957
  : html `<span class="report-name" @click=${this._startEditingReportName}
1330
1958
  title="Click to edit report name">${this._layout.name}</span>`}
1331
1959
  <span class="spacer"></span>
1332
- <button @click=${this._undo} ?disabled=${this._undoStack.length <= 1} title="Ctrl+Z">Undo</button>
1333
- <button @click=${this._redo} ?disabled=${this._redoStack.length === 0} title="Ctrl+Y">Redo</button>
1334
- <button @click=${() => this._addBand('groupHeader')}>+ Group</button>
1335
- <button @click=${() => this._addBand('detail')}>+ Detail</button>
1960
+ <button @click=${this._undo} ?disabled=${this._undoStack.length <= 1} title="Undo (Ctrl+Z)">\u21A9 Undo</button>
1961
+ <button @click=${this._redo} ?disabled=${this._redoStack.length === 0} title="Redo (Ctrl+Y)">\u21AA Redo</button>
1962
+ <button @click=${this._openPageSetup} title="Page size, margins, orientation">\u2699 Page Setup</button>
1963
+ <div class="band-menu-wrapper">
1964
+ <button @click=${(e) => { e.stopPropagation(); this._showBandMenu = !this._showBandMenu; }}>+ Band \u25BE</button>
1965
+ ${this._showBandMenu ? this._renderBandMenu() : nothing}
1966
+ </div>
1336
1967
  <button @click=${() => {
1337
1968
  this.dispatchEvent(new CustomEvent('save', {
1338
1969
  detail: { layout: structuredClone(this._layout) },
1339
1970
  bubbles: true, composed: true,
1340
1971
  }));
1341
- }}>Save</button>
1972
+ }}>\uD83D\uDCBE Save</button>
1342
1973
  <button @click=${() => {
1343
1974
  this.showPreview = !this.showPreview;
1344
1975
  this.dispatchEvent(new CustomEvent('toggle-preview', {
1345
1976
  detail: { show: this.showPreview },
1346
1977
  bubbles: true, composed: true,
1347
1978
  }));
1348
- }}>${this.showPreview ? 'Hide Preview' : 'Preview'}</button>
1979
+ }}>\uD83D\uDC41 ${this.showPreview ? 'Hide Preview' : 'Preview'}</button>
1349
1980
 
1350
1981
  <!-- Zoom Controls -->
1351
1982
  <div class="zoom-controls">
1352
- <button class="zoom-btn" @click=${this._zoomOut} ?disabled=${this._zoom <= 0.5} title="Zoom Out">-</button>
1353
- <span class="zoom-label">${Math.round(this._zoom * 100)}%</span>
1983
+ <button class="zoom-btn" @click=${this._zoomOut} ?disabled=${this._zoom <= 0.5} title="Zoom Out">\u2212</button>
1984
+ <span class="zoom-label" style="cursor:pointer;" @click=${this._zoomFit} title="Click to reset to 100%">${Math.round(this._zoom * 100)}%</span>
1354
1985
  <button class="zoom-btn" @click=${this._zoomIn} ?disabled=${this._zoom >= 4} title="Zoom In">+</button>
1355
1986
  <button @click=${this._zoomFit} title="Reset zoom to 100%">100%</button>
1356
1987
  <button @click=${() => { this._zoom = 1.5; }} title="Zoom 150%">150%</button>
@@ -1433,7 +2064,12 @@ let ZenttoReportDesigner = class ZenttoReportDesigner extends LitElement {
1433
2064
  this._activePanel = 'properties';
1434
2065
  this.requestUpdate();
1435
2066
  }}>
2067
+ ${band.elements.length === 0 ? html `<div class="band-empty-hint">Drag elements from Toolbox or drop fields from Data panel</div>` : nothing}
1436
2068
  ${band.elements.map(el => this._renderDesignElement(el, band.id))}
2069
+ ${this._selectedBandId === band.id ? html `
2070
+ ${this._guides.x.map(x => html `<div class="guide-line-v" style="left:${this._toPx(x)}px;"></div>`)}
2071
+ ${this._guides.y.map(y => html `<div class="guide-line-h" style="top:${this._toPx(y)}px;"></div>`)}
2072
+ ` : nothing}
1437
2073
  </div>
1438
2074
  <div class="band-resize-handle ${this._bandResize?.bandId === band.id ? 'active' : ''}"
1439
2075
  @mousedown=${(e) => this._onBandResizeMouseDown(e, band.id)}>
@@ -1598,14 +2234,19 @@ let ZenttoReportDesigner = class ZenttoReportDesigner extends LitElement {
1598
2234
  </div>
1599
2235
  `;
1600
2236
  }
1601
- // Band properties
2237
+ // Band properties (Section Expert — Crystal Reports style)
1602
2238
  if (!el && this._selectedBandId) {
1603
2239
  const band = this._layout.bands.find(b => b.id === this._selectedBandId);
1604
2240
  if (!band)
1605
2241
  return html `<div style="padding:12px;color:var(--zrd-text-muted)">Select an element</div>`;
1606
2242
  return html `
1607
2243
  <div class="prop-section">
1608
- <h4>Band: ${BAND_LABELS[band.type]}</h4>
2244
+ <h4>${BAND_ICONS[band.type]} ${BAND_LABELS[band.type]}</h4>
2245
+ <div style="font-size:11px;color:var(--zrd-text-muted);margin-bottom:8px;">${band.elements.length} elements</div>
2246
+ </div>
2247
+
2248
+ <div class="prop-section">
2249
+ <h4>Dimensions</h4>
1609
2250
  <div class="prop-row">
1610
2251
  <span class="prop-label">Height</span>
1611
2252
  <input class="prop-input" type="number" step="0.5" .value=${String(band.height)}
@@ -1617,7 +2258,11 @@ let ZenttoReportDesigner = class ZenttoReportDesigner extends LitElement {
1617
2258
  <input class="prop-input" type="color" .value=${band.backgroundColor || '#ffffff'}
1618
2259
  @change=${(e) => { band.backgroundColor = e.target.value; this._commitChange(); }} />
1619
2260
  </div>
1620
- ${band.type === 'detail' ? html `
2261
+ </div>
2262
+
2263
+ ${band.type === 'detail' || band.type === 'groupHeader' || band.type === 'groupFooter' ? html `
2264
+ <div class="prop-section">
2265
+ <h4>Data</h4>
1621
2266
  <div class="prop-row">
1622
2267
  <span class="prop-label">DataSource</span>
1623
2268
  <select class="prop-input" .value=${band.dataSource || ''}
@@ -1626,12 +2271,63 @@ let ZenttoReportDesigner = class ZenttoReportDesigner extends LitElement {
1626
2271
  ${this._layout.dataSources.map(ds => html `<option value="${ds.id}">${ds.name}</option>`)}
1627
2272
  </select>
1628
2273
  </div>
1629
- ` : nothing}
2274
+ ${band.type === 'groupHeader' || band.type === 'groupFooter' ? html `
2275
+ <div class="prop-row">
2276
+ <span class="prop-label">Group By</span>
2277
+ <input class="prop-input" .value=${band.groupField || ''}
2278
+ placeholder="field name"
2279
+ @change=${(e) => { band.groupField = e.target.value; this._commitChange(); }} />
2280
+ </div>
2281
+ ` : nothing}
2282
+ </div>
2283
+ ` : nothing}
2284
+
2285
+ <div class="prop-section">
2286
+ <h4>Section Expert</h4>
2287
+ <div class="prop-row">
2288
+ <span class="prop-label">Visible</span>
2289
+ <input type="checkbox" .checked=${band.visible !== false}
2290
+ @change=${(e) => { band.visible = e.target.checked; this._commitChange(); }} />
2291
+ </div>
2292
+ <div class="prop-row">
2293
+ <span class="prop-label">Keep Together</span>
2294
+ <input type="checkbox" .checked=${band.keepTogether === true}
2295
+ @change=${(e) => { band.keepTogether = e.target.checked; this._commitChange(); }} />
2296
+ </div>
2297
+ <div class="prop-row">
2298
+ <span class="prop-label">Repeat Every Page</span>
2299
+ <input type="checkbox" .checked=${band.repeatOnEveryPage === true}
2300
+ @change=${(e) => { band.repeatOnEveryPage = e.target.checked; this._commitChange(); }} />
2301
+ </div>
2302
+ </div>
2303
+
2304
+ <div class="prop-section" style="margin-top:16px;">
2305
+ <button class="btn-danger" @click=${() => {
2306
+ this._layout.bands = this._layout.bands.filter(b => b.id !== band.id);
2307
+ this._selectedBandId = null;
2308
+ this._commitChange();
2309
+ }}>Delete Band</button>
1630
2310
  </div>
1631
2311
  `;
1632
2312
  }
1633
2313
  if (!el)
1634
- return html `<div style="padding:12px;color:var(--zrd-text-muted)">Select an element to edit its properties</div>`;
2314
+ return html `
2315
+ <div class="help-card">
2316
+ <h4>\uD83C\uDFAF Quick Start</h4>
2317
+ <div>1. Choose page size in the bar above</div>
2318
+ <div>2. Drag elements from Toolbox (left panel)</div>
2319
+ <div>3. Click any element to edit properties (here)</div>
2320
+ <div>4. Use Preview button to see the final result</div>
2321
+ <div class="help-card-section">
2322
+ <h4>\u2328 Shortcuts</h4>
2323
+ <div><kbd>Ctrl+Z</kbd> Undo &nbsp; <kbd>Ctrl+Y</kbd> Redo</div>
2324
+ <div><kbd>Delete</kbd> Remove selected</div>
2325
+ <div><kbd>Ctrl+C</kbd> / <kbd>Ctrl+V</kbd> Copy / Paste</div>
2326
+ <div><kbd>Ctrl+Scroll</kbd> Zoom</div>
2327
+ <div><kbd>Shift+Click</kbd> Multi-select</div>
2328
+ </div>
2329
+ </div>
2330
+ `;
1635
2331
  return html `
1636
2332
  <div class="prop-section">
1637
2333
  <h4>Position (${unitLabel})</h4>
@@ -1708,6 +2404,65 @@ let ZenttoReportDesigner = class ZenttoReportDesigner extends LitElement {
1708
2404
  <input class="prop-input" type="color" .value=${el.style?.backgroundColor || '#ffffff'}
1709
2405
  @change=${(e) => this._updateElementStyle('backgroundColor', e.target.value)} />
1710
2406
  </div>
2407
+ <div class="prop-row">
2408
+ <span class="prop-label">Italic</span>
2409
+ <input type="checkbox" .checked=${el.style?.fontStyle === 'italic'}
2410
+ @change=${(e) => this._updateElementStyle('fontStyle', e.target.checked ? 'italic' : 'normal')} />
2411
+ </div>
2412
+ <div class="prop-row">
2413
+ <span class="prop-label">Underline</span>
2414
+ <input type="checkbox" .checked=${el.style?.textDecoration === 'underline'}
2415
+ @change=${(e) => this._updateElementStyle('textDecoration', e.target.checked ? 'underline' : 'none')} />
2416
+ </div>
2417
+ <div class="prop-row">
2418
+ <span class="prop-label">V.Align</span>
2419
+ <select class="prop-input" .value=${el.style?.verticalAlign || 'top'}
2420
+ @change=${(e) => this._updateElementStyle('verticalAlign', e.target.value)}>
2421
+ <option>top</option><option>middle</option><option>bottom</option>
2422
+ </select>
2423
+ </div>
2424
+ <div class="prop-row">
2425
+ <span class="prop-label">Border</span>
2426
+ <input class="prop-input" .value=${el.style?.borderBottom || ''}
2427
+ placeholder="1px solid #ccc"
2428
+ @change=${(e) => {
2429
+ const v = e.target.value;
2430
+ this._updateElementStyle('borderTop', v);
2431
+ this._updateElementStyle('borderRight', v);
2432
+ this._updateElementStyle('borderBottom', v);
2433
+ this._updateElementStyle('borderLeft', v);
2434
+ }} />
2435
+ </div>
2436
+ <div class="prop-row">
2437
+ <span class="prop-label">Padding</span>
2438
+ <input class="prop-input" type="number" .value=${String(el.style?.padding || 0)}
2439
+ @change=${(e) => this._updateElementStyle('padding', Number(e.target.value))} />
2440
+ </div>
2441
+ <div class="prop-row">
2442
+ <span class="prop-label">Word Wrap</span>
2443
+ <input type="checkbox" .checked=${el.style?.wordWrap === true}
2444
+ @change=${(e) => this._updateElementStyle('wordWrap', e.target.checked)} />
2445
+ </div>
2446
+ </div>
2447
+
2448
+ <div class="prop-section">
2449
+ <h4>Visibility</h4>
2450
+ <div class="prop-row">
2451
+ <span class="prop-label">Visible</span>
2452
+ <input type="checkbox" .checked=${el.visible !== false}
2453
+ @change=${(e) => this._updateElementProp('visible', e.target.checked)} />
2454
+ </div>
2455
+ <div class="prop-row">
2456
+ <span class="prop-label">Print On</span>
2457
+ <select class="prop-input" .value=${el.printOn || 'all'}
2458
+ @change=${(e) => this._updateElementProp('printOn', e.target.value)}>
2459
+ <option value="all">All Pages</option>
2460
+ <option value="first">First Page Only</option>
2461
+ <option value="last">Last Page Only</option>
2462
+ <option value="odd">Odd Pages</option>
2463
+ <option value="even">Even Pages</option>
2464
+ </select>
2465
+ </div>
1711
2466
  </div>
1712
2467
 
1713
2468
  ${el.type === 'text' ? html `
@@ -1893,6 +2648,18 @@ __decorate([
1893
2648
  __decorate([
1894
2649
  state()
1895
2650
  ], ZenttoReportDesigner.prototype, "_zoom", void 0);
2651
+ __decorate([
2652
+ state()
2653
+ ], ZenttoReportDesigner.prototype, "_showPageSetup", void 0);
2654
+ __decorate([
2655
+ state()
2656
+ ], ZenttoReportDesigner.prototype, "_showBandMenu", void 0);
2657
+ __decorate([
2658
+ state()
2659
+ ], ZenttoReportDesigner.prototype, "_guides", void 0);
2660
+ __decorate([
2661
+ state()
2662
+ ], ZenttoReportDesigner.prototype, "_pageSetupDraft", void 0);
1896
2663
  ZenttoReportDesigner = __decorate([
1897
2664
  customElement('zentto-report-designer')
1898
2665
  ], ZenttoReportDesigner);
@@ -1 +1 @@
1
- {"version":3,"file":"zentto-report-designer.js","sourceRoot":"","sources":["../src/zentto-report-designer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"zentto-report-designer.js","sourceRoot":"","sources":["../src/zentto-report-designer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zentto/report-designer",
3
- "version": "0.4.0",
3
+ "version": "1.0.0",
4
4
  "description": "WYSIWYG report designer web component. Drag-and-drop elements, band management, property editing, live preview.",
5
5
  "type": "module",
6
6
  "main": "dist/zentto-report-designer.js",