@candy-kingdom/bonnie-cms 0.26.16 → 0.27.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,11 +1,337 @@
1
- import { FileSrcFileMeta, LocalizedString, FileFormat, FileSrcImageMeta, PixMediaUnion, OpenGraphData, FileSrc, FileMeta, SvgMeta, ImageMeta, PageBase, MediaObjectFit, Bone } from '@candy-kingdom/bonnie';
2
- import * as i0 from '@angular/core';
3
- import { EventEmitter, AfterContentInit, OnDestroy, QueryList, OnInit, InjectionToken, ElementRef, OnChanges, AfterViewInit, ViewContainerRef, Type } from '@angular/core';
4
- import { Subscription, Observable } from 'rxjs';
5
- import { AnimationOptions } from 'ngx-lottie';
1
+ import * as _angular_core from '@angular/core';
2
+ import { ModelSignal, InputSignal, Signal, OutputEmitterRef, ElementRef, InjectionToken, Type, ViewContainerRef } from '@angular/core';
3
+ import { PixMediaUnion, LocalizedString, Bone, FileSrc, FileMeta, ImageMeta, OpenGraphData, SvgMeta, FileSrcFileMeta, FileFormat, FileSrcImageMeta, MediaObjectFit, PageBase } from '@candy-kingdom/bonnie';
6
4
  import { SafeStyle } from '@angular/platform-browser';
5
+ import { AnimationOptions } from 'ngx-lottie';
6
+ import { Observable } from 'rxjs';
7
7
  import { CdkTextareaAutosize } from '@angular/cdk/text-field';
8
8
 
9
+ declare enum DeviceType {
10
+ NotSet = 0,
11
+ Mobile = 1,
12
+ Tablet = 2,
13
+ Desktop = 3
14
+ }
15
+
16
+ declare enum DeviceVisibility {
17
+ None = 0,
18
+ Desktop = 1,
19
+ Tablet = 2,
20
+ Mobile = 4,
21
+ All = 7
22
+ }
23
+
24
+ type MediaType = PixMediaUnion["type"];
25
+
26
+ declare enum TextEditorField {
27
+ NotSet = 0,
28
+ Input = 1,
29
+ Textarea = 2
30
+ }
31
+
32
+ declare const regExpIsMobile: RegExp;
33
+ declare function isLocalUrlString(url: string): boolean;
34
+ declare function hasFlag<T extends number>(value: T, flag: T): boolean;
35
+ declare function setOrRemoveFlag<T extends number>(value: T, flag: T, enabled: boolean): T;
36
+
37
+ declare class EditableDirective<T = unknown> {
38
+ readonly saved: _angular_core.OutputEmitterRef<T>;
39
+ readonly editModeChange: _angular_core.OutputEmitterRef<boolean>;
40
+ readonly externalSaveCall: _angular_core.OutputEmitterRef<void>;
41
+ readonly canceled: _angular_core.OutputEmitterRef<void>;
42
+ readonly valueChange: _angular_core.OutputEmitterRef<T | undefined>;
43
+ private propagateChange;
44
+ private readonly _inEditMode;
45
+ readonly inEditMode: _angular_core.Signal<boolean>;
46
+ private readonly _isDirty;
47
+ readonly isDirty: _angular_core.Signal<boolean>;
48
+ private _value?;
49
+ private _originalValue?;
50
+ private _storedData?;
51
+ requestSave(): void;
52
+ startEditing: () => void;
53
+ save(newData?: T): void;
54
+ patchSave(propName: keyof T, newDataParts: T[keyof T]): void;
55
+ silentPatch(dict: Partial<T>): void;
56
+ cancel(): void;
57
+ close(): void;
58
+ private finishEditing;
59
+ private setValue;
60
+ set value(newValue: T | undefined);
61
+ get value(): T | undefined;
62
+ updateDirty(): void;
63
+ markAsDirty(): void;
64
+ private setOriginal;
65
+ writeValue(newValue: T): void;
66
+ setDisabledState?(): void;
67
+ registerOnChange(tellAngularThatSomethingIsChanged: (newValue: T) => void): void;
68
+ registerOnTouched(): void;
69
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EditableDirective<any>, never>;
70
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<EditableDirective<any>, "[boncEditable]", never, {}, { "saved": "saved"; "editModeChange": "editModeChange"; "externalSaveCall": "externalSaveCall"; "canceled": "canceled"; "valueChange": "valueChange"; }, never, never, true, never>;
71
+ }
72
+
73
+ declare class EditableGroupComponent {
74
+ readonly editModeChange: _angular_core.OutputEmitterRef<boolean>;
75
+ readonly saved: _angular_core.OutputEmitterRef<void>;
76
+ readonly requestEditorClose: _angular_core.OutputEmitterRef<boolean>;
77
+ readonly editables: _angular_core.Signal<readonly EditableDirective<any>[]>;
78
+ private readonly _subscriptions;
79
+ readonly inEditMode: _angular_core.WritableSignal<boolean>;
80
+ private readonly _saveSubject;
81
+ constructor();
82
+ saveAll(): void;
83
+ cancelAll(): void;
84
+ closeAll(): void;
85
+ private clearSubscriptions;
86
+ private updateSubscriptions;
87
+ private onSave;
88
+ private updateEditMode;
89
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EditableGroupComponent, never>;
90
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EditableGroupComponent, "bonc-editable-group", never, {}, { "editModeChange": "editModeChange"; "saved": "saved"; "requestEditorClose": "requestEditorClose"; }, ["editables"], ["*"], true, never>;
91
+ }
92
+
93
+ declare abstract class FormBaseComponent<TData = unknown> {
94
+ protected name: string;
95
+ readonly editable: EditableDirective<TData>;
96
+ readonly locale: _angular_core.InputSignal<string>;
97
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormBaseComponent<any>, never>;
98
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormBaseComponent<any>, "ng-component", never, { "locale": { "alias": "locale"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
99
+ }
100
+
101
+ declare class LinkPopupComponent {
102
+ readonly TextEditorField: typeof TextEditorField;
103
+ readonly LinkPopupField: typeof TextEditorField;
104
+ readonly linkChange: _angular_core.OutputEmitterRef<LocalizedString>;
105
+ readonly startEditing: _angular_core.OutputEmitterRef<void>;
106
+ readonly changed: _angular_core.OutputEmitterRef<void>;
107
+ readonly blurred: _angular_core.OutputEmitterRef<void>;
108
+ readonly open: _angular_core.OutputEmitterRef<void>;
109
+ readonly closed: _angular_core.OutputEmitterRef<void>;
110
+ readonly field: _angular_core.InputSignal<TextEditorField>;
111
+ readonly maxRows: _angular_core.InputSignal<number | undefined>;
112
+ readonly minRows: _angular_core.InputSignal<number | undefined>;
113
+ readonly linkTitle: _angular_core.InputSignal<LocalizedString>;
114
+ readonly locale: _angular_core.InputSignal<string>;
115
+ readonly link: _angular_core.InputSignal<LocalizedString>;
116
+ popupIsShown: boolean;
117
+ onClick(): void;
118
+ onChange(): void;
119
+ onBlur(): void;
120
+ showPopup(): void;
121
+ hidePopup(): void;
122
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<LinkPopupComponent, never>;
123
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<LinkPopupComponent, "bonc-link-popup", never, { "field": { "alias": "field"; "required": true; "isSignal": true; }; "maxRows": { "alias": "maxRows"; "required": false; "isSignal": true; }; "minRows": { "alias": "minRows"; "required": false; "isSignal": true; }; "linkTitle": { "alias": "linkTitle"; "required": true; "isSignal": true; }; "locale": { "alias": "locale"; "required": true; "isSignal": true; }; "link": { "alias": "link"; "required": true; "isSignal": true; }; }, { "linkChange": "linkChange"; "startEditing": "startEditing"; "changed": "changed"; "blurred": "blurred"; "open": "open"; "closed": "closed"; }, never, never, true, never>;
124
+ }
125
+
126
+ declare class AdminControlsComponent {
127
+ readonly DeviceType: typeof DeviceType;
128
+ readonly editableGroup: _angular_core.InputSignal<EditableGroupComponent>;
129
+ readonly deviceControls: _angular_core.InputSignal<boolean>;
130
+ locale: string;
131
+ device: DeviceType;
132
+ changeLocale(): void;
133
+ changeDevice(): void;
134
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AdminControlsComponent, never>;
135
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AdminControlsComponent, "bonc-admin-controls", never, { "editableGroup": { "alias": "editableGroup"; "required": true; "isSignal": true; }; "deviceControls": { "alias": "deviceControls"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
136
+ }
137
+
138
+ interface ContentPreset<out TBone extends Bone> {
139
+ title: string;
140
+ isActive(data: TBone): boolean;
141
+ clean(data: TBone): void;
142
+ transformer(bone: TBone): void;
143
+ }
144
+ declare function createPreset<TBone extends Bone>(params: {
145
+ title: string;
146
+ style: string;
147
+ }): ContentPreset<TBone>;
148
+
149
+ interface IBoneEditor<TBone extends Bone = Bone> {
150
+ boneEtalon: ModelSignal<TBone>;
151
+ locale: InputSignal<string>;
152
+ device: InputSignal<DeviceType>;
153
+ currentPreset: Signal<ContentPreset<TBone> | undefined>;
154
+ noPresets: Signal<boolean>;
155
+ readonly saved: OutputEmitterRef<Bone>;
156
+ readonly removed: OutputEmitterRef<void>;
157
+ readonly editing: OutputEmitterRef<boolean>;
158
+ readonly isDirty: Signal<boolean>;
159
+ readonly isEditing: Signal<boolean>;
160
+ save(): void;
161
+ remove(): void;
162
+ resetData(): void;
163
+ startEditing(): void;
164
+ finishEditing(): void;
165
+ markAsDirty(): void;
166
+ updateDirty(): void;
167
+ nextPreset(): void;
168
+ onReset(): void;
169
+ onFinishEditing(): void;
170
+ }
171
+
172
+ declare abstract class BoneEditorBaseComponent<TBone extends Bone> implements IBoneEditor<TBone> {
173
+ readonly editing: _angular_core.OutputEmitterRef<boolean>;
174
+ readonly saved: _angular_core.OutputEmitterRef<Bone>;
175
+ readonly removed: _angular_core.OutputEmitterRef<void>;
176
+ readonly boneEtalon: _angular_core.ModelSignal<TBone>;
177
+ readonly locale: _angular_core.InputSignal<string>;
178
+ readonly device: _angular_core.InputSignal<DeviceType>;
179
+ private readonly _presets;
180
+ readonly presets: _angular_core.Signal<ContentPreset<TBone>[]>;
181
+ private readonly _currentPreset;
182
+ readonly currentPreset: _angular_core.Signal<ContentPreset<TBone> | undefined>;
183
+ private readonly _isDirty;
184
+ readonly isDirty: _angular_core.Signal<boolean>;
185
+ private readonly _isEditing;
186
+ readonly isEditing: _angular_core.Signal<boolean>;
187
+ readonly noPresets: _angular_core.Signal<boolean>;
188
+ protected readonly bone: _angular_core.WritableSignal<TBone>;
189
+ private _storedBoneJson;
190
+ abstract onReset(): void;
191
+ abstract onFinishEditing(): void;
192
+ protected abstract getPresets(): ContentPreset<TBone>[];
193
+ constructor();
194
+ get isMobile(): boolean;
195
+ get isTablet(): boolean;
196
+ get isDesktop(): boolean;
197
+ resetData(): void;
198
+ updateDirty(): void;
199
+ markAsDirty(): void;
200
+ remove(): void;
201
+ save(): void;
202
+ startEditing(): void;
203
+ finishEditing(): void;
204
+ nextPreset(): void;
205
+ private applyPresetAtIndex;
206
+ private updatePresetByData;
207
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BoneEditorBaseComponent<any>, never>;
208
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BoneEditorBaseComponent<any>, "ng-component", never, { "boneEtalon": { "alias": "boneEtalon"; "required": true; "isSignal": true; }; "locale": { "alias": "locale"; "required": true; "isSignal": true; }; "device": { "alias": "device"; "required": false; "isSignal": true; }; }, { "editing": "editing"; "saved": "saved"; "removed": "removed"; "boneEtalon": "boneEtalonChange"; }, never, never, true, never>;
209
+ }
210
+
211
+ declare class UnknownBoneEditorComponent extends BoneEditorBaseComponent<Bone> {
212
+ onFinishEditing(): void;
213
+ onReset(): void;
214
+ protected getPresets(): ContentPreset<Bone>[];
215
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<UnknownBoneEditorComponent, never>;
216
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<UnknownBoneEditorComponent, "bonc-unknown-bone-editor", never, {}, {}, never, never, true, never>;
217
+ }
218
+
219
+ declare class FileUploaderComponent {
220
+ readonly fileInput: _angular_core.Signal<ElementRef<HTMLInputElement>>;
221
+ readonly srcChange: _angular_core.OutputEmitterRef<FileSrc<FileMeta>>;
222
+ readonly uploadUrlMap: _angular_core.InputSignal<ReadonlyMap<string, string>>;
223
+ readonly src: _angular_core.InputSignal<FileSrc<FileMeta> | undefined>;
224
+ readonly uploadTypes: _angular_core.InputSignal<string[]>;
225
+ readonly fileTypeMask: _angular_core.Signal<string | undefined>;
226
+ readonly progress: _angular_core.WritableSignal<number>;
227
+ readonly isUploading: _angular_core.WritableSignal<boolean>;
228
+ readonly clipStyle: _angular_core.WritableSignal<SafeStyle | undefined>;
229
+ private readonly sanitizer;
230
+ private readonly http;
231
+ onFileSelect(fileInput: HTMLInputElement): void;
232
+ selectFile(event: Event): void;
233
+ private getEventMessage;
234
+ private updateClip;
235
+ private handleError;
236
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FileUploaderComponent, never>;
237
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FileUploaderComponent, "bonc-file-uploader", never, { "uploadUrlMap": { "alias": "uploadUrlMap"; "required": true; "isSignal": true; }; "src": { "alias": "src"; "required": false; "isSignal": true; }; "uploadTypes": { "alias": "uploadTypes"; "required": false; "isSignal": true; }; }, { "srcChange": "srcChange"; }, never, ["*"], true, never>;
238
+ }
239
+
240
+ declare class FormControlsComponent {
241
+ readonly editable: _angular_core.InputSignal<EditableDirective<any>>;
242
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormControlsComponent, never>;
243
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormControlsComponent, "bonc-form-controls", never, { "editable": { "alias": "editable"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>;
244
+ }
245
+
246
+ declare class FileFormComponent extends FormBaseComponent<FileSrc<FileMeta>> {
247
+ readonly label: _angular_core.InputSignal<string>;
248
+ readonly uploadTypes: _angular_core.InputSignal<string[]>;
249
+ readonly uploadMap: _angular_core.InputSignal<Map<string, string>>;
250
+ constructor();
251
+ onFileUploaded(fileSrc: FileSrc<FileMeta>): void;
252
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FileFormComponent, never>;
253
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FileFormComponent, "bonc-file-form", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "uploadTypes": { "alias": "uploadTypes"; "required": true; "isSignal": true; }; "uploadMap": { "alias": "uploadMap"; "required": true; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof EditableDirective; inputs: {}; outputs: {}; }]>;
254
+ }
255
+
256
+ declare class LottieFormComponent extends FormBaseComponent<FileSrc<FileMeta>> {
257
+ readonly LottieMimeType = "application/json";
258
+ animOptions?: AnimationOptions;
259
+ readonly label: _angular_core.InputSignal<string>;
260
+ readonly uploadMap: _angular_core.InputSignal<Map<string, string>>;
261
+ constructor();
262
+ onFileUploaded(fileSrc: FileSrc<FileMeta>): void;
263
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<LottieFormComponent, never>;
264
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<LottieFormComponent, "bonc-lottie-form", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "uploadMap": { "alias": "uploadMap"; "required": true; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof EditableDirective; inputs: {}; outputs: {}; }]>;
265
+ }
266
+
267
+ declare class OneImageFormComponent extends FormBaseComponent<FileSrc<ImageMeta>> {
268
+ readonly label: _angular_core.InputSignal<string>;
269
+ readonly uploadUrl: _angular_core.InputSignal<string>;
270
+ readonly mimeTypes: _angular_core.InputSignal<string[]>;
271
+ readonly uploadMap: _angular_core.Signal<Map<string, string>>;
272
+ private readonly destroyRef;
273
+ constructor();
274
+ onFileUploaded(fileSrc: FileSrc<FileMeta>): void;
275
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<OneImageFormComponent, never>;
276
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<OneImageFormComponent, "bonc-one-image-form", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "uploadUrl": { "alias": "uploadUrl"; "required": false; "isSignal": true; }; "mimeTypes": { "alias": "mimeTypes"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof EditableDirective; inputs: {}; outputs: {}; }]>;
277
+ }
278
+
279
+ declare class SeoFormComponent extends FormBaseComponent<OpenGraphData> {
280
+ readonly uploadMap: Map<string, string>;
281
+ readonly label: _angular_core.InputSignal<string>;
282
+ readonly pageId: _angular_core.InputSignal<string>;
283
+ readonly ogImageUploadUrl: _angular_core.Signal<string>;
284
+ constructor();
285
+ ResToSrc(res: {
286
+ url: string;
287
+ }): string;
288
+ replaceImage($event: FileSrc<FileMeta>): void;
289
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SeoFormComponent, never>;
290
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SeoFormComponent, "bonc-seo-form", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "pageId": { "alias": "pageId"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof EditableDirective; inputs: {}; outputs: {}; }]>;
291
+ }
292
+
293
+ declare class SvgFormComponent extends FormBaseComponent<FileSrc<SvgMeta>> {
294
+ readonly SvgMime = "image/svg+xml";
295
+ readonly label: _angular_core.InputSignal<string>;
296
+ readonly uploadUrl: _angular_core.InputSignal<string>;
297
+ readonly uploadMap: _angular_core.Signal<Map<string, string>>;
298
+ constructor();
299
+ onFileUploaded(fileSrc: FileSrc<FileMeta>): void;
300
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SvgFormComponent, never>;
301
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SvgFormComponent, "bonc-svg-form", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "uploadUrl": { "alias": "uploadUrl"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof EditableDirective; inputs: {}; outputs: {}; }]>;
302
+ }
303
+
304
+ declare enum TextInputStyle {
305
+ NotSet = 0,
306
+ SingleLine = 1,
307
+ MultiLine = 2
308
+ }
309
+
310
+ declare class TextFormComponent extends FormBaseComponent<string> {
311
+ readonly TextInputStyle: typeof TextInputStyle;
312
+ readonly label: _angular_core.InputSignal<string>;
313
+ readonly type: _angular_core.InputSignal<TextInputStyle>;
314
+ constructor();
315
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TextFormComponent, never>;
316
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TextFormComponent, "bonc-text-form", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof EditableDirective; inputs: {}; outputs: {}; }]>;
317
+ }
318
+
319
+ declare class TranslationFormComponent extends FormBaseComponent<LocalizedString> {
320
+ readonly TextEditorField: typeof TextEditorField;
321
+ readonly field: _angular_core.InputSignal<TextEditorField>;
322
+ readonly label: _angular_core.InputSignal<string | undefined>;
323
+ constructor();
324
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TranslationFormComponent, never>;
325
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TranslationFormComponent, "bonc-translation-form", never, { "field": { "alias": "field"; "required": true; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof EditableDirective; inputs: {}; outputs: {}; }]>;
326
+ }
327
+
328
+ declare class UnknownFormComponent extends FormBaseComponent<string> {
329
+ readonly label: _angular_core.InputSignal<string>;
330
+ constructor();
331
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<UnknownFormComponent, never>;
332
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<UnknownFormComponent, "bonc-unknown-form", never, { "label": { "alias": "label"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof EditableDirective; inputs: {}; outputs: {}; }]>;
333
+ }
334
+
9
335
  /**
10
336
  * This is a TypeGen auto-generated file.
11
337
  * Any changes made to this file can be lost when this file is regenerated.
@@ -29,8 +355,7 @@ interface FileSettingData extends SettingData {
29
355
  * This is a TypeGen auto-generated file.
30
356
  * Any changes made to this file can be lost when this file is regenerated.
31
357
  */
32
- interface IEquatable<T> {
33
- }
358
+ type IEquatable<_T> = {};
34
359
 
35
360
  /**
36
361
  * This is a TypeGen auto-generated file.
@@ -134,235 +459,43 @@ interface TextSettingData extends SettingData {
134
459
  textType: TextSettingType;
135
460
  }
136
461
 
137
- declare enum DeviceType {
138
- NotSet = 0,
139
- Mobile = 1,
140
- Tablet = 2,
141
- Desktop = 3
142
- }
143
-
144
- type MediaType = PixMediaUnion["type"];
145
-
146
- declare enum TextEditorField {
147
- NotSet = 0,
148
- Input = 1,
149
- Textarea = 2
150
- }
151
-
152
- declare const regExpIsMobile: RegExp;
153
- declare function isLocalUrlString(url: string): boolean;
154
- declare function hasFlag<T extends number>(value: T, flag: T): boolean;
155
- declare function setOrRemoveFlag<T extends number>(value: T, flag: T, enabled: boolean): T;
156
-
157
- declare enum DeviceVisibility {
158
- None = 0,
159
- Desktop = 1,
160
- Tablet = 2,
161
- Mobile = 4,
162
- All = 7
163
- }
164
-
165
- declare class EditableDirective<T = unknown> {
166
- readonly saved: EventEmitter<T>;
167
- readonly editModeChange: EventEmitter<boolean>;
168
- readonly externalSaveCall: EventEmitter<void>;
169
- readonly canceled: EventEmitter<void>;
170
- readonly valueChange: EventEmitter<T>;
171
- private propagateChange;
172
- private _inEditMode;
173
- private _isDirty;
174
- private _value?;
175
- private _originalValue?;
176
- private _storedData?;
177
- get inEditMode(): boolean;
178
- subscribe(params: {
179
- readonly onValueChange?: (x: T) => void;
180
- readonly onEditModeChange?: (x: boolean) => void;
181
- readonly onSaveRequest?: () => void;
182
- }): Subscription[];
183
- requestSave(): void;
184
- startEditing: () => void;
185
- save(newData?: T): void;
186
- patchSave(propName: keyof T, newDataParts: T[keyof T]): void;
187
- silentPatch(dict: Partial<T>): void;
188
- cancel(): void;
189
- close(): void;
190
- private finishEditing;
191
- private setValue;
192
- set value(newValue: T | undefined);
193
- get value(): T | undefined;
194
- updateDirty(): void;
195
- markAsDirty(): void;
196
- get isDirty(): boolean;
197
- private setOriginal;
198
- writeValue(newValue: T): void;
199
- setDisabledState?(): void;
200
- registerOnChange(tellAngularThatSomethingIsChanged: (newValue: T) => void): void;
201
- registerOnTouched(): void;
202
- static ɵfac: i0.ɵɵFactoryDeclaration<EditableDirective<any>, never>;
203
- static ɵdir: i0.ɵɵDirectiveDeclaration<EditableDirective<any>, "[boncEditable]", never, {}, { "saved": "saved"; "editModeChange": "editModeChange"; "externalSaveCall": "externalSaveCall"; "canceled": "canceled"; "valueChange": "valueChange"; }, never, never, true, never>;
204
- }
205
-
206
- declare class EditableGroupComponent implements AfterContentInit, OnDestroy {
207
- readonly editModeChange: EventEmitter<boolean>;
208
- readonly saved: EventEmitter<void>;
209
- readonly requestEditorClose: EventEmitter<boolean>;
210
- editables: QueryList<EditableDirective>;
211
- private readonly subscriptions;
212
- private _inEditMode;
213
- private readonly saveSubject;
214
- ngAfterContentInit(): void;
215
- get inEditMode(): boolean;
216
- saveAll(): void;
217
- cancelAll(): void;
218
- closeAll(): void;
219
- private clearSubscribtions;
220
- private updateSubscriptions;
221
- private onSave;
222
- private updateEditMode;
223
- ngOnDestroy(): void;
224
- static ɵfac: i0.ɵɵFactoryDeclaration<EditableGroupComponent, never>;
225
- static ɵcmp: i0.ɵɵComponentDeclaration<EditableGroupComponent, "bonc-editable-group", never, {}, { "editModeChange": "editModeChange"; "saved": "saved"; "requestEditorClose": "requestEditorClose"; }, ["editables"], ["*"], true, never>;
226
- }
227
-
228
- declare abstract class FormBaseComponent<TData = unknown> {
229
- static readonly inputs: string[];
230
- protected name: string;
231
- private _locale;
232
- readonly editable: EditableDirective<TData>;
233
- set locale(value: string);
234
- get locale(): string;
235
- static ɵfac: i0.ɵɵFactoryDeclaration<FormBaseComponent<any>, never>;
236
- static ɵcmp: i0.ɵɵComponentDeclaration<FormBaseComponent<any>, "ng-component", never, { "locale": { "alias": "locale"; "required": false; }; }, {}, never, never, true, never>;
237
- }
238
-
239
- declare class LinkPopupComponent {
240
- readonly TextEditorField: typeof TextEditorField;
241
- linkChange: EventEmitter<LocalizedString>;
242
- startEditing: EventEmitter<void>;
243
- changed: EventEmitter<void>;
244
- blurred: EventEmitter<void>;
245
- open: EventEmitter<void>;
246
- closed: EventEmitter<void>;
247
- field: TextEditorField;
248
- LinkPopupField: typeof TextEditorField;
249
- maxRows?: number;
250
- minRows?: number;
251
- linkTitle: LocalizedString;
252
- locale: string;
253
- link: LocalizedString;
254
- popupIsShown: boolean;
255
- onClick(): void;
256
- onChange(): void;
257
- onBlur(): void;
258
- showPopup(): void;
259
- hidePopup(): void;
260
- static ɵfac: i0.ɵɵFactoryDeclaration<LinkPopupComponent, never>;
261
- static ɵcmp: i0.ɵɵComponentDeclaration<LinkPopupComponent, "bonc-link-popup", never, { "field": { "alias": "field"; "required": true; }; "maxRows": { "alias": "maxRows"; "required": false; }; "minRows": { "alias": "minRows"; "required": false; }; "linkTitle": { "alias": "linkTitle"; "required": true; }; "locale": { "alias": "locale"; "required": true; }; "link": { "alias": "link"; "required": true; }; }, { "linkChange": "linkChange"; "startEditing": "startEditing"; "changed": "changed"; "blurred": "blurred"; "open": "open"; "closed": "closed"; }, never, never, true, never>;
262
- }
263
-
264
- declare class SeoFormComponent extends FormBaseComponent<OpenGraphData> implements OnInit {
265
- readonly uploadMap: Map<string, string>;
266
- private _pageId;
267
- ogImageUploadUrl: string;
268
- label: string;
269
- ngOnInit(): void;
270
- set pageId(value: string);
271
- get pageId(): string;
272
- ResToSrc(res: {
273
- url: string;
274
- }): string;
275
- replaceImage($event: FileSrc<FileMeta>): void;
276
- static ɵfac: i0.ɵɵFactoryDeclaration<SeoFormComponent, never>;
277
- static ɵcmp: i0.ɵɵComponentDeclaration<SeoFormComponent, "bonc-seo-form", never, { "label": { "alias": "label"; "required": false; }; "pageId": { "alias": "pageId"; "required": false; }; }, {}, never, never, true, [{ directive: typeof EditableDirective; inputs: {}; outputs: {}; }]>;
462
+ declare class MediaUploaderComponent {
463
+ readonly MediaObjectFit: typeof MediaObjectFit;
464
+ readonly fileInput: _angular_core.Signal<ElementRef<HTMLInputElement>>;
465
+ readonly srcChange: _angular_core.OutputEmitterRef<PixMediaUnion>;
466
+ readonly uploadUrlMap: _angular_core.InputSignal<ReadonlyMap<"video" | "image", string>>;
467
+ readonly forceRatio: _angular_core.InputSignal<number | undefined>;
468
+ readonly src: _angular_core.InputSignal<PixMediaUnion | undefined>;
469
+ readonly uploadType: _angular_core.InputSignal<"video" | "image" | undefined>;
470
+ readonly fileTypeMask: _angular_core.Signal<string>;
471
+ readonly progress: _angular_core.WritableSignal<number>;
472
+ readonly isUploading: _angular_core.WritableSignal<boolean>;
473
+ readonly clipStyle: _angular_core.WritableSignal<SafeStyle | undefined>;
474
+ private readonly sanitizer;
475
+ private readonly http;
476
+ onFileSelect(fileInput: HTMLInputElement): void;
477
+ selectFile(event: Event): void;
478
+ private getEventMessage;
479
+ private updateClip;
480
+ private handleError;
481
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MediaUploaderComponent, never>;
482
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MediaUploaderComponent, "bonc-media-uploader", never, { "uploadUrlMap": { "alias": "uploadUrlMap"; "required": true; "isSignal": true; }; "forceRatio": { "alias": "forceRatio"; "required": false; "isSignal": true; }; "src": { "alias": "src"; "required": false; "isSignal": true; }; "uploadType": { "alias": "uploadType"; "required": false; "isSignal": true; }; }, { "srcChange": "srcChange"; }, never, never, true, never>;
278
483
  }
279
484
 
280
- declare class SvgFormComponent extends FormBaseComponent<FileSrc<SvgMeta>> implements OnInit {
281
- private readonly cd;
282
- readonly SvgMime = "image/svg+xml";
283
- label: string;
284
- uploadMap: Map<string, string>;
285
- private _uploadUrl;
286
- constructor();
287
- ngOnInit(): void;
288
- set uploadUrl(newValue: string);
289
- onFileUploaded(fileSrc: FileSrc<FileMeta>): void;
290
- static ɵfac: i0.ɵɵFactoryDeclaration<SvgFormComponent, never>;
291
- static ɵcmp: i0.ɵɵComponentDeclaration<SvgFormComponent, "bonc-svg-form", never, { "label": { "alias": "label"; "required": false; }; "uploadUrl": { "alias": "uploadUrl"; "required": false; }; }, {}, never, never, true, [{ directive: typeof EditableDirective; inputs: {}; outputs: {}; }]>;
292
- }
485
+ declare const API_BASE_URL: InjectionToken<string>;
293
486
 
294
- declare class OneImageFormComponent extends FormBaseComponent<FileSrc<ImageMeta>> implements OnInit {
295
- private readonly cd;
296
- uploadMap: Map<string, string>;
297
- private _mimeTypes;
298
- private _uploadUrl;
299
- private _label;
487
+ declare class AdminDataService {
488
+ private readonly _http;
489
+ private readonly _baseHref;
300
490
  constructor();
301
- ngOnInit(): void;
302
- set label(newValue: string);
303
- get label(): string;
304
- set uploadUrl(newValue: string);
305
- set mimeTypes(newValue: string[]);
306
- get mimeTypes(): string[];
307
- onFileUploaded(fileSrc: FileSrc<FileMeta>): void;
308
- static ɵfac: i0.ɵɵFactoryDeclaration<OneImageFormComponent, never>;
309
- static ɵcmp: i0.ɵɵComponentDeclaration<OneImageFormComponent, "bonc-one-image-form", never, { "label": { "alias": "label"; "required": false; }; "uploadUrl": { "alias": "uploadUrl"; "required": false; }; "mimeTypes": { "alias": "mimeTypes"; "required": false; }; }, {}, never, never, true, [{ directive: typeof EditableDirective; inputs: {}; outputs: {}; }]>;
310
- }
311
-
312
- declare class FileFormComponent extends FormBaseComponent<FileSrc<FileMeta>> implements OnInit {
313
- label: string;
314
- ngOnInit(): void;
315
- uploadTypes: string[];
316
- uploadMap: Map<string, string>;
317
- onFileUploaded(fileSrc: FileSrc<FileMeta>): void;
318
- static ɵfac: i0.ɵɵFactoryDeclaration<FileFormComponent, never>;
319
- static ɵcmp: i0.ɵɵComponentDeclaration<FileFormComponent, "bonc-file-form", never, { "label": { "alias": "label"; "required": false; }; "uploadTypes": { "alias": "uploadTypes"; "required": true; }; "uploadMap": { "alias": "uploadMap"; "required": true; }; }, {}, never, never, true, [{ directive: typeof EditableDirective; inputs: {}; outputs: {}; }]>;
320
- }
321
-
322
- declare enum TextInputStyle {
323
- NotSet = 0,
324
- SingleLine = 1,
325
- MultiLine = 2
326
- }
327
-
328
- declare class TextFormComponent extends FormBaseComponent<string> implements OnInit {
329
- readonly TextInputStyle: typeof TextInputStyle;
330
- label: string;
331
- type: TextInputStyle;
332
- ngOnInit(): void;
333
- static ɵfac: i0.ɵɵFactoryDeclaration<TextFormComponent, never>;
334
- static ɵcmp: i0.ɵɵComponentDeclaration<TextFormComponent, "bonc-text-form", never, { "label": { "alias": "label"; "required": false; }; "type": { "alias": "type"; "required": false; }; }, {}, never, never, true, [{ directive: typeof EditableDirective; inputs: {}; outputs: {}; }]>;
335
- }
336
-
337
- declare class LottieFormComponent extends FormBaseComponent<FileSrc<FileMeta>> implements OnInit {
338
- readonly LottieMimeType = "application/json";
339
- animOptions?: AnimationOptions;
340
- label: string;
341
- ngOnInit(): void;
342
- uploadMap: Map<string, string>;
343
- onFileUploaded(fileSrc: FileSrc<FileMeta>): void;
344
- static ɵfac: i0.ɵɵFactoryDeclaration<LottieFormComponent, never>;
345
- static ɵcmp: i0.ɵɵComponentDeclaration<LottieFormComponent, "bonc-lottie-form", never, { "label": { "alias": "label"; "required": false; }; "uploadMap": { "alias": "uploadMap"; "required": true; }; }, {}, never, never, true, [{ directive: typeof EditableDirective; inputs: {}; outputs: {}; }]>;
346
- }
347
-
348
- declare class TranslationFormComponent extends FormBaseComponent<LocalizedString> implements OnInit {
349
- readonly TextEditorField: typeof TextEditorField;
350
- field: TextEditorField;
351
- label?: string;
352
- ngOnInit(): void;
353
- static ɵfac: i0.ɵɵFactoryDeclaration<TranslationFormComponent, never>;
354
- static ɵcmp: i0.ɵɵComponentDeclaration<TranslationFormComponent, "bonc-translation-form", never, { "field": { "alias": "field"; "required": true; }; "label": { "alias": "label"; "required": false; }; }, {}, never, never, true, [{ directive: typeof EditableDirective; inputs: {}; outputs: {}; }]>;
355
- }
356
-
357
- declare class UnknownFormComponent extends FormBaseComponent<string> implements OnInit {
358
- label: string;
359
- ngOnInit(): void;
360
- static ɵfac: i0.ɵɵFactoryDeclaration<UnknownFormComponent, never>;
361
- static ɵcmp: i0.ɵɵComponentDeclaration<UnknownFormComponent, "bonc-unknown-form", never, { "label": { "alias": "label"; "required": false; }; }, {}, never, ["*"], true, [{ directive: typeof EditableDirective; inputs: {}; outputs: {}; }]>;
491
+ getSettingGroups(): Observable<SettingGroup[]>;
492
+ getPage(url: string): Observable<SettingGroup[]>;
493
+ storePage(page: PageBase): Observable<void>;
494
+ updateSettings(settings: SettingBase[]): Observable<void>;
495
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AdminDataService, never>;
496
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<AdminDataService>;
362
497
  }
363
498
 
364
- declare const API_BASE_URL: InjectionToken<string>;
365
-
366
499
  type SettingDataDict = {
367
500
  [id: string]: SettingData;
368
501
  };
@@ -373,195 +506,40 @@ declare class DataService {
373
506
  getPage(pageRoute: string): Observable<Readonly<PageBase>>;
374
507
  getSettings(ids: string[]): Observable<Readonly<SettingDataDict>>;
375
508
  private getSkeleton;
376
- static ɵfac: i0.ɵɵFactoryDeclaration<DataService, never>;
377
- static ɵprov: i0.ɵɵInjectableDeclaration<DataService>;
509
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DataService, never>;
510
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<DataService>;
378
511
  }
379
512
 
380
- declare class AdminDataService {
381
- private readonly http;
382
- private readonly baseHref;
383
- constructor();
384
- getSettingGroups(): Observable<SettingGroup[]>;
385
- getPage(url: string): Observable<SettingGroup[]>;
386
- storePage(page: PageBase): Observable<void>;
387
- updateSettings(settings: SettingBase[]): Observable<void>;
388
- static ɵfac: i0.ɵɵFactoryDeclaration<AdminDataService, never>;
389
- static ɵprov: i0.ɵɵInjectableDeclaration<AdminDataService>;
390
- }
391
-
392
- declare class AdminControlsComponent {
393
- readonly DeviceType: typeof DeviceType;
394
- editableGroup: EditableGroupComponent;
395
- deviceControls: boolean;
396
- locale: string;
397
- device: DeviceType;
398
- changeLocale(): void;
399
- changeDevice(): void;
400
- static ɵfac: i0.ɵɵFactoryDeclaration<AdminControlsComponent, never>;
401
- static ɵcmp: i0.ɵɵComponentDeclaration<AdminControlsComponent, "bonc-admin-controls", never, { "editableGroup": { "alias": "editableGroup"; "required": true; }; "deviceControls": { "alias": "deviceControls"; "required": false; }; }, {}, never, never, true, never>;
402
- }
403
-
404
- declare class FormControlsComponent {
405
- editable: EditableDirective<any>;
406
- static ɵfac: i0.ɵɵFactoryDeclaration<FormControlsComponent, never>;
407
- static ɵcmp: i0.ɵɵComponentDeclaration<FormControlsComponent, "bonc-form-controls", never, { "editable": { "alias": "editable"; "required": true; }; }, {}, never, ["*"], true, never>;
408
- }
409
-
410
- declare class FileUploaderComponent {
411
- fileInput: ElementRef<HTMLInputElement>;
412
- srcChange: EventEmitter<FileSrc<FileMeta>>;
413
- uploadUrlMap: ReadonlyMap<string, string>;
414
- progress: number;
415
- isUploading: boolean;
416
- autoplay: boolean;
417
- clipStyle?: SafeStyle;
418
- fileTypeMask?: string;
419
- private _uploadTypes;
420
- private _src?;
421
- private readonly sanitizer;
422
- private readonly http;
423
- private readonly cd;
424
- set src(newSrc: FileSrc<FileMeta> | undefined);
425
- get src(): FileSrc<FileMeta> | undefined;
426
- set uploadTypes(newUploadType: string[]);
427
- get uploadTypes(): string[];
428
- onFileSelect(fileInput: HTMLInputElement): void;
429
- selectFile(event: Event): void;
430
- private getEventMessage;
431
- private updateClip;
432
- private handleError;
433
- static ɵfac: i0.ɵɵFactoryDeclaration<FileUploaderComponent, never>;
434
- static ɵcmp: i0.ɵɵComponentDeclaration<FileUploaderComponent, "bonc-file-uploader", never, { "uploadUrlMap": { "alias": "uploadUrlMap"; "required": true; }; "src": { "alias": "src"; "required": false; }; "uploadTypes": { "alias": "uploadTypes"; "required": false; }; }, { "srcChange": "srcChange"; }, never, ["*"], true, never>;
435
- }
436
-
437
- declare class MediaUploaderComponent {
438
- readonly MediaObjectFit: typeof MediaObjectFit;
439
- fileInput: ElementRef<HTMLInputElement>;
440
- srcChange: EventEmitter<PixMediaUnion>;
441
- uploadUrlMap: ReadonlyMap<MediaType, string>;
442
- forceRatio?: number;
443
- progress: number;
444
- isUploading: boolean;
445
- autoplay: boolean;
446
- clipStyle?: SafeStyle;
447
- fileTypeMask: string;
448
- private _uploadType?;
449
- private _src?;
450
- private readonly sanitizer;
451
- private readonly http;
452
- private readonly cd;
453
- set src(newSrc: PixMediaUnion | undefined);
454
- get src(): PixMediaUnion | undefined;
455
- set uploadType(newUploadType: MediaType | undefined);
456
- get uploadType(): MediaType | undefined;
457
- onFileSelect(fileInput: HTMLInputElement): void;
458
- selectFile(event: Event): void;
459
- private getEventMessage;
460
- private updateClip;
461
- private handleError;
462
- static ɵfac: i0.ɵɵFactoryDeclaration<MediaUploaderComponent, never>;
463
- static ɵcmp: i0.ɵɵComponentDeclaration<MediaUploaderComponent, "bonc-media-uploader", never, { "uploadUrlMap": { "alias": "uploadUrlMap"; "required": true; }; "forceRatio": { "alias": "forceRatio"; "required": false; }; "src": { "alias": "src"; "required": false; }; "uploadType": { "alias": "uploadType"; "required": false; }; }, { "srcChange": "srcChange"; }, never, never, true, never>;
464
- }
465
-
466
- declare class TranslationInputComponent {
467
- text: LocalizedString;
468
- locale: string;
469
- device: DeviceType;
470
- startEditing: EventEmitter<void>;
471
- changed: EventEmitter<void>;
472
- blurred: EventEmitter<void>;
473
- onClick(): void;
474
- onKeyPress(): void;
475
- onBlur(): void;
476
- static ɵfac: i0.ɵɵFactoryDeclaration<TranslationInputComponent, never>;
477
- static ɵcmp: i0.ɵɵComponentDeclaration<TranslationInputComponent, "bonc-translation-input", never, { "text": { "alias": "text"; "required": true; }; "locale": { "alias": "locale"; "required": true; }; "device": { "alias": "device"; "required": false; }; }, { "startEditing": "startEditing"; "changed": "changed"; "blurred": "blurred"; }, never, never, true, never>;
478
- }
479
-
480
- declare class TranslationTextareaComponent implements OnChanges, AfterViewInit {
481
- autosizeList: QueryList<CdkTextareaAutosize>;
482
- minRows?: number;
483
- maxRows?: number;
484
- text: LocalizedString;
485
- locale: string;
486
- device: DeviceType;
487
- startEditing: EventEmitter<void>;
488
- changed: EventEmitter<void>;
489
- blurred: EventEmitter<void>;
490
- ngAfterViewInit(): void;
491
- ngOnChanges(): void;
492
- onClick(): void;
493
- onKeyPress(): void;
494
- onBlur(): void;
495
- private triggerResize;
496
- static ɵfac: i0.ɵɵFactoryDeclaration<TranslationTextareaComponent, never>;
497
- static ɵcmp: i0.ɵɵComponentDeclaration<TranslationTextareaComponent, "bonc-translation-textarea", never, { "minRows": { "alias": "minRows"; "required": false; }; "maxRows": { "alias": "maxRows"; "required": false; }; "text": { "alias": "text"; "required": true; }; "locale": { "alias": "locale"; "required": true; }; "device": { "alias": "device"; "required": false; }; }, { "startEditing": "startEditing"; "changed": "changed"; "blurred": "blurred"; }, never, never, true, never>;
498
- }
513
+ type BoneEditorMap = ReadonlyMap<string, Type<IBoneEditor>>;
499
514
 
500
515
  declare class SkeletonEditorAnchorDirective {
501
516
  readonly viewContainerRef: ViewContainerRef;
502
- static ɵfac: i0.ɵɵFactoryDeclaration<SkeletonEditorAnchorDirective, never>;
503
- static ɵdir: i0.ɵɵDirectiveDeclaration<SkeletonEditorAnchorDirective, "[boncSkeletonEditorAnchor]", never, {}, {}, never, never, true, never>;
504
- }
505
-
506
- interface ContentPreset<out TBone extends Bone> {
507
- title: string;
508
- isActive(data: TBone): boolean;
509
- clean(data: TBone): void;
510
- transformer(bone: TBone): void;
511
- }
512
- declare function createPreset<TBone extends Bone>(params: {
513
- title: string;
514
- style: string;
515
- }): ContentPreset<TBone>;
516
-
517
- interface IBoneEditor<out TBone extends Bone = Bone> {
518
- bone: TBone;
519
- locale: string;
520
- device: DeviceType;
521
- readonly saved: EventEmitter<Bone>;
522
- readonly removed: EventEmitter<void>;
523
- readonly editing: EventEmitter<boolean>;
524
- readonly isDirty: boolean;
525
- readonly isEditing: boolean;
526
- currentPreset?: ContentPreset<TBone>;
527
- noPresets: boolean;
528
- save(): void;
529
- remove(): void;
530
- resetData(): void;
531
- startEditing(): void;
532
- finishEditing(): void;
533
- markAsDirty(): void;
534
- updateDirty(): void;
535
- nextPreset(): void;
536
- onReset(): void;
537
- onFinishEditing(): void;
517
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SkeletonEditorAnchorDirective, never>;
518
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SkeletonEditorAnchorDirective, "[boncSkeletonEditorAnchor]", never, {}, {}, never, never, true, never>;
538
519
  }
539
520
 
540
- type BoneEditorMap = ReadonlyMap<string, Type<IBoneEditor>>;
541
-
542
- declare class BoneEditorContainerComponent implements OnChanges {
543
- anchor: SkeletonEditorAnchorDirective;
544
- removed: EventEmitter<void>;
545
- saved: EventEmitter<Bone>;
546
- editing: EventEmitter<boolean>;
521
+ declare class BoneEditorContainerComponent {
522
+ readonly anchor: _angular_core.Signal<SkeletonEditorAnchorDirective>;
523
+ readonly removed: _angular_core.OutputEmitterRef<void>;
524
+ readonly saved: _angular_core.OutputEmitterRef<Bone>;
525
+ readonly editing: _angular_core.OutputEmitterRef<boolean>;
547
526
  DeviceType: typeof DeviceType;
548
527
  editor: IBoneEditor;
549
528
  themePopupIsShown: boolean;
550
- private _bone;
529
+ readonly bone: _angular_core.InputSignal<Bone>;
530
+ readonly locale: _angular_core.InputSignal<string>;
531
+ readonly device: _angular_core.InputSignal<DeviceType>;
532
+ readonly map: _angular_core.InputSignal<BoneEditorMap>;
533
+ private boneEditorRef?;
551
534
  private removeSubscription?;
552
535
  private saveSubscription?;
553
536
  private changedSubscription?;
554
- locale: string;
555
- device: DeviceType;
556
- private readonly componentFactoryResolver;
557
- ngOnChanges(): void;
558
- map: BoneEditorMap;
559
- get bone(): Bone;
560
- set bone(newBone: Bone);
537
+ private readonly viewReady;
538
+ constructor();
561
539
  nextPreset: () => void;
562
540
  get disabled(): boolean;
563
- static ɵfac: i0.ɵɵFactoryDeclaration<BoneEditorContainerComponent, never>;
564
- static ɵcmp: i0.ɵɵComponentDeclaration<BoneEditorContainerComponent, "bonc-bone-editor-container", never, { "locale": { "alias": "locale"; "required": true; }; "device": { "alias": "device"; "required": false; }; "map": { "alias": "map"; "required": true; }; "bone": { "alias": "bone"; "required": true; }; }, { "removed": "removed"; "saved": "saved"; "editing": "editing"; }, never, never, true, never>;
541
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BoneEditorContainerComponent, never>;
542
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BoneEditorContainerComponent, "bonc-bone-editor-container", never, { "bone": { "alias": "bone"; "required": true; "isSignal": true; }; "locale": { "alias": "locale"; "required": true; "isSignal": true; }; "device": { "alias": "device"; "required": false; "isSignal": true; }; "map": { "alias": "map"; "required": true; "isSignal": true; }; }, { "removed": "removed"; "saved": "saved"; "editing": "editing"; }, never, never, true, never>;
565
543
  }
566
544
 
567
545
  interface IBoneTemplate {
@@ -569,16 +547,15 @@ interface IBoneTemplate {
569
547
  readonly boneFactory: () => Bone;
570
548
  }
571
549
 
572
- declare class SkeletonEditorComponent implements OnInit, OnChanges {
573
- boneEditorContainerList: QueryList<BoneEditorContainerComponent>;
574
- locale: string;
575
- device: DeviceType;
550
+ declare class SkeletonEditorComponent {
551
+ readonly boneEditorContainerList: _angular_core.Signal<readonly BoneEditorContainerComponent[]>;
552
+ readonly locale: _angular_core.InputSignal<string>;
553
+ readonly device: _angular_core.InputSignal<DeviceType>;
554
+ readonly map: _angular_core.InputSignal<BoneEditorMap>;
555
+ readonly templates: _angular_core.InputSignal<readonly IBoneTemplate[]>;
576
556
  readonly templatesAreShown: boolean[];
577
557
  readonly editable: EditableDirective<Bone[]>;
578
- ngOnInit(): void;
579
- map: BoneEditorMap;
580
- ngOnChanges(): void;
581
- templates: ReadonlyArray<IBoneTemplate>;
558
+ constructor();
582
559
  get bones(): Bone[];
583
560
  boneEditHandler(isEditing: boolean): void;
584
561
  boneChangeHandler(index: number, newBoneValue: Bone): void;
@@ -587,55 +564,41 @@ declare class SkeletonEditorComponent implements OnInit, OnChanges {
587
564
  moveUp(boneIndex: number): void;
588
565
  createBone(index: number, selectedTemplate: IBoneTemplate): void;
589
566
  private swapBones;
590
- static ɵfac: i0.ɵɵFactoryDeclaration<SkeletonEditorComponent, never>;
591
- static ɵcmp: i0.ɵɵComponentDeclaration<SkeletonEditorComponent, "bonc-skeleton-editor", never, { "locale": { "alias": "locale"; "required": true; }; "device": { "alias": "device"; "required": false; }; "map": { "alias": "map"; "required": true; }; "templates": { "alias": "templates"; "required": true; }; }, {}, never, never, true, [{ directive: typeof EditableDirective; inputs: {}; outputs: {}; }]>;
567
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SkeletonEditorComponent, never>;
568
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SkeletonEditorComponent, "bonc-skeleton-editor", never, { "locale": { "alias": "locale"; "required": true; "isSignal": true; }; "device": { "alias": "device"; "required": false; "isSignal": true; }; "map": { "alias": "map"; "required": true; "isSignal": true; }; "templates": { "alias": "templates"; "required": true; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof EditableDirective; inputs: {}; outputs: {}; }]>;
592
569
  }
593
570
 
594
- declare abstract class BoneEditorBaseComponent<TBone extends Bone> implements IBoneEditor<TBone> {
595
- readonly editing: EventEmitter<boolean>;
596
- readonly saved: EventEmitter<Bone>;
597
- readonly removed: EventEmitter<void>;
598
- readonly noPresets: boolean;
599
- locale: string;
600
- device: DeviceType;
601
- private _bone;
602
- private _storedData;
603
- private _currentPreset;
604
- protected readonly presets: ReadonlyArray<ContentPreset<TBone>>;
605
- private _isDirty;
606
- private _isEditing;
607
- abstract onReset(): void;
608
- abstract onFinishEditing(): void;
609
- protected abstract getPresets(): ContentPreset<TBone>[];
571
+ declare class TranslationInputComponent {
572
+ readonly text: _angular_core.InputSignal<LocalizedString>;
573
+ readonly locale: _angular_core.InputSignal<string>;
574
+ readonly device: _angular_core.InputSignal<DeviceType>;
575
+ readonly startEditing: _angular_core.OutputEmitterRef<void>;
576
+ readonly changed: _angular_core.OutputEmitterRef<void>;
577
+ readonly blurred: _angular_core.OutputEmitterRef<void>;
578
+ onClick(): void;
579
+ onKeyPress(): void;
580
+ onBlur(): void;
581
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TranslationInputComponent, never>;
582
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TranslationInputComponent, "bonc-translation-input", never, { "text": { "alias": "text"; "required": true; "isSignal": true; }; "locale": { "alias": "locale"; "required": true; "isSignal": true; }; "device": { "alias": "device"; "required": false; "isSignal": true; }; }, { "startEditing": "startEditing"; "changed": "changed"; "blurred": "blurred"; }, never, never, true, never>;
583
+ }
584
+
585
+ declare class TranslationTextareaComponent {
586
+ readonly autosizeList: _angular_core.Signal<readonly CdkTextareaAutosize[]>;
587
+ readonly text: _angular_core.InputSignal<LocalizedString>;
588
+ readonly locale: _angular_core.InputSignal<string>;
589
+ readonly minRows: _angular_core.InputSignal<number | undefined>;
590
+ readonly maxRows: _angular_core.InputSignal<number | undefined>;
591
+ readonly device: _angular_core.InputSignal<DeviceType>;
592
+ readonly startEditing: _angular_core.OutputEmitterRef<void>;
593
+ readonly changed: _angular_core.OutputEmitterRef<void>;
594
+ readonly blurred: _angular_core.OutputEmitterRef<void>;
610
595
  constructor();
611
- get isMobile(): boolean;
612
- get isTablet(): boolean;
613
- get isDesktop(): boolean;
614
- get currentPreset(): ContentPreset<TBone> | undefined;
615
- get bone(): TBone;
616
- set bone(newData: TBone);
617
- get isDirty(): boolean;
618
- get isEditing(): boolean;
619
- resetData(): void;
620
- updateDirty(): void;
621
- markAsDirty(): void;
622
- remove(): void;
623
- save(): void;
624
- startEditing(): void;
625
- finishEditing(): void;
626
- nextPreset(): void;
627
- private applyPresetAtIndex;
628
- private updatePresetByData;
629
- static ɵfac: i0.ɵɵFactoryDeclaration<BoneEditorBaseComponent<any>, never>;
630
- static ɵcmp: i0.ɵɵComponentDeclaration<BoneEditorBaseComponent<any>, "ng-component", never, { "locale": { "alias": "locale"; "required": true; }; "bone": { "alias": "bone"; "required": true; }; }, {}, never, never, true, never>;
631
- }
632
-
633
- declare class UnknownBoneEditorComponent extends BoneEditorBaseComponent<Bone> {
634
- onFinishEditing(): void;
635
- onReset(): void;
636
- protected getPresets(): ContentPreset<Bone>[];
637
- static ɵfac: i0.ɵɵFactoryDeclaration<UnknownBoneEditorComponent, never>;
638
- static ɵcmp: i0.ɵɵComponentDeclaration<UnknownBoneEditorComponent, "bonc-unknown-bone-editor", never, {}, {}, never, never, true, never>;
596
+ onClick(): void;
597
+ onKeyPress(): void;
598
+ onBlur(): void;
599
+ private triggerResize;
600
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TranslationTextareaComponent, never>;
601
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TranslationTextareaComponent, "bonc-translation-textarea", never, { "text": { "alias": "text"; "required": true; "isSignal": true; }; "locale": { "alias": "locale"; "required": true; "isSignal": true; }; "minRows": { "alias": "minRows"; "required": false; "isSignal": true; }; "maxRows": { "alias": "maxRows"; "required": false; "isSignal": true; }; "device": { "alias": "device"; "required": false; "isSignal": true; }; }, { "startEditing": "startEditing"; "changed": "changed"; "blurred": "blurred"; }, never, never, true, never>;
639
602
  }
640
603
 
641
604
  export { API_BASE_URL, AdminControlsComponent, AdminDataService, BoneEditorBaseComponent, BoneEditorContainerComponent, DataService, DeviceType, DeviceVisibility, EditableDirective, EditableGroupComponent, FileFormComponent, FileUploaderComponent, FormBaseComponent, FormControlsComponent, LinkPopupComponent, LottieFormComponent, MediaUploaderComponent, OneImageFormComponent, SeoFormComponent, SkeletonEditorAnchorDirective, SkeletonEditorComponent, SvgFormComponent, TextEditorField, TextFormComponent, TextInputStyle, TextSettingType, TranslationFormComponent, TranslationInputComponent, TranslationTextareaComponent, UnknownBoneEditorComponent, UnknownFormComponent, createPreset, hasFlag, isLocalUrlString, regExpIsMobile, setOrRemoveFlag };