@acorex/components 22.3.25 → 22.4.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.
|
@@ -1,12 +1,24 @@
|
|
|
1
1
|
import * as polytype from 'polytype';
|
|
2
|
-
import * as
|
|
2
|
+
import * as _angular_core from '@angular/core';
|
|
3
3
|
import { ElementRef } from '@angular/core';
|
|
4
|
-
import { MXInputBaseValueComponent, MXLookComponent } from '@acorex/cdk/common';
|
|
4
|
+
import { AXStyleColorType, MXInputBaseValueComponent, MXLookComponent } from '@acorex/cdk/common';
|
|
5
|
+
import * as _acorex_cdk_wysiwyg from '@acorex/cdk/wysiwyg';
|
|
6
|
+
import { AXWysiwyg, AXWysiwygTextAlign, AXWysiwygHeadingLevel } from '@acorex/cdk/wysiwyg';
|
|
7
|
+
import { AXComboBoxItem, AXComboBoxValue } from '@acorex/components/combo-box';
|
|
8
|
+
|
|
9
|
+
type AXWysiwygMode = 'compact' | 'normal';
|
|
10
|
+
interface AXWysiwygButtonConfig {
|
|
11
|
+
text?: string;
|
|
12
|
+
icon?: string;
|
|
13
|
+
tooltip?: string;
|
|
14
|
+
look?: 'solid' | 'fill' | 'outline' | 'flat' | 'blank' | 'none';
|
|
15
|
+
color?: AXStyleColorType;
|
|
16
|
+
}
|
|
5
17
|
|
|
6
18
|
declare const AXWysiwygContainerComponent_base: polytype.Polytype.ClusteredConstructor<[{
|
|
7
19
|
new (): MXInputBaseValueComponent<string>;
|
|
8
|
-
ɵfac:
|
|
9
|
-
ɵprov:
|
|
20
|
+
ɵfac: _angular_core.ɵɵFactoryDeclaration<MXInputBaseValueComponent<any>, never>;
|
|
21
|
+
ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
10
22
|
}, typeof MXLookComponent]>;
|
|
11
23
|
/**
|
|
12
24
|
* A container component for WYSIWYG (What You See Is What You Get) editor functionality.
|
|
@@ -18,23 +30,27 @@ declare class AXWysiwygContainerComponent extends AXWysiwygContainerComponent_ba
|
|
|
18
30
|
* Specifies the placeholder text.
|
|
19
31
|
*
|
|
20
32
|
*/
|
|
21
|
-
placeHolder:
|
|
33
|
+
placeHolder: _angular_core.InputSignal<string>;
|
|
22
34
|
/**
|
|
23
35
|
* Specifies the initial editor height in number of text lines.
|
|
24
36
|
*
|
|
25
37
|
*/
|
|
26
|
-
initialLine:
|
|
27
|
-
|
|
38
|
+
initialLine: _angular_core.InputSignal<number>;
|
|
39
|
+
/**
|
|
40
|
+
* Toolbar layout: `compact` groups block types and insert actions in a dropdown; `normal` shows all tools inline.
|
|
41
|
+
*/
|
|
42
|
+
mode: _angular_core.InputSignal<AXWysiwygMode>;
|
|
43
|
+
private readonly wysiwyg;
|
|
44
|
+
private readonly context;
|
|
28
45
|
private readonly platformId;
|
|
29
46
|
private readonly destroyRef;
|
|
30
|
-
private readonly
|
|
47
|
+
private readonly translation;
|
|
48
|
+
private readonly view;
|
|
31
49
|
private readonly toolbar;
|
|
32
|
-
private readonly wysiwyg;
|
|
33
50
|
private lastCommittedHtml;
|
|
34
|
-
private applyingExternal;
|
|
35
51
|
private alive;
|
|
36
52
|
private changeHandlerTimer;
|
|
37
|
-
private
|
|
53
|
+
private readonly syncToolbarMode;
|
|
38
54
|
/**
|
|
39
55
|
* Focuses the component.
|
|
40
56
|
*
|
|
@@ -55,22 +71,12 @@ declare class AXWysiwygContainerComponent extends AXWysiwygContainerComponent_ba
|
|
|
55
71
|
/** @ignore */
|
|
56
72
|
protected internalValueChanged(value: string): void;
|
|
57
73
|
private initEditor;
|
|
58
|
-
private readonly onTextChange;
|
|
59
|
-
private readonly onSelectionChange;
|
|
60
74
|
private scheduleCommit;
|
|
61
75
|
private publishHtml;
|
|
62
76
|
private syncEditorFromValue;
|
|
63
|
-
private watchTooltip;
|
|
64
|
-
private readonly onTooltipTrigger;
|
|
65
|
-
/**
|
|
66
|
-
* Quill anchors the link/video popover to the caret and lets it spill out of the
|
|
67
|
-
* editor. Keep it fully inside the writing area so it does not cover the toolbar
|
|
68
|
-
* or get clipped at the field edge.
|
|
69
|
-
*/
|
|
70
|
-
private clampTooltip;
|
|
71
77
|
private syncEditable;
|
|
72
|
-
static ɵfac:
|
|
73
|
-
static ɵcmp:
|
|
78
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXWysiwygContainerComponent, never>;
|
|
79
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXWysiwygContainerComponent, "ax-wysiwyg-container", never, { "look": { "alias": "look"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "value": { "alias": "value"; "required": false; }; "placeHolder": { "alias": "placeHolder"; "required": false; "isSignal": true; }; "initialLine": { "alias": "initialLine"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; }, { "onValueChanged": "onValueChanged"; }, ["view", "toolbar"], ["*", "ax-validation-rule"], true, never>;
|
|
74
80
|
}
|
|
75
81
|
|
|
76
82
|
/**
|
|
@@ -79,7 +85,7 @@ declare class AXWysiwygContainerComponent extends AXWysiwygContainerComponent_ba
|
|
|
79
85
|
* @category Components
|
|
80
86
|
*/
|
|
81
87
|
declare class AXWysiwygToolbarComponent {
|
|
82
|
-
toolbar:
|
|
88
|
+
toolbar: _angular_core.Signal<ElementRef<HTMLDivElement>>;
|
|
83
89
|
private readonly host;
|
|
84
90
|
private readonly renderer;
|
|
85
91
|
private readonly platformId;
|
|
@@ -102,70 +108,332 @@ declare class AXWysiwygToolbarComponent {
|
|
|
102
108
|
private keepPickerInViewport;
|
|
103
109
|
private clearPickerOffset;
|
|
104
110
|
private teardownPickerOverlay;
|
|
105
|
-
static ɵfac:
|
|
106
|
-
static ɵcmp:
|
|
111
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXWysiwygToolbarComponent, never>;
|
|
112
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXWysiwygToolbarComponent, "ax-wysiwyg-toolbar", never, {}, {}, never, ["ax-prefix", "*", "ax-suffix"], true, never>;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
declare class AXWysiwygContext {
|
|
116
|
+
readonly disabled: _angular_core.WritableSignal<boolean>;
|
|
117
|
+
readonly readonly: _angular_core.WritableSignal<boolean>;
|
|
118
|
+
readonly mode: _angular_core.WritableSignal<AXWysiwygMode>;
|
|
119
|
+
readonly compact: _angular_core.Signal<boolean>;
|
|
120
|
+
readonly interactionDisabled: _angular_core.Signal<boolean>;
|
|
121
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXWysiwygContext, never>;
|
|
122
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<any>;
|
|
107
123
|
}
|
|
108
124
|
|
|
125
|
+
type AXWysiwygAlignmentButtonKey = 'left' | 'center' | 'right' | 'justify';
|
|
109
126
|
/**
|
|
110
|
-
*
|
|
127
|
+
* Text alignment controls for the WYSIWYG toolbar.
|
|
111
128
|
* @category Components
|
|
112
129
|
*/
|
|
113
130
|
declare class AXWysiwygAlignmentComponent {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
131
|
+
buttons: _angular_core.InputSignal<Partial<Record<AXWysiwygAlignmentButtonKey, false | AXWysiwygButtonConfig>>>;
|
|
132
|
+
protected readonly wysiwyg: AXWysiwyg;
|
|
133
|
+
protected readonly context: AXWysiwygContext;
|
|
134
|
+
protected readonly state: _angular_core.WritableSignal<_acorex_cdk_wysiwyg.AXWysiwygState>;
|
|
135
|
+
protected readonly i18n: {
|
|
136
|
+
readonly placeholder: "@acorex:wysiwyg.placeholder";
|
|
137
|
+
readonly menu: {
|
|
138
|
+
readonly blockType: "@acorex:wysiwyg.menu.block-type";
|
|
139
|
+
readonly insert: "@acorex:wysiwyg.menu.insert";
|
|
140
|
+
readonly align: "@acorex:wysiwyg.menu.align";
|
|
141
|
+
};
|
|
142
|
+
readonly tools: {
|
|
143
|
+
readonly undo: "@acorex:wysiwyg.tools.undo";
|
|
144
|
+
readonly redo: "@acorex:wysiwyg.tools.redo";
|
|
145
|
+
readonly bold: "@acorex:wysiwyg.tools.bold";
|
|
146
|
+
readonly italic: "@acorex:wysiwyg.tools.italic";
|
|
147
|
+
readonly underline: "@acorex:wysiwyg.tools.underline";
|
|
148
|
+
readonly strike: "@acorex:wysiwyg.tools.strike";
|
|
149
|
+
readonly code: "@acorex:wysiwyg.tools.code";
|
|
150
|
+
readonly codeBlock: "@acorex:wysiwyg.tools.code-block";
|
|
151
|
+
readonly link: "@acorex:wysiwyg.tools.link";
|
|
152
|
+
readonly image: "@acorex:wysiwyg.tools.image";
|
|
153
|
+
readonly video: "@acorex:wysiwyg.tools.video";
|
|
154
|
+
readonly bulletList: "@acorex:wysiwyg.tools.bullet-list";
|
|
155
|
+
readonly orderedList: "@acorex:wysiwyg.tools.ordered-list";
|
|
156
|
+
readonly rtl: "@acorex:wysiwyg.tools.rtl";
|
|
157
|
+
readonly textColor: "@acorex:wysiwyg.tools.text-color";
|
|
158
|
+
readonly highlight: "@acorex:wysiwyg.tools.highlight";
|
|
159
|
+
readonly paragraph: "@acorex:wysiwyg.tools.paragraph";
|
|
160
|
+
readonly alignLeft: "@acorex:wysiwyg.tools.align-left";
|
|
161
|
+
readonly alignCenter: "@acorex:wysiwyg.tools.align-center";
|
|
162
|
+
readonly alignRight: "@acorex:wysiwyg.tools.align-right";
|
|
163
|
+
readonly alignJustify: "@acorex:wysiwyg.tools.align-justify";
|
|
164
|
+
};
|
|
165
|
+
readonly blocks: {
|
|
166
|
+
readonly paragraph: "@acorex:wysiwyg.blocks.paragraph";
|
|
167
|
+
readonly blockquote: "@acorex:wysiwyg.blocks.blockquote";
|
|
168
|
+
readonly codeBlock: "@acorex:wysiwyg.blocks.code-block";
|
|
169
|
+
readonly bulletList: "@acorex:wysiwyg.blocks.bullet-list";
|
|
170
|
+
readonly orderedList: "@acorex:wysiwyg.blocks.ordered-list";
|
|
171
|
+
readonly image: "@acorex:wysiwyg.blocks.image";
|
|
172
|
+
readonly video: "@acorex:wysiwyg.blocks.video";
|
|
173
|
+
readonly heading: (level: number) => string;
|
|
174
|
+
};
|
|
175
|
+
readonly fontSize: {
|
|
176
|
+
readonly placeholder: "@acorex:wysiwyg.font-size.placeholder";
|
|
177
|
+
readonly small: "@acorex:wysiwyg.font-size.small";
|
|
178
|
+
readonly normal: "@acorex:wysiwyg.font-size.normal";
|
|
179
|
+
readonly large: "@acorex:wysiwyg.font-size.large";
|
|
180
|
+
readonly huge: "@acorex:wysiwyg.font-size.huge";
|
|
181
|
+
};
|
|
182
|
+
readonly insert: {
|
|
183
|
+
readonly linkUrl: "@acorex:wysiwyg.insert.link-url";
|
|
184
|
+
readonly imageUrl: "@acorex:wysiwyg.insert.image-url";
|
|
185
|
+
readonly videoUrl: "@acorex:wysiwyg.insert.video-url";
|
|
186
|
+
readonly apply: "@acorex:wysiwyg.insert.apply";
|
|
187
|
+
readonly remove: "@acorex:wysiwyg.insert.remove";
|
|
188
|
+
readonly insert: "@acorex:wysiwyg.insert.insert";
|
|
189
|
+
};
|
|
190
|
+
};
|
|
191
|
+
protected readonly alignButtons: _angular_core.Signal<{
|
|
192
|
+
align: AXWysiwygTextAlign;
|
|
193
|
+
config: AXWysiwygButtonConfig;
|
|
194
|
+
}[]>;
|
|
195
|
+
protected readonly activeAlignIcon: _angular_core.Signal<string>;
|
|
196
|
+
protected isAlignActive(align: AXWysiwygTextAlign): boolean;
|
|
197
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXWysiwygAlignmentComponent, never>;
|
|
198
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXWysiwygAlignmentComponent, "ax-wysiwyg-alignment", never, { "buttons": { "alias": "buttons"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
123
199
|
}
|
|
124
200
|
|
|
201
|
+
type AXWysiwygColorsButtonKey = 'textColor' | 'highlight';
|
|
125
202
|
/**
|
|
126
203
|
* Text and highlight color controls for the WYSIWYG toolbar.
|
|
127
204
|
* @category Components
|
|
128
205
|
*/
|
|
129
206
|
declare class AXWysiwygColorsComponent {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
207
|
+
buttons: _angular_core.InputSignal<Partial<Record<AXWysiwygColorsButtonKey, false | AXWysiwygButtonConfig>>>;
|
|
208
|
+
protected readonly clearLabel = "@acorex:common.general.clear";
|
|
209
|
+
protected readonly wysiwyg: AXWysiwyg;
|
|
210
|
+
protected readonly context: AXWysiwygContext;
|
|
211
|
+
protected readonly state: _angular_core.WritableSignal<_acorex_cdk_wysiwyg.AXWysiwygState>;
|
|
212
|
+
protected readonly textColorButton: _angular_core.Signal<AXWysiwygButtonConfig>;
|
|
213
|
+
protected readonly highlightButton: _angular_core.Signal<AXWysiwygButtonConfig>;
|
|
214
|
+
protected readonly draftTextColor: _angular_core.WritableSignal<string>;
|
|
215
|
+
protected readonly draftHighlightColor: _angular_core.WritableSignal<string>;
|
|
216
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXWysiwygColorsComponent, never>;
|
|
217
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXWysiwygColorsComponent, "ax-wysiwyg-colors", never, { "buttons": { "alias": "buttons"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
133
218
|
}
|
|
134
219
|
|
|
220
|
+
type AXWysiwygFontStyleButtonKey = 'bold' | 'italic' | 'underline' | 'strike' | 'code' | 'codeBlock';
|
|
221
|
+
type AXWysiwygBlockMenuItemKey = 'paragraph' | 'blockquote' | 'codeBlock' | 'bulletList' | 'orderedList' | 'image' | 'video' | 'heading1' | 'heading2' | 'heading3' | 'heading4' | 'heading5' | 'heading6';
|
|
135
222
|
/**
|
|
136
223
|
* Font style, size, and heading controls for the WYSIWYG toolbar.
|
|
137
224
|
* @category Components
|
|
138
225
|
*/
|
|
139
226
|
declare class AXWysiwygFontStyleComponent {
|
|
140
|
-
|
|
141
|
-
|
|
227
|
+
headingLevels: _angular_core.InputSignal<AXWysiwygHeadingLevel[]>;
|
|
228
|
+
buttons: _angular_core.InputSignal<Partial<Record<AXWysiwygFontStyleButtonKey, false | AXWysiwygButtonConfig>>>;
|
|
229
|
+
menuItems: _angular_core.InputSignal<Partial<Record<AXWysiwygBlockMenuItemKey, false | AXWysiwygButtonConfig>>>;
|
|
230
|
+
protected readonly wysiwyg: AXWysiwyg;
|
|
231
|
+
protected readonly context: AXWysiwygContext;
|
|
232
|
+
protected readonly state: _angular_core.WritableSignal<_acorex_cdk_wysiwyg.AXWysiwygState>;
|
|
233
|
+
protected readonly i18n: {
|
|
234
|
+
readonly placeholder: "@acorex:wysiwyg.placeholder";
|
|
235
|
+
readonly menu: {
|
|
236
|
+
readonly blockType: "@acorex:wysiwyg.menu.block-type";
|
|
237
|
+
readonly insert: "@acorex:wysiwyg.menu.insert";
|
|
238
|
+
readonly align: "@acorex:wysiwyg.menu.align";
|
|
239
|
+
};
|
|
240
|
+
readonly tools: {
|
|
241
|
+
readonly undo: "@acorex:wysiwyg.tools.undo";
|
|
242
|
+
readonly redo: "@acorex:wysiwyg.tools.redo";
|
|
243
|
+
readonly bold: "@acorex:wysiwyg.tools.bold";
|
|
244
|
+
readonly italic: "@acorex:wysiwyg.tools.italic";
|
|
245
|
+
readonly underline: "@acorex:wysiwyg.tools.underline";
|
|
246
|
+
readonly strike: "@acorex:wysiwyg.tools.strike";
|
|
247
|
+
readonly code: "@acorex:wysiwyg.tools.code";
|
|
248
|
+
readonly codeBlock: "@acorex:wysiwyg.tools.code-block";
|
|
249
|
+
readonly link: "@acorex:wysiwyg.tools.link";
|
|
250
|
+
readonly image: "@acorex:wysiwyg.tools.image";
|
|
251
|
+
readonly video: "@acorex:wysiwyg.tools.video";
|
|
252
|
+
readonly bulletList: "@acorex:wysiwyg.tools.bullet-list";
|
|
253
|
+
readonly orderedList: "@acorex:wysiwyg.tools.ordered-list";
|
|
254
|
+
readonly rtl: "@acorex:wysiwyg.tools.rtl";
|
|
255
|
+
readonly textColor: "@acorex:wysiwyg.tools.text-color";
|
|
256
|
+
readonly highlight: "@acorex:wysiwyg.tools.highlight";
|
|
257
|
+
readonly paragraph: "@acorex:wysiwyg.tools.paragraph";
|
|
258
|
+
readonly alignLeft: "@acorex:wysiwyg.tools.align-left";
|
|
259
|
+
readonly alignCenter: "@acorex:wysiwyg.tools.align-center";
|
|
260
|
+
readonly alignRight: "@acorex:wysiwyg.tools.align-right";
|
|
261
|
+
readonly alignJustify: "@acorex:wysiwyg.tools.align-justify";
|
|
262
|
+
};
|
|
263
|
+
readonly blocks: {
|
|
264
|
+
readonly paragraph: "@acorex:wysiwyg.blocks.paragraph";
|
|
265
|
+
readonly blockquote: "@acorex:wysiwyg.blocks.blockquote";
|
|
266
|
+
readonly codeBlock: "@acorex:wysiwyg.blocks.code-block";
|
|
267
|
+
readonly bulletList: "@acorex:wysiwyg.blocks.bullet-list";
|
|
268
|
+
readonly orderedList: "@acorex:wysiwyg.blocks.ordered-list";
|
|
269
|
+
readonly image: "@acorex:wysiwyg.blocks.image";
|
|
270
|
+
readonly video: "@acorex:wysiwyg.blocks.video";
|
|
271
|
+
readonly heading: (level: number) => string;
|
|
272
|
+
};
|
|
273
|
+
readonly fontSize: {
|
|
274
|
+
readonly placeholder: "@acorex:wysiwyg.font-size.placeholder";
|
|
275
|
+
readonly small: "@acorex:wysiwyg.font-size.small";
|
|
276
|
+
readonly normal: "@acorex:wysiwyg.font-size.normal";
|
|
277
|
+
readonly large: "@acorex:wysiwyg.font-size.large";
|
|
278
|
+
readonly huge: "@acorex:wysiwyg.font-size.huge";
|
|
279
|
+
};
|
|
280
|
+
readonly insert: {
|
|
281
|
+
readonly linkUrl: "@acorex:wysiwyg.insert.link-url";
|
|
282
|
+
readonly imageUrl: "@acorex:wysiwyg.insert.image-url";
|
|
283
|
+
readonly videoUrl: "@acorex:wysiwyg.insert.video-url";
|
|
284
|
+
readonly apply: "@acorex:wysiwyg.insert.apply";
|
|
285
|
+
readonly remove: "@acorex:wysiwyg.insert.remove";
|
|
286
|
+
readonly insert: "@acorex:wysiwyg.insert.insert";
|
|
287
|
+
};
|
|
288
|
+
};
|
|
289
|
+
private readonly insertPopover;
|
|
290
|
+
protected readonly insertUrl: _angular_core.WritableSignal<string>;
|
|
291
|
+
protected readonly insertKind: _angular_core.WritableSignal<"video" | "image">;
|
|
292
|
+
protected readonly boldButton: _angular_core.Signal<AXWysiwygButtonConfig>;
|
|
293
|
+
protected readonly italicButton: _angular_core.Signal<AXWysiwygButtonConfig>;
|
|
294
|
+
protected readonly underlineButton: _angular_core.Signal<AXWysiwygButtonConfig>;
|
|
295
|
+
protected readonly strikeButton: _angular_core.Signal<AXWysiwygButtonConfig>;
|
|
296
|
+
protected readonly codeButton: _angular_core.Signal<AXWysiwygButtonConfig>;
|
|
297
|
+
protected readonly codeBlockButton: _angular_core.Signal<AXWysiwygButtonConfig>;
|
|
298
|
+
protected readonly paragraphMenuItem: _angular_core.Signal<AXWysiwygButtonConfig>;
|
|
299
|
+
protected readonly blockquoteMenuItem: _angular_core.Signal<AXWysiwygButtonConfig>;
|
|
300
|
+
protected readonly codeBlockMenuItem: _angular_core.Signal<AXWysiwygButtonConfig>;
|
|
301
|
+
protected readonly bulletListMenuItem: _angular_core.Signal<AXWysiwygButtonConfig>;
|
|
302
|
+
protected readonly orderedListMenuItem: _angular_core.Signal<AXWysiwygButtonConfig>;
|
|
303
|
+
protected readonly imageMenuItem: _angular_core.Signal<AXWysiwygButtonConfig>;
|
|
304
|
+
protected readonly videoMenuItem: _angular_core.Signal<AXWysiwygButtonConfig>;
|
|
305
|
+
protected readonly headingButtons: _angular_core.Signal<{
|
|
306
|
+
level: AXWysiwygHeadingLevel;
|
|
307
|
+
label: string;
|
|
308
|
+
menuKey: AXWysiwygBlockMenuItemKey;
|
|
309
|
+
config: AXWysiwygButtonConfig;
|
|
310
|
+
}[]>;
|
|
311
|
+
protected readonly fontSizeItems: _angular_core.Signal<AXComboBoxItem[]>;
|
|
312
|
+
protected readonly fontSizeComboValue: _angular_core.Signal<"normal" | _acorex_cdk_wysiwyg.AXWysiwygFontSizeToken>;
|
|
313
|
+
protected readonly blockLabelSource: _angular_core.Signal<string>;
|
|
314
|
+
protected readonly blockLabel: _angular_core.Signal<string>;
|
|
315
|
+
protected readonly insertPlaceholderSource: _angular_core.Signal<"@acorex:wysiwyg.insert.image-url" | "@acorex:wysiwyg.insert.video-url">;
|
|
316
|
+
protected readonly insertPlaceholder: _angular_core.Signal<string>;
|
|
317
|
+
protected isHeadingActive(level: AXWysiwygHeadingLevel): boolean;
|
|
318
|
+
protected isParagraphActive(): boolean;
|
|
319
|
+
protected onFontSizeComboChange(value: AXComboBoxValue): void;
|
|
320
|
+
protected beginInsert(kind: 'image' | 'video'): void;
|
|
321
|
+
protected applyInsert(): void;
|
|
322
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXWysiwygFontStyleComponent, never>;
|
|
323
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXWysiwygFontStyleComponent, "ax-wysiwyg-font-style", never, { "headingLevels": { "alias": "headingLevels"; "required": false; "isSignal": true; }; "buttons": { "alias": "buttons"; "required": false; "isSignal": true; }; "menuItems": { "alias": "menuItems"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
142
324
|
}
|
|
143
325
|
|
|
326
|
+
type AXWysiwygHistoryButtonKey = 'undo' | 'redo';
|
|
144
327
|
/**
|
|
145
328
|
* Undo and redo controls for the WYSIWYG toolbar.
|
|
146
329
|
* @category Components
|
|
147
330
|
*/
|
|
148
331
|
declare class AXWysiwygHistoryComponent {
|
|
149
|
-
|
|
150
|
-
|
|
332
|
+
buttons: _angular_core.InputSignal<Partial<Record<AXWysiwygHistoryButtonKey, false | AXWysiwygButtonConfig>>>;
|
|
333
|
+
protected readonly wysiwyg: AXWysiwyg;
|
|
334
|
+
protected readonly context: AXWysiwygContext;
|
|
335
|
+
protected readonly state: _angular_core.WritableSignal<_acorex_cdk_wysiwyg.AXWysiwygState>;
|
|
336
|
+
protected readonly undoButton: _angular_core.Signal<AXWysiwygButtonConfig>;
|
|
337
|
+
protected readonly redoButton: _angular_core.Signal<AXWysiwygButtonConfig>;
|
|
338
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXWysiwygHistoryComponent, never>;
|
|
339
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXWysiwygHistoryComponent, "ax-wysiwyg-history", never, { "buttons": { "alias": "buttons"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
151
340
|
}
|
|
152
341
|
|
|
342
|
+
type AXWysiwygInsertButtonKey = 'link' | 'image' | 'video';
|
|
153
343
|
/**
|
|
154
|
-
*
|
|
344
|
+
* Link, image, and video insertion controls for the WYSIWYG toolbar.
|
|
155
345
|
* @category Components
|
|
156
346
|
*/
|
|
157
347
|
declare class AXWysiwygInsertComponent {
|
|
158
|
-
|
|
159
|
-
|
|
348
|
+
buttons: _angular_core.InputSignal<Partial<Record<AXWysiwygInsertButtonKey, false | AXWysiwygButtonConfig>>>;
|
|
349
|
+
protected readonly i18n: {
|
|
350
|
+
readonly placeholder: "@acorex:wysiwyg.placeholder";
|
|
351
|
+
readonly menu: {
|
|
352
|
+
readonly blockType: "@acorex:wysiwyg.menu.block-type";
|
|
353
|
+
readonly insert: "@acorex:wysiwyg.menu.insert";
|
|
354
|
+
readonly align: "@acorex:wysiwyg.menu.align";
|
|
355
|
+
};
|
|
356
|
+
readonly tools: {
|
|
357
|
+
readonly undo: "@acorex:wysiwyg.tools.undo";
|
|
358
|
+
readonly redo: "@acorex:wysiwyg.tools.redo";
|
|
359
|
+
readonly bold: "@acorex:wysiwyg.tools.bold";
|
|
360
|
+
readonly italic: "@acorex:wysiwyg.tools.italic";
|
|
361
|
+
readonly underline: "@acorex:wysiwyg.tools.underline";
|
|
362
|
+
readonly strike: "@acorex:wysiwyg.tools.strike";
|
|
363
|
+
readonly code: "@acorex:wysiwyg.tools.code";
|
|
364
|
+
readonly codeBlock: "@acorex:wysiwyg.tools.code-block";
|
|
365
|
+
readonly link: "@acorex:wysiwyg.tools.link";
|
|
366
|
+
readonly image: "@acorex:wysiwyg.tools.image";
|
|
367
|
+
readonly video: "@acorex:wysiwyg.tools.video";
|
|
368
|
+
readonly bulletList: "@acorex:wysiwyg.tools.bullet-list";
|
|
369
|
+
readonly orderedList: "@acorex:wysiwyg.tools.ordered-list";
|
|
370
|
+
readonly rtl: "@acorex:wysiwyg.tools.rtl";
|
|
371
|
+
readonly textColor: "@acorex:wysiwyg.tools.text-color";
|
|
372
|
+
readonly highlight: "@acorex:wysiwyg.tools.highlight";
|
|
373
|
+
readonly paragraph: "@acorex:wysiwyg.tools.paragraph";
|
|
374
|
+
readonly alignLeft: "@acorex:wysiwyg.tools.align-left";
|
|
375
|
+
readonly alignCenter: "@acorex:wysiwyg.tools.align-center";
|
|
376
|
+
readonly alignRight: "@acorex:wysiwyg.tools.align-right";
|
|
377
|
+
readonly alignJustify: "@acorex:wysiwyg.tools.align-justify";
|
|
378
|
+
};
|
|
379
|
+
readonly blocks: {
|
|
380
|
+
readonly paragraph: "@acorex:wysiwyg.blocks.paragraph";
|
|
381
|
+
readonly blockquote: "@acorex:wysiwyg.blocks.blockquote";
|
|
382
|
+
readonly codeBlock: "@acorex:wysiwyg.blocks.code-block";
|
|
383
|
+
readonly bulletList: "@acorex:wysiwyg.blocks.bullet-list";
|
|
384
|
+
readonly orderedList: "@acorex:wysiwyg.blocks.ordered-list";
|
|
385
|
+
readonly image: "@acorex:wysiwyg.blocks.image";
|
|
386
|
+
readonly video: "@acorex:wysiwyg.blocks.video";
|
|
387
|
+
readonly heading: (level: number) => string;
|
|
388
|
+
};
|
|
389
|
+
readonly fontSize: {
|
|
390
|
+
readonly placeholder: "@acorex:wysiwyg.font-size.placeholder";
|
|
391
|
+
readonly small: "@acorex:wysiwyg.font-size.small";
|
|
392
|
+
readonly normal: "@acorex:wysiwyg.font-size.normal";
|
|
393
|
+
readonly large: "@acorex:wysiwyg.font-size.large";
|
|
394
|
+
readonly huge: "@acorex:wysiwyg.font-size.huge";
|
|
395
|
+
};
|
|
396
|
+
readonly insert: {
|
|
397
|
+
readonly linkUrl: "@acorex:wysiwyg.insert.link-url";
|
|
398
|
+
readonly imageUrl: "@acorex:wysiwyg.insert.image-url";
|
|
399
|
+
readonly videoUrl: "@acorex:wysiwyg.insert.video-url";
|
|
400
|
+
readonly apply: "@acorex:wysiwyg.insert.apply";
|
|
401
|
+
readonly remove: "@acorex:wysiwyg.insert.remove";
|
|
402
|
+
readonly insert: "@acorex:wysiwyg.insert.insert";
|
|
403
|
+
};
|
|
404
|
+
};
|
|
405
|
+
protected readonly wysiwyg: AXWysiwyg;
|
|
406
|
+
protected readonly context: AXWysiwygContext;
|
|
407
|
+
protected readonly state: _angular_core.WritableSignal<_acorex_cdk_wysiwyg.AXWysiwygState>;
|
|
408
|
+
protected readonly linkButton: _angular_core.Signal<AXWysiwygButtonConfig>;
|
|
409
|
+
protected readonly imageButton: _angular_core.Signal<AXWysiwygButtonConfig>;
|
|
410
|
+
protected readonly videoButton: _angular_core.Signal<AXWysiwygButtonConfig>;
|
|
411
|
+
protected readonly linkUrl: _angular_core.WritableSignal<string>;
|
|
412
|
+
protected readonly imageUrl: _angular_core.WritableSignal<string>;
|
|
413
|
+
protected readonly videoUrl: _angular_core.WritableSignal<string>;
|
|
414
|
+
protected applyLink(): void;
|
|
415
|
+
protected removeLink(): void;
|
|
416
|
+
protected applyImage(): void;
|
|
417
|
+
protected applyVideo(): void;
|
|
418
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXWysiwygInsertComponent, never>;
|
|
419
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXWysiwygInsertComponent, "ax-wysiwyg-insert", never, { "buttons": { "alias": "buttons"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
160
420
|
}
|
|
161
421
|
|
|
422
|
+
type AXWysiwygListButtonKey = 'bulletList' | 'orderedList' | 'rtl';
|
|
162
423
|
/**
|
|
163
424
|
* List and text-direction controls for the WYSIWYG toolbar.
|
|
164
425
|
* @category Components
|
|
165
426
|
*/
|
|
166
427
|
declare class AXWysiwygListComponent {
|
|
167
|
-
|
|
168
|
-
|
|
428
|
+
buttons: _angular_core.InputSignal<Partial<Record<AXWysiwygListButtonKey, false | AXWysiwygButtonConfig>>>;
|
|
429
|
+
protected readonly wysiwyg: AXWysiwyg;
|
|
430
|
+
protected readonly context: AXWysiwygContext;
|
|
431
|
+
protected readonly state: _angular_core.WritableSignal<_acorex_cdk_wysiwyg.AXWysiwygState>;
|
|
432
|
+
protected readonly bulletButton: _angular_core.Signal<AXWysiwygButtonConfig>;
|
|
433
|
+
protected readonly orderedButton: _angular_core.Signal<AXWysiwygButtonConfig>;
|
|
434
|
+
protected readonly rtlButton: _angular_core.Signal<AXWysiwygButtonConfig>;
|
|
435
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXWysiwygListComponent, never>;
|
|
436
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXWysiwygListComponent, "ax-wysiwyg-list", never, { "buttons": { "alias": "buttons"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
169
437
|
}
|
|
170
438
|
|
|
171
439
|
/**
|
|
@@ -173,15 +441,73 @@ declare class AXWysiwygListComponent {
|
|
|
173
441
|
* @category Components
|
|
174
442
|
*/
|
|
175
443
|
declare class AXWysiwygViewComponent {
|
|
176
|
-
editor:
|
|
177
|
-
static ɵfac:
|
|
178
|
-
static ɵcmp:
|
|
444
|
+
editor: _angular_core.Signal<ElementRef<HTMLDivElement>>;
|
|
445
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXWysiwygViewComponent, never>;
|
|
446
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AXWysiwygViewComponent, "ax-wysiwyg-view", never, {}, {}, never, never, true, never>;
|
|
179
447
|
}
|
|
180
448
|
|
|
181
449
|
declare class AXWysiwygModule {
|
|
182
|
-
static ɵfac:
|
|
183
|
-
static ɵmod:
|
|
184
|
-
static ɵinj:
|
|
450
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AXWysiwygModule, never>;
|
|
451
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AXWysiwygModule, never, [typeof AXWysiwygContainerComponent, typeof AXWysiwygViewComponent, typeof AXWysiwygAlignmentComponent, typeof AXWysiwygColorsComponent, typeof AXWysiwygFontStyleComponent, typeof AXWysiwygHistoryComponent, typeof AXWysiwygInsertComponent, typeof AXWysiwygListComponent, typeof AXWysiwygToolbarComponent], [typeof AXWysiwygContainerComponent, typeof AXWysiwygViewComponent, typeof AXWysiwygAlignmentComponent, typeof AXWysiwygColorsComponent, typeof AXWysiwygFontStyleComponent, typeof AXWysiwygHistoryComponent, typeof AXWysiwygInsertComponent, typeof AXWysiwygListComponent, typeof AXWysiwygToolbarComponent]>;
|
|
452
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<AXWysiwygModule>;
|
|
185
453
|
}
|
|
186
454
|
|
|
187
|
-
|
|
455
|
+
declare const AX_WYSIWYG_I18N: {
|
|
456
|
+
readonly placeholder: "@acorex:wysiwyg.placeholder";
|
|
457
|
+
readonly menu: {
|
|
458
|
+
readonly blockType: "@acorex:wysiwyg.menu.block-type";
|
|
459
|
+
readonly insert: "@acorex:wysiwyg.menu.insert";
|
|
460
|
+
readonly align: "@acorex:wysiwyg.menu.align";
|
|
461
|
+
};
|
|
462
|
+
readonly tools: {
|
|
463
|
+
readonly undo: "@acorex:wysiwyg.tools.undo";
|
|
464
|
+
readonly redo: "@acorex:wysiwyg.tools.redo";
|
|
465
|
+
readonly bold: "@acorex:wysiwyg.tools.bold";
|
|
466
|
+
readonly italic: "@acorex:wysiwyg.tools.italic";
|
|
467
|
+
readonly underline: "@acorex:wysiwyg.tools.underline";
|
|
468
|
+
readonly strike: "@acorex:wysiwyg.tools.strike";
|
|
469
|
+
readonly code: "@acorex:wysiwyg.tools.code";
|
|
470
|
+
readonly codeBlock: "@acorex:wysiwyg.tools.code-block";
|
|
471
|
+
readonly link: "@acorex:wysiwyg.tools.link";
|
|
472
|
+
readonly image: "@acorex:wysiwyg.tools.image";
|
|
473
|
+
readonly video: "@acorex:wysiwyg.tools.video";
|
|
474
|
+
readonly bulletList: "@acorex:wysiwyg.tools.bullet-list";
|
|
475
|
+
readonly orderedList: "@acorex:wysiwyg.tools.ordered-list";
|
|
476
|
+
readonly rtl: "@acorex:wysiwyg.tools.rtl";
|
|
477
|
+
readonly textColor: "@acorex:wysiwyg.tools.text-color";
|
|
478
|
+
readonly highlight: "@acorex:wysiwyg.tools.highlight";
|
|
479
|
+
readonly paragraph: "@acorex:wysiwyg.tools.paragraph";
|
|
480
|
+
readonly alignLeft: "@acorex:wysiwyg.tools.align-left";
|
|
481
|
+
readonly alignCenter: "@acorex:wysiwyg.tools.align-center";
|
|
482
|
+
readonly alignRight: "@acorex:wysiwyg.tools.align-right";
|
|
483
|
+
readonly alignJustify: "@acorex:wysiwyg.tools.align-justify";
|
|
484
|
+
};
|
|
485
|
+
readonly blocks: {
|
|
486
|
+
readonly paragraph: "@acorex:wysiwyg.blocks.paragraph";
|
|
487
|
+
readonly blockquote: "@acorex:wysiwyg.blocks.blockquote";
|
|
488
|
+
readonly codeBlock: "@acorex:wysiwyg.blocks.code-block";
|
|
489
|
+
readonly bulletList: "@acorex:wysiwyg.blocks.bullet-list";
|
|
490
|
+
readonly orderedList: "@acorex:wysiwyg.blocks.ordered-list";
|
|
491
|
+
readonly image: "@acorex:wysiwyg.blocks.image";
|
|
492
|
+
readonly video: "@acorex:wysiwyg.blocks.video";
|
|
493
|
+
readonly heading: (level: number) => string;
|
|
494
|
+
};
|
|
495
|
+
readonly fontSize: {
|
|
496
|
+
readonly placeholder: "@acorex:wysiwyg.font-size.placeholder";
|
|
497
|
+
readonly small: "@acorex:wysiwyg.font-size.small";
|
|
498
|
+
readonly normal: "@acorex:wysiwyg.font-size.normal";
|
|
499
|
+
readonly large: "@acorex:wysiwyg.font-size.large";
|
|
500
|
+
readonly huge: "@acorex:wysiwyg.font-size.huge";
|
|
501
|
+
};
|
|
502
|
+
readonly insert: {
|
|
503
|
+
readonly linkUrl: "@acorex:wysiwyg.insert.link-url";
|
|
504
|
+
readonly imageUrl: "@acorex:wysiwyg.insert.image-url";
|
|
505
|
+
readonly videoUrl: "@acorex:wysiwyg.insert.video-url";
|
|
506
|
+
readonly apply: "@acorex:wysiwyg.insert.apply";
|
|
507
|
+
readonly remove: "@acorex:wysiwyg.insert.remove";
|
|
508
|
+
readonly insert: "@acorex:wysiwyg.insert.insert";
|
|
509
|
+
};
|
|
510
|
+
};
|
|
511
|
+
|
|
512
|
+
export { AXWysiwygAlignmentComponent, AXWysiwygColorsComponent, AXWysiwygContainerComponent, AXWysiwygFontStyleComponent, AXWysiwygHistoryComponent, AXWysiwygInsertComponent, AXWysiwygListComponent, AXWysiwygModule, AXWysiwygToolbarComponent, AXWysiwygViewComponent, AX_WYSIWYG_I18N };
|
|
513
|
+
export type { AXWysiwygAlignmentButtonKey, AXWysiwygBlockMenuItemKey, AXWysiwygColorsButtonKey, AXWysiwygFontStyleButtonKey, AXWysiwygHistoryButtonKey, AXWysiwygInsertButtonKey, AXWysiwygListButtonKey, AXWysiwygMode };
|