@productcloudos/editor 1.0.3 → 1.0.5
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.
- package/README.md +1 -0
- package/dist/pc-editor.esm.js +3206 -146
- package/dist/pc-editor.esm.js.map +1 -1
- package/dist/pc-editor.js +3219 -145
- package/dist/pc-editor.js.map +1 -1
- package/dist/pc-editor.min.js +1 -1
- package/dist/pc-editor.min.js.map +1 -1
- package/dist/types/lib/core/PCEditor.d.ts +85 -5
- package/dist/types/lib/core/PCEditor.d.ts.map +1 -1
- package/dist/types/lib/import/PDFParser.d.ts.map +1 -1
- package/dist/types/lib/index.d.ts +3 -0
- package/dist/types/lib/index.d.ts.map +1 -1
- package/dist/types/lib/objects/EmbeddedObjectFactory.d.ts.map +1 -1
- package/dist/types/lib/objects/ImageObject.d.ts +11 -0
- package/dist/types/lib/objects/ImageObject.d.ts.map +1 -1
- package/dist/types/lib/objects/TextBoxObject.d.ts +5 -2
- package/dist/types/lib/objects/TextBoxObject.d.ts.map +1 -1
- package/dist/types/lib/objects/table/TableCell.d.ts.map +1 -1
- package/dist/types/lib/objects/table/TableObject.d.ts.map +1 -1
- package/dist/types/lib/objects/table/TableRow.d.ts.map +1 -1
- package/dist/types/lib/objects/table/types.d.ts +15 -15
- package/dist/types/lib/objects/table/types.d.ts.map +1 -1
- package/dist/types/lib/panes/BasePane.d.ts +117 -0
- package/dist/types/lib/panes/BasePane.d.ts.map +1 -0
- package/dist/types/lib/panes/DocumentInfoPane.d.ts +26 -0
- package/dist/types/lib/panes/DocumentInfoPane.d.ts.map +1 -0
- package/dist/types/lib/panes/DocumentSettingsPane.d.ts +30 -0
- package/dist/types/lib/panes/DocumentSettingsPane.d.ts.map +1 -0
- package/dist/types/lib/panes/FormattingPane.d.ts +82 -0
- package/dist/types/lib/panes/FormattingPane.d.ts.map +1 -0
- package/dist/types/lib/panes/HyperlinkPane.d.ts +67 -0
- package/dist/types/lib/panes/HyperlinkPane.d.ts.map +1 -0
- package/dist/types/lib/panes/ImagePane.d.ts +80 -0
- package/dist/types/lib/panes/ImagePane.d.ts.map +1 -0
- package/dist/types/lib/panes/MergeDataPane.d.ts +55 -0
- package/dist/types/lib/panes/MergeDataPane.d.ts.map +1 -0
- package/dist/types/lib/panes/RepeatingSectionPane.d.ts +62 -0
- package/dist/types/lib/panes/RepeatingSectionPane.d.ts.map +1 -0
- package/dist/types/lib/panes/SubstitutionFieldPane.d.ts +65 -0
- package/dist/types/lib/panes/SubstitutionFieldPane.d.ts.map +1 -0
- package/dist/types/lib/panes/TablePane.d.ts +91 -0
- package/dist/types/lib/panes/TablePane.d.ts.map +1 -0
- package/dist/types/lib/panes/TableRowLoopPane.d.ts +68 -0
- package/dist/types/lib/panes/TableRowLoopPane.d.ts.map +1 -0
- package/dist/types/lib/panes/TextBoxPane.d.ts +68 -0
- package/dist/types/lib/panes/TextBoxPane.d.ts.map +1 -0
- package/dist/types/lib/panes/ViewSettingsPane.d.ts +52 -0
- package/dist/types/lib/panes/ViewSettingsPane.d.ts.map +1 -0
- package/dist/types/lib/panes/index.d.ts +34 -0
- package/dist/types/lib/panes/index.d.ts.map +1 -0
- package/dist/types/lib/panes/types.d.ts +111 -0
- package/dist/types/lib/panes/types.d.ts.map +1 -0
- package/dist/types/lib/rendering/CanvasManager.d.ts.map +1 -1
- package/dist/types/lib/rendering/FlowingTextRenderer.d.ts.map +1 -1
- package/dist/types/lib/rendering/PDFGenerator.d.ts.map +1 -1
- package/dist/types/lib/text/FlowingTextContent.d.ts.map +1 -1
- package/dist/types/lib/text/TextFormatting.d.ts +21 -1
- package/dist/types/lib/text/TextFormatting.d.ts.map +1 -1
- package/dist/types/lib/types/index.d.ts +2 -0
- package/dist/types/lib/types/index.d.ts.map +1 -1
- package/dist/types/lib/undo/transaction/MutationUndo.d.ts.map +1 -1
- package/dist/types/lib/utils/logger.d.ts +20 -0
- package/dist/types/lib/utils/logger.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FormattingPane - Text formatting controls.
|
|
3
|
+
*
|
|
4
|
+
* Controls:
|
|
5
|
+
* - Bold/Italic toggles
|
|
6
|
+
* - Alignment buttons (left, center, right, justify)
|
|
7
|
+
* - List buttons (bullet, numbered, indent, outdent)
|
|
8
|
+
* - Font family/size dropdowns
|
|
9
|
+
* - Text color and highlight color pickers
|
|
10
|
+
*
|
|
11
|
+
* Uses the PCEditor public API:
|
|
12
|
+
* - editor.getUnifiedFormattingAtCursor()
|
|
13
|
+
* - editor.applyFormattingWithFallback()
|
|
14
|
+
* - editor.setPendingFormatting()
|
|
15
|
+
* - editor.getSavedOrCurrentSelection()
|
|
16
|
+
* - editor.getUnifiedAlignmentAtCursor()
|
|
17
|
+
* - editor.setUnifiedAlignment()
|
|
18
|
+
* - editor.toggleBulletList()
|
|
19
|
+
* - editor.toggleNumberedList()
|
|
20
|
+
* - editor.indentParagraph()
|
|
21
|
+
* - editor.outdentParagraph()
|
|
22
|
+
* - editor.getListFormatting()
|
|
23
|
+
*/
|
|
24
|
+
import { BasePane } from './BasePane';
|
|
25
|
+
import type { PaneAttachOptions } from './types';
|
|
26
|
+
/**
|
|
27
|
+
* Options for FormattingPane.
|
|
28
|
+
*/
|
|
29
|
+
export interface FormattingPaneOptions {
|
|
30
|
+
className?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Available font families.
|
|
33
|
+
*/
|
|
34
|
+
fontFamilies?: string[];
|
|
35
|
+
/**
|
|
36
|
+
* Available font sizes.
|
|
37
|
+
*/
|
|
38
|
+
fontSizes?: number[];
|
|
39
|
+
}
|
|
40
|
+
export declare class FormattingPane extends BasePane {
|
|
41
|
+
private boldBtn;
|
|
42
|
+
private italicBtn;
|
|
43
|
+
private alignLeftBtn;
|
|
44
|
+
private alignCenterBtn;
|
|
45
|
+
private alignRightBtn;
|
|
46
|
+
private alignJustifyBtn;
|
|
47
|
+
private bulletListBtn;
|
|
48
|
+
private numberedListBtn;
|
|
49
|
+
private indentBtn;
|
|
50
|
+
private outdentBtn;
|
|
51
|
+
private fontFamilySelect;
|
|
52
|
+
private fontSizeSelect;
|
|
53
|
+
private colorInput;
|
|
54
|
+
private highlightInput;
|
|
55
|
+
private fontFamilies;
|
|
56
|
+
private fontSizes;
|
|
57
|
+
constructor(id?: string, options?: FormattingPaneOptions);
|
|
58
|
+
attach(options: PaneAttachOptions): void;
|
|
59
|
+
protected createContent(): HTMLElement;
|
|
60
|
+
private updateFromEditor;
|
|
61
|
+
private updateAlignmentButtons;
|
|
62
|
+
private updateListButtons;
|
|
63
|
+
private getSelection;
|
|
64
|
+
private applyFormatting;
|
|
65
|
+
private toggleBold;
|
|
66
|
+
private toggleItalic;
|
|
67
|
+
private applyFontFamily;
|
|
68
|
+
private applyFontSize;
|
|
69
|
+
private applyTextColor;
|
|
70
|
+
private applyHighlight;
|
|
71
|
+
private clearHighlight;
|
|
72
|
+
private setAlignment;
|
|
73
|
+
private toggleBulletList;
|
|
74
|
+
private toggleNumberedList;
|
|
75
|
+
private indent;
|
|
76
|
+
private outdent;
|
|
77
|
+
/**
|
|
78
|
+
* Update the pane from current editor state.
|
|
79
|
+
*/
|
|
80
|
+
update(): void;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=FormattingPane.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormattingPane.d.ts","sourceRoot":"","sources":["../../../../src/lib/panes/FormattingPane.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAGjD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAYD,qBAAa,cAAe,SAAQ,QAAQ;IAE1C,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,SAAS,CAAkC;IAGnD,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,eAAe,CAAkC;IAGzD,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,UAAU,CAAkC;IAGpD,OAAO,CAAC,gBAAgB,CAAkC;IAC1D,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,cAAc,CAAiC;IAEvD,OAAO,CAAC,YAAY,CAAW;IAC/B,OAAO,CAAC,SAAS,CAAW;gBAEhB,EAAE,GAAE,MAAqB,EAAE,OAAO,GAAE,qBAA0B;IAM1E,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAuBxC,SAAS,CAAC,aAAa,IAAI,WAAW;IA+HtC,OAAO,CAAC,gBAAgB;IAyCxB,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,eAAe;IAmBvB,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,gBAAgB;IAWxB,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,MAAM;IAWd,OAAO,CAAC,OAAO;IAWf;;OAEG;IACH,MAAM,IAAI,IAAI;CAGf"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* HyperlinkPane - Edit hyperlink URL and title.
|
|
3
|
+
*
|
|
4
|
+
* This pane is shown when a hyperlink is selected/cursor is in a hyperlink.
|
|
5
|
+
*
|
|
6
|
+
* Uses the PCEditor public API:
|
|
7
|
+
* - editor.getHyperlinkAt()
|
|
8
|
+
* - editor.updateHyperlink()
|
|
9
|
+
* - editor.removeHyperlink()
|
|
10
|
+
* - editor.getCursorPosition()
|
|
11
|
+
*/
|
|
12
|
+
import { BasePane } from './BasePane';
|
|
13
|
+
import type { PaneAttachOptions } from './types';
|
|
14
|
+
/**
|
|
15
|
+
* Hyperlink data.
|
|
16
|
+
*/
|
|
17
|
+
export interface HyperlinkData {
|
|
18
|
+
id: string;
|
|
19
|
+
url: string;
|
|
20
|
+
title?: string;
|
|
21
|
+
startIndex: number;
|
|
22
|
+
endIndex: number;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Options for HyperlinkPane.
|
|
26
|
+
*/
|
|
27
|
+
export interface HyperlinkPaneOptions {
|
|
28
|
+
className?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Callback when hyperlink changes are applied.
|
|
31
|
+
*/
|
|
32
|
+
onApply?: (success: boolean, error?: Error) => void;
|
|
33
|
+
/**
|
|
34
|
+
* Callback when hyperlink is removed.
|
|
35
|
+
*/
|
|
36
|
+
onRemove?: (success: boolean) => void;
|
|
37
|
+
}
|
|
38
|
+
export declare class HyperlinkPane extends BasePane {
|
|
39
|
+
private urlInput;
|
|
40
|
+
private titleInput;
|
|
41
|
+
private rangeHint;
|
|
42
|
+
private currentHyperlink;
|
|
43
|
+
private _isUpdating;
|
|
44
|
+
private onApply?;
|
|
45
|
+
private onRemove?;
|
|
46
|
+
constructor(id?: string, options?: HyperlinkPaneOptions);
|
|
47
|
+
attach(options: PaneAttachOptions): void;
|
|
48
|
+
protected createContent(): HTMLElement;
|
|
49
|
+
private updateFromCursor;
|
|
50
|
+
private showHyperlink;
|
|
51
|
+
private hideHyperlink;
|
|
52
|
+
private applyChanges;
|
|
53
|
+
private removeHyperlink;
|
|
54
|
+
/**
|
|
55
|
+
* Get the currently selected hyperlink.
|
|
56
|
+
*/
|
|
57
|
+
getCurrentHyperlink(): HyperlinkData | null;
|
|
58
|
+
/**
|
|
59
|
+
* Check if a hyperlink is currently selected.
|
|
60
|
+
*/
|
|
61
|
+
hasHyperlink(): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Update the pane from current editor state.
|
|
64
|
+
*/
|
|
65
|
+
update(): void;
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=HyperlinkPane.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HyperlinkPane.d.ts","sourceRoot":"","sources":["../../../../src/lib/panes/HyperlinkPane.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IACpD;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CACvC;AAED,qBAAa,aAAc,SAAQ,QAAQ;IACzC,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,UAAU,CAAiC;IACnD,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,OAAO,CAAC,CAA4C;IAC5D,OAAO,CAAC,QAAQ,CAAC,CAA6B;gBAElC,EAAE,GAAE,MAAoB,EAAE,OAAO,GAAE,oBAAyB;IAMxE,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAmBxC,SAAS,CAAC,aAAa,IAAI,WAAW;IA6BtC,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,YAAY;IAwBpB,OAAO,CAAC,eAAe;IAYvB;;OAEG;IACH,mBAAmB,IAAI,aAAa,GAAG,IAAI;IAI3C;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;OAEG;IACH,MAAM,IAAI,IAAI;CAGf"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ImagePane - Edit image properties.
|
|
3
|
+
*
|
|
4
|
+
* Shows:
|
|
5
|
+
* - Position (inline, block, relative)
|
|
6
|
+
* - Relative offset (for relative positioning)
|
|
7
|
+
* - Fit mode (contain, cover, fill, none, tile)
|
|
8
|
+
* - Resize mode (free, locked-aspect-ratio)
|
|
9
|
+
* - Alt text
|
|
10
|
+
* - Source file picker
|
|
11
|
+
*
|
|
12
|
+
* Uses the PCEditor public API:
|
|
13
|
+
* - editor.getSelectedImage()
|
|
14
|
+
* - editor.updateImage()
|
|
15
|
+
* - editor.setImageSource()
|
|
16
|
+
*/
|
|
17
|
+
import { BasePane } from './BasePane';
|
|
18
|
+
import type { PaneAttachOptions } from './types';
|
|
19
|
+
import type { ImageObject } from '../objects';
|
|
20
|
+
/**
|
|
21
|
+
* Options for ImagePane.
|
|
22
|
+
*/
|
|
23
|
+
export interface ImagePaneOptions {
|
|
24
|
+
className?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Maximum width for auto-sizing when setting image source.
|
|
27
|
+
*/
|
|
28
|
+
maxImageWidth?: number;
|
|
29
|
+
/**
|
|
30
|
+
* Maximum height for auto-sizing when setting image source.
|
|
31
|
+
*/
|
|
32
|
+
maxImageHeight?: number;
|
|
33
|
+
/**
|
|
34
|
+
* Callback when image changes are applied.
|
|
35
|
+
*/
|
|
36
|
+
onApply?: (success: boolean, error?: Error) => void;
|
|
37
|
+
}
|
|
38
|
+
export declare class ImagePane extends BasePane {
|
|
39
|
+
private positionSelect;
|
|
40
|
+
private offsetGroup;
|
|
41
|
+
private offsetXInput;
|
|
42
|
+
private offsetYInput;
|
|
43
|
+
private fitModeSelect;
|
|
44
|
+
private resizeModeSelect;
|
|
45
|
+
private altTextInput;
|
|
46
|
+
private fileInput;
|
|
47
|
+
private currentImage;
|
|
48
|
+
private _isUpdating;
|
|
49
|
+
private maxImageWidth;
|
|
50
|
+
private maxImageHeight;
|
|
51
|
+
private onApplyCallback?;
|
|
52
|
+
constructor(id?: string, options?: ImagePaneOptions);
|
|
53
|
+
attach(options: PaneAttachOptions): void;
|
|
54
|
+
protected createContent(): HTMLElement;
|
|
55
|
+
private updateFromSelection;
|
|
56
|
+
/**
|
|
57
|
+
* Show the pane with the given image.
|
|
58
|
+
*/
|
|
59
|
+
showImage(image: ImageObject): void;
|
|
60
|
+
/**
|
|
61
|
+
* Hide the pane and clear current image.
|
|
62
|
+
*/
|
|
63
|
+
hideImage(): void;
|
|
64
|
+
private updateOffsetVisibility;
|
|
65
|
+
private handleFileChange;
|
|
66
|
+
private applyChanges;
|
|
67
|
+
/**
|
|
68
|
+
* Get the currently selected image.
|
|
69
|
+
*/
|
|
70
|
+
getCurrentImage(): ImageObject | null;
|
|
71
|
+
/**
|
|
72
|
+
* Check if an image is currently selected.
|
|
73
|
+
*/
|
|
74
|
+
hasImage(): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Update the pane from current editor state.
|
|
77
|
+
*/
|
|
78
|
+
update(): void;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=ImagePane.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImagePane.d.ts","sourceRoot":"","sources":["../../../../src/lib/panes/ImagePane.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;CACrD;AAED,qBAAa,SAAU,SAAQ,QAAQ;IACrC,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,aAAa,CAAkC;IACvD,OAAO,CAAC,gBAAgB,CAAkC;IAC1D,OAAO,CAAC,YAAY,CAAiC;IACrD,OAAO,CAAC,SAAS,CAAiC;IAElD,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,eAAe,CAAC,CAA4C;gBAExD,EAAE,GAAE,MAAgB,EAAE,OAAO,GAAE,gBAAqB;IAOhE,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAmBxC,SAAS,CAAC,aAAa,IAAI,WAAW;IAuEtC,OAAO,CAAC,mBAAmB;IAiB3B;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAmCnC;;OAEG;IACH,SAAS,IAAI,IAAI;IAKjB,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,YAAY;IAgDpB;;OAEG;IACH,eAAe,IAAI,WAAW,GAAG,IAAI;IAIrC;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACH,MAAM,IAAI,IAAI;CAGf"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MergeDataPane - JSON data input for mail merge/substitution.
|
|
3
|
+
*
|
|
4
|
+
* Uses the PCEditor public API:
|
|
5
|
+
* - editor.applyMergeData()
|
|
6
|
+
*/
|
|
7
|
+
import { BasePane } from './BasePane';
|
|
8
|
+
import type { PaneOptions } from './types';
|
|
9
|
+
/**
|
|
10
|
+
* Options for MergeDataPane.
|
|
11
|
+
*/
|
|
12
|
+
export interface MergeDataPaneOptions extends PaneOptions {
|
|
13
|
+
/**
|
|
14
|
+
* Initial JSON data to display.
|
|
15
|
+
*/
|
|
16
|
+
initialData?: Record<string, unknown>;
|
|
17
|
+
/**
|
|
18
|
+
* Placeholder text for the textarea.
|
|
19
|
+
*/
|
|
20
|
+
placeholder?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Number of visible rows for the textarea.
|
|
23
|
+
*/
|
|
24
|
+
rows?: number;
|
|
25
|
+
/**
|
|
26
|
+
* Callback when merge data is applied (for status messages).
|
|
27
|
+
*/
|
|
28
|
+
onApply?: (success: boolean, error?: Error) => void;
|
|
29
|
+
}
|
|
30
|
+
export declare class MergeDataPane extends BasePane {
|
|
31
|
+
private textarea;
|
|
32
|
+
private errorHint;
|
|
33
|
+
private initialData?;
|
|
34
|
+
private placeholder;
|
|
35
|
+
private rows;
|
|
36
|
+
private onApply?;
|
|
37
|
+
constructor(id?: string, options?: MergeDataPaneOptions);
|
|
38
|
+
protected createContent(): HTMLElement;
|
|
39
|
+
private createTextarea;
|
|
40
|
+
private applyMergeData;
|
|
41
|
+
/**
|
|
42
|
+
* Get the current JSON data from the textarea.
|
|
43
|
+
* Returns null if the JSON is invalid.
|
|
44
|
+
*/
|
|
45
|
+
getData(): Record<string, unknown> | null;
|
|
46
|
+
/**
|
|
47
|
+
* Set the JSON data in the textarea.
|
|
48
|
+
*/
|
|
49
|
+
setData(data: Record<string, unknown>): void;
|
|
50
|
+
/**
|
|
51
|
+
* Update the pane (no-op for MergeDataPane as it doesn't track editor state).
|
|
52
|
+
*/
|
|
53
|
+
update(): void;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=MergeDataPane.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MergeDataPane.d.ts","sourceRoot":"","sources":["../../../../src/lib/panes/MergeDataPane.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;CACrD;AAED,qBAAa,aAAc,SAAQ,QAAQ;IACzC,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,WAAW,CAAC,CAA0B;IAC9C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,OAAO,CAAC,CAA4C;gBAEhD,EAAE,GAAE,MAAqB,EAAE,OAAO,GAAE,oBAAyB;IAQzE,SAAS,CAAC,aAAa,IAAI,WAAW;IAqBtC,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,cAAc;IA4BtB;;;OAGG;IACH,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAUzC;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAS5C;;OAEG;IACH,MAAM,IAAI,IAAI;CAGf"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RepeatingSectionPane - Edit repeating section (loop) properties.
|
|
3
|
+
*
|
|
4
|
+
* Shows:
|
|
5
|
+
* - Field path (array property in merge data)
|
|
6
|
+
* - Position information
|
|
7
|
+
*
|
|
8
|
+
* Uses the PCEditor public API:
|
|
9
|
+
* - editor.getRepeatingSection()
|
|
10
|
+
* - editor.updateRepeatingSectionFieldPath()
|
|
11
|
+
* - editor.removeRepeatingSection()
|
|
12
|
+
*/
|
|
13
|
+
import { BasePane } from './BasePane';
|
|
14
|
+
import type { PaneAttachOptions } from './types';
|
|
15
|
+
import type { RepeatingSection } from '../text';
|
|
16
|
+
/**
|
|
17
|
+
* Options for RepeatingSectionPane.
|
|
18
|
+
*/
|
|
19
|
+
export interface RepeatingSectionPaneOptions {
|
|
20
|
+
className?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Callback when section changes are applied.
|
|
23
|
+
*/
|
|
24
|
+
onApply?: (success: boolean, error?: Error) => void;
|
|
25
|
+
/**
|
|
26
|
+
* Callback when section is removed.
|
|
27
|
+
*/
|
|
28
|
+
onRemove?: (success: boolean) => void;
|
|
29
|
+
}
|
|
30
|
+
export declare class RepeatingSectionPane extends BasePane {
|
|
31
|
+
private fieldPathInput;
|
|
32
|
+
private positionHint;
|
|
33
|
+
private currentSection;
|
|
34
|
+
private onApplyCallback?;
|
|
35
|
+
private onRemoveCallback?;
|
|
36
|
+
constructor(id?: string, options?: RepeatingSectionPaneOptions);
|
|
37
|
+
attach(options: PaneAttachOptions): void;
|
|
38
|
+
protected createContent(): HTMLElement;
|
|
39
|
+
/**
|
|
40
|
+
* Show the pane with the given section.
|
|
41
|
+
*/
|
|
42
|
+
showSection(section: RepeatingSection): void;
|
|
43
|
+
/**
|
|
44
|
+
* Hide the pane and clear the current section.
|
|
45
|
+
*/
|
|
46
|
+
hideSection(): void;
|
|
47
|
+
private applyChanges;
|
|
48
|
+
private removeSection;
|
|
49
|
+
/**
|
|
50
|
+
* Get the currently selected section.
|
|
51
|
+
*/
|
|
52
|
+
getCurrentSection(): RepeatingSection | null;
|
|
53
|
+
/**
|
|
54
|
+
* Check if a section is currently selected.
|
|
55
|
+
*/
|
|
56
|
+
hasSection(): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Update the pane from current editor state.
|
|
59
|
+
*/
|
|
60
|
+
update(): void;
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=RepeatingSectionPane.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RepeatingSectionPane.d.ts","sourceRoot":"","sources":["../../../../src/lib/panes/RepeatingSectionPane.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IACpD;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CACvC;AAED,qBAAa,oBAAqB,SAAQ,QAAQ;IAChD,OAAO,CAAC,cAAc,CAAiC;IACvD,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,cAAc,CAAiC;IACvD,OAAO,CAAC,eAAe,CAAC,CAA4C;IACpE,OAAO,CAAC,gBAAgB,CAAC,CAA6B;gBAE1C,EAAE,GAAE,MAA4B,EAAE,OAAO,GAAE,2BAAgC;IAMvF,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IA4BxC,SAAS,CAAC,aAAa,IAAI,WAAW;IA2BtC;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAa5C;;OAEG;IACH,WAAW,IAAI,IAAI;IAKnB,OAAO,CAAC,YAAY;IAkCpB,OAAO,CAAC,aAAa;IAYrB;;OAEG;IACH,iBAAiB,IAAI,gBAAgB,GAAG,IAAI;IAI5C;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;OAEG;IACH,MAAM,IAAI,IAAI;CAGf"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* SubstitutionFieldPane - Edit substitution field properties.
|
|
3
|
+
*
|
|
4
|
+
* Shows:
|
|
5
|
+
* - Field name
|
|
6
|
+
* - Default value
|
|
7
|
+
* - Format configuration (value type, number/currency/date formats)
|
|
8
|
+
*
|
|
9
|
+
* Uses the PCEditor public API:
|
|
10
|
+
* - editor.getFieldAt()
|
|
11
|
+
* - editor.updateField()
|
|
12
|
+
*/
|
|
13
|
+
import { BasePane } from './BasePane';
|
|
14
|
+
import type { PaneAttachOptions } from './types';
|
|
15
|
+
import type { SubstitutionField } from '../text';
|
|
16
|
+
/**
|
|
17
|
+
* Options for SubstitutionFieldPane.
|
|
18
|
+
*/
|
|
19
|
+
export interface SubstitutionFieldPaneOptions {
|
|
20
|
+
className?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Callback when field changes are applied.
|
|
23
|
+
*/
|
|
24
|
+
onApply?: (success: boolean, error?: Error) => void;
|
|
25
|
+
}
|
|
26
|
+
export declare class SubstitutionFieldPane extends BasePane {
|
|
27
|
+
private fieldNameInput;
|
|
28
|
+
private fieldDefaultInput;
|
|
29
|
+
private valueTypeSelect;
|
|
30
|
+
private numberFormatSelect;
|
|
31
|
+
private currencyFormatSelect;
|
|
32
|
+
private dateFormatSelect;
|
|
33
|
+
private positionHint;
|
|
34
|
+
private numberFormatGroup;
|
|
35
|
+
private currencyFormatGroup;
|
|
36
|
+
private dateFormatGroup;
|
|
37
|
+
private currentField;
|
|
38
|
+
private onApplyCallback?;
|
|
39
|
+
constructor(id?: string, options?: SubstitutionFieldPaneOptions);
|
|
40
|
+
attach(options: PaneAttachOptions): void;
|
|
41
|
+
protected createContent(): HTMLElement;
|
|
42
|
+
private updateFormatGroups;
|
|
43
|
+
/**
|
|
44
|
+
* Show the pane with the given field.
|
|
45
|
+
*/
|
|
46
|
+
showField(field: SubstitutionField): void;
|
|
47
|
+
/**
|
|
48
|
+
* Hide the pane and clear the current field.
|
|
49
|
+
*/
|
|
50
|
+
hideField(): void;
|
|
51
|
+
private applyChanges;
|
|
52
|
+
/**
|
|
53
|
+
* Get the currently selected field.
|
|
54
|
+
*/
|
|
55
|
+
getCurrentField(): SubstitutionField | null;
|
|
56
|
+
/**
|
|
57
|
+
* Check if a field is currently selected.
|
|
58
|
+
*/
|
|
59
|
+
hasField(): boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Update the pane from current editor state.
|
|
62
|
+
*/
|
|
63
|
+
update(): void;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=SubstitutionFieldPane.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubstitutionFieldPane.d.ts","sourceRoot":"","sources":["../../../../src/lib/panes/SubstitutionFieldPane.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAA2B,MAAM,SAAS,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;CACrD;AAED,qBAAa,qBAAsB,SAAQ,QAAQ;IACjD,OAAO,CAAC,cAAc,CAAiC;IACvD,OAAO,CAAC,iBAAiB,CAAiC;IAC1D,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,kBAAkB,CAAkC;IAC5D,OAAO,CAAC,oBAAoB,CAAkC;IAC9D,OAAO,CAAC,gBAAgB,CAAkC;IAC1D,OAAO,CAAC,YAAY,CAA4B;IAEhD,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,mBAAmB,CAA4B;IACvD,OAAO,CAAC,eAAe,CAA4B;IAEnD,OAAO,CAAC,YAAY,CAAkC;IACtD,OAAO,CAAC,eAAe,CAAC,CAA4C;gBAExD,EAAE,GAAE,MAA6B,EAAE,OAAO,GAAE,4BAAiC;IAKzF,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAoBxC,SAAS,CAAC,aAAa,IAAI,WAAW;IAqEtC,OAAO,CAAC,kBAAkB;IAc1B;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,iBAAiB,GAAG,IAAI;IA+BzC;;OAEG;IACH,SAAS,IAAI,IAAI;IAKjB,OAAO,CAAC,YAAY;IAkEpB;;OAEG;IACH,eAAe,IAAI,iBAAiB,GAAG,IAAI;IAI3C;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACH,MAAM,IAAI,IAAI;CAGf"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TablePane - Edit table properties.
|
|
3
|
+
*
|
|
4
|
+
* Shows:
|
|
5
|
+
* - Table structure (row/column count)
|
|
6
|
+
* - Row/column insertion/removal
|
|
7
|
+
* - Header rows/columns
|
|
8
|
+
* - Default cell padding and border color
|
|
9
|
+
* - Cell-specific formatting (background, borders)
|
|
10
|
+
*
|
|
11
|
+
* Uses the PCEditor public API:
|
|
12
|
+
* - editor.getFocusedTable()
|
|
13
|
+
* - editor.tableInsertRow()
|
|
14
|
+
* - editor.tableRemoveRow()
|
|
15
|
+
* - editor.tableInsertColumn()
|
|
16
|
+
* - editor.tableRemoveColumn()
|
|
17
|
+
*
|
|
18
|
+
* And TableObject methods:
|
|
19
|
+
* - table.setHeaderRowCount()
|
|
20
|
+
* - table.setHeaderColumnCount()
|
|
21
|
+
* - table.getCell()
|
|
22
|
+
* - table.getCellsInRange()
|
|
23
|
+
*/
|
|
24
|
+
import { BasePane } from './BasePane';
|
|
25
|
+
import type { PaneAttachOptions } from './types';
|
|
26
|
+
import type { TableObject } from '../objects';
|
|
27
|
+
/**
|
|
28
|
+
* Options for TablePane.
|
|
29
|
+
*/
|
|
30
|
+
export interface TablePaneOptions {
|
|
31
|
+
className?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Callback when table changes are applied.
|
|
34
|
+
*/
|
|
35
|
+
onApply?: (success: boolean, error?: Error) => void;
|
|
36
|
+
}
|
|
37
|
+
export declare class TablePane extends BasePane {
|
|
38
|
+
private rowCountDisplay;
|
|
39
|
+
private colCountDisplay;
|
|
40
|
+
private cellSelectionDisplay;
|
|
41
|
+
private headerRowInput;
|
|
42
|
+
private headerColInput;
|
|
43
|
+
private defaultPaddingInput;
|
|
44
|
+
private defaultBorderColorInput;
|
|
45
|
+
private loopFieldInput;
|
|
46
|
+
private cellBgColorInput;
|
|
47
|
+
private borderTopCheck;
|
|
48
|
+
private borderRightCheck;
|
|
49
|
+
private borderBottomCheck;
|
|
50
|
+
private borderLeftCheck;
|
|
51
|
+
private borderWidthInput;
|
|
52
|
+
private borderColorInput;
|
|
53
|
+
private borderStyleSelect;
|
|
54
|
+
private currentTable;
|
|
55
|
+
private _isUpdating;
|
|
56
|
+
private onApplyCallback?;
|
|
57
|
+
constructor(id?: string, options?: TablePaneOptions);
|
|
58
|
+
attach(options: PaneAttachOptions): void;
|
|
59
|
+
protected createContent(): HTMLElement;
|
|
60
|
+
private updateFromFocusedTable;
|
|
61
|
+
/**
|
|
62
|
+
* Show the pane with the given table.
|
|
63
|
+
*/
|
|
64
|
+
showTable(table: TableObject): void;
|
|
65
|
+
/**
|
|
66
|
+
* Hide the pane and clear current table.
|
|
67
|
+
*/
|
|
68
|
+
hideTable(): void;
|
|
69
|
+
private updateCellSelectionInfo;
|
|
70
|
+
private insertRow;
|
|
71
|
+
private removeRow;
|
|
72
|
+
private insertColumn;
|
|
73
|
+
private removeColumn;
|
|
74
|
+
private applyHeaders;
|
|
75
|
+
private applyDefaults;
|
|
76
|
+
private applyCellFormatting;
|
|
77
|
+
/**
|
|
78
|
+
* Get the currently focused table.
|
|
79
|
+
*/
|
|
80
|
+
getCurrentTable(): TableObject | null;
|
|
81
|
+
/**
|
|
82
|
+
* Check if a table is currently focused.
|
|
83
|
+
*/
|
|
84
|
+
hasTable(): boolean;
|
|
85
|
+
private createRowLoop;
|
|
86
|
+
/**
|
|
87
|
+
* Update the pane from current editor state.
|
|
88
|
+
*/
|
|
89
|
+
update(): void;
|
|
90
|
+
}
|
|
91
|
+
//# sourceMappingURL=TablePane.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TablePane.d.ts","sourceRoot":"","sources":["../../../../src/lib/panes/TablePane.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAgB,MAAM,SAAS,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;CACrD;AAED,qBAAa,SAAU,SAAQ,QAAQ;IAErC,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,eAAe,CAA4B;IACnD,OAAO,CAAC,oBAAoB,CAA4B;IAGxD,OAAO,CAAC,cAAc,CAAiC;IACvD,OAAO,CAAC,cAAc,CAAiC;IAGvD,OAAO,CAAC,mBAAmB,CAAiC;IAC5D,OAAO,CAAC,uBAAuB,CAAiC;IAGhE,OAAO,CAAC,cAAc,CAAiC;IAGvD,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,cAAc,CAAiC;IACvD,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,iBAAiB,CAAiC;IAC1D,OAAO,CAAC,eAAe,CAAiC;IACxD,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,iBAAiB,CAAkC;IAE3D,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,eAAe,CAAC,CAA4C;gBAExD,EAAE,GAAE,MAAgB,EAAE,OAAO,GAAE,gBAAqB;IAKhE,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAqBxC,SAAS,CAAC,aAAa,IAAI,WAAW;IAwJtC,OAAO,CAAC,sBAAsB;IAiB9B;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAmCnC;;OAEG;IACH,SAAS,IAAI,IAAI;IAKjB,OAAO,CAAC,uBAAuB;IA0C/B,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,YAAY;IAgBpB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,mBAAmB;IAqD3B;;OAEG;IACH,eAAe,IAAI,WAAW,GAAG,IAAI;IAIrC;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB,OAAO,CAAC,aAAa;IAmBrB;;OAEG;IACH,MAAM,IAAI,IAAI;CAGf"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TableRowLoopPane - Edit table row loop properties.
|
|
3
|
+
*
|
|
4
|
+
* Shows:
|
|
5
|
+
* - Field path (array property in merge data)
|
|
6
|
+
* - Row range information
|
|
7
|
+
*
|
|
8
|
+
* Uses the TableObject API:
|
|
9
|
+
* - table.getRowLoop()
|
|
10
|
+
* - table.updateRowLoopFieldPath()
|
|
11
|
+
* - table.removeRowLoop()
|
|
12
|
+
*/
|
|
13
|
+
import { BasePane } from './BasePane';
|
|
14
|
+
import type { PaneAttachOptions } from './types';
|
|
15
|
+
import type { TableObject } from '../objects';
|
|
16
|
+
import type { TableRowLoop } from '../objects/table/types';
|
|
17
|
+
/**
|
|
18
|
+
* Options for TableRowLoopPane.
|
|
19
|
+
*/
|
|
20
|
+
export interface TableRowLoopPaneOptions {
|
|
21
|
+
className?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Callback when loop changes are applied.
|
|
24
|
+
*/
|
|
25
|
+
onApply?: (success: boolean, error?: Error) => void;
|
|
26
|
+
/**
|
|
27
|
+
* Callback when loop is removed.
|
|
28
|
+
*/
|
|
29
|
+
onRemove?: (success: boolean) => void;
|
|
30
|
+
}
|
|
31
|
+
export declare class TableRowLoopPane extends BasePane {
|
|
32
|
+
private fieldPathInput;
|
|
33
|
+
private rangeHint;
|
|
34
|
+
private currentLoop;
|
|
35
|
+
private currentTable;
|
|
36
|
+
private onApplyCallback?;
|
|
37
|
+
private onRemoveCallback?;
|
|
38
|
+
constructor(id?: string, options?: TableRowLoopPaneOptions);
|
|
39
|
+
attach(options: PaneAttachOptions): void;
|
|
40
|
+
protected createContent(): HTMLElement;
|
|
41
|
+
/**
|
|
42
|
+
* Show the pane with the given table and loop.
|
|
43
|
+
*/
|
|
44
|
+
showLoop(table: TableObject, loop: TableRowLoop): void;
|
|
45
|
+
/**
|
|
46
|
+
* Hide the pane and clear current loop.
|
|
47
|
+
*/
|
|
48
|
+
hideLoop(): void;
|
|
49
|
+
private applyChanges;
|
|
50
|
+
private removeLoop;
|
|
51
|
+
/**
|
|
52
|
+
* Get the currently selected loop.
|
|
53
|
+
*/
|
|
54
|
+
getCurrentLoop(): TableRowLoop | null;
|
|
55
|
+
/**
|
|
56
|
+
* Get the currently selected table.
|
|
57
|
+
*/
|
|
58
|
+
getCurrentTable(): TableObject | null;
|
|
59
|
+
/**
|
|
60
|
+
* Check if a loop is currently selected.
|
|
61
|
+
*/
|
|
62
|
+
hasLoop(): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Update the pane from current editor state.
|
|
65
|
+
*/
|
|
66
|
+
update(): void;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=TableRowLoopPane.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableRowLoopPane.d.ts","sourceRoot":"","sources":["../../../../src/lib/panes/TableRowLoopPane.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IACpD;;OAEG;IACH,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;CACvC;AAED,qBAAa,gBAAiB,SAAQ,QAAQ;IAC5C,OAAO,CAAC,cAAc,CAAiC;IACvD,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,WAAW,CAA6B;IAChD,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,eAAe,CAAC,CAA4C;IACpE,OAAO,CAAC,gBAAgB,CAAC,CAA6B;gBAE1C,EAAE,GAAE,MAAyB,EAAE,OAAO,GAAE,uBAA4B;IAMhF,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAOxC,SAAS,CAAC,aAAa,IAAI,WAAW;IA2BtC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,GAAG,IAAI;IActD;;OAEG;IACH,QAAQ,IAAI,IAAI;IAMhB,OAAO,CAAC,YAAY;IAkCpB,OAAO,CAAC,UAAU;IAgBlB;;OAEG;IACH,cAAc,IAAI,YAAY,GAAG,IAAI;IAIrC;;OAEG;IACH,eAAe,IAAI,WAAW,GAAG,IAAI;IAIrC;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;OAEG;IACH,MAAM,IAAI,IAAI;CAGf"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TextBoxPane - Edit text box properties.
|
|
3
|
+
*
|
|
4
|
+
* Shows:
|
|
5
|
+
* - Position (inline, block, relative)
|
|
6
|
+
* - Relative offset (for relative positioning)
|
|
7
|
+
* - Background color
|
|
8
|
+
* - Border (width, color, style)
|
|
9
|
+
* - Padding
|
|
10
|
+
*
|
|
11
|
+
* Uses the PCEditor public API:
|
|
12
|
+
* - editor.getSelectedTextBox()
|
|
13
|
+
* - editor.updateTextBox()
|
|
14
|
+
*/
|
|
15
|
+
import { BasePane } from './BasePane';
|
|
16
|
+
import type { PaneAttachOptions } from './types';
|
|
17
|
+
import type { TextBoxObject } from '../objects';
|
|
18
|
+
/**
|
|
19
|
+
* Options for TextBoxPane.
|
|
20
|
+
*/
|
|
21
|
+
export interface TextBoxPaneOptions {
|
|
22
|
+
className?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Callback when text box changes are applied.
|
|
25
|
+
*/
|
|
26
|
+
onApply?: (success: boolean, error?: Error) => void;
|
|
27
|
+
}
|
|
28
|
+
export declare class TextBoxPane extends BasePane {
|
|
29
|
+
private positionSelect;
|
|
30
|
+
private offsetGroup;
|
|
31
|
+
private offsetXInput;
|
|
32
|
+
private offsetYInput;
|
|
33
|
+
private bgColorInput;
|
|
34
|
+
private borderWidthInput;
|
|
35
|
+
private borderColorInput;
|
|
36
|
+
private borderStyleSelect;
|
|
37
|
+
private paddingInput;
|
|
38
|
+
private _isUpdating;
|
|
39
|
+
private currentTextBox;
|
|
40
|
+
private onApplyCallback?;
|
|
41
|
+
constructor(id?: string, options?: TextBoxPaneOptions);
|
|
42
|
+
attach(options: PaneAttachOptions): void;
|
|
43
|
+
protected createContent(): HTMLElement;
|
|
44
|
+
private updateFromSelection;
|
|
45
|
+
/**
|
|
46
|
+
* Show the pane with the given text box.
|
|
47
|
+
*/
|
|
48
|
+
showTextBox(textBox: TextBoxObject): void;
|
|
49
|
+
/**
|
|
50
|
+
* Hide the pane and clear current text box.
|
|
51
|
+
*/
|
|
52
|
+
hideTextBox(): void;
|
|
53
|
+
private updateOffsetVisibility;
|
|
54
|
+
private applyChanges;
|
|
55
|
+
/**
|
|
56
|
+
* Get the currently selected text box.
|
|
57
|
+
*/
|
|
58
|
+
getCurrentTextBox(): TextBoxObject | null;
|
|
59
|
+
/**
|
|
60
|
+
* Check if a text box is currently selected.
|
|
61
|
+
*/
|
|
62
|
+
hasTextBox(): boolean;
|
|
63
|
+
/**
|
|
64
|
+
* Update the pane from current editor state.
|
|
65
|
+
*/
|
|
66
|
+
update(): void;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=TextBoxPane.d.ts.map
|