special-forms 18.0.1 → 20.0.0-SNAPSHOT
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 +147 -147
- package/fesm2022/special-forms.mjs +143 -147
- package/fesm2022/special-forms.mjs.map +1 -1
- package/index.d.ts +586 -5
- package/lib/styles/final.scss +2 -2
- package/lib/styles/styles-config.scss +36 -36
- package/lib/styles/tailwind-final.scss +7 -7
- package/package.json +7 -9
- package/esm2022/lib/components/index.mjs +0 -14
- package/esm2022/lib/components/special-autocomplete/special-autocomplete.component.mjs +0 -75
- package/esm2022/lib/components/special-autocomplete/special-autocomplete.interface.mjs +0 -2
- package/esm2022/lib/components/special-checkbox/special-checkbox.component.mjs +0 -38
- package/esm2022/lib/components/special-checkbox/special-checkbox.interface.mjs +0 -3
- package/esm2022/lib/components/special-datepicker/special-datepicker.component.mjs +0 -42
- package/esm2022/lib/components/special-datepicker/special-datepicker.interface.mjs +0 -3
- package/esm2022/lib/components/special-dropdown/special-dropdown.component.mjs +0 -47
- package/esm2022/lib/components/special-dropdown/special-dropdown.interface.mjs +0 -3
- package/esm2022/lib/components/special-form/special-form.component.mjs +0 -99
- package/esm2022/lib/components/special-form/special-form.module.mjs +0 -79
- package/esm2022/lib/components/special-input/special-input.component.mjs +0 -55
- package/esm2022/lib/components/special-input/special-input.interface.mjs +0 -2
- package/esm2022/lib/components/special-label/special-label.component.mjs +0 -27
- package/esm2022/lib/components/special-label/special-label.interface.mjs +0 -2
- package/esm2022/lib/components/special-multiple-autocomplete/special-multiple-autocomplete.component.mjs +0 -97
- package/esm2022/lib/components/special-multiple-autocomplete/special-multiple-autocomplete.interface.mjs +0 -2
- package/esm2022/lib/components/special-richtext/special-richtext.component.mjs +0 -53
- package/esm2022/lib/components/special-richtext/special-richtext.interface.mjs +0 -3
- package/esm2022/lib/components/special-text-area/special-text-area.component.mjs +0 -43
- package/esm2022/lib/components/special-text-area/special-text-area.interface.mjs +0 -2
- package/esm2022/lib/components/special-upload/filename.pipe.mjs +0 -18
- package/esm2022/lib/components/special-upload/preview-image-pipe.mjs +0 -104
- package/esm2022/lib/components/special-upload/special-upload.component.mjs +0 -146
- package/esm2022/lib/components/special-upload/special-upload.interface.mjs +0 -2
- package/esm2022/lib/components/special-upload/truncate.pipe.mjs +0 -14
- package/esm2022/lib/core/aux-data/control-types.enum.mjs +0 -18
- package/esm2022/lib/core/aux-data/input-types.mjs +0 -16
- package/esm2022/lib/core/forms/special-forms.mjs +0 -240
- package/esm2022/lib/core/interfaces/field-basics.interfaces.mjs +0 -2
- package/esm2022/lib/core/interfaces/form.interfaces.mjs +0 -2
- package/esm2022/lib/core/interfaces/special-control.interface.mjs +0 -3
- package/esm2022/lib/core/masks/currency.mask.mjs +0 -11
- package/esm2022/lib/core/masks/index.mjs +0 -3
- package/esm2022/lib/core/masks/number.mask.mjs +0 -3
- package/esm2022/lib/core/pipes/controls-list-pipe/controls-list.pipe.mjs +0 -18
- package/esm2022/lib/core/pipes/error-message-pipe/error.pipe.mjs +0 -23
- package/esm2022/lib/core/pipes/index.mjs +0 -4
- package/esm2022/lib/core/pipes/text-by-function/text-by-function.pipe.mjs +0 -22
- package/esm2022/lib/core/services/error-state-matcher/error-matcher.mjs +0 -13
- package/esm2022/lib/core/services/index.mjs +0 -4
- package/esm2022/lib/core/services/special-form-builder/special-form-builder.service.mjs +0 -156
- package/esm2022/public-api.mjs +0 -13
- package/esm2022/special-forms.mjs +0 -5
- package/lib/components/index.d.ts +0 -23
- package/lib/components/special-autocomplete/special-autocomplete.component.d.ts +0 -19
- package/lib/components/special-autocomplete/special-autocomplete.interface.d.ts +0 -19
- package/lib/components/special-checkbox/special-checkbox.component.d.ts +0 -12
- package/lib/components/special-checkbox/special-checkbox.interface.d.ts +0 -13
- package/lib/components/special-datepicker/special-datepicker.component.d.ts +0 -13
- package/lib/components/special-datepicker/special-datepicker.interface.d.ts +0 -12
- package/lib/components/special-dropdown/special-dropdown.component.d.ts +0 -11
- package/lib/components/special-dropdown/special-dropdown.interface.d.ts +0 -17
- package/lib/components/special-form/special-form.component.d.ts +0 -31
- package/lib/components/special-form/special-form.module.d.ts +0 -20
- package/lib/components/special-input/special-input.component.d.ts +0 -15
- package/lib/components/special-input/special-input.interface.d.ts +0 -17
- package/lib/components/special-label/special-label.component.d.ts +0 -13
- package/lib/components/special-label/special-label.interface.d.ts +0 -13
- package/lib/components/special-multiple-autocomplete/special-multiple-autocomplete.component.d.ts +0 -22
- package/lib/components/special-multiple-autocomplete/special-multiple-autocomplete.interface.d.ts +0 -19
- package/lib/components/special-richtext/special-richtext.component.d.ts +0 -15
- package/lib/components/special-richtext/special-richtext.interface.d.ts +0 -11
- package/lib/components/special-text-area/special-text-area.component.d.ts +0 -13
- package/lib/components/special-text-area/special-text-area.interface.d.ts +0 -8
- package/lib/components/special-upload/filename.pipe.d.ts +0 -7
- package/lib/components/special-upload/preview-image-pipe.d.ts +0 -23
- package/lib/components/special-upload/special-upload.component.d.ts +0 -31
- package/lib/components/special-upload/special-upload.interface.d.ts +0 -15
- package/lib/components/special-upload/truncate.pipe.d.ts +0 -7
- package/lib/core/aux-data/control-types.enum.d.ts +0 -16
- package/lib/core/aux-data/input-types.d.ts +0 -2
- package/lib/core/forms/special-forms.d.ts +0 -108
- package/lib/core/interfaces/field-basics.interfaces.d.ts +0 -22
- package/lib/core/interfaces/form.interfaces.d.ts +0 -64
- package/lib/core/interfaces/special-control.interface.d.ts +0 -4
- package/lib/core/masks/currency.mask.d.ts +0 -1
- package/lib/core/masks/index.d.ts +0 -2
- package/lib/core/masks/number.mask.d.ts +0 -1
- package/lib/core/pipes/controls-list-pipe/controls-list.pipe.d.ts +0 -11
- package/lib/core/pipes/error-message-pipe/error.pipe.d.ts +0 -12
- package/lib/core/pipes/index.d.ts +0 -3
- package/lib/core/pipes/text-by-function/text-by-function.pipe.d.ts +0 -7
- package/lib/core/services/error-state-matcher/error-matcher.d.ts +0 -8
- package/lib/core/services/index.d.ts +0 -3
- package/lib/core/services/special-form-builder/special-form-builder.service.d.ts +0 -25
- package/public-api.d.ts +0 -9
package/index.d.ts
CHANGED
|
@@ -1,5 +1,586 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { MatAutocompleteSelectedEvent } from '@angular/material/autocomplete';
|
|
2
|
+
import { Observable, Subscription } from 'rxjs';
|
|
3
|
+
import { ValidatorFn, AsyncValidatorFn, AbstractControl, FormControl, FormGroup, FormArray } from '@angular/forms';
|
|
4
|
+
import { InputmaskOptions } from '@ngneat/input-mask';
|
|
5
|
+
import { ThemePalette, ErrorStateMatcher } from '@angular/material/core';
|
|
6
|
+
import * as i0 from '@angular/core';
|
|
7
|
+
import { OnInit, EventEmitter, ViewContainerRef, PipeTransform } from '@angular/core';
|
|
8
|
+
import * as i2 from '@angular/common';
|
|
9
|
+
import * as i4 from '@angular/material/button';
|
|
10
|
+
import { Editor, Toolbar } from 'ngx-editor';
|
|
11
|
+
|
|
12
|
+
declare enum EControlTypes {
|
|
13
|
+
pkey = "PRIMARY-KEY",
|
|
14
|
+
input = "INPUT",
|
|
15
|
+
richText = "RICH-TEXT",
|
|
16
|
+
textArea = "TEXT-AREA",
|
|
17
|
+
dropdown = "DROPDOWN",
|
|
18
|
+
date = "DATE",
|
|
19
|
+
checkbox = "CHECKBOX",
|
|
20
|
+
upload = "UPLOAD",
|
|
21
|
+
autocomplete = "AUTOCOMPLETE",
|
|
22
|
+
multiple = "MULTIPLE-AUTOCOMPLETE",
|
|
23
|
+
array = "ARRAY",
|
|
24
|
+
form = "FORM",
|
|
25
|
+
label = "LABEL",
|
|
26
|
+
default = "DEFAULT"
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
interface IFieldBasicData {
|
|
30
|
+
placeholder: string;
|
|
31
|
+
label: string;
|
|
32
|
+
tooltip: string;
|
|
33
|
+
icon: string;
|
|
34
|
+
elementId: string;
|
|
35
|
+
styleClasses: string;
|
|
36
|
+
length: number;
|
|
37
|
+
required: boolean;
|
|
38
|
+
hidden: boolean;
|
|
39
|
+
readOnly: boolean;
|
|
40
|
+
disabled: boolean;
|
|
41
|
+
errorMessages: {
|
|
42
|
+
[key: string]: string;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
interface IFieldData extends IFieldBasicData {
|
|
46
|
+
validators: ValidatorFn | ValidatorFn[] | null;
|
|
47
|
+
asyncValidators: AsyncValidatorFn | AsyncValidatorFn[] | null;
|
|
48
|
+
defaultValue: any;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
interface IAutocompleteSettings<T> {
|
|
52
|
+
getData: (query: string, control?: AbstractControl) => void;
|
|
53
|
+
source: Observable<T[]>;
|
|
54
|
+
fieldId: string;
|
|
55
|
+
icon?: string;
|
|
56
|
+
iconAction?: (data: T) => void;
|
|
57
|
+
onSelect?: (data: T) => void;
|
|
58
|
+
fieldName: string | ((a?: T) => string);
|
|
59
|
+
fieldImage?: string | ((a?: T) => string);
|
|
60
|
+
}
|
|
61
|
+
interface IAutocompleteField<T = any> extends IFieldData {
|
|
62
|
+
settings: IAutocompleteSettings<T>;
|
|
63
|
+
type: EControlTypes.autocomplete;
|
|
64
|
+
defaultValue: T;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
interface IDatePickerSettings {
|
|
68
|
+
lowerLimit?: number;
|
|
69
|
+
upperLimit?: number;
|
|
70
|
+
startAt?: Date;
|
|
71
|
+
}
|
|
72
|
+
interface IDatePickerField extends IFieldData {
|
|
73
|
+
settings: IDatePickerSettings;
|
|
74
|
+
type: EControlTypes.date;
|
|
75
|
+
defaultValue: string;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
interface IDropdownSettings {
|
|
79
|
+
icon?: string;
|
|
80
|
+
onSelect?: (data: any) => void;
|
|
81
|
+
iconAction?: (data: any) => void;
|
|
82
|
+
source: Observable<any[]>;
|
|
83
|
+
fieldId: string;
|
|
84
|
+
fieldName: string | ((a?: any) => string);
|
|
85
|
+
notSelectedText?: string;
|
|
86
|
+
}
|
|
87
|
+
interface IDropdownField extends IFieldData {
|
|
88
|
+
settings: IDropdownSettings;
|
|
89
|
+
type: EControlTypes.dropdown;
|
|
90
|
+
defaultValue: string;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
declare const InputTypes: readonly ["color", "date", "datetime-local", "email", "month", "number", "password", "search", "tel", "text", "time", "url", "week"];
|
|
94
|
+
type TInputTypes = typeof InputTypes[number];
|
|
95
|
+
|
|
96
|
+
type IInputSettings = {
|
|
97
|
+
type?: TInputTypes;
|
|
98
|
+
mask?: InputmaskOptions<any>;
|
|
99
|
+
withCounter?: boolean;
|
|
100
|
+
withMaxlength?: boolean;
|
|
101
|
+
icon?: string;
|
|
102
|
+
iconAction?: (data: string) => void;
|
|
103
|
+
onEnter?: (data: string) => void;
|
|
104
|
+
onBlur?: (data: string) => void;
|
|
105
|
+
};
|
|
106
|
+
interface IInputField extends IFieldData {
|
|
107
|
+
settings: IInputSettings;
|
|
108
|
+
type: EControlTypes.input;
|
|
109
|
+
defaultValue: string;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
interface ICheckboxSettings {
|
|
113
|
+
labelPosition?: 'before' | 'after';
|
|
114
|
+
indeterminate?: boolean;
|
|
115
|
+
color?: ThemePalette;
|
|
116
|
+
}
|
|
117
|
+
interface ICheckboxField extends IFieldData {
|
|
118
|
+
settings: ICheckboxSettings;
|
|
119
|
+
type: EControlTypes.checkbox;
|
|
120
|
+
defaultValue: boolean;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
type IMultipleAutocompleteSettings<T> = {
|
|
124
|
+
getData: (query: string, control?: AbstractControl) => void;
|
|
125
|
+
source: Observable<T[]>;
|
|
126
|
+
fieldId: string;
|
|
127
|
+
icon?: string;
|
|
128
|
+
iconAction?: (data: T) => void;
|
|
129
|
+
onSelect?: (data: T) => void;
|
|
130
|
+
fieldName: string | ((a?: T) => string);
|
|
131
|
+
fieldImage?: string | ((a?: T) => string);
|
|
132
|
+
};
|
|
133
|
+
interface IMultipleAutocompleteField<T = any> extends IFieldData {
|
|
134
|
+
settings: IMultipleAutocompleteSettings<T>;
|
|
135
|
+
type: EControlTypes.multiple;
|
|
136
|
+
defaultValue: any;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
type ITextAreaSettings = {
|
|
140
|
+
withCounter?: boolean;
|
|
141
|
+
withMaxlength?: boolean;
|
|
142
|
+
};
|
|
143
|
+
interface ITextAreaField extends IFieldData {
|
|
144
|
+
settings: ITextAreaSettings;
|
|
145
|
+
type: EControlTypes.textArea;
|
|
146
|
+
defaultValue: string;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
type IUploadSettings = {
|
|
150
|
+
accept?: string;
|
|
151
|
+
multiple?: boolean;
|
|
152
|
+
minSize?: number;
|
|
153
|
+
maxSize?: number;
|
|
154
|
+
mode?: 'replace' | 'append';
|
|
155
|
+
onSelectFile?: (value: File[] | File) => void;
|
|
156
|
+
};
|
|
157
|
+
interface IUploadField extends IFieldData {
|
|
158
|
+
settings: IUploadSettings;
|
|
159
|
+
type: EControlTypes.upload;
|
|
160
|
+
defaultValue: any;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
type ILabelSettings = {
|
|
164
|
+
pipe?: (value: any) => string;
|
|
165
|
+
stylesPipe?: (value: any) => string;
|
|
166
|
+
isLink: boolean;
|
|
167
|
+
onClickLink?: (value: any) => void;
|
|
168
|
+
};
|
|
169
|
+
interface ILabelField extends IFieldData {
|
|
170
|
+
settings: ILabelSettings;
|
|
171
|
+
type: EControlTypes.label;
|
|
172
|
+
defaultValue: string;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
interface IRichTextSettings {
|
|
176
|
+
colorPresets?: string[];
|
|
177
|
+
outputFormat?: 'doc' | 'html';
|
|
178
|
+
}
|
|
179
|
+
interface IRichTextField extends IFieldData {
|
|
180
|
+
settings: IRichTextSettings;
|
|
181
|
+
type: EControlTypes.richText;
|
|
182
|
+
defaultValue: string;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
interface IcontrolName {
|
|
186
|
+
name: string;
|
|
187
|
+
}
|
|
188
|
+
type IFormSettings<T extends IFormStructure = IFormStructure> = {
|
|
189
|
+
formFields: T;
|
|
190
|
+
};
|
|
191
|
+
interface IFormField<TValue = any, TFields extends IFormStructure = IFormStructure> extends IFieldData {
|
|
192
|
+
settings: IFormSettings<TFields>;
|
|
193
|
+
type: EControlTypes.form;
|
|
194
|
+
defaultValue: TValue;
|
|
195
|
+
}
|
|
196
|
+
type IArraySettings<TFields extends IFormStructure = IFormStructure> = {
|
|
197
|
+
addActionLabel?: string;
|
|
198
|
+
removeActionLabel?: string;
|
|
199
|
+
formFields: TFields;
|
|
200
|
+
withFormHeader?: boolean;
|
|
201
|
+
withActionButtons?: boolean;
|
|
202
|
+
};
|
|
203
|
+
interface IArrayField<TValue = any, TFields extends IFormStructure = IFormStructure> extends IFieldData {
|
|
204
|
+
settings: IArraySettings<TFields>;
|
|
205
|
+
type: EControlTypes.array;
|
|
206
|
+
defaultValue: TValue[];
|
|
207
|
+
}
|
|
208
|
+
interface IPkeyField<T = any> extends IFieldData {
|
|
209
|
+
settings: any;
|
|
210
|
+
type: EControlTypes.pkey;
|
|
211
|
+
defaultValue: any;
|
|
212
|
+
}
|
|
213
|
+
interface IDefaultField extends IFieldData {
|
|
214
|
+
settings: any;
|
|
215
|
+
type: EControlTypes.default;
|
|
216
|
+
defaultValue: any;
|
|
217
|
+
}
|
|
218
|
+
type TRawFields = IDefaultField | IInputField | IRichTextField | IDropdownField | IArrayField | IFormField | IAutocompleteField | IMultipleAutocompleteField | IDatePickerField | ITextAreaField | IUploadField | ILabelField | IPkeyField | ICheckboxField;
|
|
219
|
+
type TSpecialInput = IInputField & IcontrolName;
|
|
220
|
+
type TSpecialDefault = IDefaultField & IcontrolName;
|
|
221
|
+
type TSpecialDropdown = IDropdownField & IcontrolName;
|
|
222
|
+
type TSpecialArray = IArrayField & IcontrolName;
|
|
223
|
+
type TSpecialForm = IFormField & IcontrolName;
|
|
224
|
+
type TSpecialRichText = IRichTextField & IcontrolName;
|
|
225
|
+
type TSpecialAutocomplete = IAutocompleteField & IcontrolName;
|
|
226
|
+
type TSpecialDatepicker = IDatePickerField & IcontrolName;
|
|
227
|
+
type ISpecialCheckbox = ICheckboxField & IcontrolName;
|
|
228
|
+
type ISpecialTextArea = ITextAreaField & IcontrolName;
|
|
229
|
+
type ISpecialLabel = ILabelField & IcontrolName;
|
|
230
|
+
type ISpecialUpload = IUploadField & IcontrolName;
|
|
231
|
+
type ISpecialPkey = IPkeyField & IcontrolName;
|
|
232
|
+
type TSpecialFields = TSpecialDefault | TSpecialInput | TSpecialDropdown | TSpecialArray | TSpecialForm | TSpecialRichText | TSpecialAutocomplete | ISpecialCheckbox | ISpecialTextArea | ISpecialUpload | ISpecialLabel | ISpecialPkey | TSpecialDatepicker;
|
|
233
|
+
interface IFormStructure {
|
|
234
|
+
[name: string]: Partial<TRawFields>;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
declare class SpecialFormControl<T extends TRawFields> extends FormControl {
|
|
238
|
+
name: string;
|
|
239
|
+
placeholder: T['placeholder'];
|
|
240
|
+
label: T['label'];
|
|
241
|
+
tooltip: T['tooltip'];
|
|
242
|
+
icon: T['icon'];
|
|
243
|
+
elementId: T['elementId'];
|
|
244
|
+
styleClasses: T['styleClasses'];
|
|
245
|
+
length: T['length'];
|
|
246
|
+
required: T['required'];
|
|
247
|
+
hidden: T['hidden'];
|
|
248
|
+
readOnly: T['readOnly'];
|
|
249
|
+
settings: T['settings'];
|
|
250
|
+
type: T['type'];
|
|
251
|
+
errorMessages: T['errorMessages'];
|
|
252
|
+
constructor({ name, settings, type, validators, asyncValidators, elementId, styleClasses, defaultValue, hidden, icon, label, length, placeholder, readOnly, required, tooltip, errorMessages, disabled, }: TSpecialFields);
|
|
253
|
+
setReadOnly(status?: boolean): void;
|
|
254
|
+
setDisabled(status?: boolean): void;
|
|
255
|
+
setHidden(status?: boolean): void;
|
|
256
|
+
}
|
|
257
|
+
declare class SpecialFormGroup extends FormGroup {
|
|
258
|
+
name: string;
|
|
259
|
+
placeholder: string;
|
|
260
|
+
label: string;
|
|
261
|
+
tooltip: string;
|
|
262
|
+
icon: string;
|
|
263
|
+
elementId: string;
|
|
264
|
+
styleClasses: string;
|
|
265
|
+
length: number;
|
|
266
|
+
required: boolean;
|
|
267
|
+
hidden: boolean;
|
|
268
|
+
readOnly: boolean;
|
|
269
|
+
settings: IFormSettings;
|
|
270
|
+
type: EControlTypes.form;
|
|
271
|
+
defaultValue: any;
|
|
272
|
+
errorMessages: {
|
|
273
|
+
[key: string]: string;
|
|
274
|
+
};
|
|
275
|
+
constructor({ name, settings, type, validators, asyncValidators, elementId, styleClasses, defaultValue, hidden, icon, label, length, placeholder, readOnly, required, tooltip, disabled, }: TSpecialForm, controls: {
|
|
276
|
+
[key: string]: SpecialFormControl<any>;
|
|
277
|
+
});
|
|
278
|
+
getDirty(): void;
|
|
279
|
+
specialReset(value?: {}): void;
|
|
280
|
+
setReadOnly(status?: boolean): void;
|
|
281
|
+
setReadOnlyByFields(fieldsObject: {
|
|
282
|
+
[key: string]: boolean;
|
|
283
|
+
}): void;
|
|
284
|
+
setHiddenByFields(fields: {
|
|
285
|
+
[key: string]: boolean;
|
|
286
|
+
}): void;
|
|
287
|
+
setDisabled(status: boolean): void;
|
|
288
|
+
setDisabledByFields(fieldsObject: any): void;
|
|
289
|
+
/**
|
|
290
|
+
* donde value es el objeto semilla y detailForm es un arreglo de form key para dar un marco al formarray
|
|
291
|
+
*/
|
|
292
|
+
setFormValue(value: any): void;
|
|
293
|
+
/**
|
|
294
|
+
* Método que retorna
|
|
295
|
+
*/
|
|
296
|
+
getIdPkey(): SpecialFormControl<any> | undefined;
|
|
297
|
+
}
|
|
298
|
+
declare class SpecialFormArray extends FormArray implements IFieldBasicData {
|
|
299
|
+
name: string;
|
|
300
|
+
placeholder: string;
|
|
301
|
+
label: string;
|
|
302
|
+
tooltip: string;
|
|
303
|
+
icon: string;
|
|
304
|
+
elementId: string;
|
|
305
|
+
styleClasses: string;
|
|
306
|
+
required: boolean;
|
|
307
|
+
hidden: boolean;
|
|
308
|
+
readOnly: boolean;
|
|
309
|
+
settings: IArraySettings;
|
|
310
|
+
type: EControlTypes;
|
|
311
|
+
defaultValue: any;
|
|
312
|
+
form: SpecialFormGroup;
|
|
313
|
+
private formCreation;
|
|
314
|
+
errorMessages: {
|
|
315
|
+
[key: string]: string;
|
|
316
|
+
};
|
|
317
|
+
constructor({ name, settings, type, validators, asyncValidators, elementId, styleClasses, defaultValue, hidden, icon, label, placeholder, readOnly, required, tooltip, errorMessages, disabled, }: TSpecialArray, formCreation: () => SpecialFormGroup, controls: AbstractControl[]);
|
|
318
|
+
fillFormArray(data: any[]): void;
|
|
319
|
+
addItem(): void;
|
|
320
|
+
specialPush(index?: number): void;
|
|
321
|
+
specialInsert(index?: number): void;
|
|
322
|
+
specialEdit(index: number, newValue: Object): void;
|
|
323
|
+
/**
|
|
324
|
+
* Vuelve todos los controles del formArray de lectura o de sololectura
|
|
325
|
+
* @param status
|
|
326
|
+
*/
|
|
327
|
+
setReadOnly(status: boolean): void;
|
|
328
|
+
/**
|
|
329
|
+
* Vuelve todos los controles del formArray habilitados o deshabilitados
|
|
330
|
+
* @param status
|
|
331
|
+
*/
|
|
332
|
+
setDisabled(status: boolean): void;
|
|
333
|
+
/**
|
|
334
|
+
* Permite editar un control especifico.
|
|
335
|
+
* @param index
|
|
336
|
+
*/
|
|
337
|
+
editControl(index: number): void;
|
|
338
|
+
getDirty(): void;
|
|
339
|
+
recursiveFillForm(form: FormGroup, data: any): FormGroup;
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
declare class SpecialAutocompleteComponent {
|
|
343
|
+
control: SpecialFormControl<IAutocompleteField>;
|
|
344
|
+
subs: Subscription;
|
|
345
|
+
constructor();
|
|
346
|
+
ngOnInit(): void;
|
|
347
|
+
get settings(): IAutocompleteSettings<any>;
|
|
348
|
+
init(): void;
|
|
349
|
+
configValue: (item: any) => any;
|
|
350
|
+
optionSelected(data: MatAutocompleteSelectedEvent): void;
|
|
351
|
+
iconClick(event: Event): void;
|
|
352
|
+
ngOnDestroy(): void;
|
|
353
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SpecialAutocompleteComponent, never>;
|
|
354
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpecialAutocompleteComponent, "sp-autocomplete", never, { "control": { "alias": "control"; "required": false; }; }, {}, never, never, true, never>;
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
declare class SpecialInputComponent implements OnInit {
|
|
358
|
+
control: SpecialFormControl<IInputField>;
|
|
359
|
+
constructor();
|
|
360
|
+
ngOnInit(): void;
|
|
361
|
+
onEnterClick(): void;
|
|
362
|
+
onBlurAction(): void;
|
|
363
|
+
get settings(): IInputSettings;
|
|
364
|
+
iconClick(event: Event): void;
|
|
365
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SpecialInputComponent, never>;
|
|
366
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpecialInputComponent, "sp-input", never, { "control": { "alias": "control"; "required": false; }; }, {}, never, never, true, never>;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
declare class SpecialDropdownComponent {
|
|
370
|
+
control: SpecialFormControl<IDropdownField>;
|
|
371
|
+
get settings(): IDropdownSettings;
|
|
372
|
+
iconClick(event: Event): void;
|
|
373
|
+
optionSelected(value: any): void;
|
|
374
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SpecialDropdownComponent, never>;
|
|
375
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpecialDropdownComponent, "sp-dropdown", never, { "control": { "alias": "control"; "required": false; }; }, {}, never, never, true, never>;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
declare class SpecialDatepickerComponent implements OnInit {
|
|
379
|
+
control: SpecialFormControl<IDatePickerField>;
|
|
380
|
+
constructor();
|
|
381
|
+
get settings(): IDatePickerSettings;
|
|
382
|
+
get startAt(): Date;
|
|
383
|
+
ngOnInit(): void;
|
|
384
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SpecialDatepickerComponent, never>;
|
|
385
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpecialDatepickerComponent, "sp-datepicker", never, { "control": { "alias": "control"; "required": false; }; }, {}, never, never, true, never>;
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
declare class SpecialMultipleAutocompleteComponent {
|
|
389
|
+
control: SpecialFormControl<IMultipleAutocompleteField>;
|
|
390
|
+
subs: Subscription;
|
|
391
|
+
internalControl: FormControl<any>;
|
|
392
|
+
constructor();
|
|
393
|
+
ngOnInit(): void;
|
|
394
|
+
get settings(): IMultipleAutocompleteSettings<any>;
|
|
395
|
+
init(): void;
|
|
396
|
+
optionSelected(data: MatAutocompleteSelectedEvent): void;
|
|
397
|
+
iconClick(event: Event): void;
|
|
398
|
+
remove(value: any[]): void;
|
|
399
|
+
configValue: (item: any) => any;
|
|
400
|
+
ngOnDestroy(): void;
|
|
401
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SpecialMultipleAutocompleteComponent, never>;
|
|
402
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpecialMultipleAutocompleteComponent, "sp-multiple-autocomplete", never, { "control": { "alias": "control"; "required": false; }; }, {}, never, never, true, never>;
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
declare class SpecialCheckboxComponent implements OnInit {
|
|
406
|
+
control: SpecialFormControl<ICheckboxField>;
|
|
407
|
+
get settings(): ICheckboxSettings;
|
|
408
|
+
constructor();
|
|
409
|
+
ngOnInit(): void;
|
|
410
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SpecialCheckboxComponent, never>;
|
|
411
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpecialCheckboxComponent, "sp-checkbox", never, { "control": { "alias": "control"; "required": false; }; }, {}, never, never, true, never>;
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
declare class SpecialTextAreaComponent implements OnInit {
|
|
415
|
+
control: SpecialFormControl<ITextAreaField>;
|
|
416
|
+
onBlur: EventEmitter<any>;
|
|
417
|
+
onEnter: EventEmitter<any>;
|
|
418
|
+
constructor();
|
|
419
|
+
ngOnInit(): void;
|
|
420
|
+
get settings(): ITextAreaSettings;
|
|
421
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SpecialTextAreaComponent, never>;
|
|
422
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpecialTextAreaComponent, "sp-text-area", never, { "control": { "alias": "control"; "required": false; }; }, { "onBlur": "onBlur"; "onEnter": "onEnter"; }, never, never, true, never>;
|
|
423
|
+
}
|
|
424
|
+
|
|
425
|
+
type TFieldControl<TField> = TField extends {
|
|
426
|
+
type: EControlTypes.form;
|
|
427
|
+
} ? SpecialFormGroup : TField extends {
|
|
428
|
+
type: EControlTypes.array;
|
|
429
|
+
} ? SpecialFormArray : SpecialFormControl<TField extends TRawFields ? TField : TRawFields>;
|
|
430
|
+
type TFormControls<T extends IFormStructure> = {
|
|
431
|
+
[K in keyof T]: TFieldControl<NonNullable<T[K]>>;
|
|
432
|
+
};
|
|
433
|
+
type TFieldValue<TField> = TField extends IArrayField<infer TValue, infer TFields> ? TFields extends IFormStructure ? TFormValue<TFields>[] : TValue[] : TField extends IFormField<infer TValue, infer TFields> ? TFields extends IFormStructure ? TFormValue<TFields> : TValue : TField extends TRawFields ? TField['defaultValue'] : any;
|
|
434
|
+
type TFormValue<T extends IFormStructure> = {
|
|
435
|
+
[K in keyof T]: TFieldValue<NonNullable<T[K]>>;
|
|
436
|
+
};
|
|
437
|
+
type TypedSpecialFormGroup<T extends IFormStructure> = SpecialFormGroup & {
|
|
438
|
+
controls: TFormControls<T>;
|
|
439
|
+
value: TFormValue<T>;
|
|
440
|
+
getRawValue: () => TFormValue<T>;
|
|
441
|
+
};
|
|
442
|
+
declare class SpecialFormBuilderService {
|
|
443
|
+
private readonly defectField;
|
|
444
|
+
private readonly inputDefectField;
|
|
445
|
+
private readonly formDefectField;
|
|
446
|
+
private readonly arrayDefectField;
|
|
447
|
+
control<T extends TRawFields>(field: Partial<T>): SpecialFormControl<T>;
|
|
448
|
+
group<T extends IFormStructure>(fields: T, parentField?: Partial<TSpecialForm>): TypedSpecialFormGroup<T>;
|
|
449
|
+
fieldDataToArray(fields: IFormStructure): TSpecialFields[];
|
|
450
|
+
private setDefectFieldOptions;
|
|
451
|
+
private formGenerator;
|
|
452
|
+
private getControlAndNameByType;
|
|
453
|
+
private setFormGroup;
|
|
454
|
+
private setFormArray;
|
|
455
|
+
private setFormControl;
|
|
456
|
+
private setRequiredValidator;
|
|
457
|
+
private setValidatorsArray;
|
|
458
|
+
private arrayLengthRequired;
|
|
459
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SpecialFormBuilderService, never>;
|
|
460
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<SpecialFormBuilderService>;
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
declare class ErrorStateMatcherService implements ErrorStateMatcher {
|
|
464
|
+
isErrorState(control: FormControl): boolean;
|
|
465
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ErrorStateMatcherService, never>;
|
|
466
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<ErrorStateMatcherService>;
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
declare class SpecialUploadComponent {
|
|
470
|
+
readonly DEFAULT_ACCEPTED_TYPES = "image/png, .jpeg, .jpg, image/gif";
|
|
471
|
+
sfb: SpecialFormBuilderService;
|
|
472
|
+
set control(control: SpecialFormControl<IUploadField>);
|
|
473
|
+
get control(): SpecialFormControl<IUploadField>;
|
|
474
|
+
private internalControl;
|
|
475
|
+
realControl: SpecialFormControl<IUploadField>;
|
|
476
|
+
get settings(): IUploadSettings;
|
|
477
|
+
get elements(): any;
|
|
478
|
+
get multipleElements(): any;
|
|
479
|
+
get singleElement(): any[];
|
|
480
|
+
private initialConfig;
|
|
481
|
+
private minSizeConfig;
|
|
482
|
+
private maxSizeConfig;
|
|
483
|
+
private isFile;
|
|
484
|
+
private isNotFile;
|
|
485
|
+
private acceptConfig;
|
|
486
|
+
onSelectFile(input: File[] | File): void;
|
|
487
|
+
private updateRealControlInput;
|
|
488
|
+
private onSelectFileTrigger;
|
|
489
|
+
onRemove(input: File | string): void;
|
|
490
|
+
private removeFile;
|
|
491
|
+
private removeFileFromControl;
|
|
492
|
+
private removeElement;
|
|
493
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SpecialUploadComponent, never>;
|
|
494
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpecialUploadComponent, "sp-upload", never, { "control": { "alias": "control"; "required": false; }; }, {}, never, never, true, never>;
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
declare class SpecialLabelComponent implements OnInit {
|
|
498
|
+
control: SpecialFormControl<ILabelField>;
|
|
499
|
+
constructor();
|
|
500
|
+
ngOnInit(): void;
|
|
501
|
+
get settings(): ILabelSettings;
|
|
502
|
+
onLink(): void;
|
|
503
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SpecialLabelComponent, never>;
|
|
504
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpecialLabelComponent, "sp-label", never, { "control": { "alias": "control"; "required": false; }; }, {}, never, never, true, never>;
|
|
505
|
+
}
|
|
506
|
+
|
|
507
|
+
declare class SpecialFormComponent implements OnInit {
|
|
508
|
+
form: SpecialFormGroup;
|
|
509
|
+
set control(form: SpecialFormGroup);
|
|
510
|
+
ngOnInit(): void;
|
|
511
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SpecialFormComponent, never>;
|
|
512
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpecialFormComponent, "sp-form", never, { "form": { "alias": "control"; "required": false; }; }, {}, never, never, false, never>;
|
|
513
|
+
}
|
|
514
|
+
declare class SpecialArrayComponent implements OnInit {
|
|
515
|
+
formArray: any;
|
|
516
|
+
set control(formArray: any);
|
|
517
|
+
get withFormHeader(): any;
|
|
518
|
+
get settings(): any;
|
|
519
|
+
constructor();
|
|
520
|
+
ngOnInit(): void;
|
|
521
|
+
removeItem(index: number): void;
|
|
522
|
+
addItem(): void;
|
|
523
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SpecialArrayComponent, never>;
|
|
524
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpecialArrayComponent, "sp-array", never, { "formArray": { "alias": "control"; "required": false; }; }, {}, never, never, false, never>;
|
|
525
|
+
}
|
|
526
|
+
declare class FormControlsRenderDirective {
|
|
527
|
+
private viewContainer;
|
|
528
|
+
private readonly componentsBuffer;
|
|
529
|
+
set controlSetter(control: SpecialFormControl<any>);
|
|
530
|
+
constructor(viewContainer: ViewContainerRef);
|
|
531
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormControlsRenderDirective, never>;
|
|
532
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FormControlsRenderDirective, "[controlRender]", never, { "controlSetter": { "alias": "control"; "required": false; }; }, {}, never, never, false, never>;
|
|
533
|
+
}
|
|
534
|
+
|
|
535
|
+
declare class FormControlsListPipe implements PipeTransform {
|
|
536
|
+
transform(controls: {
|
|
537
|
+
[key: string]: AbstractControl;
|
|
538
|
+
}): SpecialFormControl<any>[];
|
|
539
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormControlsListPipe, never>;
|
|
540
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<FormControlsListPipe, "controlsList", true>;
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
declare class SpecialRichtextComponent {
|
|
544
|
+
editor: Editor;
|
|
545
|
+
formControl: SpecialFormControl<IRichTextField>;
|
|
546
|
+
colorPresets: string[];
|
|
547
|
+
control: SpecialFormControl<IRichTextField>;
|
|
548
|
+
toolbar: Toolbar;
|
|
549
|
+
ngOnInit(): void;
|
|
550
|
+
ngOnDestroy(): void;
|
|
551
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SpecialRichtextComponent, never>;
|
|
552
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpecialRichtextComponent, "sp-input", never, { "control": { "alias": "control"; "required": false; }; }, {}, never, never, true, never>;
|
|
553
|
+
}
|
|
554
|
+
|
|
555
|
+
declare class SpecialFormModule {
|
|
556
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SpecialFormModule, never>;
|
|
557
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<SpecialFormModule, [typeof SpecialArrayComponent, typeof FormControlsRenderDirective, typeof SpecialFormComponent], [typeof i2.CommonModule, typeof FormControlsListPipe, typeof i4.MatButtonModule, typeof SpecialRichtextComponent, typeof SpecialDropdownComponent, typeof SpecialInputComponent, typeof SpecialAutocompleteComponent, typeof SpecialDatepickerComponent, typeof SpecialLabelComponent, typeof SpecialMultipleAutocompleteComponent, typeof SpecialCheckboxComponent, typeof SpecialTextAreaComponent, typeof SpecialUploadComponent], [typeof SpecialArrayComponent, typeof FormControlsRenderDirective, typeof SpecialFormComponent]>;
|
|
558
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<SpecialFormModule>;
|
|
559
|
+
}
|
|
560
|
+
|
|
561
|
+
declare abstract class ISpecialControl {
|
|
562
|
+
control: SpecialFormControl<any> | SpecialFormArray | SpecialFormGroup;
|
|
563
|
+
}
|
|
564
|
+
|
|
565
|
+
declare const currencyInputMask: any;
|
|
566
|
+
|
|
567
|
+
declare const numberMask: (max?: number) => any;
|
|
568
|
+
|
|
569
|
+
declare class ErrorMessagePipe implements PipeTransform {
|
|
570
|
+
transform(errorsObj: {
|
|
571
|
+
[key: string]: any;
|
|
572
|
+
}, errorMessages: {
|
|
573
|
+
[key: string]: any;
|
|
574
|
+
}, control?: FormControl): any;
|
|
575
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ErrorMessagePipe, never>;
|
|
576
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<ErrorMessagePipe, "errorMessage", true>;
|
|
577
|
+
}
|
|
578
|
+
|
|
579
|
+
declare class TextByFunctionPipe implements PipeTransform {
|
|
580
|
+
transform(value: any, field: string | ((value: any) => string)): any;
|
|
581
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TextByFunctionPipe, never>;
|
|
582
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<TextByFunctionPipe, "textByFunction", true>;
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
export { EControlTypes, ErrorMessagePipe, ErrorStateMatcherService, FormControlsListPipe, FormControlsRenderDirective, ISpecialControl, SpecialArrayComponent, SpecialAutocompleteComponent, SpecialCheckboxComponent, SpecialDatepickerComponent, SpecialDropdownComponent, SpecialFormArray, SpecialFormBuilderService, SpecialFormComponent, SpecialFormControl, SpecialFormGroup, SpecialFormModule, SpecialInputComponent, SpecialLabelComponent, SpecialMultipleAutocompleteComponent, SpecialRichtextComponent, SpecialTextAreaComponent, SpecialUploadComponent, TextByFunctionPipe, currencyInputMask, numberMask };
|
|
586
|
+
export type { IArrayField, IArraySettings, IAutocompleteField, IAutocompleteSettings, ICheckboxField, ICheckboxSettings, IDatePickerField, IDatePickerSettings, IDefaultField, IDropdownField, IDropdownSettings, IFieldBasicData, IFieldData, IFormField, IFormSettings, IFormStructure, IInputField, IInputSettings, ILabelField, ILabelSettings, IMultipleAutocompleteField, IMultipleAutocompleteSettings, IPkeyField, IRichTextField, IRichTextSettings, ISpecialCheckbox, ISpecialLabel, ISpecialPkey, ISpecialTextArea, ISpecialUpload, ITextAreaField, ITextAreaSettings, IUploadField, IUploadSettings, TRawFields, TSpecialArray, TSpecialAutocomplete, TSpecialDatepicker, TSpecialDefault, TSpecialDropdown, TSpecialFields, TSpecialForm, TSpecialInput, TSpecialRichText };
|
package/lib/styles/final.scss
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
@
|
|
2
|
-
@
|
|
1
|
+
@use "./styles-config.scss";
|
|
2
|
+
@use "./tailwind-final.scss";
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
@mixin dark-theme-config($back-color, $dark-text, $back-color-over) {
|
|
2
|
-
.mat-mdc-autocomplete-panel,
|
|
3
|
-
.mat-mdc-menu-content,
|
|
4
|
-
.mat-mdc-select-panel,
|
|
5
|
-
.mat-datepicker-content {
|
|
6
|
-
background: $back-color-over !important;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
.mat-mdc-text-field-wrapper,
|
|
10
|
-
.special-upload__dropzone {
|
|
11
|
-
background: $back-color !important;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
.special-upload__dropzone {
|
|
15
|
-
border-color: $dark-text !important;
|
|
16
|
-
color: $dark-text !important;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
.NgxEditor__MenuBar {
|
|
20
|
-
background: $back-color !important;
|
|
21
|
-
}
|
|
22
|
-
.NgxEditor {
|
|
23
|
-
background: $back-color !important;
|
|
24
|
-
color: $dark-text !important;
|
|
25
|
-
}
|
|
26
|
-
.NgxEditor__MenuItem {
|
|
27
|
-
&:hover {
|
|
28
|
-
color: black !important;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
.NgxEditor__Dropdown{
|
|
32
|
-
&:hover{
|
|
33
|
-
color: black !important;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
1
|
+
@mixin dark-theme-config($back-color, $dark-text, $back-color-over) {
|
|
2
|
+
.mat-mdc-autocomplete-panel,
|
|
3
|
+
.mat-mdc-menu-content,
|
|
4
|
+
.mat-mdc-select-panel,
|
|
5
|
+
.mat-datepicker-content {
|
|
6
|
+
background: $back-color-over !important;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.mat-mdc-text-field-wrapper,
|
|
10
|
+
.special-upload__dropzone {
|
|
11
|
+
background: $back-color !important;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.special-upload__dropzone {
|
|
15
|
+
border-color: $dark-text !important;
|
|
16
|
+
color: $dark-text !important;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.NgxEditor__MenuBar {
|
|
20
|
+
background: $back-color !important;
|
|
21
|
+
}
|
|
22
|
+
.NgxEditor {
|
|
23
|
+
background: $back-color !important;
|
|
24
|
+
color: $dark-text !important;
|
|
25
|
+
}
|
|
26
|
+
.NgxEditor__MenuItem {
|
|
27
|
+
&:hover {
|
|
28
|
+
color: black !important;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
.NgxEditor__Dropdown{
|
|
32
|
+
&:hover{
|
|
33
|
+
color: black !important;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|