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.
- package/README.md +269 -0
- package/fesm2022/ngx-form-designer.mjs +26762 -0
- package/fesm2022/ngx-form-designer.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/data/data-catalog.d.ts +44 -0
- package/lib/data/data-provider.d.ts +58 -0
- package/lib/data/data-source-client.d.ts +59 -0
- package/lib/data/data-source-parsers.d.ts +5 -0
- package/lib/data/file-upload-client.d.ts +19 -0
- package/lib/data/http-data-source-client.d.ts +31 -0
- package/lib/data/in-memory-data-catalog.service.d.ts +12 -0
- package/lib/data/tree-utils.d.ts +28 -0
- package/lib/email-renderer/email-renderer.component.d.ts +21 -0
- package/lib/form-core/form-engine.d.ts +48 -0
- package/lib/form-core/form-event-runner.d.ts +15 -0
- package/lib/form-core/models.d.ts +255 -0
- package/lib/form-core/plugin-metadata.d.ts +10 -0
- package/lib/form-core/rule-evaluation.service.d.ts +18 -0
- package/lib/form-core/schema-factory.d.ts +11 -0
- package/lib/form-core/schema-guard.d.ts +18 -0
- package/lib/form-designer/data-panel/data-panel.component.d.ts +73 -0
- package/lib/form-designer/designer-context.service.d.ts +29 -0
- package/lib/form-designer/designer-state.service.d.ts +133 -0
- package/lib/form-designer/dynamic-properties/dynamic-properties.component.d.ts +89 -0
- package/lib/form-designer/events-panel/events-panel.component.d.ts +21 -0
- package/lib/form-designer/field-palette.component.d.ts +99 -0
- package/lib/form-designer/form-designer-shell.component.d.ts +46 -0
- package/lib/form-designer/form-preview.component.d.ts +21 -0
- package/lib/form-designer/form-settings-inspector.component.d.ts +14 -0
- package/lib/form-designer/global-data-manager.component.d.ts +32 -0
- package/lib/form-designer/inspector-sections/inspector-advanced-section.component.d.ts +17 -0
- package/lib/form-designer/inspector-sections/inspector-backgrounds-section.component.d.ts +14 -0
- package/lib/form-designer/inspector-sections/inspector-borders-section.component.d.ts +45 -0
- package/lib/form-designer/inspector-sections/inspector-effects-section.component.d.ts +22 -0
- package/lib/form-designer/inspector-sections/inspector-layout-section.component.d.ts +33 -0
- package/lib/form-designer/inspector-sections/inspector-position-section.component.d.ts +28 -0
- package/lib/form-designer/inspector-sections/inspector-size-section.component.d.ts +18 -0
- package/lib/form-designer/inspector-sections/inspector-spacing-section.component.d.ts +12 -0
- package/lib/form-designer/inspector-sections/inspector-typography-section.component.d.ts +21 -0
- package/lib/form-designer/json-form-designer.component.d.ts +12 -0
- package/lib/form-designer/layer-tree/layer-tree.component.d.ts +24 -0
- package/lib/form-designer/layout-canvas.component.d.ts +70 -0
- package/lib/form-designer/page-style.d.ts +2 -0
- package/lib/form-designer/properties-panel.component.d.ts +68 -0
- package/lib/form-designer/rules-editor/query-builder/query-builder.component.d.ts +23 -0
- package/lib/form-designer/rules-editor/rules-panel/rules-panel.component.d.ts +14 -0
- package/lib/form-designer/services/widget-definition-resolver.service.d.ts +38 -0
- package/lib/form-designer/template-library.d.ts +9 -0
- package/lib/form-designer/widget-inspector.component.d.ts +27 -0
- package/lib/form-renderer/json-form-renderer.component.d.ts +50 -0
- package/lib/form-renderer/layout-node.component.d.ts +85 -0
- package/lib/plugins/core-plugins.d.ts +5 -0
- package/lib/plugins/designer-plugin.d.ts +15 -0
- package/lib/plugins/plugin-context.d.ts +18 -0
- package/lib/plugins/plugin-providers.d.ts +3 -0
- package/lib/plugins/section-definition.d.ts +16 -0
- package/lib/theme/theme.service.d.ts +15 -0
- package/lib/ui/json-schema-editor.component.d.ts +27 -0
- package/lib/ui/monaco-editor.component.d.ts +24 -0
- package/lib/ui/ui-accordion.component.d.ts +11 -0
- package/lib/ui/ui-box-model.component.d.ts +55 -0
- package/lib/ui/ui-color-swatch.component.d.ts +12 -0
- package/lib/ui/ui-dimension.component.d.ts +21 -0
- package/lib/ui/ui-edge-box.component.d.ts +20 -0
- package/lib/ui/ui-field-wrapper.component.d.ts +8 -0
- package/lib/ui/ui-icon.module.d.ts +7 -0
- package/lib/ui/ui-input.component.d.ts +17 -0
- package/lib/ui/ui-range-number.component.d.ts +16 -0
- package/lib/ui/ui-select-icon.component.d.ts +18 -0
- package/lib/ui/ui-tabs.component.d.ts +25 -0
- package/lib/website/website-brick-studio.component.d.ts +67 -0
- package/lib/website/website-designer-shell.component.d.ts +53 -0
- package/lib/website/website-preview-shell.component.d.ts +25 -0
- package/lib/website/website-project.models.d.ts +78 -0
- package/lib/website/website-project.service.d.ts +50 -0
- package/lib/website/website-section-library.d.ts +6 -0
- package/lib/widgets/email-widgets/email-button-widget.component.d.ts +15 -0
- package/lib/widgets/email-widgets/email-heading-widget.component.d.ts +15 -0
- package/lib/widgets/email-widgets/email-text-widget.component.d.ts +13 -0
- package/lib/widgets/email-widgets.d.ts +2 -0
- package/lib/widgets/field-widgets/checkbox/checkbox-widget.component.d.ts +28 -0
- package/lib/widgets/field-widgets/checkbox-group/checkbox-group-widget.component.d.ts +40 -0
- package/lib/widgets/field-widgets/file-upload/file-upload-widget.component.d.ts +45 -0
- package/lib/widgets/field-widgets/radio/radio-widget.component.d.ts +39 -0
- package/lib/widgets/field-widgets/select/select-widget.component.d.ts +36 -0
- package/lib/widgets/field-widgets/text-field/text-field.component.d.ts +29 -0
- package/lib/widgets/field-widgets/tree-select/tree-select-widget.component.d.ts +47 -0
- package/lib/widgets/page-link-context.d.ts +8 -0
- package/lib/widgets/page-widgets/brick-settings.component.d.ts +23 -0
- package/lib/widgets/page-widgets/brick-widget.component.d.ts +47 -0
- package/lib/widgets/page-widgets/button-link-settings.component.d.ts +23 -0
- package/lib/widgets/page-widgets/button-widget.component.d.ts +21 -0
- package/lib/widgets/page-widgets/heading-widget.component.d.ts +22 -0
- package/lib/widgets/page-widgets/inline-quill-editor.component.d.ts +34 -0
- package/lib/widgets/page-widgets/table-inspector.component.d.ts +17 -0
- package/lib/widgets/page-widgets/table-widget.component.d.ts +35 -0
- package/lib/widgets/page-widgets/text-block-widget.component.d.ts +22 -0
- package/lib/widgets/page-widgets.d.ts +2 -0
- package/lib/widgets/static-widgets/image/image-widget.component.d.ts +18 -0
- package/lib/widgets/style-helpers.d.ts +8 -0
- package/lib/widgets/style-properties.d.ts +28 -0
- package/lib/widgets/style-sections.d.ts +1 -0
- package/lib/widgets/table-widget.d.ts +2 -0
- package/lib/widgets/widget-definition.d.ts +76 -0
- package/lib/widgets/widget-editor-context.d.ts +8 -0
- package/lib/widgets/widget-packs.d.ts +4 -0
- package/lib/widgets/widgets.d.ts +2 -0
- package/package.json +47 -0
- package/public-api.d.ts +68 -0
- package/tailwind.preset.js +51 -0
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { FieldSchema, OptionSchema, DataDependencyBinding, DataFilter } from '../../form-core/models';
|
|
3
|
+
import { DataSourceDefinition } from '../../data/data-catalog';
|
|
4
|
+
import { DataSourceColumn } from '../../data/data-source-client';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class DataPanelComponent implements OnChanges {
|
|
7
|
+
config: FieldSchema;
|
|
8
|
+
dataConsumer: 'value' | 'list' | 'image' | 'none';
|
|
9
|
+
bindingShape: 'scalar' | 'list' | null;
|
|
10
|
+
widgetType: string;
|
|
11
|
+
allFields: FieldSchema[];
|
|
12
|
+
configChange: EventEmitter<FieldSchema>;
|
|
13
|
+
sourceType: 'static' | 'source' | 'context';
|
|
14
|
+
selectedSourceId?: string;
|
|
15
|
+
showSourceManager: boolean;
|
|
16
|
+
staticOptions: OptionSchema[];
|
|
17
|
+
labelKey?: string;
|
|
18
|
+
valueKey?: string;
|
|
19
|
+
staticValue?: any;
|
|
20
|
+
tableColumns: any[];
|
|
21
|
+
tableRows: any[];
|
|
22
|
+
dependencyBindings: DataDependencyBinding[];
|
|
23
|
+
dataFilters: DataFilter[];
|
|
24
|
+
availableSources: DataSourceDefinition[];
|
|
25
|
+
sourceColumns: DataSourceColumn[];
|
|
26
|
+
previewLoading: boolean;
|
|
27
|
+
previewError: string | null;
|
|
28
|
+
previewRows: unknown[];
|
|
29
|
+
previewTotal: number;
|
|
30
|
+
private previewReqId;
|
|
31
|
+
private client;
|
|
32
|
+
constructor();
|
|
33
|
+
searchEnabled: boolean;
|
|
34
|
+
optionsLimit?: number;
|
|
35
|
+
searchColumns: string[];
|
|
36
|
+
treeIdKey?: string;
|
|
37
|
+
treeParentKey?: string;
|
|
38
|
+
treeRootValue?: string;
|
|
39
|
+
ngOnChanges(changes: SimpleChanges): Promise<void>;
|
|
40
|
+
refreshSources(): Promise<void>;
|
|
41
|
+
openSourceManager(): void;
|
|
42
|
+
closeSourceManager(): void;
|
|
43
|
+
get availableFields(): FieldSchema[];
|
|
44
|
+
setSourceType(type: 'static' | 'source' | 'context'): void;
|
|
45
|
+
addOption(): void;
|
|
46
|
+
removeOption(index: number): void;
|
|
47
|
+
onSourceChange(): void;
|
|
48
|
+
onKeyBlur(): void;
|
|
49
|
+
loadSourceInfo(): Promise<void>;
|
|
50
|
+
refreshPreview(): Promise<void>;
|
|
51
|
+
autoMapKeys(): void;
|
|
52
|
+
hasFieldFilters(): boolean;
|
|
53
|
+
updateSearchColumns(value: string): void;
|
|
54
|
+
getPreviewLabel(row: any): string;
|
|
55
|
+
getPreviewValue(row: any): string;
|
|
56
|
+
addTableColumn(): void;
|
|
57
|
+
removeTableColumn(index: number): void;
|
|
58
|
+
addTableRow(): void;
|
|
59
|
+
removeTableRow(index: number): void;
|
|
60
|
+
addDependency(): void;
|
|
61
|
+
removeDependency(index: number): void;
|
|
62
|
+
addFilter(): void;
|
|
63
|
+
removeFilter(index: number): void;
|
|
64
|
+
loadFromField(): void;
|
|
65
|
+
emitChange(): void;
|
|
66
|
+
generateTableColumns(): Promise<void>;
|
|
67
|
+
pageSize?: number;
|
|
68
|
+
sortColumn?: string;
|
|
69
|
+
sortDir: 'asc' | 'desc';
|
|
70
|
+
toggleSortDir(): void;
|
|
71
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DataPanelComponent, never>;
|
|
72
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DataPanelComponent, "app-data-panel", never, { "config": { "alias": "config"; "required": false; }; "dataConsumer": { "alias": "dataConsumer"; "required": false; }; "bindingShape": { "alias": "bindingShape"; "required": false; }; "widgetType": { "alias": "widgetType"; "required": false; }; "allFields": { "alias": "allFields"; "required": false; }; }, { "configChange": "configChange"; }, never, never, true, never>;
|
|
73
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Signal } from '@angular/core';
|
|
2
|
+
import { FormSchema, FieldSchema } from '../form-core/models';
|
|
3
|
+
import { WidgetDefinition } from '../widgets/widget-definition';
|
|
4
|
+
import { DesignerPlugin } from '../plugins/designer-plugin';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
/**
|
|
7
|
+
* Public API for Designer Plugins.
|
|
8
|
+
* Allows plugins to interact with the designer state and discover other plugins.
|
|
9
|
+
*/
|
|
10
|
+
export declare class DesignerContext {
|
|
11
|
+
private readonly state;
|
|
12
|
+
private readonly pluginGroups;
|
|
13
|
+
readonly schema: Signal<FormSchema>;
|
|
14
|
+
readonly plugins: Signal<DesignerPlugin[]>;
|
|
15
|
+
getSchema(): FormSchema;
|
|
16
|
+
updateSchema(mutator: (schema: FormSchema) => FormSchema): void;
|
|
17
|
+
getFields(): FieldSchema[];
|
|
18
|
+
getFieldById(id: string): FieldSchema | undefined;
|
|
19
|
+
updateField(id: string, updater: (field: FieldSchema) => FieldSchema): void;
|
|
20
|
+
getPluginSchemaMeta<T = unknown>(pluginId: string): T | undefined;
|
|
21
|
+
setPluginSchemaMeta<T = unknown>(pluginId: string, value: T): void;
|
|
22
|
+
getPluginFieldMeta<T = unknown>(fieldId: string, pluginId: string): T | undefined;
|
|
23
|
+
setPluginFieldMeta<T = unknown>(fieldId: string, pluginId: string, value: T): void;
|
|
24
|
+
getWidgetDefinitionById(id: string): WidgetDefinition | undefined;
|
|
25
|
+
getWidgetDefinitionForField(field: FieldSchema, kind?: string): WidgetDefinition | undefined;
|
|
26
|
+
getWidgetDefinition(type: string): WidgetDefinition | undefined;
|
|
27
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DesignerContext, never>;
|
|
28
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DesignerContext>;
|
|
29
|
+
}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { FormSchema, WidgetKind, LayoutNode, WidgetNode, FieldSchema, DesignerFlavor } from '../form-core/models';
|
|
2
|
+
import { WidgetDefinition } from '../widgets/widget-definition';
|
|
3
|
+
import type { DesignerSectionDefinition } from '../plugins/section-definition';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export interface InternalDragData {
|
|
6
|
+
type: 'new-widget' | 'new-section';
|
|
7
|
+
widgetType?: string;
|
|
8
|
+
widgetKind?: WidgetKind;
|
|
9
|
+
section?: DesignerSectionDefinition;
|
|
10
|
+
}
|
|
11
|
+
type LayoutIndexEntry = {
|
|
12
|
+
node: LayoutNode;
|
|
13
|
+
parentId: string | null;
|
|
14
|
+
path: string[];
|
|
15
|
+
index: number;
|
|
16
|
+
};
|
|
17
|
+
type LayoutIndex = Record<string, LayoutIndexEntry>;
|
|
18
|
+
export declare class DesignerStateService {
|
|
19
|
+
readonly activeFlavor: import("@angular/core").WritableSignal<DesignerFlavor>;
|
|
20
|
+
readonly schema: import("@angular/core").WritableSignal<FormSchema>;
|
|
21
|
+
readonly selectedNodeId: import("@angular/core").WritableSignal<string | null>;
|
|
22
|
+
readonly selectedNodeIds: import("@angular/core").WritableSignal<string[]>;
|
|
23
|
+
readonly contextMenu: import("@angular/core").WritableSignal<{
|
|
24
|
+
x: number;
|
|
25
|
+
y: number;
|
|
26
|
+
} | null>;
|
|
27
|
+
readonly activeBreakpoint: import("@angular/core").WritableSignal<"xs" | "sm" | "md" | "lg" | "xl" | "2xl">;
|
|
28
|
+
readonly isPreviewMode: import("@angular/core").WritableSignal<boolean>;
|
|
29
|
+
readonly activeDevice: import("@angular/core").Signal<"desktop" | "mobile">;
|
|
30
|
+
readonly activeThemeId: import("@angular/core").WritableSignal<string>;
|
|
31
|
+
readonly clipboard: import("@angular/core").WritableSignal<{
|
|
32
|
+
nodes: LayoutNode[];
|
|
33
|
+
fields: FieldSchema[];
|
|
34
|
+
} | null>;
|
|
35
|
+
private readonly history;
|
|
36
|
+
private readonly historyIndex;
|
|
37
|
+
private readonly historyLength;
|
|
38
|
+
private readonly maxHistory;
|
|
39
|
+
readonly canUndo: import("@angular/core").Signal<boolean>;
|
|
40
|
+
readonly canRedo: import("@angular/core").Signal<boolean>;
|
|
41
|
+
constructor();
|
|
42
|
+
readonly layoutIndex: import("@angular/core").Signal<LayoutIndex>;
|
|
43
|
+
readonly selectedNode: import("@angular/core").Signal<LayoutNode | null>;
|
|
44
|
+
readonly selectedField: import("@angular/core").Signal<FieldSchema | null>;
|
|
45
|
+
updateSchema(schema: FormSchema): void;
|
|
46
|
+
setFlavor(flavor: DesignerFlavor): void;
|
|
47
|
+
undo(): void;
|
|
48
|
+
redo(): void;
|
|
49
|
+
selectNode(id: string | null): void;
|
|
50
|
+
toggleNodeSelection(id: string): void;
|
|
51
|
+
isNodeSelected(nodeId: string): boolean;
|
|
52
|
+
openContextMenu(position: {
|
|
53
|
+
x: number;
|
|
54
|
+
y: number;
|
|
55
|
+
}): void;
|
|
56
|
+
closeContextMenu(): void;
|
|
57
|
+
private setSchema;
|
|
58
|
+
copy(): void;
|
|
59
|
+
cut(): void;
|
|
60
|
+
paste(): void;
|
|
61
|
+
deleteSelected(): void;
|
|
62
|
+
private collectFields;
|
|
63
|
+
private ensureSelectionIsValid;
|
|
64
|
+
private recordHistory;
|
|
65
|
+
private restoreSnapshot;
|
|
66
|
+
findNode(root: LayoutNode, id: string): LayoutNode | null;
|
|
67
|
+
/** Get the path of nodes from root to target (for breadcrumb) */
|
|
68
|
+
getNodePath(nodeId: string): {
|
|
69
|
+
id: string;
|
|
70
|
+
label: string;
|
|
71
|
+
type: string;
|
|
72
|
+
}[];
|
|
73
|
+
private getNodeLabel;
|
|
74
|
+
addFieldWidget(field: any, widgetNode: WidgetNode, targetColId: string): void;
|
|
75
|
+
private insertNodeIntoLayout;
|
|
76
|
+
handleDrop(event: any, targetColId: string): void;
|
|
77
|
+
pushField(widgetDef: WidgetDefinition): void;
|
|
78
|
+
pushStructure(type: 'row' | '2col'): void;
|
|
79
|
+
/** Remove a column by its id */
|
|
80
|
+
removeColumn(columnId: string): void;
|
|
81
|
+
/** Set preset column layout (e.g., 3,4,6) on a row */
|
|
82
|
+
setPresetLayout(rowId: string, preset: number): void;
|
|
83
|
+
/** Add one or more columns to a row */
|
|
84
|
+
addColumn(rowId: string, count?: number): void;
|
|
85
|
+
/** Move a node up or down within its parent container */
|
|
86
|
+
moveNode(nodeId: string, direction: 'up' | 'down'): void;
|
|
87
|
+
/** Duplicate a node (row, col, or widget) */
|
|
88
|
+
duplicateNode(nodeId: string): void;
|
|
89
|
+
/** Delete a node (row, col, or widget) and associated field if widget */
|
|
90
|
+
deleteNode(nodeId: string): void;
|
|
91
|
+
duplicateField(fieldId: string): void;
|
|
92
|
+
removeField(fieldId: string): void;
|
|
93
|
+
updateField(fieldId: string, updates: Partial<FieldSchema>): void;
|
|
94
|
+
groupSelectedFields(): string | null;
|
|
95
|
+
ungroupSelectedFields(): void;
|
|
96
|
+
canGroupSelectedFields(): boolean;
|
|
97
|
+
canUngroupSelectedFields(): boolean;
|
|
98
|
+
private getSelectedWidgetFields;
|
|
99
|
+
/**
|
|
100
|
+
* Update a specific node's style without cloning the entire tree.
|
|
101
|
+
* Only the path from root to the target node gets new references.
|
|
102
|
+
*/
|
|
103
|
+
updateNodeStyle(nodeId: string, style: Record<string, any>): void;
|
|
104
|
+
/**
|
|
105
|
+
* Update a specific node's responsive settings.
|
|
106
|
+
*/
|
|
107
|
+
updateNodeResponsive(nodeId: string, responsive: Record<string, number | undefined>): void;
|
|
108
|
+
/**
|
|
109
|
+
* Immutable tree update - only creates new references along the path to target.
|
|
110
|
+
* Returns the original node if no changes were made (preserves reference equality).
|
|
111
|
+
*/
|
|
112
|
+
private updateNodeInTree;
|
|
113
|
+
private isLayoutNode;
|
|
114
|
+
private detachNode;
|
|
115
|
+
private findWidgetByRefId;
|
|
116
|
+
private findParentCol;
|
|
117
|
+
private removeWidgetByRefId;
|
|
118
|
+
/**
|
|
119
|
+
* Insert a new Row (with default column structure) into a specific Column.
|
|
120
|
+
* Useful for creating nested grids.
|
|
121
|
+
*/
|
|
122
|
+
insertRowInColumn(columnId: string, colCount?: 1 | 2): void;
|
|
123
|
+
/**
|
|
124
|
+
* Wrap an existing widget in a new Row -> Column structure.
|
|
125
|
+
* Replaces the widget's current position with the new Row,
|
|
126
|
+
* and puts the widget inside the new Row's Column.
|
|
127
|
+
*/
|
|
128
|
+
wrapWidgetInRow(widgetId: string): void;
|
|
129
|
+
private findParentAndIndex;
|
|
130
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DesignerStateService, never>;
|
|
131
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DesignerStateService>;
|
|
132
|
+
}
|
|
133
|
+
export {};
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { PropertySection, PropertyField, PropertyFieldType } from '../../widgets/widget-definition';
|
|
3
|
+
import { FieldSchema } from '../../form-core/models';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class DynamicPropertiesComponent implements OnChanges {
|
|
6
|
+
onPropertyChange?: () => void;
|
|
7
|
+
private readonly designerCtx;
|
|
8
|
+
get properties(): PropertySection[];
|
|
9
|
+
getFieldReferenceCandidates(field: PropertyField): FieldSchema[];
|
|
10
|
+
config: any;
|
|
11
|
+
includeSections: string[] | null;
|
|
12
|
+
excludeSections: string[] | null;
|
|
13
|
+
allFields: FieldSchema[];
|
|
14
|
+
configChange: EventEmitter<any>;
|
|
15
|
+
openSections: {
|
|
16
|
+
[key: string]: boolean;
|
|
17
|
+
};
|
|
18
|
+
nameDraft: string;
|
|
19
|
+
nameError: string;
|
|
20
|
+
private nameDraftDirty;
|
|
21
|
+
private lastConfigId;
|
|
22
|
+
private lastConfigName;
|
|
23
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
24
|
+
isSectionOpen(section: PropertySection, index: number): boolean;
|
|
25
|
+
toggleSection(label: string, index: number): void;
|
|
26
|
+
getValue(key: string): any;
|
|
27
|
+
setValue(key: string, value: any): void;
|
|
28
|
+
isBasicInput(type: PropertyFieldType): boolean;
|
|
29
|
+
isNameField(field: PropertyField): boolean;
|
|
30
|
+
isGroupKeyField(field: PropertyField): boolean;
|
|
31
|
+
onNameDraftChange(value: string): void;
|
|
32
|
+
commitNameField(): void;
|
|
33
|
+
getGroupKeyOptions(): string[];
|
|
34
|
+
getGroupKeyListId(field: PropertyField): string;
|
|
35
|
+
private getNameError;
|
|
36
|
+
private getAllFields;
|
|
37
|
+
private getSafeOptionValue;
|
|
38
|
+
getDimensionPaths(field: PropertyField): [string, string];
|
|
39
|
+
onDimensionChange(field: PropertyField, value: {
|
|
40
|
+
width: any;
|
|
41
|
+
height: any;
|
|
42
|
+
}): void;
|
|
43
|
+
getBoxModelPath(field: PropertyField, key: string): string;
|
|
44
|
+
onBoxModelChange(field: PropertyField, value: {
|
|
45
|
+
marginTop?: any;
|
|
46
|
+
marginRight?: any;
|
|
47
|
+
marginBottom?: any;
|
|
48
|
+
marginLeft?: any;
|
|
49
|
+
paddingTop?: any;
|
|
50
|
+
paddingRight?: any;
|
|
51
|
+
paddingBottom?: any;
|
|
52
|
+
paddingLeft?: any;
|
|
53
|
+
borderWidth?: any;
|
|
54
|
+
width?: any;
|
|
55
|
+
height?: any;
|
|
56
|
+
}): void;
|
|
57
|
+
getEdgePaths(field: PropertyField): {
|
|
58
|
+
top: string;
|
|
59
|
+
right: string;
|
|
60
|
+
bottom: string;
|
|
61
|
+
left: string;
|
|
62
|
+
};
|
|
63
|
+
onEdgeChange(field: PropertyField, value: {
|
|
64
|
+
top: any;
|
|
65
|
+
right: any;
|
|
66
|
+
bottom: any;
|
|
67
|
+
left: any;
|
|
68
|
+
}): void;
|
|
69
|
+
handleFieldChange(): void;
|
|
70
|
+
buildCustomInputs(field: PropertyField): {
|
|
71
|
+
config: any;
|
|
72
|
+
getValue: (path: string) => any;
|
|
73
|
+
setValue: (path: string, value: any) => void;
|
|
74
|
+
onChange: () => void;
|
|
75
|
+
};
|
|
76
|
+
private setValues;
|
|
77
|
+
addOption(path: string): void;
|
|
78
|
+
removeOption(path: string, index: number): void;
|
|
79
|
+
updateOption(path: string, index: number, field: string, value: any): void;
|
|
80
|
+
addValidator(path: string): void;
|
|
81
|
+
removeValidator(path: string, index: number): void;
|
|
82
|
+
updateValidator(path: string, index: number, field: string, value: any): void;
|
|
83
|
+
getValidatorLabel(name: string): string;
|
|
84
|
+
enableConditional(path: string): void;
|
|
85
|
+
disableConditional(path: string): void;
|
|
86
|
+
updateConditional(path: string, field: string, value: any): void;
|
|
87
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DynamicPropertiesComponent, never>;
|
|
88
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DynamicPropertiesComponent, "app-dynamic-properties", never, { "onPropertyChange": { "alias": "onPropertyChange"; "required": false; }; "config": { "alias": "config"; "required": false; }; "includeSections": { "alias": "includeSections"; "required": false; }; "excludeSections": { "alias": "excludeSections"; "required": false; }; "allFields": { "alias": "allFields"; "required": false; }; }, { "configChange": "configChange"; }, never, never, true, never>;
|
|
89
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { FieldSchema, WidgetEventBinding, WidgetEventType, WidgetEventAction } from '../../form-core/models';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class EventsPanelComponent {
|
|
5
|
+
config: FieldSchema;
|
|
6
|
+
allFields: FieldSchema[];
|
|
7
|
+
configChange: EventEmitter<FieldSchema>;
|
|
8
|
+
eventTypes: WidgetEventType[];
|
|
9
|
+
get bindings(): WidgetEventBinding[];
|
|
10
|
+
get availableFields(): FieldSchema[];
|
|
11
|
+
addEvent(): void;
|
|
12
|
+
removeEvent(index: number): void;
|
|
13
|
+
addAction(binding: WidgetEventBinding): void;
|
|
14
|
+
removeAction(binding: WidgetEventBinding, index: number): void;
|
|
15
|
+
asSetValue(action: WidgetEventAction): any;
|
|
16
|
+
asLog(action: WidgetEventAction): any;
|
|
17
|
+
emitChange(): void;
|
|
18
|
+
private emitUpdate;
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<EventsPanelComponent, never>;
|
|
20
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<EventsPanelComponent, "app-events-panel", never, { "config": { "alias": "config"; "required": false; }; "allFields": { "alias": "allFields"; "required": false; }; }, { "configChange": "configChange"; }, never, never, true, never>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { WidgetDefinition } from '../widgets/widget-definition';
|
|
2
|
+
import { InternalDragData, DesignerStateService } from './designer-state.service';
|
|
3
|
+
import { DesignerSectionDefinition } from '../plugins/section-definition';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
type PaletteTab = 'pages' | 'sections' | 'widgets' | 'layers';
|
|
6
|
+
type SectionsView = 'library' | 'saved' | 'bricks';
|
|
7
|
+
type PalettePage = {
|
|
8
|
+
id: string;
|
|
9
|
+
name: string;
|
|
10
|
+
route: string;
|
|
11
|
+
};
|
|
12
|
+
type PaletteSavedSectionDefinition = {
|
|
13
|
+
id: string;
|
|
14
|
+
name: string;
|
|
15
|
+
description?: string;
|
|
16
|
+
tags?: string[];
|
|
17
|
+
};
|
|
18
|
+
type PaletteBrick = {
|
|
19
|
+
id: string;
|
|
20
|
+
name: string;
|
|
21
|
+
runtime?: 'dom' | 'react';
|
|
22
|
+
defaultProps?: Record<string, unknown>;
|
|
23
|
+
};
|
|
24
|
+
export declare class FieldPaletteComponent {
|
|
25
|
+
private _widgets;
|
|
26
|
+
designerState: DesignerStateService;
|
|
27
|
+
readonly sectionLibrary: import("@angular/core").InputSignal<DesignerSectionDefinition[] | null>;
|
|
28
|
+
readonly sectionInsert: import("@angular/core").OutputEmitterRef<DesignerSectionDefinition>;
|
|
29
|
+
readonly pages: import("@angular/core").InputSignal<PalettePage[] | null>;
|
|
30
|
+
readonly activePageId: import("@angular/core").InputSignal<string | null>;
|
|
31
|
+
readonly canRemovePage: import("@angular/core").InputSignal<boolean>;
|
|
32
|
+
readonly pageAdd: import("@angular/core").OutputEmitterRef<void>;
|
|
33
|
+
readonly pageSelect: import("@angular/core").OutputEmitterRef<string>;
|
|
34
|
+
readonly pageRemove: import("@angular/core").OutputEmitterRef<string>;
|
|
35
|
+
readonly pageRename: import("@angular/core").OutputEmitterRef<{
|
|
36
|
+
id: string;
|
|
37
|
+
name: string;
|
|
38
|
+
}>;
|
|
39
|
+
readonly pageRouteChange: import("@angular/core").OutputEmitterRef<{
|
|
40
|
+
id: string;
|
|
41
|
+
route: string;
|
|
42
|
+
}>;
|
|
43
|
+
readonly savedSections: import("@angular/core").InputSignal<PaletteSavedSectionDefinition[] | null>;
|
|
44
|
+
readonly savedSectionInsert: import("@angular/core").OutputEmitterRef<string>;
|
|
45
|
+
readonly savedSectionRemove: import("@angular/core").OutputEmitterRef<string>;
|
|
46
|
+
readonly savedSectionCreateRequested: import("@angular/core").OutputEmitterRef<{
|
|
47
|
+
name: string;
|
|
48
|
+
}>;
|
|
49
|
+
readonly bricks: import("@angular/core").InputSignal<PaletteBrick[] | null>;
|
|
50
|
+
activeTab: import("@angular/core").WritableSignal<PaletteTab>;
|
|
51
|
+
sectionsView: import("@angular/core").WritableSignal<SectionsView>;
|
|
52
|
+
widgetSearchQuery: import("@angular/core").WritableSignal<string>;
|
|
53
|
+
sectionLibrarySearchQuery: import("@angular/core").WritableSignal<string>;
|
|
54
|
+
savedSectionSearchQuery: import("@angular/core").WritableSignal<string>;
|
|
55
|
+
savedSectionName: import("@angular/core").WritableSignal<string>;
|
|
56
|
+
brickSearchQuery: import("@angular/core").WritableSignal<string>;
|
|
57
|
+
private readonly injectedSections;
|
|
58
|
+
private readonly injectedSectionsFlat;
|
|
59
|
+
allWidgets: import("@angular/core").Signal<WidgetDefinition[]>;
|
|
60
|
+
filteredFields: import("@angular/core").Signal<WidgetDefinition[]>;
|
|
61
|
+
filteredStatic: import("@angular/core").Signal<WidgetDefinition[]>;
|
|
62
|
+
pagesList: import("@angular/core").Signal<PalettePage[]>;
|
|
63
|
+
activePage: import("@angular/core").Signal<PalettePage | null>;
|
|
64
|
+
savedSectionsList: import("@angular/core").Signal<PaletteSavedSectionDefinition[]>;
|
|
65
|
+
filteredSavedSections: import("@angular/core").Signal<PaletteSavedSectionDefinition[]>;
|
|
66
|
+
canSaveSection: import("@angular/core").Signal<boolean>;
|
|
67
|
+
sectionLibraryList: import("@angular/core").Signal<DesignerSectionDefinition[]>;
|
|
68
|
+
filteredSections: import("@angular/core").Signal<DesignerSectionDefinition[]>;
|
|
69
|
+
sectionGroups: import("@angular/core").Signal<{
|
|
70
|
+
label: string;
|
|
71
|
+
items: DesignerSectionDefinition[];
|
|
72
|
+
}[]>;
|
|
73
|
+
bricksList: import("@angular/core").Signal<PaletteBrick[]>;
|
|
74
|
+
showBricks: import("@angular/core").Signal<boolean>;
|
|
75
|
+
sectionViewOptions: import("@angular/core").Signal<SectionsView[]>;
|
|
76
|
+
currentSectionView: import("@angular/core").Signal<SectionsView>;
|
|
77
|
+
filteredBricks: import("@angular/core").Signal<PaletteBrick[]>;
|
|
78
|
+
brickGroups: import("@angular/core").Signal<{
|
|
79
|
+
label: string;
|
|
80
|
+
items: PaletteBrick[];
|
|
81
|
+
}[]>;
|
|
82
|
+
tabOptions: import("@angular/core").Signal<PaletteTab[]>;
|
|
83
|
+
currentTab: import("@angular/core").Signal<PaletteTab>;
|
|
84
|
+
constructor(_widgets: WidgetDefinition[][], designerState: DesignerStateService);
|
|
85
|
+
tabLabel(tab: PaletteTab): string;
|
|
86
|
+
sectionViewLabel(view: SectionsView): string;
|
|
87
|
+
sectionViewCount(view: SectionsView): number;
|
|
88
|
+
addField(widget: WidgetDefinition): void;
|
|
89
|
+
addStructure(type: 'row' | '2col'): void;
|
|
90
|
+
getDragData(widget: WidgetDefinition): InternalDragData;
|
|
91
|
+
getSectionDragData(section: DesignerSectionDefinition): InternalDragData;
|
|
92
|
+
insertSection(section: DesignerSectionDefinition): void;
|
|
93
|
+
insertBrick(brick: PaletteBrick): void;
|
|
94
|
+
requestSaveSection(): void;
|
|
95
|
+
private cloneBrickProps;
|
|
96
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FieldPaletteComponent, never>;
|
|
97
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FieldPaletteComponent, "app-field-palette", never, { "sectionLibrary": { "alias": "sectionLibrary"; "required": false; "isSignal": true; }; "pages": { "alias": "pages"; "required": false; "isSignal": true; }; "activePageId": { "alias": "activePageId"; "required": false; "isSignal": true; }; "canRemovePage": { "alias": "canRemovePage"; "required": false; "isSignal": true; }; "savedSections": { "alias": "savedSections"; "required": false; "isSignal": true; }; "bricks": { "alias": "bricks"; "required": false; "isSignal": true; }; }, { "sectionInsert": "sectionInsert"; "pageAdd": "pageAdd"; "pageSelect": "pageSelect"; "pageRemove": "pageRemove"; "pageRename": "pageRename"; "pageRouteChange": "pageRouteChange"; "savedSectionInsert": "savedSectionInsert"; "savedSectionRemove": "savedSectionRemove"; "savedSectionCreateRequested": "savedSectionCreateRequested"; }, never, never, true, never>;
|
|
98
|
+
}
|
|
99
|
+
export {};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { EventEmitter, SimpleChanges, OnChanges } from '@angular/core';
|
|
2
|
+
import { FormEngine } from '../form-core/form-engine';
|
|
3
|
+
import { FormSchema, DesignerFlavor } from '../form-core/models';
|
|
4
|
+
import { DesignerStateService } from './designer-state.service';
|
|
5
|
+
import { DesignerTemplateDefinition } from './template-library';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export declare class FormDesignerShellComponent implements OnChanges {
|
|
8
|
+
protected readonly state: DesignerStateService;
|
|
9
|
+
flavor: DesignerFlavor;
|
|
10
|
+
flavors: DesignerFlavor[];
|
|
11
|
+
templates: DesignerTemplateDefinition[];
|
|
12
|
+
headerLabel?: string;
|
|
13
|
+
enableTemplateLibrary: boolean;
|
|
14
|
+
enableGlobalDataManager: boolean;
|
|
15
|
+
showSaveButton: boolean;
|
|
16
|
+
showPublishButton: boolean;
|
|
17
|
+
showEmailPreview: boolean;
|
|
18
|
+
flavorChange: EventEmitter<DesignerFlavor>;
|
|
19
|
+
save: EventEmitter<FormSchema>;
|
|
20
|
+
publish: EventEmitter<FormSchema>;
|
|
21
|
+
showGlobalData: boolean;
|
|
22
|
+
showTemplateLibrary: boolean;
|
|
23
|
+
selectedTemplateId: string | null;
|
|
24
|
+
pendingTemplate: DesignerTemplateDefinition | null;
|
|
25
|
+
get engine(): FormEngine;
|
|
26
|
+
get filteredTemplates(): DesignerTemplateDefinition[];
|
|
27
|
+
get selectedTemplate(): DesignerTemplateDefinition | null;
|
|
28
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
29
|
+
switchFlavor(next: DesignerFlavor): void;
|
|
30
|
+
openLibrary(): void;
|
|
31
|
+
closeLibrary(): void;
|
|
32
|
+
selectTemplate(template: DesignerTemplateDefinition): void;
|
|
33
|
+
requestApplyTemplate(template: DesignerTemplateDefinition | null): void;
|
|
34
|
+
confirmApplyTemplate(): void;
|
|
35
|
+
cancelApplyTemplate(): void;
|
|
36
|
+
onSave(): void;
|
|
37
|
+
onPublish(): void;
|
|
38
|
+
trackByTemplateId(_index: number, template: DesignerTemplateDefinition): string;
|
|
39
|
+
trackByFlavor(_index: number, flavor: DesignerFlavor): DesignerFlavor;
|
|
40
|
+
private shouldConfirmReplace;
|
|
41
|
+
private applyTemplate;
|
|
42
|
+
private syncTemplateSelection;
|
|
43
|
+
private createSchemaId;
|
|
44
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormDesignerShellComponent, never>;
|
|
45
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FormDesignerShellComponent, "app-form-designer-shell", never, { "flavor": { "alias": "flavor"; "required": false; }; "flavors": { "alias": "flavors"; "required": false; }; "templates": { "alias": "templates"; "required": false; }; "headerLabel": { "alias": "headerLabel"; "required": false; }; "enableTemplateLibrary": { "alias": "enableTemplateLibrary"; "required": false; }; "enableGlobalDataManager": { "alias": "enableGlobalDataManager"; "required": false; }; "showSaveButton": { "alias": "showSaveButton"; "required": false; }; "showPublishButton": { "alias": "showPublishButton"; "required": false; }; "showEmailPreview": { "alias": "showEmailPreview"; "required": false; }; }, { "flavorChange": "flavorChange"; "save": "save"; "publish": "publish"; }, never, never, true, never>;
|
|
46
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { DesignerStateService } from './designer-state.service';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class FormPreviewComponent {
|
|
4
|
+
state: DesignerStateService;
|
|
5
|
+
breakpoints: readonly ["xs", "sm", "md", "lg", "xl", "2xl"];
|
|
6
|
+
breakpoint: import("@angular/core").WritableSignal<"xs" | "sm" | "md" | "lg" | "xl" | "2xl">;
|
|
7
|
+
activeDevice: import("@angular/core").Signal<"desktop" | "mobile">;
|
|
8
|
+
formData: any;
|
|
9
|
+
combinedFormData: any;
|
|
10
|
+
constructor(state: DesignerStateService);
|
|
11
|
+
setBreakpoint(bp: any): void;
|
|
12
|
+
getContainerWidth(): "100%" | "375px" | "576px" | "768px" | "992px" | "1200px" | "1400px";
|
|
13
|
+
getPageStyle(): Record<string, any>;
|
|
14
|
+
close(): void;
|
|
15
|
+
updateData(data: any): void;
|
|
16
|
+
updateCombinedData(data: any): void;
|
|
17
|
+
previewData(): any;
|
|
18
|
+
copyData(): void;
|
|
19
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormPreviewComponent, never>;
|
|
20
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FormPreviewComponent, "app-form-preview", never, {}, {}, never, never, true, never>;
|
|
21
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FormSchema, StyleTokenSet } from '../form-core/models';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class FormSettingsInspectorComponent {
|
|
4
|
+
readonly schema: import("@angular/core").InputSignal<FormSchema>;
|
|
5
|
+
readonly settingsChange: import("@angular/core").OutputEmitterRef<Record<string, any>>;
|
|
6
|
+
readonly styleChange: import("@angular/core").OutputEmitterRef<Partial<StyleTokenSet>>;
|
|
7
|
+
readonly tabs: string[];
|
|
8
|
+
activeTab: import("@angular/core").WritableSignal<string>;
|
|
9
|
+
currentStyle: import("@angular/core").Signal<StyleTokenSet>;
|
|
10
|
+
updateSettings(key: string, value: any): void;
|
|
11
|
+
onStyleChange(style: Partial<StyleTokenSet>): void;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormSettingsInspectorComponent, never>;
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FormSettingsInspectorComponent, "form-settings-inspector", never, { "schema": { "alias": "schema"; "required": true; "isSignal": true; }; }, { "settingsChange": "settingsChange"; "styleChange": "styleChange"; }, never, never, true, never>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { DataSourceDefinition } from '../data/data-catalog';
|
|
3
|
+
import { UploadSourceType } from '../data/data-source-client';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class GlobalDataManagerComponent {
|
|
6
|
+
close: EventEmitter<void>;
|
|
7
|
+
private client;
|
|
8
|
+
sources: DataSourceDefinition[];
|
|
9
|
+
newId: string;
|
|
10
|
+
newLabel: string;
|
|
11
|
+
newType: UploadSourceType;
|
|
12
|
+
newRawData: string;
|
|
13
|
+
parsedColumns: {
|
|
14
|
+
name: string;
|
|
15
|
+
type: string;
|
|
16
|
+
}[];
|
|
17
|
+
parsedCount: number;
|
|
18
|
+
error: string;
|
|
19
|
+
listError: string;
|
|
20
|
+
isSaving: boolean;
|
|
21
|
+
constructor();
|
|
22
|
+
get canDelete(): boolean;
|
|
23
|
+
refreshList(): Promise<void>;
|
|
24
|
+
onFileSelected(event: Event): void;
|
|
25
|
+
onLabelBlur(): void;
|
|
26
|
+
refreshPreview(): void;
|
|
27
|
+
createDataset(): Promise<void>;
|
|
28
|
+
remove(id: string): Promise<void>;
|
|
29
|
+
objectKeys(obj: any): string[];
|
|
30
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GlobalDataManagerComponent, never>;
|
|
31
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GlobalDataManagerComponent, "app-global-data-manager", never, {}, { "close": "close"; }, never, never, true, never>;
|
|
32
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { StyleTokenSet } from '../../form-core/models';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Light theme Advanced/Custom Properties section.
|
|
5
|
+
*/
|
|
6
|
+
export declare class InspectorAdvancedSectionComponent {
|
|
7
|
+
readonly style: import("@angular/core").InputSignal<Partial<StyleTokenSet>>;
|
|
8
|
+
readonly styleChange: import("@angular/core").OutputEmitterRef<Partial<StyleTokenSet>>;
|
|
9
|
+
hasCustomProperties(): boolean;
|
|
10
|
+
getCustomProperties(): Array<{
|
|
11
|
+
key: string;
|
|
12
|
+
value: string;
|
|
13
|
+
}>;
|
|
14
|
+
updateStyle(key: string, value: any): void;
|
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<InspectorAdvancedSectionComponent, never>;
|
|
16
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<InspectorAdvancedSectionComponent, "inspector-advanced-section", never, { "style": { "alias": "style"; "required": false; "isSignal": true; }; }, { "styleChange": "styleChange"; }, never, never, true, never>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { StyleTokenSet } from '../../form-core/models';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Light theme Backgrounds section.
|
|
5
|
+
*/
|
|
6
|
+
export declare class InspectorBackgroundsSectionComponent {
|
|
7
|
+
readonly style: import("@angular/core").InputSignal<Partial<StyleTokenSet>>;
|
|
8
|
+
readonly styleChange: import("@angular/core").OutputEmitterRef<Partial<StyleTokenSet>>;
|
|
9
|
+
showImageUrl: boolean;
|
|
10
|
+
getBackgroundPreview(): string;
|
|
11
|
+
updateStyle(key: string, value: any): void;
|
|
12
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<InspectorBackgroundsSectionComponent, never>;
|
|
13
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<InspectorBackgroundsSectionComponent, "inspector-backgrounds-section", never, { "style": { "alias": "style"; "required": false; "isSignal": true; }; }, { "styleChange": "styleChange"; }, never, never, true, never>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { StyleTokenSet } from '../../form-core/models';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Light theme Borders section.
|
|
5
|
+
*/
|
|
6
|
+
export declare class InspectorBordersSectionComponent {
|
|
7
|
+
readonly style: import("@angular/core").InputSignal<Partial<StyleTokenSet>>;
|
|
8
|
+
readonly styleChange: import("@angular/core").OutputEmitterRef<Partial<StyleTokenSet>>;
|
|
9
|
+
selectedCorner: import("@angular/core").WritableSignal<"br" | "tr" | "tl" | "bl" | "all">;
|
|
10
|
+
selectedSide: import("@angular/core").WritableSignal<"left" | "right" | "top" | "bottom" | "all">;
|
|
11
|
+
readonly radiusCorners: ({
|
|
12
|
+
corner: "all";
|
|
13
|
+
label: string;
|
|
14
|
+
icon: string;
|
|
15
|
+
} | {
|
|
16
|
+
corner: "tl";
|
|
17
|
+
label: string;
|
|
18
|
+
icon: string;
|
|
19
|
+
} | {
|
|
20
|
+
corner: "tr";
|
|
21
|
+
label: string;
|
|
22
|
+
icon: string;
|
|
23
|
+
} | {
|
|
24
|
+
corner: "bl";
|
|
25
|
+
label: string;
|
|
26
|
+
icon: string;
|
|
27
|
+
} | {
|
|
28
|
+
corner: "br";
|
|
29
|
+
label: string;
|
|
30
|
+
icon: string;
|
|
31
|
+
})[];
|
|
32
|
+
readonly borderStyles: {
|
|
33
|
+
value: string;
|
|
34
|
+
icon: string;
|
|
35
|
+
}[];
|
|
36
|
+
selectCorner(corner: 'all' | 'tl' | 'tr' | 'br' | 'bl'): void;
|
|
37
|
+
selectSide(side: 'all' | 'top' | 'right' | 'bottom' | 'left'): void;
|
|
38
|
+
getRadiusValue(): string;
|
|
39
|
+
setRadiusValue(value: string): void;
|
|
40
|
+
parseValue(val: string | number | undefined): number;
|
|
41
|
+
getColorName(color: string | undefined): string;
|
|
42
|
+
updateStyle(key: string, value: any): void;
|
|
43
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<InspectorBordersSectionComponent, never>;
|
|
44
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<InspectorBordersSectionComponent, "inspector-borders-section", never, { "style": { "alias": "style"; "required": false; "isSignal": true; }; }, { "styleChange": "styleChange"; }, never, never, true, never>;
|
|
45
|
+
}
|