@yourself.create/ngx-form-designer 0.0.11 → 0.0.12

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.
@@ -62,7 +62,7 @@ export declare class DesignerStateService {
62
62
  readonly activeBreakpoint: import("@angular/core").WritableSignal<"xs" | "sm" | "md" | "lg" | "xl" | "2xl">;
63
63
  readonly isPreviewMode: import("@angular/core").WritableSignal<boolean>;
64
64
  readonly isLeftPanelCollapsed: import("@angular/core").WritableSignal<boolean>;
65
- readonly activeDevice: import("@angular/core").Signal<"mobile" | "desktop">;
65
+ readonly activeDevice: import("@angular/core").Signal<"desktop" | "mobile">;
66
66
  readonly activeThemeId: import("@angular/core").WritableSignal<string>;
67
67
  readonly isReadOnly: import("@angular/core").WritableSignal<boolean>;
68
68
  readonly clipboard: import("@angular/core").WritableSignal<{
@@ -21,7 +21,7 @@ export declare class FormPreviewComponent {
21
21
  pageSelect: EventEmitter<string>;
22
22
  breakpoints: readonly ["xs", "sm", "md", "lg", "xl", "2xl"];
23
23
  breakpoint: import("@angular/core").WritableSignal<"xs" | "sm" | "md" | "lg" | "xl" | "2xl">;
24
- activeDevice: import("@angular/core").Signal<"mobile" | "desktop">;
24
+ activeDevice: import("@angular/core").Signal<"desktop" | "mobile">;
25
25
  formData: any;
26
26
  combinedFormData: any;
27
27
  constructor(state: DesignerStateService);
@@ -13,7 +13,7 @@ export declare class LayoutCanvasComponent implements AfterViewInit {
13
13
  breakpoints: readonly ["xs", "sm", "md", "lg", "xl", "2xl"];
14
14
  constructor(state: DesignerStateService);
15
15
  get schema(): import("@angular/core").WritableSignal<import("@uch-web/ngx-form-designer").FormSchema>;
16
- get device(): "mobile" | "desktop";
16
+ get device(): "desktop" | "mobile";
17
17
  get breakpoint(): "xs" | "sm" | "md" | "lg" | "xl" | "2xl";
18
18
  readonly zoom: import("@angular/core").WritableSignal<number>;
19
19
  readonly showLayoutGuides: import("@angular/core").WritableSignal<boolean>;
@@ -17,7 +17,7 @@ export declare class WidgetInspectorComponent {
17
17
  private readonly readOnlyFieldSnapshot;
18
18
  readonly inspectorField: import("@angular/core").Signal<FieldSchema>;
19
19
  currentStyle: import("@angular/core").Signal<Partial<StyleTokenSet>>;
20
- dataConsumer: import("@angular/core").Signal<"image" | "value" | "none" | "list">;
20
+ dataConsumer: import("@angular/core").Signal<"value" | "image" | "list" | "none">;
21
21
  bindingShape: import("@angular/core").Signal<import("@uch-web/ngx-form-designer").DataShape | null>;
22
22
  dataTargetPath: import("@angular/core").Signal<string>;
23
23
  getWidgetIcon(): string;
@@ -1,5 +1,5 @@
1
1
  import { EventEmitter, SimpleChanges } from '@angular/core';
2
- import { JsonFormRendererComponent, FormValidationResult, FormValueMap, FormSubmitResult } from './json-form-renderer.component';
2
+ import { JsonFormRendererComponent, FormValidationResult, FormValueMap, FormSubmitResult, type SeverityEvaluationMode } from './json-form-renderer.component';
3
3
  import type { DesignerEventApiDefinition, FieldDisplayLabel, UploadedFileRef, WidgetEventApiExecutor } from '../form-core/models';
4
4
  import type { FormJourneyProject } from '../form-core/form-journey.models';
5
5
  import { type FieldDataAccessMap, type RuntimeFieldDataAccessApi } from '../data/runtime-field-data-access-registry.service';
@@ -8,6 +8,7 @@ export type JourneyFormDataByPage = Record<string, FormValueMap>;
8
8
  export declare class FormJourneyViewerComponent {
9
9
  journey: FormJourneyProject;
10
10
  viewOnly: boolean;
11
+ severityEvaluationMode: SeverityEvaluationMode;
11
12
  eventApis: DesignerEventApiDefinition[];
12
13
  eventApiExecutor?: WidgetEventApiExecutor;
13
14
  initialValues?: Record<string, unknown>;
@@ -47,5 +48,5 @@ export declare class FormJourneyViewerComponent {
47
48
  private toJourneyValueMapByPage;
48
49
  private flattenJourneyValueMapByPage;
49
50
  static ɵfac: i0.ɵɵFactoryDeclaration<FormJourneyViewerComponent, never>;
50
- static ɵcmp: i0.ɵɵComponentDeclaration<FormJourneyViewerComponent, "app-form-journey-viewer", never, { "journey": { "alias": "journey"; "required": true; }; "viewOnly": { "alias": "viewOnly"; "required": false; }; "eventApis": { "alias": "eventApis"; "required": false; }; "eventApiExecutor": { "alias": "eventApiExecutor"; "required": false; }; "initialValues": { "alias": "initialValues"; "required": false; }; "initialFieldLabels": { "alias": "initialFieldLabels"; "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>;
51
+ static ɵcmp: i0.ɵɵComponentDeclaration<FormJourneyViewerComponent, "app-form-journey-viewer", never, { "journey": { "alias": "journey"; "required": true; }; "viewOnly": { "alias": "viewOnly"; "required": false; }; "severityEvaluationMode": { "alias": "severityEvaluationMode"; "required": false; }; "eventApis": { "alias": "eventApis"; "required": false; }; "eventApiExecutor": { "alias": "eventApiExecutor"; "required": false; }; "initialValues": { "alias": "initialValues"; "required": false; }; "initialFieldLabels": { "alias": "initialFieldLabels"; "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>;
51
52
  }
@@ -1,6 +1,6 @@
1
1
  import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
2
2
  import { DesignerEventApiDefinition, FieldDisplayLabel, FormSchema, UploadedFileRef, WidgetEventApiExecutor } from '../../form-core/models';
3
- import { JsonFormRendererComponent, FormSubmitResult, FormValidationResult, FormValueMap, GroupedFormValues, CombinedFormValues } from '../json-form-renderer.component';
3
+ import { JsonFormRendererComponent, FormSubmitResult, FormValidationResult, FormValueMap, GroupedFormValues, CombinedFormValues, type SeverityEvaluationMode } from '../json-form-renderer.component';
4
4
  import { FormJourneyViewerComponent, type JourneyFormDataByPage } from '../form-journey-viewer.component';
5
5
  import { type FieldDataAccessMap, type RuntimeFieldDataAccessApi } from '../../data/runtime-field-data-access-registry.service';
6
6
  import type { FormJourneyProject } from '../../form-core/form-journey.models';
@@ -20,6 +20,7 @@ export declare class FormViewerComponent implements OnInit, OnDestroy {
20
20
  get dataUsesFieldNameKeys(): boolean;
21
21
  options: FormViewerOptions;
22
22
  viewOnly: boolean;
23
+ severityEvaluationMode: SeverityEvaluationMode;
23
24
  eventApis: DesignerEventApiDefinition[];
24
25
  eventApiExecutor?: WidgetEventApiExecutor;
25
26
  fieldDataAccessMap?: FieldDataAccessMap;
@@ -74,5 +75,5 @@ export declare class FormViewerComponent implements OnInit, OnDestroy {
74
75
  private isFieldIdValue;
75
76
  private isRecord;
76
77
  static ɵfac: i0.ɵɵFactoryDeclaration<FormViewerComponent, 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>;
78
+ 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; }; "severityEvaluationMode": { "alias": "severityEvaluationMode"; "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>;
78
79
  }
@@ -15,6 +15,7 @@ export interface FormFieldValue {
15
15
  export type FormValueMap = Record<string, FormFieldValue>;
16
16
  export type GroupedFormValues = Record<string, FormValueMap>;
17
17
  export type CombinedFormValues = Record<string, FormFieldValue | FormValueMap>;
18
+ export type SeverityEvaluationMode = 'rule-failed' | 'rule-matched';
18
19
  export interface FormValidationResult {
19
20
  errors: Record<string, string[]>;
20
21
  isValid: boolean;
@@ -37,6 +38,7 @@ export interface FormFieldValidatorState {
37
38
  source: 'required' | 'html5' | 'rule';
38
39
  active: boolean;
39
40
  valid: boolean;
41
+ isSeverityTriggered?: boolean;
40
42
  value?: unknown;
41
43
  message?: string;
42
44
  severity?: RuleSeverity;
@@ -68,6 +70,7 @@ export declare class JsonFormRendererComponent implements OnInit, OnChanges, OnD
68
70
  reason?: string;
69
71
  }>;
70
72
  uploadOnSubmit: boolean;
73
+ severityEvaluationMode: SeverityEvaluationMode;
71
74
  fieldDataAccessMap?: FieldDataAccessMap;
72
75
  fieldDataAccessApi?: RuntimeFieldDataAccessApi;
73
76
  formContentId?: string;
@@ -107,6 +110,7 @@ export declare class JsonFormRendererComponent implements OnInit, OnChanges, OnD
107
110
  private buildFieldValidationState;
108
111
  private describeFieldValidators;
109
112
  private hasRequiredValidation;
113
+ private isRuleSeverityTriggered;
110
114
  private getRuleOutcomes;
111
115
  private describeRuleName;
112
116
  private getRuleValidationMessage;
@@ -136,5 +140,5 @@ export declare class JsonFormRendererComponent implements OnInit, OnChanges, OnD
136
140
  private isGroupValue;
137
141
  private isUploadedFileRef;
138
142
  static ɵfac: i0.ɵɵFactoryDeclaration<JsonFormRendererComponent, never>;
139
- 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>;
143
+ 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; }; "severityEvaluationMode": { "alias": "severityEvaluationMode"; "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>;
140
144
  }
@@ -6,7 +6,7 @@ export declare class WebsitePreviewShellComponent {
6
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
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;
@@ -26,6 +26,7 @@ export declare class InlineQuillEditorComponent implements AfterViewInit, OnChan
26
26
  private applyEditorAppearance;
27
27
  private focusToEnd;
28
28
  onEditorMouseDown(event: MouseEvent): void;
29
+ onEditorClick(event: MouseEvent): void;
29
30
  onEditorPointerDown(event: PointerEvent): void;
30
31
  onEditorTouchStart(event: TouchEvent): void;
31
32
  onEditorDragStart(event: DragEvent): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yourself.create/ngx-form-designer",
3
- "version": "0.0.11",
3
+ "version": "0.0.12",
4
4
  "peerDependencies": {
5
5
  "@angular/common": "^19.0.0",
6
6
  "@angular/core": "^19.0.0",