@rolster/forms 2.6.5 → 2.7.0

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.
@@ -52,15 +52,15 @@ export interface AbstractGroup<C extends AbstractControls = AbstractControls> {
52
52
  readonly wrong: boolean;
53
53
  readonly error?: ValidatorError;
54
54
  }
55
- export type ValueGroup<C extends AbstractControls = AbstractControls> = {
55
+ export type ControlsValue<C extends AbstractControls = AbstractControls> = {
56
56
  [K in keyof C]: C[K]['value'];
57
57
  };
58
58
  export type ValidatorGroupFn<C extends AbstractControls = AbstractControls, V = any> = (controls: C) => ValidatorResult<V>;
59
- export type SubscriberGroup<C extends AbstractControls = AbstractControls> = (value: ValueGroup<C>) => void;
59
+ export type SubscriberGroup<C extends AbstractControls = AbstractControls> = (value: ControlsValue<C>) => void;
60
60
  export interface AbstractFormGroup<C extends AbstractControls = AbstractControls> extends AbstractGroup<C> {
61
61
  reset: () => void;
62
62
  setValidators: (validators: ValidatorGroupFn<C>[]) => void;
63
- readonly value: ValueGroup<C>;
63
+ readonly value: ControlsValue<C>;
64
64
  }
65
65
  export interface AbstractReactiveGroup<C extends AbstractControls = AbstractControls> extends AbstractFormGroup<C> {
66
66
  subscribe: (subscriber: SubscriberGroup<C>) => Unsubscription;
@@ -72,22 +72,22 @@ export interface AbstractReactiveArrayControl<T = any> extends AbstractArrayCont
72
72
  subscribe: (subscriber: SubscriberControl<T>) => Unsubscription;
73
73
  }
74
74
  export type AbstractArrayControls<T extends AbstractArrayControl = AbstractArrayControl> = AbstractControls<T>;
75
+ export type ArrayControlsValue<C extends AbstractArrayControls> = {
76
+ [K in keyof C]: C[K]['value'];
77
+ };
75
78
  export interface AbstractArrayGroup<C extends AbstractArrayControls, R = any> extends AbstractGroup<C> {
76
79
  setValidators: (validators: ValidatorGroupFn<C>[]) => void;
77
- readonly value: ArrayStateGroup<C>;
78
80
  readonly uuid: string;
81
+ readonly value: ArrayControlsValue<C>;
79
82
  resource?: R;
80
83
  }
81
84
  export interface AbstractReactiveArrayGroup<C extends AbstractArrayControls, R = any> extends AbstractArrayGroup<C, R> {
82
85
  subscribe: (subscriber: SubscriberGroup<C>) => Unsubscription;
83
86
  }
84
- export type ArrayStateGroup<C extends AbstractArrayControls> = {
85
- [K in keyof C]: C[K]['value'];
86
- };
87
87
  export type ValidatorArrayFn<T extends AbstractArrayControls = AbstractArrayControls, R = any, G extends AbstractArrayGroup<T, R> = AbstractArrayGroup<T, R>, V = any> = (groups: G[]) => ValidatorResult<V>;
88
88
  export type ArrayFormControls<T extends AbstractArrayControl = AbstractArrayControl> = AbstractArrayControls<T>;
89
- export type SubscriberArray<C extends ArrayFormControls> = SubscriberControl<ArrayStateGroup<C>[]>;
90
- export interface AbstractArray<C extends AbstractArrayControls = AbstractArrayControls, R = any, G extends AbstractArrayGroup<C, R> = AbstractArrayGroup<C, R>> extends AbstractControl<ArrayStateGroup<C>[]> {
89
+ export type SubscriberArray<C extends ArrayFormControls> = SubscriberControl<ArrayControlsValue<C>[]>;
90
+ export interface AbstractArray<C extends AbstractArrayControls = AbstractArrayControls, R = any, G extends AbstractArrayGroup<C, R> = AbstractArrayGroup<C, R>> extends AbstractControl<ArrayControlsValue<C>[]> {
91
91
  readonly controls: C[];
92
92
  readonly dirtyAll: boolean;
93
93
  disable: () => void;
@@ -101,9 +101,13 @@ export interface AbstractArray<C extends AbstractArrayControls = AbstractArrayCo
101
101
  setValidators: (validators: ValidatorArrayFn<C, R>[]) => void;
102
102
  readonly touchedAll: boolean;
103
103
  readonly untouchedAll: boolean;
104
- readonly value: ArrayStateGroup<C>[];
104
+ readonly value: ArrayControlsValue<C>[];
105
105
  readonly wrong: boolean;
106
106
  }
107
+ export interface AbstractArrayList<C extends AbstractArrayControls = AbstractArrayControls> extends AbstractArrayControl<ArrayControlsValue<C>[]> {
108
+ controls: C[];
109
+ }
110
+ export type ArrayListValueToControls<C extends AbstractArrayControls = AbstractArrayControls> = (value: ArrayControlsValue<C>) => C;
107
111
  export interface AbstractReactiveArray<C extends AbstractArrayControls = AbstractArrayControls, R = any, G extends AbstractArrayGroup<C, R> = AbstractArrayGroup<C, R>> extends AbstractArray<C, R, G> {
108
112
  subscribe: (subscriber: SubscriberArray<C>) => Unsubscription;
109
113
  }
@@ -120,6 +124,9 @@ export interface FormGroupOptions<C extends AbstractControls = AbstractControls>
120
124
  export interface FormArrayControlOptions<T = any> extends FormControlOptions<T> {
121
125
  uuid: string;
122
126
  }
127
+ export interface FormArrayListOptions<C extends AbstractArrayControls = AbstractArrayControls> extends FormArrayControlOptions<ArrayControlsValue<C>[]> {
128
+ valueToControl: ArrayListValueToControls<C>;
129
+ }
123
130
  export interface FormArrayGroupOptions<C extends AbstractArrayControls = AbstractArrayControls, R = any> extends FormGroupOptions<C> {
124
131
  uuid: string;
125
132
  resource?: R;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rolster/forms",
3
- "version": "2.6.5",
3
+ "version": "2.7.0",
4
4
  "description": "It implements a set of classes that allow managing the control of states of the input components of the UI.",
5
5
  "module": "dist/esm/index.js",
6
6
  "main": "dist/cjs/index.js",