@yourself.create/ngx-form-designer 0.0.1 → 0.0.4

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 (42) hide show
  1. package/README.md +8 -8
  2. package/fesm2022/{notdefined-ngx-form-designer.mjs → uch-web-ngx-form-designer.mjs} +2867 -409
  3. package/fesm2022/uch-web-ngx-form-designer.mjs.map +1 -0
  4. package/index.d.ts +1 -1
  5. package/lib/ai/ai-tool-registry.service.d.ts +1 -1
  6. package/lib/ai/plugins/form-designer-tool-plugin.d.ts +1 -1
  7. package/lib/ai/provide-form-designer-angai-feature.d.ts +16 -0
  8. package/lib/ai/tools/designer-read-tools.d.ts +1 -1
  9. package/lib/ai/tools/designer-write-tools.d.ts +1 -1
  10. package/lib/ai/tools/schema-patch-tool.d.ts +1 -1
  11. package/lib/form-core/form-engine.d.ts +7 -3
  12. package/lib/form-core/form-event-runner.d.ts +14 -0
  13. package/lib/form-core/form-journey.models.d.ts +30 -0
  14. package/lib/form-core/models.d.ts +7 -1
  15. package/lib/form-designer/designer-state.service.d.ts +1 -1
  16. package/lib/form-designer/events-workspace.component.d.ts +28 -3
  17. package/lib/form-designer/form-designer-shell.component.d.ts +30 -5
  18. package/lib/form-designer/form-journey-state.service.d.ts +28 -0
  19. package/lib/form-designer/form-preview.component.d.ts +21 -2
  20. package/lib/form-designer/inspector-sections/inspector-backgrounds-section.component.d.ts +5 -0
  21. package/lib/form-designer/inspector-sections/inspector-typography-section.component.d.ts +1 -0
  22. package/lib/form-designer/json-form-designer.component.d.ts +21 -2
  23. package/lib/form-designer/layout-canvas.component.d.ts +4 -2
  24. package/lib/form-designer/template-library.d.ts +2 -0
  25. package/lib/form-designer/widget-inspector.component.d.ts +1 -1
  26. package/lib/form-renderer/form-journey-viewer.component.d.ts +51 -0
  27. package/lib/form-renderer/form-viewer/form-viewer.component.d.ts +16 -3
  28. package/lib/form-renderer/json-form-renderer.component.d.ts +10 -2
  29. package/lib/form-renderer/layout-node.component.d.ts +2 -1
  30. package/lib/ui/ui-color-swatch.component.d.ts +1 -0
  31. package/lib/website/website-designer-shell.component.d.ts +4 -4
  32. package/lib/website/website-preview-shell.component.d.ts +4 -4
  33. package/lib/widgets/field-widgets/checkbox-group/checkbox-group-widget.component.d.ts +5 -0
  34. package/lib/widgets/field-widgets/option-field-labels.d.ts +3 -0
  35. package/lib/widgets/field-widgets/radio/radio-widget.component.d.ts +5 -0
  36. package/lib/widgets/field-widgets/search/search-widget.component.d.ts +4 -0
  37. package/lib/widgets/field-widgets/select/select-widget.component.d.ts +9 -0
  38. package/lib/widgets/field-widgets/text-field/text-field.component.d.ts +3 -0
  39. package/lib/widgets/page-widgets/brick-settings.component.d.ts +1 -1
  40. package/package.json +6 -5
  41. package/public-api.d.ts +4 -0
  42. package/fesm2022/notdefined-ngx-form-designer.mjs.map +0 -1
@@ -1,7 +1,9 @@
1
1
  import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
2
- import { DesignerEventApiDefinition, FormSchema, UploadedFileRef, WidgetEventApiExecutor } from '../../form-core/models';
2
+ import { DesignerEventApiDefinition, FieldDisplayLabel, FormSchema, UploadedFileRef, WidgetEventApiExecutor } from '../../form-core/models';
3
3
  import { JsonFormRendererComponent, FormSubmitResult, FormValidationResult, FormValueMap, GroupedFormValues, CombinedFormValues } from '../json-form-renderer.component';
4
+ import { FormJourneyViewerComponent, type JourneyFormDataByPage } from '../form-journey-viewer.component';
4
5
  import { type FieldDataAccessMap, type RuntimeFieldDataAccessApi } from '../../data/runtime-field-data-access-registry.service';
6
+ import type { FormJourneyProject } from '../../form-core/form-journey.models';
5
7
  import * as i0 from "@angular/core";
6
8
  export interface FormViewerOptions {
7
9
  showSubmitButton?: boolean;
@@ -10,7 +12,8 @@ export interface FormViewerOptions {
10
12
  }
11
13
  export type FormViewerDataInput = Record<string, unknown> | FormValueMap | GroupedFormValues | CombinedFormValues | FormSubmitResult;
12
14
  export declare class FormViewerComponent implements OnInit, OnDestroy {
13
- schema: FormSchema;
15
+ schema?: FormSchema;
16
+ journey?: FormJourneyProject | null;
14
17
  set data(value: FormViewerDataInput);
15
18
  get data(): FormViewerDataInput;
16
19
  set dataUsesFieldNameKeys(value: boolean);
@@ -24,10 +27,13 @@ export declare class FormViewerComponent implements OnInit, OnDestroy {
24
27
  formContentId?: string;
25
28
  formContentVersion?: string;
26
29
  formDataChange: EventEmitter<FormValueMap>;
30
+ formDataByPageChange: EventEmitter<JourneyFormDataByPage>;
27
31
  formValidationChange: EventEmitter<FormValidationResult>;
28
32
  uploadedFilesChange: EventEmitter<Record<string, UploadedFileRef[]>>;
29
33
  submit: EventEmitter<FormSubmitResult>;
34
+ activePageIdChange: EventEmitter<string>;
30
35
  renderer: JsonFormRendererComponent;
36
+ journeyViewer?: FormJourneyViewerComponent;
31
37
  breakpoint: import("@angular/core").WritableSignal<"xs" | "sm" | "md" | "lg" | "xl" | "2xl">;
32
38
  private el;
33
39
  private zone;
@@ -36,18 +42,25 @@ export declare class FormViewerComponent implements OnInit, OnDestroy {
36
42
  private _data;
37
43
  private _dataUsesFieldNameKeys;
38
44
  protected normalizedInitialValues: Record<string, unknown>;
45
+ protected normalizedInitialFieldLabels: Record<string, FieldDisplayLabel>;
39
46
  ngOnInit(): void;
40
47
  ngOnDestroy(): void;
41
48
  private setupResizeObserver;
42
49
  private updateBreakpoint;
43
50
  onValueChange(values: FormValueMap): void;
44
51
  onValidationChange(result: FormValidationResult): void;
52
+ onJourneyValueByPageChange(valuesByPage: JourneyFormDataByPage): void;
45
53
  onUploadedFilesChange(result: Record<string, UploadedFileRef[]>): void;
46
54
  triggerSubmit(): void;
47
55
  onRendererSubmit(result: FormSubmitResult): void;
56
+ onActivePageIdChange(pageId: string): void;
57
+ hasJourney(): boolean;
58
+ resolvedSchema(): FormSchema | null;
48
59
  private refreshNormalizedInitialValues;
49
60
  private normalizeInitialValues;
61
+ private normalizeInitialFieldLabels;
50
62
  private normalizeFieldNameKeyedValues;
63
+ private normalizeFieldNameKeyedLabels;
51
64
  private collectOutputShapeFields;
52
65
  private deserializeFieldValue;
53
66
  private deserializeFieldNameKeyedFieldValue;
@@ -61,5 +74,5 @@ export declare class FormViewerComponent implements OnInit, OnDestroy {
61
74
  private isFieldIdValue;
62
75
  private isRecord;
63
76
  static ɵfac: i0.ɵɵFactoryDeclaration<FormViewerComponent, never>;
64
- static ɵcmp: i0.ɵɵComponentDeclaration<FormViewerComponent, "app-form-viewer", never, { "schema": { "alias": "schema"; "required": true; }; "data": { "alias": "data"; "required": false; }; "dataUsesFieldNameKeys": { "alias": "dataUsesFieldNameKeys"; "required": false; }; "options": { "alias": "options"; "required": false; }; "viewOnly": { "alias": "viewOnly"; "required": false; }; "eventApis": { "alias": "eventApis"; "required": false; }; "eventApiExecutor": { "alias": "eventApiExecutor"; "required": false; }; "fieldDataAccessMap": { "alias": "fieldDataAccessMap"; "required": false; }; "fieldDataAccessApi": { "alias": "fieldDataAccessApi"; "required": false; }; "formContentId": { "alias": "formContentId"; "required": false; }; "formContentVersion": { "alias": "formContentVersion"; "required": false; }; }, { "formDataChange": "formDataChange"; "formValidationChange": "formValidationChange"; "uploadedFilesChange": "uploadedFilesChange"; "submit": "submit"; }, never, never, true, never>;
77
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormViewerComponent, "app-form-viewer", never, { "schema": { "alias": "schema"; "required": false; }; "journey": { "alias": "journey"; "required": false; }; "data": { "alias": "data"; "required": false; }; "dataUsesFieldNameKeys": { "alias": "dataUsesFieldNameKeys"; "required": false; }; "options": { "alias": "options"; "required": false; }; "viewOnly": { "alias": "viewOnly"; "required": false; }; "eventApis": { "alias": "eventApis"; "required": false; }; "eventApiExecutor": { "alias": "eventApiExecutor"; "required": false; }; "fieldDataAccessMap": { "alias": "fieldDataAccessMap"; "required": false; }; "fieldDataAccessApi": { "alias": "fieldDataAccessApi"; "required": false; }; "formContentId": { "alias": "formContentId"; "required": false; }; "formContentVersion": { "alias": "formContentVersion"; "required": false; }; }, { "formDataChange": "formDataChange"; "formDataByPageChange": "formDataByPageChange"; "formValidationChange": "formValidationChange"; "uploadedFilesChange": "uploadedFilesChange"; "submit": "submit"; "activePageIdChange": "activePageIdChange"; }, never, never, true, never>;
65
78
  }
@@ -1,5 +1,5 @@
1
1
  import { OnInit, OnChanges, SimpleChanges, EventEmitter, OnDestroy } from '@angular/core';
2
- import { DesignerEventApiDefinition, FormSchema, UploadedFileRef, WidgetEventApiExecutor } from '../form-core/models';
2
+ import { DesignerEventApiDefinition, FieldDisplayLabel, FormSchema, UploadedFileRef, WidgetEventApiExecutor } from '../form-core/models';
3
3
  import { FormEngine } from '../form-core/form-engine';
4
4
  import { DesignerStateService } from '../form-designer/designer-state.service';
5
5
  import { type FieldDataAccessMap, type RuntimeFieldDataAccessApi } from '../data/runtime-field-data-access-registry.service';
@@ -7,6 +7,7 @@ import * as i0 from "@angular/core";
7
7
  export interface FormFieldValue {
8
8
  fieldName: string;
9
9
  fieldValue: unknown;
10
+ fieldLabel?: FieldDisplayLabel;
10
11
  fileType?: string | string[];
11
12
  data?: string | string[];
12
13
  }
@@ -28,8 +29,10 @@ export declare class JsonFormRendererComponent implements OnInit, OnChanges, OnD
28
29
  private designerState;
29
30
  schema: FormSchema;
30
31
  initialValues: Record<string, any>;
32
+ initialFieldLabels: Record<string, FieldDisplayLabel>;
31
33
  mode: 'live' | 'preview' | 'design';
32
34
  device: 'desktop' | 'mobile';
35
+ showLayoutGuides: boolean;
33
36
  breakpoint: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
34
37
  eventLogger?: {
35
38
  log: (message: string, data?: unknown) => void;
@@ -37,6 +40,10 @@ export declare class JsonFormRendererComponent implements OnInit, OnChanges, OnD
37
40
  };
38
41
  eventApis: DesignerEventApiDefinition[];
39
42
  eventApiExecutor?: WidgetEventApiExecutor;
43
+ navigateToPage?: (pageId: string) => Promise<{
44
+ ok: boolean;
45
+ reason?: string;
46
+ }>;
40
47
  uploadOnSubmit: boolean;
41
48
  fieldDataAccessMap?: FieldDataAccessMap;
42
49
  fieldDataAccessApi?: RuntimeFieldDataAccessApi;
@@ -87,6 +94,7 @@ export declare class JsonFormRendererComponent implements OnInit, OnChanges, OnD
87
94
  private encodeBytesToBase64;
88
95
  private toSingleOrList;
89
96
  private getUploadedFileRefs;
97
+ private buildFieldLabelMetadata;
90
98
  private mergeFileMetadata;
91
99
  private buildGroupedValues;
92
100
  private buildCombinedValues;
@@ -94,5 +102,5 @@ export declare class JsonFormRendererComponent implements OnInit, OnChanges, OnD
94
102
  private isGroupValue;
95
103
  private isUploadedFileRef;
96
104
  static ɵfac: i0.ɵɵFactoryDeclaration<JsonFormRendererComponent, never>;
97
- static ɵcmp: i0.ɵɵComponentDeclaration<JsonFormRendererComponent, "app-json-form-renderer", never, { "schema": { "alias": "schema"; "required": false; }; "initialValues": { "alias": "initialValues"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "device": { "alias": "device"; "required": false; }; "breakpoint": { "alias": "breakpoint"; "required": false; }; "eventLogger": { "alias": "eventLogger"; "required": false; }; "eventApis": { "alias": "eventApis"; "required": false; }; "eventApiExecutor": { "alias": "eventApiExecutor"; "required": false; }; "uploadOnSubmit": { "alias": "uploadOnSubmit"; "required": false; }; "fieldDataAccessMap": { "alias": "fieldDataAccessMap"; "required": false; }; "fieldDataAccessApi": { "alias": "fieldDataAccessApi"; "required": false; }; "formContentId": { "alias": "formContentId"; "required": false; }; "formContentVersion": { "alias": "formContentVersion"; "required": false; }; }, { "valueChange": "valueChange"; "groupedValueChange": "groupedValueChange"; "combinedValueChange": "combinedValueChange"; "validationChange": "validationChange"; "uploadedFilesChange": "uploadedFilesChange"; "formSubmit": "formSubmit"; }, never, never, true, never>;
105
+ static ɵcmp: i0.ɵɵComponentDeclaration<JsonFormRendererComponent, "app-json-form-renderer", never, { "schema": { "alias": "schema"; "required": false; }; "initialValues": { "alias": "initialValues"; "required": false; }; "initialFieldLabels": { "alias": "initialFieldLabels"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "device": { "alias": "device"; "required": false; }; "showLayoutGuides": { "alias": "showLayoutGuides"; "required": false; }; "breakpoint": { "alias": "breakpoint"; "required": false; }; "eventLogger": { "alias": "eventLogger"; "required": false; }; "eventApis": { "alias": "eventApis"; "required": false; }; "eventApiExecutor": { "alias": "eventApiExecutor"; "required": false; }; "navigateToPage": { "alias": "navigateToPage"; "required": false; }; "uploadOnSubmit": { "alias": "uploadOnSubmit"; "required": false; }; "fieldDataAccessMap": { "alias": "fieldDataAccessMap"; "required": false; }; "fieldDataAccessApi": { "alias": "fieldDataAccessApi"; "required": false; }; "formContentId": { "alias": "formContentId"; "required": false; }; "formContentVersion": { "alias": "formContentVersion"; "required": false; }; }, { "valueChange": "valueChange"; "groupedValueChange": "groupedValueChange"; "combinedValueChange": "combinedValueChange"; "validationChange": "validationChange"; "uploadedFilesChange": "uploadedFilesChange"; "formSubmit": "formSubmit"; }, never, never, true, never>;
98
106
  }
@@ -15,6 +15,7 @@ export declare class LayoutNodeComponent implements OnInit, OnChanges, OnDestroy
15
15
  engine: FormEngine;
16
16
  fields: FieldSchema[];
17
17
  designMode: boolean;
18
+ showLayoutGuides: boolean;
18
19
  readOnlyMode: boolean;
19
20
  scopePath: string[];
20
21
  device: 'desktop' | 'mobile';
@@ -107,5 +108,5 @@ export declare class LayoutNodeComponent implements OnInit, OnChanges, OnDestroy
107
108
  isRuleControlled(node: LayoutNode): boolean;
108
109
  private getFieldForWidgetNode;
109
110
  static ɵfac: i0.ɵɵFactoryDeclaration<LayoutNodeComponent, never>;
110
- static ɵcmp: i0.ɵɵComponentDeclaration<LayoutNodeComponent, "app-layout-node", never, { "node": { "alias": "node"; "required": false; }; "engine": { "alias": "engine"; "required": false; }; "fields": { "alias": "fields"; "required": false; }; "designMode": { "alias": "designMode"; "required": false; }; "readOnlyMode": { "alias": "readOnlyMode"; "required": false; }; "scopePath": { "alias": "scopePath"; "required": false; }; "device": { "alias": "device"; "required": false; }; "breakpoint": { "alias": "breakpoint"; "required": false; }; "connectedDropLists": { "alias": "connectedDropLists"; "required": false; }; }, { "nodeDrop": "nodeDrop"; "nodeSelect": "nodeSelect"; }, never, never, true, never>;
111
+ static ɵcmp: i0.ɵɵComponentDeclaration<LayoutNodeComponent, "app-layout-node", never, { "node": { "alias": "node"; "required": false; }; "engine": { "alias": "engine"; "required": false; }; "fields": { "alias": "fields"; "required": false; }; "designMode": { "alias": "designMode"; "required": false; }; "showLayoutGuides": { "alias": "showLayoutGuides"; "required": false; }; "readOnlyMode": { "alias": "readOnlyMode"; "required": false; }; "scopePath": { "alias": "scopePath"; "required": false; }; "device": { "alias": "device"; "required": false; }; "breakpoint": { "alias": "breakpoint"; "required": false; }; "connectedDropLists": { "alias": "connectedDropLists"; "required": false; }; }, { "nodeDrop": "nodeDrop"; "nodeSelect": "nodeSelect"; }, never, never, true, never>;
111
112
  }
@@ -7,6 +7,7 @@ export declare class UiColorSwatchComponent {
7
7
  value: string;
8
8
  valueChange: EventEmitter<string>;
9
9
  blur: EventEmitter<void>;
10
+ onPickerChange(color: string): void;
10
11
  static ɵfac: i0.ɵɵFactoryDeclaration<UiColorSwatchComponent, never>;
11
12
  static ɵcmp: i0.ɵɵComponentDeclaration<UiColorSwatchComponent, "ui-color-swatch", never, { "label": { "alias": "label"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "helpText": { "alias": "helpText"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "valueChange": "valueChange"; "blur": "blur"; }, never, never, true, never>;
12
13
  }
@@ -13,10 +13,10 @@ export declare class WebsiteDesignerShellComponent implements OnInit {
13
13
  private readonly pluginSections;
14
14
  private readonly pluginSectionsFlat;
15
15
  readonly project: import("@angular/core").Signal<WebsiteProject>;
16
- readonly pages: import("@angular/core").Signal<import("@notdefined/ngx-form-designer").WebsitePage[]>;
17
- readonly savedSections: import("@angular/core").Signal<import("@notdefined/ngx-form-designer").WebsiteSection[]>;
18
- readonly bricks: import("@angular/core").Signal<import("@notdefined/ngx-form-designer").WebsiteBrick[]>;
19
- readonly activePage: import("@angular/core").Signal<import("@notdefined/ngx-form-designer").WebsitePage | null>;
16
+ readonly pages: import("@angular/core").Signal<import("@uch-web/ngx-form-designer").WebsitePage[]>;
17
+ readonly savedSections: import("@angular/core").Signal<import("@uch-web/ngx-form-designer").WebsiteSection[]>;
18
+ readonly bricks: import("@angular/core").Signal<import("@uch-web/ngx-form-designer").WebsiteBrick[]>;
19
+ readonly activePage: import("@angular/core").Signal<import("@uch-web/ngx-form-designer").WebsitePage | null>;
20
20
  readonly activePageId: import("@angular/core").WritableSignal<string>;
21
21
  readonly canRemovePage: import("@angular/core").Signal<boolean>;
22
22
  readonly sectionLibraryList: import("@angular/core").Signal<DesignerSectionDefinition[]>;
@@ -2,13 +2,13 @@ import * as i0 from "@angular/core";
2
2
  export declare class WebsitePreviewShellComponent {
3
3
  private readonly router;
4
4
  private readonly projectService;
5
- readonly project: import("@angular/core").Signal<import("@notdefined/ngx-form-designer").WebsiteProject>;
6
- readonly pages: import("@angular/core").Signal<import("@notdefined/ngx-form-designer").WebsitePage[]>;
5
+ readonly project: import("@angular/core").Signal<import("@uch-web/ngx-form-designer").WebsiteProject>;
6
+ readonly pages: import("@angular/core").Signal<import("@uch-web/ngx-form-designer").WebsitePage[]>;
7
7
  readonly breakpoints: readonly ["xs", "sm", "md", "lg", "xl", "2xl"];
8
8
  readonly breakpoint: import("@angular/core").WritableSignal<"xs" | "sm" | "md" | "lg" | "xl" | "2xl">;
9
- readonly activeDevice: import("@angular/core").Signal<"mobile" | "desktop">;
9
+ readonly activeDevice: import("@angular/core").Signal<"desktop" | "mobile">;
10
10
  private readonly url;
11
- readonly activePage: import("@angular/core").Signal<import("@notdefined/ngx-form-designer").WebsitePage | null>;
11
+ readonly activePage: import("@angular/core").Signal<import("@uch-web/ngx-form-designer").WebsitePage | null>;
12
12
  setBreakpoint(bp: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl'): void;
13
13
  getPageStyle(schema: {
14
14
  ui?: {
@@ -40,6 +40,11 @@ export declare class CheckboxGroupWidgetComponent implements OnInit, OnChanges,
40
40
  onFocus(): void;
41
41
  onClick(): void;
42
42
  onBlur(): void;
43
+ private areApiCallsSuppressed;
44
+ private hasSelectedValue;
45
+ private withSelectedValueFallbackOptions;
46
+ private getStoredFieldLabel;
47
+ private setStoredFieldLabel;
43
48
  static ɵfac: i0.ɵɵFactoryDeclaration<CheckboxGroupWidgetComponent, never>;
44
49
  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>;
45
50
  }
@@ -0,0 +1,3 @@
1
+ import type { FieldDisplayLabel, OptionSchema } from '../../form-core/models';
2
+ export declare function resolveOptionFieldLabel(value: unknown, options: OptionSchema[], existingLabel?: FieldDisplayLabel): FieldDisplayLabel | undefined;
3
+ export declare function buildFallbackOptions(value: unknown, label?: FieldDisplayLabel): OptionSchema[];
@@ -40,6 +40,11 @@ export declare class RadioWidgetComponent implements OnInit, OnChanges, OnDestro
40
40
  onClick(): void;
41
41
  onBlur(): void;
42
42
  private syncEnabledState;
43
+ private areApiCallsSuppressed;
44
+ private hasSelectedValue;
45
+ private withSelectedValueFallbackOptions;
46
+ private getStoredFieldLabel;
47
+ private setStoredFieldLabel;
43
48
  static ɵfac: i0.ɵɵFactoryDeclaration<RadioWidgetComponent, never>;
44
49
  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>;
45
50
  }
@@ -26,6 +26,7 @@ export declare class SearchWidgetComponent implements OnInit, OnDestroy {
26
26
  private requestId;
27
27
  private syncingFromQuery;
28
28
  private selectingOption;
29
+ private pendingSelectedLabel?;
29
30
  private focused;
30
31
  private hovered;
31
32
  private blurCloseTimeout;
@@ -67,6 +68,9 @@ export declare class SearchWidgetComponent implements OnInit, OnDestroy {
67
68
  private getResultLimit;
68
69
  private toSafeNonNegativeInt;
69
70
  private asQueryString;
71
+ private getDisplayValue;
72
+ private getStoredFieldLabel;
73
+ private setStoredFieldLabel;
70
74
  static ɵfac: i0.ɵɵFactoryDeclaration<SearchWidgetComponent, never>;
71
75
  static ɵcmp: i0.ɵɵComponentDeclaration<SearchWidgetComponent, "app-search-widget", never, { "config": { "alias": "config"; "required": false; }; "engine": { "alias": "engine"; "required": false; }; "control": { "alias": "control"; "required": false; }; }, {}, never, never, true, never>;
72
76
  }
@@ -79,6 +79,15 @@ export declare class SelectWidgetComponent implements OnInit, OnDestroy {
79
79
  private getAccessibleLabel;
80
80
  private syncTemplateBindingCaches;
81
81
  private toSafeNonNegativeInt;
82
+ private areApiCallsSuppressed;
83
+ private withSelectedValueFallbackOptions;
84
+ private getSelectedFallbackOptions;
85
+ private hasOptionValue;
86
+ private resolveSelectedValueForFallback;
87
+ private hasMeaningfulValue;
88
+ private syncStoredFieldLabel;
89
+ private getStoredFieldLabel;
90
+ private setStoredFieldLabel;
82
91
  static ɵfac: i0.ɵɵFactoryDeclaration<SelectWidgetComponent, never>;
83
92
  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>;
84
93
  }
@@ -22,6 +22,7 @@ export declare class TextFieldWidgetComponent implements OnInit, OnDestroy {
22
22
  protected readonly fieldRequiredClass = "text-red-500";
23
23
  get fieldId(): string;
24
24
  protected isTextarea(): boolean;
25
+ protected isColorField(): boolean;
25
26
  protected getControlClass(multiline?: boolean): string;
26
27
  protected getAccessibleLabel(): string;
27
28
  protected nativeLabel(): string;
@@ -35,6 +36,8 @@ export declare class TextFieldWidgetComponent implements OnInit, OnDestroy {
35
36
  onBlur(): void;
36
37
  onMouseEnter(): void;
37
38
  onMouseLeave(): void;
39
+ protected getColorPickerValue(): string;
40
+ protected onColorPickerChange(color: string): void;
38
41
  ngOnDestroy(): void;
39
42
  getWrapperStyles(): Record<string, any>;
40
43
  getControlStyles(): Record<string, any>;
@@ -6,7 +6,7 @@ export declare class BrickSettingsComponent implements OnChanges {
6
6
  setValue: (path: string, value: unknown) => void;
7
7
  onChange: () => void;
8
8
  private readonly projectService;
9
- protected readonly bricks: import("@angular/core").Signal<import("@notdefined/ngx-form-designer").WebsiteBrick[]>;
9
+ protected readonly bricks: import("@angular/core").Signal<import("@uch-web/ngx-form-designer").WebsiteBrick[]>;
10
10
  protected propsValue: Record<string, unknown>;
11
11
  protected propsSchema: Record<string, unknown> | null;
12
12
  private lastBrickId;
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@yourself.create/ngx-form-designer",
3
- "version": "0.0.1",
3
+ "version": "0.0.4",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^19.0.0",
6
6
  "@angular/core": "^19.0.0",
7
7
  "@angular/forms": "^19.0.0",
8
- "@notdefined/angai": "^0.0.1",
8
+ "@uch-web/angai": "^0.0.1",
9
9
  "@angular/cdk": "^19.0.0",
10
10
  "@monaco-editor/loader": "^1.4.0",
11
11
  "lucide-angular": "^0.469.0",
@@ -13,7 +13,8 @@
13
13
  "react": "^18.2.0",
14
14
  "react-dom": "^18.2.0",
15
15
  "@babel/standalone": "^7.25.0",
16
- "@json-editor/json-editor": "^2.15.2"
16
+ "@json-editor/json-editor": "^2.15.2",
17
+ "ngx-color-picker": "^20.1.1"
17
18
  },
18
19
  "peerDependenciesMeta": {
19
20
  "react": {
@@ -34,7 +35,7 @@
34
35
  "uuid": "^13.0.0"
35
36
  },
36
37
  "sideEffects": false,
37
- "module": "fesm2022/notdefined-ngx-form-designer.mjs",
38
+ "module": "fesm2022/uch-web-ngx-form-designer.mjs",
38
39
  "typings": "index.d.ts",
39
40
  "exports": {
40
41
  "./package.json": {
@@ -42,7 +43,7 @@
42
43
  },
43
44
  ".": {
44
45
  "types": "./index.d.ts",
45
- "default": "./fesm2022/notdefined-ngx-form-designer.mjs"
46
+ "default": "./fesm2022/uch-web-ngx-form-designer.mjs"
46
47
  }
47
48
  }
48
49
  }
package/public-api.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './lib/form-core/models';
2
+ export * from './lib/form-core/form-journey.models';
2
3
  export * from './lib/form-core/form-engine';
3
4
  export * from './lib/form-core/schema-factory';
4
5
  export * from './lib/form-core/schema-guard';
@@ -6,8 +7,10 @@ export * from './lib/form-renderer/json-form-renderer.component';
6
7
  export * from './lib/form-renderer/layout-node.component';
7
8
  export * from './lib/email-renderer/email-renderer.component';
8
9
  export * from './lib/form-renderer/form-viewer/form-viewer.component';
10
+ export * from './lib/form-renderer/form-journey-viewer.component';
9
11
  export * from './lib/form-designer/json-form-designer.component';
10
12
  export * from './lib/form-designer/form-designer-shell.component';
13
+ export * from './lib/form-designer/form-journey-state.service';
11
14
  export * from './lib/form-designer/events-workspace.component';
12
15
  export * from './lib/form-designer/designer-state.service';
13
16
  export * from './lib/form-designer/designer-context.service';
@@ -63,6 +66,7 @@ export * from './lib/widgets/style-helpers';
63
66
  export * from './lib/widgets/widget-theme';
64
67
  export * from './lib/ai/ai-tool-registry.service';
65
68
  export * from './lib/ai/plugins/form-designer-tool-plugin';
69
+ export * from './lib/ai/provide-form-designer-angai-feature';
66
70
  export * from './lib/data/data-catalog';
67
71
  export * from './lib/data/data-provider';
68
72
  export * from './lib/data/in-memory-data-catalog.service';