ngx-form-designer 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/README.md +269 -0
  2. package/fesm2022/ngx-form-designer.mjs +26762 -0
  3. package/fesm2022/ngx-form-designer.mjs.map +1 -0
  4. package/index.d.ts +5 -0
  5. package/lib/data/data-catalog.d.ts +44 -0
  6. package/lib/data/data-provider.d.ts +58 -0
  7. package/lib/data/data-source-client.d.ts +59 -0
  8. package/lib/data/data-source-parsers.d.ts +5 -0
  9. package/lib/data/file-upload-client.d.ts +19 -0
  10. package/lib/data/http-data-source-client.d.ts +31 -0
  11. package/lib/data/in-memory-data-catalog.service.d.ts +12 -0
  12. package/lib/data/tree-utils.d.ts +28 -0
  13. package/lib/email-renderer/email-renderer.component.d.ts +21 -0
  14. package/lib/form-core/form-engine.d.ts +48 -0
  15. package/lib/form-core/form-event-runner.d.ts +15 -0
  16. package/lib/form-core/models.d.ts +255 -0
  17. package/lib/form-core/plugin-metadata.d.ts +10 -0
  18. package/lib/form-core/rule-evaluation.service.d.ts +18 -0
  19. package/lib/form-core/schema-factory.d.ts +11 -0
  20. package/lib/form-core/schema-guard.d.ts +18 -0
  21. package/lib/form-designer/data-panel/data-panel.component.d.ts +73 -0
  22. package/lib/form-designer/designer-context.service.d.ts +29 -0
  23. package/lib/form-designer/designer-state.service.d.ts +133 -0
  24. package/lib/form-designer/dynamic-properties/dynamic-properties.component.d.ts +89 -0
  25. package/lib/form-designer/events-panel/events-panel.component.d.ts +21 -0
  26. package/lib/form-designer/field-palette.component.d.ts +99 -0
  27. package/lib/form-designer/form-designer-shell.component.d.ts +46 -0
  28. package/lib/form-designer/form-preview.component.d.ts +21 -0
  29. package/lib/form-designer/form-settings-inspector.component.d.ts +14 -0
  30. package/lib/form-designer/global-data-manager.component.d.ts +32 -0
  31. package/lib/form-designer/inspector-sections/inspector-advanced-section.component.d.ts +17 -0
  32. package/lib/form-designer/inspector-sections/inspector-backgrounds-section.component.d.ts +14 -0
  33. package/lib/form-designer/inspector-sections/inspector-borders-section.component.d.ts +45 -0
  34. package/lib/form-designer/inspector-sections/inspector-effects-section.component.d.ts +22 -0
  35. package/lib/form-designer/inspector-sections/inspector-layout-section.component.d.ts +33 -0
  36. package/lib/form-designer/inspector-sections/inspector-position-section.component.d.ts +28 -0
  37. package/lib/form-designer/inspector-sections/inspector-size-section.component.d.ts +18 -0
  38. package/lib/form-designer/inspector-sections/inspector-spacing-section.component.d.ts +12 -0
  39. package/lib/form-designer/inspector-sections/inspector-typography-section.component.d.ts +21 -0
  40. package/lib/form-designer/json-form-designer.component.d.ts +12 -0
  41. package/lib/form-designer/layer-tree/layer-tree.component.d.ts +24 -0
  42. package/lib/form-designer/layout-canvas.component.d.ts +70 -0
  43. package/lib/form-designer/page-style.d.ts +2 -0
  44. package/lib/form-designer/properties-panel.component.d.ts +68 -0
  45. package/lib/form-designer/rules-editor/query-builder/query-builder.component.d.ts +23 -0
  46. package/lib/form-designer/rules-editor/rules-panel/rules-panel.component.d.ts +14 -0
  47. package/lib/form-designer/services/widget-definition-resolver.service.d.ts +38 -0
  48. package/lib/form-designer/template-library.d.ts +9 -0
  49. package/lib/form-designer/widget-inspector.component.d.ts +27 -0
  50. package/lib/form-renderer/json-form-renderer.component.d.ts +50 -0
  51. package/lib/form-renderer/layout-node.component.d.ts +85 -0
  52. package/lib/plugins/core-plugins.d.ts +5 -0
  53. package/lib/plugins/designer-plugin.d.ts +15 -0
  54. package/lib/plugins/plugin-context.d.ts +18 -0
  55. package/lib/plugins/plugin-providers.d.ts +3 -0
  56. package/lib/plugins/section-definition.d.ts +16 -0
  57. package/lib/theme/theme.service.d.ts +15 -0
  58. package/lib/ui/json-schema-editor.component.d.ts +27 -0
  59. package/lib/ui/monaco-editor.component.d.ts +24 -0
  60. package/lib/ui/ui-accordion.component.d.ts +11 -0
  61. package/lib/ui/ui-box-model.component.d.ts +55 -0
  62. package/lib/ui/ui-color-swatch.component.d.ts +12 -0
  63. package/lib/ui/ui-dimension.component.d.ts +21 -0
  64. package/lib/ui/ui-edge-box.component.d.ts +20 -0
  65. package/lib/ui/ui-field-wrapper.component.d.ts +8 -0
  66. package/lib/ui/ui-icon.module.d.ts +7 -0
  67. package/lib/ui/ui-input.component.d.ts +17 -0
  68. package/lib/ui/ui-range-number.component.d.ts +16 -0
  69. package/lib/ui/ui-select-icon.component.d.ts +18 -0
  70. package/lib/ui/ui-tabs.component.d.ts +25 -0
  71. package/lib/website/website-brick-studio.component.d.ts +67 -0
  72. package/lib/website/website-designer-shell.component.d.ts +53 -0
  73. package/lib/website/website-preview-shell.component.d.ts +25 -0
  74. package/lib/website/website-project.models.d.ts +78 -0
  75. package/lib/website/website-project.service.d.ts +50 -0
  76. package/lib/website/website-section-library.d.ts +6 -0
  77. package/lib/widgets/email-widgets/email-button-widget.component.d.ts +15 -0
  78. package/lib/widgets/email-widgets/email-heading-widget.component.d.ts +15 -0
  79. package/lib/widgets/email-widgets/email-text-widget.component.d.ts +13 -0
  80. package/lib/widgets/email-widgets.d.ts +2 -0
  81. package/lib/widgets/field-widgets/checkbox/checkbox-widget.component.d.ts +28 -0
  82. package/lib/widgets/field-widgets/checkbox-group/checkbox-group-widget.component.d.ts +40 -0
  83. package/lib/widgets/field-widgets/file-upload/file-upload-widget.component.d.ts +45 -0
  84. package/lib/widgets/field-widgets/radio/radio-widget.component.d.ts +39 -0
  85. package/lib/widgets/field-widgets/select/select-widget.component.d.ts +36 -0
  86. package/lib/widgets/field-widgets/text-field/text-field.component.d.ts +29 -0
  87. package/lib/widgets/field-widgets/tree-select/tree-select-widget.component.d.ts +47 -0
  88. package/lib/widgets/page-link-context.d.ts +8 -0
  89. package/lib/widgets/page-widgets/brick-settings.component.d.ts +23 -0
  90. package/lib/widgets/page-widgets/brick-widget.component.d.ts +47 -0
  91. package/lib/widgets/page-widgets/button-link-settings.component.d.ts +23 -0
  92. package/lib/widgets/page-widgets/button-widget.component.d.ts +21 -0
  93. package/lib/widgets/page-widgets/heading-widget.component.d.ts +22 -0
  94. package/lib/widgets/page-widgets/inline-quill-editor.component.d.ts +34 -0
  95. package/lib/widgets/page-widgets/table-inspector.component.d.ts +17 -0
  96. package/lib/widgets/page-widgets/table-widget.component.d.ts +35 -0
  97. package/lib/widgets/page-widgets/text-block-widget.component.d.ts +22 -0
  98. package/lib/widgets/page-widgets.d.ts +2 -0
  99. package/lib/widgets/static-widgets/image/image-widget.component.d.ts +18 -0
  100. package/lib/widgets/style-helpers.d.ts +8 -0
  101. package/lib/widgets/style-properties.d.ts +28 -0
  102. package/lib/widgets/style-sections.d.ts +1 -0
  103. package/lib/widgets/table-widget.d.ts +2 -0
  104. package/lib/widgets/widget-definition.d.ts +76 -0
  105. package/lib/widgets/widget-editor-context.d.ts +8 -0
  106. package/lib/widgets/widget-packs.d.ts +4 -0
  107. package/lib/widgets/widgets.d.ts +2 -0
  108. package/package.json +47 -0
  109. package/public-api.d.ts +68 -0
  110. package/tailwind.preset.js +51 -0
@@ -0,0 +1,28 @@
1
+ import { OnInit, OnDestroy } from '@angular/core';
2
+ import { FormControl } from '@angular/forms';
3
+ import { FieldSchema } from '../../../form-core/models';
4
+ import { FormEngine } from '../../../form-core/form-engine';
5
+ import * as i0 from "@angular/core";
6
+ export declare class CheckboxWidgetComponent implements OnInit, OnDestroy {
7
+ config: FieldSchema;
8
+ engine?: FormEngine;
9
+ control: FormControl<boolean | null>;
10
+ private readonly destroyRef;
11
+ get fieldId(): string;
12
+ get errorId(): string;
13
+ get helpTextId(): string;
14
+ getAriaDescribedBy(): string;
15
+ ngOnInit(): void;
16
+ ngOnDestroy(): void;
17
+ getWrapperStyles(): Record<string, any>;
18
+ get visible(): boolean;
19
+ get enabled(): boolean;
20
+ get required(): boolean;
21
+ get error(): string | null;
22
+ onFocus(): void;
23
+ onClick(): void;
24
+ onBlur(): void;
25
+ private syncEnabledState;
26
+ static ɵfac: i0.ɵɵFactoryDeclaration<CheckboxWidgetComponent, never>;
27
+ static ɵcmp: i0.ɵɵComponentDeclaration<CheckboxWidgetComponent, "app-checkbox-widget", never, { "config": { "alias": "config"; "required": false; }; "engine": { "alias": "engine"; "required": false; }; "control": { "alias": "control"; "required": false; }; }, {}, never, never, true, never>;
28
+ }
@@ -0,0 +1,40 @@
1
+ import { OnInit, OnChanges, SimpleChanges, OnDestroy } from '@angular/core';
2
+ import { FormControl } from '@angular/forms';
3
+ import { FieldSchema, OptionSchema } from '../../../form-core/models';
4
+ import { FormEngine } from '../../../form-core/form-engine';
5
+ import * as i0 from "@angular/core";
6
+ export declare class CheckboxGroupWidgetComponent implements OnInit, OnChanges, OnDestroy {
7
+ config: FieldSchema;
8
+ engine?: FormEngine;
9
+ control: FormControl<any[] | null>;
10
+ loading: boolean;
11
+ loadError: string | null;
12
+ private requestId;
13
+ private readonly destroyRef;
14
+ private readonly cdr;
15
+ options: OptionSchema[];
16
+ private readonly dataProvider;
17
+ get fieldId(): string;
18
+ getFieldId(index: number): string;
19
+ get labelId(): string;
20
+ get errorId(): string;
21
+ get helpTextId(): string;
22
+ getAriaDescribedBy(): string;
23
+ ngOnInit(): Promise<void>;
24
+ ngOnChanges(changes: SimpleChanges): void;
25
+ ngOnDestroy(): void;
26
+ private getDependencyFieldIds;
27
+ private loadOptions;
28
+ isChecked(value: any): boolean;
29
+ onCheckChange(event: any, value: any): void;
30
+ getWrapperStyles(): Record<string, any>;
31
+ get visible(): boolean;
32
+ get enabled(): boolean;
33
+ get required(): boolean;
34
+ get error(): string | null;
35
+ onFocus(): void;
36
+ onClick(): void;
37
+ onBlur(): void;
38
+ static ɵfac: i0.ɵɵFactoryDeclaration<CheckboxGroupWidgetComponent, never>;
39
+ static ɵcmp: i0.ɵɵComponentDeclaration<CheckboxGroupWidgetComponent, "app-checkbox-group-widget", never, { "config": { "alias": "config"; "required": false; }; "engine": { "alias": "engine"; "required": false; }; "control": { "alias": "control"; "required": false; }; }, {}, never, never, true, never>;
40
+ }
@@ -0,0 +1,45 @@
1
+ import { OnInit, OnChanges, SimpleChanges, OnDestroy } from '@angular/core';
2
+ import { FormControl } from '@angular/forms';
3
+ import { FieldSchema, UploadedFileRef } from '../../../form-core/models';
4
+ import { FormEngine } from '../../../form-core/form-engine';
5
+ import * as i0 from "@angular/core";
6
+ export declare class FileUploadWidgetComponent implements OnInit, OnChanges, OnDestroy {
7
+ readonly config: FieldSchema;
8
+ readonly engine?: FormEngine;
9
+ readonly control: FormControl<any>;
10
+ private readonly fileInput?;
11
+ protected selectedFiles: File[];
12
+ protected uploadedFiles: UploadedFileRef[];
13
+ private engineSub?;
14
+ ngOnInit(): void;
15
+ ngOnChanges(changes: SimpleChanges): void;
16
+ ngOnDestroy(): void;
17
+ protected get fieldId(): string;
18
+ protected get errorId(): string;
19
+ protected get helpTextId(): string;
20
+ protected getAriaDescribedBy(): string;
21
+ protected getWrapperStyles(): Record<string, any>;
22
+ protected get visible(): boolean;
23
+ protected get enabled(): boolean;
24
+ protected get isDisabled(): boolean;
25
+ protected get required(): boolean;
26
+ protected get error(): string | null;
27
+ protected onFileChange(event: Event): void;
28
+ protected clearSelection(): void;
29
+ protected onFocus(): void;
30
+ protected onClick(): void;
31
+ protected onBlur(): void;
32
+ protected formatFileSize(size: number): string;
33
+ protected formatUploadedSize(size: number | undefined): string;
34
+ private bindEngineChanges;
35
+ private unbindEngineChanges;
36
+ private syncFromEngineValue;
37
+ private extractFiles;
38
+ private normalizeUploadedRefs;
39
+ private isFile;
40
+ private isUploadedRef;
41
+ private getUploadedValue;
42
+ private updateValue;
43
+ static ɵfac: i0.ɵɵFactoryDeclaration<FileUploadWidgetComponent, never>;
44
+ static ɵcmp: i0.ɵɵComponentDeclaration<FileUploadWidgetComponent, "app-file-upload-widget", never, { "config": { "alias": "config"; "required": false; }; "engine": { "alias": "engine"; "required": false; }; "control": { "alias": "control"; "required": false; }; }, {}, never, never, true, never>;
45
+ }
@@ -0,0 +1,39 @@
1
+ import { OnInit, OnChanges, SimpleChanges, OnDestroy } from '@angular/core';
2
+ import { FormControl } from '@angular/forms';
3
+ import { FieldSchema, OptionSchema } from '../../../form-core/models';
4
+ import { FormEngine } from '../../../form-core/form-engine';
5
+ import * as i0 from "@angular/core";
6
+ export declare class RadioWidgetComponent implements OnInit, OnChanges, OnDestroy {
7
+ config: FieldSchema;
8
+ engine?: FormEngine;
9
+ control: FormControl<any>;
10
+ loading: boolean;
11
+ loadError: string | null;
12
+ private requestId;
13
+ private readonly destroyRef;
14
+ private readonly cdr;
15
+ options: OptionSchema[];
16
+ private readonly dataProvider;
17
+ get fieldId(): string;
18
+ getFieldId(index: number): string;
19
+ get labelId(): string;
20
+ get errorId(): string;
21
+ get helpTextId(): string;
22
+ getAriaDescribedBy(): string;
23
+ ngOnInit(): Promise<void>;
24
+ ngOnChanges(changes: SimpleChanges): void;
25
+ ngOnDestroy(): void;
26
+ private getDependencyFieldIds;
27
+ private loadOptions;
28
+ getWrapperStyles(): Record<string, any>;
29
+ get visible(): boolean;
30
+ get enabled(): boolean;
31
+ get required(): boolean;
32
+ get error(): string | null;
33
+ onFocus(): void;
34
+ onClick(): void;
35
+ onBlur(): void;
36
+ private syncEnabledState;
37
+ static ɵfac: i0.ɵɵFactoryDeclaration<RadioWidgetComponent, never>;
38
+ static ɵcmp: i0.ɵɵComponentDeclaration<RadioWidgetComponent, "app-radio-widget", never, { "config": { "alias": "config"; "required": false; }; "engine": { "alias": "engine"; "required": false; }; "control": { "alias": "control"; "required": false; }; }, {}, never, never, true, never>;
39
+ }
@@ -0,0 +1,36 @@
1
+ import { OnInit, OnDestroy } from '@angular/core';
2
+ import { FormControl } from '@angular/forms';
3
+ import { FieldSchema, OptionSchema } from '../../../form-core/models';
4
+ import { FormEngine } from '../../../form-core/form-engine';
5
+ import * as i0 from "@angular/core";
6
+ export declare class SelectWidgetComponent implements OnInit, OnDestroy {
7
+ config: FieldSchema;
8
+ engine?: FormEngine;
9
+ control: FormControl<any>;
10
+ searchControl: FormControl<string | null>;
11
+ loading: boolean;
12
+ loadError: string | null;
13
+ private requestId;
14
+ private readonly destroyRef;
15
+ options: OptionSchema[];
16
+ private readonly dataProvider;
17
+ get fieldId(): string;
18
+ get errorId(): string;
19
+ get helpTextId(): string;
20
+ getAriaDescribedBy(): string;
21
+ ngOnInit(): Promise<void>;
22
+ ngOnDestroy(): void;
23
+ private getDependencyFieldIds;
24
+ private loadOptions;
25
+ getWrapperStyles(): Record<string, any>;
26
+ get visible(): boolean;
27
+ get enabled(): boolean;
28
+ get required(): boolean;
29
+ get error(): string | null;
30
+ onFocus(): void;
31
+ onClick(): void;
32
+ onBlur(): void;
33
+ private syncEnabledState;
34
+ static ɵfac: i0.ɵɵFactoryDeclaration<SelectWidgetComponent, never>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<SelectWidgetComponent, "app-select-widget", never, { "config": { "alias": "config"; "required": false; }; "engine": { "alias": "engine"; "required": false; }; "control": { "alias": "control"; "required": false; }; }, {}, never, never, true, never>;
36
+ }
@@ -0,0 +1,29 @@
1
+ import { OnInit, OnDestroy } from '@angular/core';
2
+ import { FormControl } from '@angular/forms';
3
+ import { FieldSchema } from '../../../form-core/models';
4
+ import { FormEngine } from '../../../form-core/form-engine';
5
+ import * as i0 from "@angular/core";
6
+ export declare class TextFieldWidgetComponent implements OnInit, OnDestroy {
7
+ config: FieldSchema;
8
+ engine?: FormEngine;
9
+ control: FormControl<any>;
10
+ private readonly destroyRef;
11
+ private readonly dataProvider;
12
+ get fieldId(): string;
13
+ get errorId(): string;
14
+ get helpTextId(): string;
15
+ getAriaDescribedBy(): string;
16
+ ngOnInit(): void;
17
+ onFocus(): void;
18
+ onClick(): void;
19
+ onBlur(): void;
20
+ ngOnDestroy(): void;
21
+ getWrapperStyles(): Record<string, any>;
22
+ get visible(): boolean;
23
+ get enabled(): boolean;
24
+ get required(): boolean;
25
+ get error(): string | null;
26
+ private syncEnabledState;
27
+ static ɵfac: i0.ɵɵFactoryDeclaration<TextFieldWidgetComponent, never>;
28
+ static ɵcmp: i0.ɵɵComponentDeclaration<TextFieldWidgetComponent, "app-text-field-widget", never, { "config": { "alias": "config"; "required": false; }; "engine": { "alias": "engine"; "required": false; }; "control": { "alias": "control"; "required": false; }; }, {}, never, never, true, never>;
29
+ }
@@ -0,0 +1,47 @@
1
+ import { OnInit, OnDestroy, ElementRef } from '@angular/core';
2
+ import { FormControl } from '@angular/forms';
3
+ import { FieldSchema } from '../../../form-core/models';
4
+ import { FormEngine } from '../../../form-core/form-engine';
5
+ import { TreeNode } from '../../../data/tree-utils';
6
+ import * as i0 from "@angular/core";
7
+ export declare class TreeSelectWidgetComponent implements OnInit, OnDestroy {
8
+ private el;
9
+ config: FieldSchema;
10
+ engine?: FormEngine;
11
+ control: FormControl<any>;
12
+ searchInput?: ElementRef<HTMLInputElement>;
13
+ private dataProvider;
14
+ private cdr;
15
+ private readonly destroyRef;
16
+ private rawList;
17
+ tree: TreeNode[];
18
+ displayTree: TreeNode[];
19
+ isLoading: boolean;
20
+ isOpen: boolean;
21
+ selectedId: string | null;
22
+ selectedLabel: string | null;
23
+ expandedIds: Set<string>;
24
+ searchControl: FormControl<string | null>;
25
+ loadError: string | null;
26
+ private hasFocus;
27
+ constructor(el: ElementRef);
28
+ ngOnInit(): void;
29
+ ngOnDestroy(): void;
30
+ private onDocumentClick;
31
+ loadData(): Promise<void>;
32
+ private build;
33
+ private filter;
34
+ toggleDropdown(e: Event): void;
35
+ isExpanded(node: TreeNode): boolean;
36
+ toggleExpand(node: TreeNode, e: Event): void;
37
+ selectNode(node: TreeNode, e: Event): void;
38
+ private updateSelectionFromValue;
39
+ get isInvalid(): boolean;
40
+ get isRequired(): boolean | undefined;
41
+ get errorMessage(): string | null;
42
+ get searchEnabled(): boolean;
43
+ private openDropdown;
44
+ private closeDropdown;
45
+ static ɵfac: i0.ɵɵFactoryDeclaration<TreeSelectWidgetComponent, never>;
46
+ static ɵcmp: i0.ɵɵComponentDeclaration<TreeSelectWidgetComponent, "app-tree-select", never, { "config": { "alias": "config"; "required": false; }; "engine": { "alias": "engine"; "required": false; }; "control": { "alias": "control"; "required": false; }; }, {}, never, never, true, never>;
47
+ }
@@ -0,0 +1,8 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export type WidgetPageLink = {
3
+ id: string;
4
+ name: string;
5
+ route: string;
6
+ };
7
+ export type WidgetPageLinkProvider = () => WidgetPageLink[];
8
+ export declare const WIDGET_PAGE_LINKS: InjectionToken<WidgetPageLinkProvider>;
@@ -0,0 +1,23 @@
1
+ import { OnChanges } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class BrickSettingsComponent implements OnChanges {
4
+ config: any;
5
+ getValue: (path: string) => unknown;
6
+ setValue: (path: string, value: unknown) => void;
7
+ onChange: () => void;
8
+ private readonly projectService;
9
+ protected readonly bricks: import("@angular/core").Signal<import("ngx-form-designer").WebsiteBrick[]>;
10
+ protected propsValue: Record<string, unknown>;
11
+ protected propsSchema: Record<string, unknown> | null;
12
+ private lastBrickId;
13
+ ngOnChanges(): void;
14
+ selectedBrickId(): string;
15
+ onBrickChange(id: string): void;
16
+ onPropsChange(nextProps: Record<string, unknown>): void;
17
+ private syncPropsState;
18
+ private applyDefaultsForBrick;
19
+ private normalizeSchema;
20
+ private cloneProps;
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<BrickSettingsComponent, never>;
22
+ static ɵcmp: i0.ɵɵComponentDeclaration<BrickSettingsComponent, "app-brick-settings", never, { "config": { "alias": "config"; "required": false; }; "getValue": { "alias": "getValue"; "required": false; }; "setValue": { "alias": "setValue"; "required": false; }; "onChange": { "alias": "onChange"; "required": false; }; }, {}, never, never, true, never>;
23
+ }
@@ -0,0 +1,47 @@
1
+ import { AfterViewInit, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
2
+ import type { WebsiteBrick } from '../../website/website-project.models';
3
+ import * as i0 from "@angular/core";
4
+ export declare class BrickWidgetComponent implements AfterViewInit, OnChanges, OnDestroy {
5
+ config: any;
6
+ engine?: any;
7
+ control?: any;
8
+ brickOverride?: WebsiteBrick;
9
+ onPropsChange?: (nextProps: Record<string, unknown>) => void;
10
+ private readonly brickRoot;
11
+ private readonly projectService;
12
+ private readonly editor;
13
+ private runtimeInstance?;
14
+ private cleanupFns;
15
+ private reactUnmount?;
16
+ private viewReady;
17
+ private renderSequence;
18
+ private static reactGlobalsPromise;
19
+ private static babelGlobalsPromise;
20
+ constructor();
21
+ ngAfterViewInit(): void;
22
+ ngOnChanges(changes: SimpleChanges): void;
23
+ ngOnDestroy(): void;
24
+ showMissing(): boolean;
25
+ missingMessage(): string;
26
+ private renderBrick;
27
+ private resolveBrick;
28
+ private getProps;
29
+ private getRuntime;
30
+ private applyBindings;
31
+ private setupInlineEditing;
32
+ private initRuntime;
33
+ private renderReactBrick;
34
+ private resolveReactComponent;
35
+ private updateProps;
36
+ private ensureRootBinding;
37
+ private updateProp;
38
+ private readProp;
39
+ private setPropValue;
40
+ private isDesignMode;
41
+ private cleanupRuntime;
42
+ private static loadReactGlobals;
43
+ private static loadBabelGlobals;
44
+ private static compileReactComponent;
45
+ static ɵfac: i0.ɵɵFactoryDeclaration<BrickWidgetComponent, never>;
46
+ static ɵcmp: i0.ɵɵComponentDeclaration<BrickWidgetComponent, "app-brick-widget", never, { "config": { "alias": "config"; "required": false; }; "engine": { "alias": "engine"; "required": false; }; "control": { "alias": "control"; "required": false; }; "brickOverride": { "alias": "brickOverride"; "required": false; }; "onPropsChange": { "alias": "onPropsChange"; "required": false; }; }, {}, never, never, true, never>;
47
+ }
@@ -0,0 +1,23 @@
1
+ import { WidgetPageLink } from '../page-link-context';
2
+ import * as i0 from "@angular/core";
3
+ type LinkType = 'none' | 'page' | 'url';
4
+ export declare class ButtonLinkSettingsComponent {
5
+ config: any;
6
+ getValue?: (path: string) => any;
7
+ setValue?: (path: string, value: any) => void;
8
+ onChange?: () => void;
9
+ private readonly pageLinks;
10
+ linkType(): LinkType;
11
+ pages(): WidgetPageLink[];
12
+ selectedPageId(): string;
13
+ selectedPageRoute(): string;
14
+ linkHref(): string;
15
+ openInNewTab(): boolean;
16
+ setLinkType(type: LinkType): void;
17
+ setPageId(pageId: string): void;
18
+ setUrl(value: string): void;
19
+ setOpenInNewTab(value: boolean): void;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<ButtonLinkSettingsComponent, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<ButtonLinkSettingsComponent, "app-button-link-settings", never, { "config": { "alias": "config"; "required": false; }; "getValue": { "alias": "getValue"; "required": false; }; "setValue": { "alias": "setValue"; "required": false; }; "onChange": { "alias": "onChange"; "required": false; }; }, {}, never, never, true, never>;
22
+ }
23
+ export {};
@@ -0,0 +1,21 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class ButtonWidgetComponent {
3
+ private readonly router;
4
+ private readonly pageLinks;
5
+ config: any;
6
+ engine?: any;
7
+ control?: any;
8
+ getClasses(): "inline-flex items-center px-4 py-2 border text-sm font-medium rounded-md shadow-sm focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors border-gray-300 text-gray-700 bg-white hover:bg-gray-50 focus:ring-blue-500" | "inline-flex items-center px-4 py-2 border text-sm font-medium rounded-md shadow-sm focus:outline-none focus:ring-2 focus:ring-offset-2 transition-colors border-transparent text-white bg-blue-600 hover:bg-blue-700 focus:ring-blue-500";
9
+ getStyles(): Record<string, any>;
10
+ getButtonType(): 'button' | 'submit' | 'reset';
11
+ linkHref(): string;
12
+ linkTarget(): string | null;
13
+ linkRel(): string | null;
14
+ onLinkClick(event: MouseEvent): void;
15
+ onClick(): void;
16
+ private openInNewTab;
17
+ private getLinkType;
18
+ private isInternalLink;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<ButtonWidgetComponent, never>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<ButtonWidgetComponent, "app-button-widget", never, { "config": { "alias": "config"; "required": false; }; "engine": { "alias": "engine"; "required": false; }; "control": { "alias": "control"; "required": false; }; }, {}, never, never, true, never>;
21
+ }
@@ -0,0 +1,22 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class HeadingWidgetComponent {
3
+ private readonly editor;
4
+ private readonly router;
5
+ config: any;
6
+ engine?: any;
7
+ control?: any;
8
+ getStyles(): Record<string, any>;
9
+ isDesignMode(): boolean;
10
+ isEditing(): boolean;
11
+ headingEditorClass(): string;
12
+ headingContainerClass(): string;
13
+ labelHtml(): string;
14
+ quillHtml(): string;
15
+ onHtmlChange(html: string): void;
16
+ onLinkClick(event: MouseEvent): void;
17
+ private wrapHtmlForQuill;
18
+ private normalizeInlineHtml;
19
+ private normalizeInternalHref;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<HeadingWidgetComponent, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<HeadingWidgetComponent, "app-heading-widget", never, { "config": { "alias": "config"; "required": false; }; "engine": { "alias": "engine"; "required": false; }; "control": { "alias": "control"; "required": false; }; }, {}, never, never, true, never>;
22
+ }
@@ -0,0 +1,34 @@
1
+ import { AfterViewInit, ElementRef, EventEmitter, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export declare class InlineQuillEditorComponent implements AfterViewInit, OnChanges, OnDestroy {
4
+ html: string;
5
+ placeholder: string;
6
+ readOnly: boolean;
7
+ autoFocus: boolean;
8
+ containerClass: string;
9
+ editorClass: string;
10
+ editorStyle: Record<string, string | number> | null;
11
+ htmlChange: EventEmitter<string>;
12
+ editorBlur: EventEmitter<void>;
13
+ editorFocus: EventEmitter<void>;
14
+ editorRef: ElementRef<HTMLDivElement>;
15
+ private quill?;
16
+ private lastHtml;
17
+ private hasFocus;
18
+ private updating;
19
+ private appliedClasses;
20
+ ngAfterViewInit(): void;
21
+ ngOnChanges(changes: SimpleChanges): void;
22
+ ngOnDestroy(): void;
23
+ private initQuill;
24
+ private setHtml;
25
+ private applyEditorAppearance;
26
+ private focusToEnd;
27
+ onEditorMouseDown(event: MouseEvent): void;
28
+ onEditorPointerDown(event: PointerEvent): void;
29
+ onEditorTouchStart(event: TouchEvent): void;
30
+ onEditorDragStart(event: DragEvent): void;
31
+ private stopInteractionEvent;
32
+ static ɵfac: i0.ɵɵFactoryDeclaration<InlineQuillEditorComponent, never>;
33
+ static ɵcmp: i0.ɵɵComponentDeclaration<InlineQuillEditorComponent, "app-inline-quill-editor", never, { "html": { "alias": "html"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "autoFocus": { "alias": "autoFocus"; "required": false; }; "containerClass": { "alias": "containerClass"; "required": false; }; "editorClass": { "alias": "editorClass"; "required": false; }; "editorStyle": { "alias": "editorStyle"; "required": false; }; }, { "htmlChange": "htmlChange"; "editorBlur": "editorBlur"; "editorFocus": "editorFocus"; }, never, never, true, never>;
34
+ }
@@ -0,0 +1,17 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class TableInspectorComponent {
3
+ config: any;
4
+ getValue: (path: string) => any;
5
+ setValue: (path: string, value: any) => void;
6
+ onChange: () => void;
7
+ get columns(): any;
8
+ get rows(): any;
9
+ addColumn(): void;
10
+ removeColumn(index: number): void;
11
+ updateColumns(): void;
12
+ addRow(): void;
13
+ removeRow(index: number): void;
14
+ updateRows(): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<TableInspectorComponent, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<TableInspectorComponent, "app-table-inspector", never, { "config": { "alias": "config"; "required": false; }; "getValue": { "alias": "getValue"; "required": false; }; "setValue": { "alias": "setValue"; "required": false; }; "onChange": { "alias": "onChange"; "required": false; }; }, {}, never, never, true, never>;
17
+ }
@@ -0,0 +1,35 @@
1
+ import { OnInit, OnChanges, SimpleChanges, OnDestroy } from '@angular/core';
2
+ import { FormControl } from '@angular/forms';
3
+ import { FormEngine } from '../../form-core/form-engine';
4
+ import * as i0 from "@angular/core";
5
+ export declare class TableWidgetComponent implements OnInit, OnChanges, OnDestroy {
6
+ config: any;
7
+ engine?: FormEngine;
8
+ control?: FormControl;
9
+ private readonly dataProvider;
10
+ private readonly pluginCtx;
11
+ searchControl: FormControl<string | null>;
12
+ loading: boolean;
13
+ error: string | null;
14
+ pageSize: number;
15
+ pageIndex: number;
16
+ total: number;
17
+ displayRows: any[];
18
+ private readonly destroyRef;
19
+ private reqId;
20
+ ngOnInit(): void;
21
+ ngOnChanges(changes: SimpleChanges): void;
22
+ ngOnDestroy(): void;
23
+ getStyles(): Record<string, any>;
24
+ showToolbar(): boolean;
25
+ get pageStart(): number;
26
+ get pageEnd(): number;
27
+ prevPage(): void;
28
+ nextPage(): void;
29
+ hasNextPage(): boolean;
30
+ private updateRows;
31
+ private getRowsFromBinding;
32
+ private getDependencyFieldIds;
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<TableWidgetComponent, never>;
34
+ static ɵcmp: i0.ɵɵComponentDeclaration<TableWidgetComponent, "app-table-widget", never, { "config": { "alias": "config"; "required": true; }; "engine": { "alias": "engine"; "required": false; }; "control": { "alias": "control"; "required": false; }; }, {}, never, never, true, never>;
35
+ }
@@ -0,0 +1,22 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class TextBlockWidgetComponent {
3
+ private readonly editor;
4
+ private readonly router;
5
+ config: any;
6
+ engine?: any;
7
+ control?: any;
8
+ getStyles(): Record<string, any>;
9
+ isDesignMode(): boolean;
10
+ isEditing(): boolean;
11
+ textEditorClass(): string;
12
+ textContainerClass(): string;
13
+ textHtml(): string;
14
+ quillHtml(): string;
15
+ onHtmlChange(html: string): void;
16
+ onLinkClick(event: MouseEvent): void;
17
+ private wrapHtmlForQuill;
18
+ private normalizeInlineHtml;
19
+ private normalizeInternalHref;
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<TextBlockWidgetComponent, never>;
21
+ static ɵcmp: i0.ɵɵComponentDeclaration<TextBlockWidgetComponent, "app-text-block-widget", never, { "config": { "alias": "config"; "required": false; }; "engine": { "alias": "engine"; "required": false; }; "control": { "alias": "control"; "required": false; }; }, {}, never, never, true, never>;
22
+ }
@@ -0,0 +1,2 @@
1
+ import { WidgetDefinition } from './widget-definition';
2
+ export declare const PAGE_WIDGETS: WidgetDefinition[];
@@ -0,0 +1,18 @@
1
+ import { OnInit, OnChanges, SimpleChanges } from '@angular/core';
2
+ import { FormControl } from '@angular/forms';
3
+ import { FormEngine } from '../../../form-core/form-engine';
4
+ import * as i0 from "@angular/core";
5
+ export declare class ImageWidgetComponent implements OnInit, OnChanges {
6
+ config: any;
7
+ engine?: FormEngine;
8
+ control?: FormControl;
9
+ displaySrc: string | null;
10
+ private readonly dataProvider;
11
+ ngOnInit(): void;
12
+ ngOnChanges(changes: SimpleChanges): void;
13
+ private updateSrc;
14
+ getContainerStyles(): Record<string, any>;
15
+ getSpacing(token: string): string;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<ImageWidgetComponent, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<ImageWidgetComponent, "app-image-widget", never, { "config": { "alias": "config"; "required": false; }; "engine": { "alias": "engine"; "required": false; }; "control": { "alias": "control"; "required": false; }; }, {}, never, never, true, never>;
18
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Shared helpers for normalizing style objects coming from widget configs.
3
+ * - Converts number values to px strings.
4
+ * - Skips null/undefined/empty values.
5
+ */
6
+ export type StyleRecord = Record<string, any>;
7
+ export declare function normalizeStyle(style?: StyleRecord): Record<string, any>;
8
+ export declare function mergeAndNormalize(base?: StyleRecord, override?: StyleRecord): Record<string, any>;
@@ -0,0 +1,28 @@
1
+ import { PropertyField, PropertySection } from './widget-definition';
2
+ export declare const LAYOUT_FIELDS: PropertyField[];
3
+ export declare const SPACING_MARGIN_FIELDS: PropertyField[];
4
+ export declare const SPACING_PADDING_FIELDS: PropertyField[];
5
+ export declare const SPACING_BOX_MODEL_FIELD: PropertyField;
6
+ export declare const APPEARANCE_FIELDS: PropertyField[];
7
+ export declare const TYPOGRAPHY_FIELDS: PropertyField[];
8
+ export declare const TRANSFORM_FIELDS: PropertyField[];
9
+ export declare const EFFECTS_FIELDS: PropertyField[];
10
+ export declare const STYLE_LAYOUT_SECTION: PropertySection;
11
+ export declare const STYLE_SPACING_SECTION: PropertySection;
12
+ export declare const STYLE_APPEARANCE_SECTION: PropertySection;
13
+ export declare const STYLE_TYPOGRAPHY_SECTION: PropertySection;
14
+ export declare const STYLE_TRANSFORM_SECTION: PropertySection;
15
+ export declare const STYLE_EFFECTS_SECTION: PropertySection;
16
+ export declare const STYLE_SECTIONS: PropertySection[];
17
+ /**
18
+ * Standard style sections for form widgets (no transforms)
19
+ */
20
+ export declare const STANDARD_FORM_STYLE_SECTIONS: PropertySection[];
21
+ /**
22
+ * Full style sections for web widgets (includes transforms)
23
+ */
24
+ export declare const FULL_WEB_STYLE_SECTIONS: PropertySection[];
25
+ /**
26
+ * Email-safe style sections (no transforms or advanced effects)
27
+ */
28
+ export declare const EMAIL_SAFE_STYLE_SECTIONS: PropertySection[];
@@ -0,0 +1 @@
1
+ export { STYLE_LAYOUT_SECTION, STYLE_SPACING_SECTION, STYLE_APPEARANCE_SECTION, STYLE_TYPOGRAPHY_SECTION, STYLE_TRANSFORM_SECTION, STYLE_EFFECTS_SECTION, STYLE_SECTIONS } from './style-properties';
@@ -0,0 +1,2 @@
1
+ import { WidgetDefinition } from './widget-definition';
2
+ export declare const TABLE_WIDGET: WidgetDefinition;