@ngstarter-ui/components 21.0.46 → 21.0.47

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ngstarter-ui/components",
3
3
  "description": "NgStarter - AI-friendly Enterprise Angular UI Components and Admin Panel",
4
- "version": "21.0.46",
4
+ "version": "21.0.47",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/elementarlabsdev/ngstarter.git"
@@ -123,6 +123,7 @@
123
123
  --text-md: 0.825rem;
124
124
 
125
125
  /* --- RADII --- */
126
+ --radius-current: var(--ngs-control-radius);
126
127
  --radius-small: var(--ngs-radius-sm);
127
128
  --radius-medium: var(--ngs-radius-md);
128
129
  --radius-large: var(--ngs-radius-lg);
@@ -1,15 +1,15 @@
1
1
  import * as _angular_forms from '@angular/forms';
2
- import { ValidatorFn, FormControl, FormGroup } from '@angular/forms';
2
+ import { ValidatorFn, FormControl, FormGroup, FormArray } from '@angular/forms';
3
3
  import * as _angular_core from '@angular/core';
4
- import { Type, InjectionToken, EnvironmentProviders, TemplateRef } from '@angular/core';
4
+ import { Type, InjectionToken, EnvironmentProviders, Provider, TemplateRef } from '@angular/core';
5
5
  import { TreeNodeDropPosition, Tree, TreeNodeDrop } from '@ngstarter-ui/components/tree';
6
6
  import { DateRangeInput } from '@ngstarter-ui/components/datepicker';
7
7
  import { RadioGroupOrientation } from '@ngstarter-ui/components/radio';
8
8
  import { UploadFileSelectedEvent } from '@ngstarter-ui/components/upload';
9
- import * as _ngstarter_ui_components_form_builder from '@ngstarter-ui/components/form-builder';
10
9
 
11
10
  type FormBuilderFieldWidth = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
12
11
  type FormBuilderItemKind = 'field' | 'layout' | 'static';
12
+ type FormBuilderSettingsInheritance = 'field' | 'input-field' | 'layout' | 'layout-container' | 'static' | 'none';
13
13
  interface FormBuilderOption {
14
14
  label: string;
15
15
  value: any;
@@ -78,12 +78,12 @@ interface FormBuilderUploadContext {
78
78
  multiple: boolean;
79
79
  }
80
80
  type FormBuilderUploadCallback = (context: FormBuilderUploadContext) => any | Promise<any>;
81
+ type FormBuilderComponentImporter<T = any> = () => Promise<Type<T>>;
81
82
  interface FormBuilderSettingsContext {
82
83
  field: FormBuilderField;
83
84
  schema: FormBuilderSchema;
84
85
  update: (changes: Partial<FormBuilderField>) => void;
85
86
  }
86
- type FormBuilderComponentImporter<T = any> = () => Promise<Type<T>>;
87
87
  interface FormBuilderFieldSettingsContext {
88
88
  item: FormBuilderField;
89
89
  field: FormBuilderField;
@@ -100,6 +100,11 @@ interface FormBuilderSectionSettingsContext {
100
100
  update: (changes: Partial<FormBuilderSection>) => void;
101
101
  updateSection: (changes: Partial<FormBuilderSection>) => void;
102
102
  }
103
+ type FormBuilderSettingsSchemaFactory = (context: FormBuilderFieldSettingsContext | FormBuilderSectionSettingsContext) => FormBuilderSchema;
104
+ interface FormBuilderSettingsConfig {
105
+ extends?: FormBuilderSettingsInheritance;
106
+ schema?: FormBuilderSchema | FormBuilderSettingsSchemaFactory;
107
+ }
103
108
  interface FormBuilderItemDefinition {
104
109
  type: string;
105
110
  label: string;
@@ -109,7 +114,7 @@ interface FormBuilderItemDefinition {
109
114
  description?: string;
110
115
  defaults?: Partial<FormBuilderField>;
111
116
  renderer?: FormBuilderComponentImporter;
112
- settings?: FormBuilderComponentImporter;
117
+ settings?: FormBuilderComponentImporter | FormBuilderSettingsConfig;
113
118
  acceptsChildren?: boolean;
114
119
  }
115
120
  interface FormBuilderFieldDefinition extends FormBuilderItemDefinition {
@@ -135,12 +140,20 @@ declare const FORM_BUILDER_UPLOAD_CALLBACK: InjectionToken<FormBuilderUploadCall
135
140
  declare function formBuilderField(definition: FormBuilderFieldDefinition): FormBuilderFieldDefinition;
136
141
  declare function formBuilderItem(definition: FormBuilderItemDefinition): FormBuilderItemDefinition;
137
142
  declare function formBuilderSettings(definition: FormBuilderSettingsDefinition): FormBuilderSettingsDefinition;
143
+ declare function provideFormBuilderField(definition: FormBuilderFieldDefinition): Provider;
144
+ declare function provideFormBuilderFields(definitions: FormBuilderFieldDefinition[]): Provider[];
138
145
  declare function provideFormBuilder(config?: {
139
146
  items?: FormBuilderItemDefinition[];
140
147
  fields?: FormBuilderFieldDefinition[];
141
148
  settings?: FormBuilderSettingsDefinition[];
142
149
  uploadCallback?: FormBuilderUploadCallback;
143
150
  }): EnvironmentProviders;
151
+ declare const FORM_BUILDER_FIELD_BASE_SETTINGS_SCHEMA: FormBuilderSchema;
152
+ declare const FORM_BUILDER_INPUT_FIELD_BASE_SETTINGS_SCHEMA: FormBuilderSchema;
153
+ declare const FORM_BUILDER_LAYOUT_BASE_SETTINGS_SCHEMA: FormBuilderSchema;
154
+ declare const FORM_BUILDER_LAYOUT_CONTAINER_BASE_SETTINGS_SCHEMA: FormBuilderSchema;
155
+ declare const FORM_BUILDER_STATIC_BASE_SETTINGS_SCHEMA: FormBuilderSchema;
156
+ declare const FORM_BUILDER_SECTION_BASE_SETTINGS_SCHEMA: FormBuilderSchema;
144
157
  declare const DEFAULT_FORM_BUILDER_FIELDS: FormBuilderFieldDefinition[];
145
158
  declare const DEFAULT_FORM_BUILDER_ITEMS: FormBuilderItemDefinition[];
146
159
  declare function validatorsFromRules(rules?: FormBuilderValidationRule[], field?: FormBuilderField): _angular_forms.ValidatorFn[];
@@ -330,13 +343,24 @@ declare class FormBuilderRenderer {
330
343
  protected readonly visibleCanvasItems: _angular_core.Signal<FormBuilderRendererCanvasItem[]>;
331
344
  protected readonly formGroup: _angular_core.Signal<FormGroup<any>>;
332
345
  constructor();
333
- protected getControl(field: FormBuilderField): FormControl;
346
+ protected getControl(field: FormBuilderField, formGroup?: FormGroup<any>): FormControl;
334
347
  protected isContainerField(field: FormBuilderField): boolean;
335
348
  protected visibleChildren(field: FormBuilderField): FormBuilderField[];
349
+ protected isRepeaterField(field: FormBuilderField): boolean;
350
+ protected repeaterArray(field: FormBuilderField, formGroup?: FormGroup<any>): FormArray<FormGroup>;
351
+ protected repeaterGroups(field: FormBuilderField, formGroup?: FormGroup<any>): FormGroup[];
352
+ protected repeaterEmptyText(field: FormBuilderField): string;
353
+ protected addRepeaterItem(field: FormBuilderField, formGroup?: FormGroup<any>): void;
354
+ protected removeRepeaterItem(field: FormBuilderField, index: number, formGroup?: FormGroup<any>): void;
355
+ protected canRemoveRepeaterItem(field: FormBuilderField, formGroup?: FormGroup<any>): boolean;
336
356
  protected submit(): void;
337
357
  private createFormGroup;
358
+ private addFieldsToControls;
359
+ private createRepeaterArray;
360
+ private createRepeaterGroup;
338
361
  private visibleFields;
339
362
  private fieldInitialValue;
363
+ private allowsNullValue;
340
364
  private resolveCanvasItems;
341
365
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormBuilderRenderer, never>;
342
366
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormBuilderRenderer, "ngs-form-renderer", ["ngsFormRenderer"], { "schema": { "alias": "schema"; "required": true; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "showSubmit": { "alias": "showSubmit"; "required": false; "isSignal": true; }; "submitLabel": { "alias": "submitLabel"; "required": false; "isSignal": true; }; "uploadCallback": { "alias": "uploadCallback"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "formSubmit": "formSubmit"; "formReady": "formReady"; }, never, never, true, never>;
@@ -379,12 +403,19 @@ declare class FormBuilderSettingsHost {
379
403
  readonly update: _angular_core.InputSignal<((changes: Partial<FormBuilderField>) => void) | undefined>;
380
404
  readonly updateSection: _angular_core.InputSignal<((changes: Partial<FormBuilderSection>) => void) | undefined>;
381
405
  protected readonly itemDefinition: _angular_core.Signal<FormBuilderFieldDefinition | undefined>;
382
- protected readonly fieldDefinition: _angular_core.Signal<FormBuilderFieldDefinition | undefined>;
383
- protected readonly fieldKind: _angular_core.Signal<_ngstarter_ui_components_form_builder.FormBuilderItemKind>;
384
- protected readonly isLayoutField: _angular_core.Signal<boolean>;
385
- protected readonly customLoaded: _angular_core.WritableSignal<boolean>;
406
+ protected readonly settingsSchema: _angular_core.Signal<FormBuilderSchema | null>;
407
+ protected readonly settingsValue: _angular_core.Signal<Record<string, any>>;
408
+ protected readonly legacyLoaded: _angular_core.WritableSignal<boolean>;
386
409
  private readonly anchor;
387
410
  constructor();
411
+ protected applySettingsValue(value: Record<string, any>): void;
412
+ private createSettingsPatch;
413
+ private readSettingValue;
414
+ private settingsConfig;
415
+ private legacySettingsImporter;
416
+ private resolveOwnSettingsSchema;
417
+ private inferSettingsInheritance;
418
+ private baseSettingsSchema;
388
419
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormBuilderSettingsHost, never>;
389
420
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormBuilderSettingsHost, "ngs-form-builder-settings-host", ["ngsFormBuilderSettingsHost"], { "field": { "alias": "field"; "required": false; "isSignal": true; }; "section": { "alias": "section"; "required": false; "isSignal": true; }; "schema": { "alias": "schema"; "required": true; "isSignal": true; }; "definitions": { "alias": "definitions"; "required": false; "isSignal": true; }; "settingsDefinitions": { "alias": "settingsDefinitions"; "required": false; "isSignal": true; }; "update": { "alias": "update"; "required": false; "isSignal": true; }; "updateSection": { "alias": "updateSection"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
390
421
  }
@@ -444,5 +475,5 @@ declare class BasicFormBuilderSectionSettings {
444
475
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<BasicFormBuilderSectionSettings, "ngs-basic-form-builder-section-settings", ["ngsBasicFormBuilderSectionSettings"], { "section": { "alias": "section"; "required": true; "isSignal": true; }; "update": { "alias": "update"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
445
476
  }
446
477
 
447
- export { BasicFormBuilderFieldSettings, BasicFormBuilderLayoutSettings, BasicFormBuilderSectionSettings, DEFAULT_FORM_BUILDER_FIELDS, DEFAULT_FORM_BUILDER_ITEMS, FORM_BUILDER_FIELDS, FORM_BUILDER_ITEMS, FORM_BUILDER_SETTINGS, FORM_BUILDER_UPLOAD_CALLBACK, FormBuilder, FormBuilderFieldHost, FormBuilderRenderer, FormBuilderSettingsHost, createDefaultFormBuilderSchema, formBuilderField, formBuilderItem, formBuilderSettings, provideFormBuilder, validatorsFromRules };
448
- export type { FormBuilderComponentImporter, FormBuilderField, FormBuilderFieldChange, FormBuilderFieldDefinition, FormBuilderFieldRenderContext, FormBuilderFieldSettingsContext, FormBuilderFieldWidth, FormBuilderItemDefinition, FormBuilderItemKind, FormBuilderLayoutItem, FormBuilderOption, FormBuilderSchema, FormBuilderSection, FormBuilderSectionSettingsContext, FormBuilderSettingsContext, FormBuilderSettingsDefinition, FormBuilderUploadCallback, FormBuilderUploadContext, FormBuilderValidationRule, FormBuilderVisibility };
478
+ export { BasicFormBuilderFieldSettings, BasicFormBuilderLayoutSettings, BasicFormBuilderSectionSettings, DEFAULT_FORM_BUILDER_FIELDS, DEFAULT_FORM_BUILDER_ITEMS, FORM_BUILDER_FIELDS, FORM_BUILDER_FIELD_BASE_SETTINGS_SCHEMA, FORM_BUILDER_INPUT_FIELD_BASE_SETTINGS_SCHEMA, FORM_BUILDER_ITEMS, FORM_BUILDER_LAYOUT_BASE_SETTINGS_SCHEMA, FORM_BUILDER_LAYOUT_CONTAINER_BASE_SETTINGS_SCHEMA, FORM_BUILDER_SECTION_BASE_SETTINGS_SCHEMA, FORM_BUILDER_SETTINGS, FORM_BUILDER_STATIC_BASE_SETTINGS_SCHEMA, FORM_BUILDER_UPLOAD_CALLBACK, FormBuilder, FormBuilderFieldHost, FormBuilderRenderer, FormBuilderSettingsHost, createDefaultFormBuilderSchema, formBuilderField, formBuilderItem, formBuilderSettings, provideFormBuilder, provideFormBuilderField, provideFormBuilderFields, validatorsFromRules };
479
+ export type { FormBuilderComponentImporter, FormBuilderField, FormBuilderFieldChange, FormBuilderFieldDefinition, FormBuilderFieldRenderContext, FormBuilderFieldSettingsContext, FormBuilderFieldWidth, FormBuilderItemDefinition, FormBuilderItemKind, FormBuilderLayoutItem, FormBuilderOption, FormBuilderSchema, FormBuilderSection, FormBuilderSectionSettingsContext, FormBuilderSettingsConfig, FormBuilderSettingsContext, FormBuilderSettingsDefinition, FormBuilderSettingsInheritance, FormBuilderSettingsSchemaFactory, FormBuilderUploadCallback, FormBuilderUploadContext, FormBuilderValidationRule, FormBuilderVisibility };