@ngx-formly/bootstrap 7.1.0 → 9.0.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.
- package/README.md +26 -9
- package/addons/index.d.ts +39 -5
- package/checkbox/index.d.ts +38 -5
- package/fesm2022/ngx-formly-bootstrap-addons.mjs +8 -8
- package/fesm2022/ngx-formly-bootstrap-addons.mjs.map +1 -1
- package/fesm2022/ngx-formly-bootstrap-checkbox.mjs +25 -16
- package/fesm2022/ngx-formly-bootstrap-checkbox.mjs.map +1 -1
- package/fesm2022/ngx-formly-bootstrap-form-field.mjs +64 -48
- package/fesm2022/ngx-formly-bootstrap-form-field.mjs.map +1 -1
- package/fesm2022/ngx-formly-bootstrap-input.mjs +37 -37
- package/fesm2022/ngx-formly-bootstrap-input.mjs.map +1 -1
- package/fesm2022/ngx-formly-bootstrap-multicheckbox.mjs +61 -58
- package/fesm2022/ngx-formly-bootstrap-multicheckbox.mjs.map +1 -1
- package/fesm2022/ngx-formly-bootstrap-radio.mjs +54 -57
- package/fesm2022/ngx-formly-bootstrap-radio.mjs.map +1 -1
- package/fesm2022/ngx-formly-bootstrap-select.mjs +8 -7
- package/fesm2022/ngx-formly-bootstrap-select.mjs.map +1 -1
- package/fesm2022/ngx-formly-bootstrap-textarea.mjs +8 -7
- package/fesm2022/ngx-formly-bootstrap-textarea.mjs.map +1 -1
- package/fesm2022/ngx-formly-bootstrap.mjs +4 -4
- package/form-field/index.d.ts +35 -5
- package/index.d.ts +20 -5
- package/input/index.d.ts +30 -5
- package/multicheckbox/index.d.ts +38 -5
- package/package.json +2 -20
- package/radio/index.d.ts +38 -5
- package/select/index.d.ts +38 -5
- package/textarea/index.d.ts +37 -5
- package/addons/addon.extension.d.ts +0 -2
- package/addons/addons.component.d.ts +0 -26
- package/addons/addons.config.d.ts +0 -2
- package/addons/addons.module.d.ts +0 -10
- package/addons/public_api.d.ts +0 -2
- package/checkbox/checkbox.config.d.ts +0 -2
- package/checkbox/checkbox.module.d.ts +0 -11
- package/checkbox/checkbox.type.d.ts +0 -23
- package/checkbox/public_api.d.ts +0 -3
- package/esm2022/addons/addon.extension.mjs +0 -9
- package/esm2022/addons/addons.component.mjs +0 -31
- package/esm2022/addons/addons.config.mjs +0 -9
- package/esm2022/addons/addons.module.mjs +0 -21
- package/esm2022/addons/ngx-formly-bootstrap-addons.mjs +0 -5
- package/esm2022/addons/public_api.mjs +0 -3
- package/esm2022/checkbox/checkbox.config.mjs +0 -17
- package/esm2022/checkbox/checkbox.module.mjs +0 -32
- package/esm2022/checkbox/checkbox.type.mjs +0 -81
- package/esm2022/checkbox/ngx-formly-bootstrap-checkbox.mjs +0 -5
- package/esm2022/checkbox/public_api.mjs +0 -4
- package/esm2022/form-field/field.type.mjs +0 -25
- package/esm2022/form-field/form-field.config.mjs +0 -12
- package/esm2022/form-field/form-field.module.mjs +0 -21
- package/esm2022/form-field/form-field.wrapper.mjs +0 -72
- package/esm2022/form-field/ngx-formly-bootstrap-form-field.mjs +0 -5
- package/esm2022/form-field/public_api.mjs +0 -4
- package/esm2022/input/input.config.mjs +0 -32
- package/esm2022/input/input.module.mjs +0 -32
- package/esm2022/input/input.type.mjs +0 -70
- package/esm2022/input/ngx-formly-bootstrap-input.mjs +0 -5
- package/esm2022/input/public_api.mjs +0 -4
- package/esm2022/lib/bootstrap.config.mjs +0 -21
- package/esm2022/lib/bootstrap.mjs +0 -3
- package/esm2022/lib/bootstrap.module.mjs +0 -45
- package/esm2022/multicheckbox/multicheckbox.config.mjs +0 -13
- package/esm2022/multicheckbox/multicheckbox.module.mjs +0 -36
- package/esm2022/multicheckbox/multicheckbox.type.mjs +0 -99
- package/esm2022/multicheckbox/ngx-formly-bootstrap-multicheckbox.mjs +0 -5
- package/esm2022/multicheckbox/public_api.mjs +0 -4
- package/esm2022/ngx-formly-bootstrap.mjs +0 -5
- package/esm2022/public_api.mjs +0 -5
- package/esm2022/radio/ngx-formly-bootstrap-radio.mjs +0 -5
- package/esm2022/radio/public_api.mjs +0 -4
- package/esm2022/radio/radio.config.mjs +0 -13
- package/esm2022/radio/radio.module.mjs +0 -36
- package/esm2022/radio/radio.type.mjs +0 -82
- package/esm2022/select/ngx-formly-bootstrap-select.mjs +0 -5
- package/esm2022/select/public_api.mjs +0 -4
- package/esm2022/select/select.config.mjs +0 -14
- package/esm2022/select/select.module.mjs +0 -36
- package/esm2022/select/select.type.mjs +0 -144
- package/esm2022/textarea/ngx-formly-bootstrap-textarea.mjs +0 -5
- package/esm2022/textarea/public_api.mjs +0 -4
- package/esm2022/textarea/textarea.config.mjs +0 -13
- package/esm2022/textarea/textarea.module.mjs +0 -32
- package/esm2022/textarea/textarea.type.mjs +0 -53
- package/form-field/field.type.d.ts +0 -10
- package/form-field/form-field.config.d.ts +0 -2
- package/form-field/form-field.module.d.ts +0 -10
- package/form-field/form-field.wrapper.d.ts +0 -11
- package/form-field/public_api.d.ts +0 -4
- package/input/input.config.d.ts +0 -2
- package/input/input.module.d.ts +0 -11
- package/input/input.type.d.ts +0 -15
- package/input/public_api.d.ts +0 -3
- package/lib/bootstrap.config.d.ts +0 -1
- package/lib/bootstrap.d.ts +0 -2
- package/lib/bootstrap.module.d.ts +0 -14
- package/multicheckbox/multicheckbox.config.d.ts +0 -2
- package/multicheckbox/multicheckbox.module.d.ts +0 -12
- package/multicheckbox/multicheckbox.type.d.ts +0 -22
- package/multicheckbox/public_api.d.ts +0 -3
- package/public_api.d.ts +0 -1
- package/radio/public_api.d.ts +0 -3
- package/radio/radio.config.d.ts +0 -2
- package/radio/radio.module.d.ts +0 -12
- package/radio/radio.type.d.ts +0 -22
- package/select/public_api.d.ts +0 -3
- package/select/select.config.d.ts +0 -2
- package/select/select.module.d.ts +0 -12
- package/select/select.type.d.ts +0 -22
- package/textarea/public_api.d.ts +0 -3
- package/textarea/textarea.config.d.ts +0 -2
- package/textarea/textarea.module.d.ts +0 -11
- package/textarea/textarea.type.d.ts +0 -22
package/README.md
CHANGED
|
@@ -55,15 +55,32 @@ Formly is a dynamic (JSON powered) form library for Angular that brings unmatche
|
|
|
55
55
|
|
|
56
56
|
#### **Which Version to use?**
|
|
57
57
|
|
|
58
|
-
| Angular version | Formly version
|
|
59
|
-
| --------------- |
|
|
60
|
-
| Angular >=
|
|
61
|
-
| Angular >=
|
|
62
|
-
| Angular >=
|
|
63
|
-
| Angular >=
|
|
64
|
-
| Angular >=
|
|
65
|
-
| Angular >=
|
|
66
|
-
| Angular >=
|
|
58
|
+
| Angular version | Formly version | Migration |
|
|
59
|
+
| --------------- | -------------------- | ---------------------------------- |
|
|
60
|
+
| Angular >= 20 | `@ngx-formly/core@9.x` | [Upgrade to v9](UPGRADE-9.0.md) |
|
|
61
|
+
| Angular >= 19 | `@ngx-formly/core@8.x` | [Upgrade to v8](UPGRADE-8.0.md) |
|
|
62
|
+
| Angular >= 18 | `@ngx-formly/core@7.x` | [Upgrade to v7](UPGRADE-7.0.md) |
|
|
63
|
+
| Angular >= 13 | `@ngx-formly/core@6.x` | [Upgrade to v6](UPGRADE-6.0.md) |
|
|
64
|
+
| Angular >= 7 | `@ngx-formly/core@5.x` | [Upgrade to v5](UPGRADE-5.0.md) |
|
|
65
|
+
| Angular >= 6 | `@ngx-formly/core@4.x` | |
|
|
66
|
+
| Angular >= 5 | `@ngx-formly/core@3.x` | |
|
|
67
|
+
| Angular >= 4 | `@ngx-formly/core@2.x` | [Upgrade to v2](UPGRADE-2.0.md) |
|
|
68
|
+
| Angular >= 2 | `ng-formly@1.x` | |
|
|
69
|
+
|
|
70
|
+
#### Upgrading to v9
|
|
71
|
+
|
|
72
|
+
Formly v9 requires Angular 20 or newer. Upgrade Angular first, then update all
|
|
73
|
+
`@ngx-formly/*` packages used by your application together to v9.
|
|
74
|
+
The Material, PrimeNG, and NG-ZORRO integrations require version 20 or newer of
|
|
75
|
+
their respective UI libraries. Kendo requires version 19.1 or newer, and NativeScript
|
|
76
|
+
requires `@nativescript/angular` 20 or newer. Applications staying on Angular 19 should
|
|
77
|
+
use Formly v8; applications staying on Angular 18 should use Formly v7.
|
|
78
|
+
|
|
79
|
+
PrimeNG datepicker fields no longer accept `monthNavigator`, `yearNavigator`, or
|
|
80
|
+
`yearRange`, which PrimeNG 20 removed. Replace `@primeng/themes` imports with
|
|
81
|
+
`@primeuix/themes` when configuring a PrimeNG theme.
|
|
82
|
+
|
|
83
|
+
See the [v9 upgrade guide](UPGRADE-9.0.md) for migration steps and the [changelog](CHANGELOG.md) for the full list of changes.
|
|
67
84
|
|
|
68
85
|
## Core Team
|
|
69
86
|
|
package/addons/index.d.ts
CHANGED
|
@@ -1,5 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import * as i4 from '@ngx-formly/core';
|
|
2
|
+
import { ConfigOption, FieldWrapper, FieldTypeConfig, FormlyFieldConfig } from '@ngx-formly/core';
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
4
|
+
import { TemplateRef, ViewContainerRef } from '@angular/core';
|
|
5
|
+
import { FormlyFieldProps } from '@ngx-formly/bootstrap/form-field';
|
|
6
|
+
import * as i2 from '@angular/common';
|
|
7
|
+
import * as i3 from '@angular/forms';
|
|
8
|
+
|
|
9
|
+
declare function withFormlyWrapperAddons(): ConfigOption;
|
|
10
|
+
|
|
11
|
+
interface AddonsProps extends FormlyFieldProps {
|
|
12
|
+
addonRight?: {
|
|
13
|
+
onClick?: (field: FormlyFieldConfig, event?: any) => void;
|
|
14
|
+
class?: string;
|
|
15
|
+
text?: string;
|
|
16
|
+
};
|
|
17
|
+
addonLeft?: {
|
|
18
|
+
onClick?: (field: FormlyFieldConfig, event?: any) => void;
|
|
19
|
+
class?: string;
|
|
20
|
+
text?: string;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
declare class FormlyWrapperAddons extends FieldWrapper<FieldTypeConfig<AddonsProps>> {
|
|
24
|
+
private hostContainerRef?;
|
|
25
|
+
set content(templateRef: TemplateRef<any>);
|
|
26
|
+
constructor(hostContainerRef?: ViewContainerRef);
|
|
27
|
+
addonRightClick($event: any): void;
|
|
28
|
+
addonLeftClick($event: any): void;
|
|
29
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormlyWrapperAddons, never>;
|
|
30
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FormlyWrapperAddons, "formly-wrapper-addons", never, {}, {}, never, never, false, never>;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
declare class FormlyBootstrapAddonsModule {
|
|
34
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormlyBootstrapAddonsModule, never>;
|
|
35
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<FormlyBootstrapAddonsModule, [typeof FormlyWrapperAddons], [typeof i2.CommonModule, typeof i3.ReactiveFormsModule, typeof i4.FormlyModule], never>;
|
|
36
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<FormlyBootstrapAddonsModule>;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export { FormlyBootstrapAddonsModule, withFormlyWrapperAddons };
|
package/checkbox/index.d.ts
CHANGED
|
@@ -1,5 +1,38 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import * as i5 from '@ngx-formly/core';
|
|
2
|
+
import { ConfigOption, FieldTypeConfig, FormlyFieldConfig } from '@ngx-formly/core';
|
|
3
|
+
import * as i0 from '@angular/core';
|
|
4
|
+
import { Type } from '@angular/core';
|
|
5
|
+
import * as i4 from '@ngx-formly/bootstrap/form-field';
|
|
6
|
+
import { FieldType, FormlyFieldProps } from '@ngx-formly/bootstrap/form-field';
|
|
7
|
+
import * as i2 from '@angular/common';
|
|
8
|
+
import * as i3 from '@angular/forms';
|
|
9
|
+
|
|
10
|
+
declare function withFormlyFieldCheckbox(): ConfigOption;
|
|
11
|
+
|
|
12
|
+
interface CheckboxProps extends FormlyFieldProps {
|
|
13
|
+
formCheck?: 'default' | 'inline' | 'switch' | 'inline-switch' | 'nolabel';
|
|
14
|
+
indeterminate?: boolean;
|
|
15
|
+
}
|
|
16
|
+
interface FormlyCheckboxFieldConfig extends FormlyFieldConfig<CheckboxProps> {
|
|
17
|
+
type: 'checkbox' | Type<FormlyFieldCheckbox>;
|
|
18
|
+
}
|
|
19
|
+
declare class FormlyFieldCheckbox extends FieldType<FieldTypeConfig<CheckboxProps>> {
|
|
20
|
+
defaultOptions: {
|
|
21
|
+
props: {
|
|
22
|
+
indeterminate: boolean;
|
|
23
|
+
hideLabel: boolean;
|
|
24
|
+
formCheck: "default";
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormlyFieldCheckbox, never>;
|
|
28
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FormlyFieldCheckbox, "formly-field-checkbox", never, {}, {}, never, never, false, never>;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
declare class FormlyBootstrapCheckboxModule {
|
|
32
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FormlyBootstrapCheckboxModule, never>;
|
|
33
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<FormlyBootstrapCheckboxModule, [typeof FormlyFieldCheckbox], [typeof i2.CommonModule, typeof i3.ReactiveFormsModule, typeof i4.FormlyBootstrapFormFieldModule, typeof i5.FormlyModule], never>;
|
|
34
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<FormlyBootstrapCheckboxModule>;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export { FormlyBootstrapCheckboxModule, FormlyFieldCheckbox, withFormlyFieldCheckbox };
|
|
38
|
+
export type { FormlyCheckboxFieldConfig };
|
|
@@ -22,12 +22,12 @@ class FormlyWrapperAddons extends FieldWrapper {
|
|
|
22
22
|
addonLeftClick($event) {
|
|
23
23
|
this.props.addonLeft.onClick?.(this.field, $event);
|
|
24
24
|
}
|
|
25
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
26
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
25
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: FormlyWrapperAddons, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.33", type: FormlyWrapperAddons, isStandalone: false, selector: "formly-wrapper-addons", viewQueries: [{ propertyName: "content", first: true, predicate: ["fieldTypeTemplate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<ng-template #fieldTypeTemplate>\n <div class=\"input-group\" [class.has-validation]=\"showError\">\n @if (props.addonLeft) {\n <div class=\"input-group-text\" [class.input-group-btn]=\"props.addonLeft.onClick\" (click)=\"addonLeftClick($event)\">\n @if (props.addonLeft.class) {\n <i [ngClass]=\"props.addonLeft.class\"></i>\n }\n @if (props.addonLeft.text) {\n <span>{{ props.addonLeft.text }}</span>\n }\n </div>\n }\n <ng-container #fieldComponent></ng-container>\n @if (props.addonRight) {\n <div\n class=\"input-group-text\"\n [class.input-group-btn]=\"props.addonRight.onClick\"\n (click)=\"addonRightClick($event)\"\n >\n @if (props.addonRight.class) {\n <i [ngClass]=\"props.addonRight.class\"></i>\n }\n @if (props.addonRight.text) {\n <span>{{ props.addonRight.text }}</span>\n }\n </div>\n }\n </div>\n</ng-template>\n", styles: ["formly-wrapper-form-field .input-group-btn{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
27
27
|
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: FormlyWrapperAddons, decorators: [{
|
|
29
29
|
type: Component,
|
|
30
|
-
args: [{ selector: 'formly-wrapper-addons', encapsulation: ViewEncapsulation.None, template: "<ng-template #fieldTypeTemplate>\n <div class=\"input-group\" [class.has-validation]=\"showError\">\n
|
|
30
|
+
args: [{ selector: 'formly-wrapper-addons', encapsulation: ViewEncapsulation.None, standalone: false, template: "<ng-template #fieldTypeTemplate>\n <div class=\"input-group\" [class.has-validation]=\"showError\">\n @if (props.addonLeft) {\n <div class=\"input-group-text\" [class.input-group-btn]=\"props.addonLeft.onClick\" (click)=\"addonLeftClick($event)\">\n @if (props.addonLeft.class) {\n <i [ngClass]=\"props.addonLeft.class\"></i>\n }\n @if (props.addonLeft.text) {\n <span>{{ props.addonLeft.text }}</span>\n }\n </div>\n }\n <ng-container #fieldComponent></ng-container>\n @if (props.addonRight) {\n <div\n class=\"input-group-text\"\n [class.input-group-btn]=\"props.addonRight.onClick\"\n (click)=\"addonRightClick($event)\"\n >\n @if (props.addonRight.class) {\n <i [ngClass]=\"props.addonRight.class\"></i>\n }\n @if (props.addonRight.text) {\n <span>{{ props.addonRight.text }}</span>\n }\n </div>\n }\n </div>\n</ng-template>\n", styles: ["formly-wrapper-form-field .input-group-btn{cursor:pointer}\n"] }]
|
|
31
31
|
}], ctorParameters: () => [{ type: i0.ViewContainerRef }], propDecorators: { content: [{
|
|
32
32
|
type: ViewChild,
|
|
33
33
|
args: ['fieldTypeTemplate', { static: true }]
|
|
@@ -50,11 +50,11 @@ function withFormlyWrapperAddons() {
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
class FormlyBootstrapAddonsModule {
|
|
53
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
54
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
55
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
53
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: FormlyBootstrapAddonsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
54
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.33", ngImport: i0, type: FormlyBootstrapAddonsModule, declarations: [FormlyWrapperAddons], imports: [CommonModule, ReactiveFormsModule, i1$1.FormlyModule] }); }
|
|
55
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: FormlyBootstrapAddonsModule, imports: [CommonModule, ReactiveFormsModule, FormlyModule.forChild(withFormlyWrapperAddons())] }); }
|
|
56
56
|
}
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: FormlyBootstrapAddonsModule, decorators: [{
|
|
58
58
|
type: NgModule,
|
|
59
59
|
args: [{
|
|
60
60
|
declarations: [FormlyWrapperAddons],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-formly-bootstrap-addons.mjs","sources":["../../../../src/ui/bootstrap/addons/src/addons.component.ts","../../../../src/ui/bootstrap/addons/src/addons.component.html","../../../../src/ui/bootstrap/addons/src/addon.extension.ts","../../../../src/ui/bootstrap/addons/src/addons.config.ts","../../../../src/ui/bootstrap/addons/src/addons.module.ts","../../../../src/ui/bootstrap/addons/src/ngx-formly-bootstrap-addons.ts"],"sourcesContent":["import { Component, TemplateRef, ViewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';\nimport { FormlyFieldConfig, FieldTypeConfig, FieldWrapper } from '@ngx-formly/core';\nimport { FormlyFieldProps } from '@ngx-formly/bootstrap/form-field';\n\ninterface AddonsProps extends FormlyFieldProps {\n addonRight?: {\n onClick?: (field: FormlyFieldConfig, event?: any) => void;\n class?: string;\n text?: string;\n };\n addonLeft?: {\n onClick?: (field: FormlyFieldConfig, event?: any) => void;\n class?: string;\n text?: string;\n };\n}\n\n@Component({\n selector: 'formly-wrapper-addons',\n templateUrl: './addons.component.html',\n styleUrls: ['./addons.component.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class FormlyWrapperAddons extends FieldWrapper<FieldTypeConfig<AddonsProps>> {\n @ViewChild('fieldTypeTemplate', { static: true }) set content(templateRef: TemplateRef<any>) {\n if (templateRef && this.hostContainerRef) {\n this.hostContainerRef.createEmbeddedView(templateRef);\n }\n }\n\n constructor(private hostContainerRef?: ViewContainerRef) {\n super();\n }\n\n addonRightClick($event: any) {\n this.props.addonRight.onClick?.(this.field, $event);\n }\n\n addonLeftClick($event: any) {\n this.props.addonLeft.onClick?.(this.field, $event);\n }\n}\n","<ng-template #fieldTypeTemplate>\n <div class=\"input-group\" [class.has-validation]=\"showError\">\n
|
|
1
|
+
{"version":3,"file":"ngx-formly-bootstrap-addons.mjs","sources":["../../../../src/ui/bootstrap/addons/src/addons.component.ts","../../../../src/ui/bootstrap/addons/src/addons.component.html","../../../../src/ui/bootstrap/addons/src/addon.extension.ts","../../../../src/ui/bootstrap/addons/src/addons.config.ts","../../../../src/ui/bootstrap/addons/src/addons.module.ts","../../../../src/ui/bootstrap/addons/src/ngx-formly-bootstrap-addons.ts"],"sourcesContent":["import { Component, TemplateRef, ViewChild, ViewContainerRef, ViewEncapsulation } from '@angular/core';\nimport { FormlyFieldConfig, FieldTypeConfig, FieldWrapper } from '@ngx-formly/core';\nimport { FormlyFieldProps } from '@ngx-formly/bootstrap/form-field';\n\ninterface AddonsProps extends FormlyFieldProps {\n addonRight?: {\n onClick?: (field: FormlyFieldConfig, event?: any) => void;\n class?: string;\n text?: string;\n };\n addonLeft?: {\n onClick?: (field: FormlyFieldConfig, event?: any) => void;\n class?: string;\n text?: string;\n };\n}\n\n@Component({\n selector: 'formly-wrapper-addons',\n templateUrl: './addons.component.html',\n styleUrls: ['./addons.component.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class FormlyWrapperAddons extends FieldWrapper<FieldTypeConfig<AddonsProps>> {\n @ViewChild('fieldTypeTemplate', { static: true }) set content(templateRef: TemplateRef<any>) {\n if (templateRef && this.hostContainerRef) {\n this.hostContainerRef.createEmbeddedView(templateRef);\n }\n }\n\n constructor(private hostContainerRef?: ViewContainerRef) {\n super();\n }\n\n addonRightClick($event: any) {\n this.props.addonRight.onClick?.(this.field, $event);\n }\n\n addonLeftClick($event: any) {\n this.props.addonLeft.onClick?.(this.field, $event);\n }\n}\n","<ng-template #fieldTypeTemplate>\n <div class=\"input-group\" [class.has-validation]=\"showError\">\n @if (props.addonLeft) {\n <div class=\"input-group-text\" [class.input-group-btn]=\"props.addonLeft.onClick\" (click)=\"addonLeftClick($event)\">\n @if (props.addonLeft.class) {\n <i [ngClass]=\"props.addonLeft.class\"></i>\n }\n @if (props.addonLeft.text) {\n <span>{{ props.addonLeft.text }}</span>\n }\n </div>\n }\n <ng-container #fieldComponent></ng-container>\n @if (props.addonRight) {\n <div\n class=\"input-group-text\"\n [class.input-group-btn]=\"props.addonRight.onClick\"\n (click)=\"addonRightClick($event)\"\n >\n @if (props.addonRight.class) {\n <i [ngClass]=\"props.addonRight.class\"></i>\n }\n @if (props.addonRight.text) {\n <span>{{ props.addonRight.text }}</span>\n }\n </div>\n }\n </div>\n</ng-template>\n","import { FormlyFieldConfig } from '@ngx-formly/core';\n\nexport function addonsExtension(field: FormlyFieldConfig) {\n if (!field.props || (field.wrappers && field.wrappers.indexOf('addons') !== -1)) {\n return;\n }\n\n if (field.props.addonLeft || field.props.addonRight) {\n field.wrappers = [...(field.wrappers || []), 'addons'];\n }\n}\n","import { ConfigOption } from '@ngx-formly/core';\nimport { FormlyWrapperAddons } from './addons.component';\nimport { addonsExtension } from './addon.extension';\n\nexport function withFormlyWrapperAddons(): ConfigOption {\n return {\n wrappers: [{ name: 'addons', component: FormlyWrapperAddons }],\n extensions: [{ name: 'addons', extension: { postPopulate: addonsExtension } }],\n };\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormlyWrapperAddons } from './addons.component';\nimport { withFormlyWrapperAddons } from './addons.config';\n\n@NgModule({\n declarations: [FormlyWrapperAddons],\n imports: [CommonModule, ReactiveFormsModule, FormlyModule.forChild(withFormlyWrapperAddons())],\n})\nexport class FormlyBootstrapAddonsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1"],"mappings":"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"}
|
|
@@ -19,8 +19,8 @@ class FormlyFieldCheckbox extends FieldType {
|
|
|
19
19
|
},
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
23
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: FormlyFieldCheckbox, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
23
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.33", type: FormlyFieldCheckbox, isStandalone: false, selector: "formly-field-checkbox", usesInheritance: true, ngImport: i0, template: `
|
|
24
24
|
<ng-template #fieldTypeTemplate>
|
|
25
25
|
<div
|
|
26
26
|
class="form-check"
|
|
@@ -40,15 +40,19 @@ class FormlyFieldCheckbox extends FieldType {
|
|
|
40
40
|
[attr.aria-describedby]="id + '-formly-validation-error'"
|
|
41
41
|
[attr.aria-invalid]="showError"
|
|
42
42
|
/>
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
43
|
+
@if (props.formCheck !== 'nolabel') {
|
|
44
|
+
<label [for]="id" class="form-check-label">
|
|
45
|
+
{{ props.label }}
|
|
46
|
+
@if (props.required && props.hideRequiredMarker !== true) {
|
|
47
|
+
<span aria-hidden="true">*</span>
|
|
48
|
+
}
|
|
49
|
+
</label>
|
|
50
|
+
}
|
|
47
51
|
</div>
|
|
48
52
|
</ng-template>
|
|
49
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type:
|
|
53
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.LegacyFormlyAttributes, selector: "[formlyAttributes]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
50
54
|
}
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: FormlyFieldCheckbox, decorators: [{
|
|
52
56
|
type: Component,
|
|
53
57
|
args: [{
|
|
54
58
|
selector: 'formly-field-checkbox',
|
|
@@ -72,14 +76,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
72
76
|
[attr.aria-describedby]="id + '-formly-validation-error'"
|
|
73
77
|
[attr.aria-invalid]="showError"
|
|
74
78
|
/>
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
+
@if (props.formCheck !== 'nolabel') {
|
|
80
|
+
<label [for]="id" class="form-check-label">
|
|
81
|
+
{{ props.label }}
|
|
82
|
+
@if (props.required && props.hideRequiredMarker !== true) {
|
|
83
|
+
<span aria-hidden="true">*</span>
|
|
84
|
+
}
|
|
85
|
+
</label>
|
|
86
|
+
}
|
|
79
87
|
</div>
|
|
80
88
|
</ng-template>
|
|
81
89
|
`,
|
|
82
90
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
91
|
+
standalone: false,
|
|
83
92
|
}]
|
|
84
93
|
}] });
|
|
85
94
|
|
|
@@ -100,16 +109,16 @@ function withFormlyFieldCheckbox() {
|
|
|
100
109
|
}
|
|
101
110
|
|
|
102
111
|
class FormlyBootstrapCheckboxModule {
|
|
103
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
104
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
112
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: FormlyBootstrapCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
113
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.33", ngImport: i0, type: FormlyBootstrapCheckboxModule, declarations: [FormlyFieldCheckbox], imports: [CommonModule,
|
|
105
114
|
ReactiveFormsModule,
|
|
106
115
|
FormlyBootstrapFormFieldModule, i3.FormlyModule] }); }
|
|
107
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
116
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: FormlyBootstrapCheckboxModule, imports: [CommonModule,
|
|
108
117
|
ReactiveFormsModule,
|
|
109
118
|
FormlyBootstrapFormFieldModule,
|
|
110
119
|
FormlyModule.forChild(withFormlyFieldCheckbox())] }); }
|
|
111
120
|
}
|
|
112
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
121
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: FormlyBootstrapCheckboxModule, decorators: [{
|
|
113
122
|
type: NgModule,
|
|
114
123
|
args: [{
|
|
115
124
|
declarations: [FormlyFieldCheckbox],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-formly-bootstrap-checkbox.mjs","sources":["../../../../src/ui/bootstrap/checkbox/src/checkbox.type.ts","../../../../src/ui/bootstrap/checkbox/src/checkbox.config.ts","../../../../src/ui/bootstrap/checkbox/src/checkbox.module.ts","../../../../src/ui/bootstrap/checkbox/src/ngx-formly-bootstrap-checkbox.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy, Type } from '@angular/core';\nimport { FieldTypeConfig, FormlyFieldConfig } from '@ngx-formly/core';\nimport { FieldType, FormlyFieldProps } from '@ngx-formly/bootstrap/form-field';\n\ninterface CheckboxProps extends FormlyFieldProps {\n formCheck?: 'default' | 'inline' | 'switch' | 'inline-switch' | 'nolabel';\n indeterminate?: boolean;\n}\n\nexport interface FormlyCheckboxFieldConfig extends FormlyFieldConfig<CheckboxProps> {\n type: 'checkbox' | Type<FormlyFieldCheckbox>;\n}\n\n@Component({\n selector: 'formly-field-checkbox',\n template: `\n <ng-template #fieldTypeTemplate>\n <div\n class=\"form-check\"\n [ngClass]=\"{\n 'form-check-inline': props.formCheck === 'inline' || props.formCheck === 'inline-switch',\n 'form-switch': props.formCheck === 'switch' || props.formCheck === 'inline-switch',\n }\"\n >\n <input\n type=\"checkbox\"\n [class.is-invalid]=\"showError\"\n class=\"form-check-input\"\n [class.position-static]=\"props.formCheck === 'nolabel'\"\n [indeterminate]=\"props.indeterminate && formControl.value == null\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [attr.aria-describedby]=\"id + '-formly-validation-error'\"\n [attr.aria-invalid]=\"showError\"\n />\n
|
|
1
|
+
{"version":3,"file":"ngx-formly-bootstrap-checkbox.mjs","sources":["../../../../src/ui/bootstrap/checkbox/src/checkbox.type.ts","../../../../src/ui/bootstrap/checkbox/src/checkbox.config.ts","../../../../src/ui/bootstrap/checkbox/src/checkbox.module.ts","../../../../src/ui/bootstrap/checkbox/src/ngx-formly-bootstrap-checkbox.ts"],"sourcesContent":["import { Component, ChangeDetectionStrategy, Type } from '@angular/core';\nimport { FieldTypeConfig, FormlyFieldConfig } from '@ngx-formly/core';\nimport { FieldType, FormlyFieldProps } from '@ngx-formly/bootstrap/form-field';\n\ninterface CheckboxProps extends FormlyFieldProps {\n formCheck?: 'default' | 'inline' | 'switch' | 'inline-switch' | 'nolabel';\n indeterminate?: boolean;\n}\n\nexport interface FormlyCheckboxFieldConfig extends FormlyFieldConfig<CheckboxProps> {\n type: 'checkbox' | Type<FormlyFieldCheckbox>;\n}\n\n@Component({\n selector: 'formly-field-checkbox',\n template: `\n <ng-template #fieldTypeTemplate>\n <div\n class=\"form-check\"\n [ngClass]=\"{\n 'form-check-inline': props.formCheck === 'inline' || props.formCheck === 'inline-switch',\n 'form-switch': props.formCheck === 'switch' || props.formCheck === 'inline-switch',\n }\"\n >\n <input\n type=\"checkbox\"\n [class.is-invalid]=\"showError\"\n class=\"form-check-input\"\n [class.position-static]=\"props.formCheck === 'nolabel'\"\n [indeterminate]=\"props.indeterminate && formControl.value == null\"\n [formControl]=\"formControl\"\n [formlyAttributes]=\"field\"\n [attr.aria-describedby]=\"id + '-formly-validation-error'\"\n [attr.aria-invalid]=\"showError\"\n />\n @if (props.formCheck !== 'nolabel') {\n <label [for]=\"id\" class=\"form-check-label\">\n {{ props.label }}\n @if (props.required && props.hideRequiredMarker !== true) {\n <span aria-hidden=\"true\">*</span>\n }\n </label>\n }\n </div>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class FormlyFieldCheckbox extends FieldType<FieldTypeConfig<CheckboxProps>> {\n override defaultOptions = {\n props: {\n indeterminate: true,\n hideLabel: true,\n formCheck: 'default' as const,\n },\n };\n}\n","import { ConfigOption } from '@ngx-formly/core';\nimport { FormlyFieldCheckbox } from './checkbox.type';\n\nexport function withFormlyFieldCheckbox(): ConfigOption {\n return {\n types: [\n {\n name: 'checkbox',\n component: FormlyFieldCheckbox,\n wrappers: ['form-field'],\n },\n {\n name: 'boolean',\n extends: 'checkbox',\n },\n ],\n };\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { ReactiveFormsModule } from '@angular/forms';\n\nimport { FormlyBootstrapFormFieldModule } from '@ngx-formly/bootstrap/form-field';\n\nimport { FormlyFieldCheckbox } from './checkbox.type';\nimport { withFormlyFieldCheckbox } from './checkbox.config';\n\n@NgModule({\n declarations: [FormlyFieldCheckbox],\n imports: [\n CommonModule,\n ReactiveFormsModule,\n FormlyBootstrapFormFieldModule,\n FormlyModule.forChild(withFormlyFieldCheckbox()),\n ],\n})\nexport class FormlyBootstrapCheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1"],"mappings":";;;;;;;;;;AAiDM,MAAO,mBAAoB,SAAQ,SAAyC,CAAA;AApClF,IAAA,WAAA,GAAA;;AAqCW,QAAA,IAAA,CAAA,cAAc,GAAG;AACxB,YAAA,KAAK,EAAE;AACL,gBAAA,aAAa,EAAE,IAAI;AACnB,gBAAA,SAAS,EAAE,IAAI;AACf,gBAAA,SAAS,EAAE,SAAkB;AAC9B,aAAA;SACF;AACF,IAAA;+GARY,mBAAmB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAlCpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,4BAAA,EAAA,QAAA,EAAA,uGAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAIU,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBApC/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BT,EAAA,CAAA;oBACD,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;;SC7Ce,uBAAuB,GAAA;IACrC,OAAO;AACL,QAAA,KAAK,EAAE;AACL,YAAA;AACE,gBAAA,IAAI,EAAE,UAAU;AAChB,gBAAA,SAAS,EAAE,mBAAmB;gBAC9B,QAAQ,EAAE,CAAC,YAAY,CAAC;AACzB,aAAA;AACD,YAAA;AACE,gBAAA,IAAI,EAAE,SAAS;AACf,gBAAA,OAAO,EAAE,UAAU;AACpB,aAAA;AACF,SAAA;KACF;AACH;;MCEa,6BAA6B,CAAA;+GAA7B,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAA7B,6BAA6B,EAAA,YAAA,EAAA,CARzB,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAEhC,YAAY;YACZ,mBAAmB;YACnB,8BAA8B,EAAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,CAAA;AAIrB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,YANtC,YAAY;YACZ,mBAAmB;YACnB,8BAA8B;AAC9B,YAAA,YAAY,CAAC,QAAQ,CAAC,uBAAuB,EAAE,CAAC,CAAA,EAAA,CAAA,CAAA;;4FAGvC,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBATzC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,mBAAmB,CAAC;AACnC,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,mBAAmB;wBACnB,8BAA8B;AAC9B,wBAAA,YAAY,CAAC,QAAQ,CAAC,uBAAuB,EAAE,CAAC;AACjD,qBAAA;AACF,iBAAA;;;AClBD;;AAEG;;;;"}
|
|
@@ -7,70 +7,86 @@ import { CommonModule } from '@angular/common';
|
|
|
7
7
|
import { ReactiveFormsModule } from '@angular/forms';
|
|
8
8
|
|
|
9
9
|
class FormlyWrapperFormField extends FieldWrapper {
|
|
10
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
11
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
10
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: FormlyWrapperFormField, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
11
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.33", type: FormlyWrapperFormField, isStandalone: false, selector: "formly-wrapper-form-field", usesInheritance: true, ngImport: i0, template: `
|
|
12
12
|
<ng-template #labelTemplate>
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
@if (props.label && props.hideLabel !== true) {
|
|
14
|
+
<label [attr.for]="id" class="form-label">
|
|
15
|
+
{{ props.label }}
|
|
16
|
+
@if (props.required && props.hideRequiredMarker !== true) {
|
|
17
|
+
<span aria-hidden="true">*</span>
|
|
18
|
+
}
|
|
19
|
+
</label>
|
|
20
|
+
}
|
|
17
21
|
</ng-template>
|
|
18
22
|
|
|
19
23
|
<div [class.form-floating]="props.labelPosition === 'floating'" [class.has-error]="showError">
|
|
20
|
-
|
|
24
|
+
@if (props.labelPosition !== 'floating') {
|
|
21
25
|
<ng-container [ngTemplateOutlet]="labelTemplate"></ng-container>
|
|
22
|
-
|
|
26
|
+
}
|
|
23
27
|
|
|
24
28
|
<ng-template #fieldComponent></ng-template>
|
|
25
29
|
|
|
26
|
-
|
|
30
|
+
@if (props.labelPosition === 'floating') {
|
|
27
31
|
<ng-container [ngTemplateOutlet]="labelTemplate"></ng-container>
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
<
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
@if (showError) {
|
|
35
|
+
<div class="invalid-feedback" [style.display]="'block'">
|
|
36
|
+
<formly-validation-message
|
|
37
|
+
id="{{ id }}-formly-validation-error"
|
|
38
|
+
[field]="field"
|
|
39
|
+
role="alert"
|
|
40
|
+
></formly-validation-message>
|
|
41
|
+
</div>
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@if (props.description) {
|
|
45
|
+
<small class="form-text text-muted">{{ props.description }}</small>
|
|
46
|
+
}
|
|
39
47
|
</div>
|
|
40
|
-
`, isInline: true, styles: [":host{display:block;margin-bottom:1rem}\n"], dependencies: [{ kind: "directive", type: i1.
|
|
48
|
+
`, isInline: true, styles: [":host{display:block;margin-bottom:1rem}\n"], dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.LegacyFormlyValidationMessage, selector: "formly-validation-message" }] }); }
|
|
41
49
|
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: FormlyWrapperFormField, decorators: [{
|
|
43
51
|
type: Component,
|
|
44
52
|
args: [{ selector: 'formly-wrapper-form-field', template: `
|
|
45
53
|
<ng-template #labelTemplate>
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
54
|
+
@if (props.label && props.hideLabel !== true) {
|
|
55
|
+
<label [attr.for]="id" class="form-label">
|
|
56
|
+
{{ props.label }}
|
|
57
|
+
@if (props.required && props.hideRequiredMarker !== true) {
|
|
58
|
+
<span aria-hidden="true">*</span>
|
|
59
|
+
}
|
|
60
|
+
</label>
|
|
61
|
+
}
|
|
50
62
|
</ng-template>
|
|
51
63
|
|
|
52
64
|
<div [class.form-floating]="props.labelPosition === 'floating'" [class.has-error]="showError">
|
|
53
|
-
|
|
65
|
+
@if (props.labelPosition !== 'floating') {
|
|
54
66
|
<ng-container [ngTemplateOutlet]="labelTemplate"></ng-container>
|
|
55
|
-
|
|
67
|
+
}
|
|
56
68
|
|
|
57
69
|
<ng-template #fieldComponent></ng-template>
|
|
58
70
|
|
|
59
|
-
|
|
71
|
+
@if (props.labelPosition === 'floating') {
|
|
60
72
|
<ng-container [ngTemplateOutlet]="labelTemplate"></ng-container>
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
<
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
@if (showError) {
|
|
76
|
+
<div class="invalid-feedback" [style.display]="'block'">
|
|
77
|
+
<formly-validation-message
|
|
78
|
+
id="{{ id }}-formly-validation-error"
|
|
79
|
+
[field]="field"
|
|
80
|
+
role="alert"
|
|
81
|
+
></formly-validation-message>
|
|
82
|
+
</div>
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
@if (props.description) {
|
|
86
|
+
<small class="form-text text-muted">{{ props.description }}</small>
|
|
87
|
+
}
|
|
72
88
|
</div>
|
|
73
|
-
`, styles: [":host{display:block;margin-bottom:1rem}\n"] }]
|
|
89
|
+
`, standalone: false, styles: [":host{display:block;margin-bottom:1rem}\n"] }]
|
|
74
90
|
}] });
|
|
75
91
|
|
|
76
92
|
function withFormlyFormField() {
|
|
@@ -85,11 +101,11 @@ function withFormlyFormField() {
|
|
|
85
101
|
}
|
|
86
102
|
|
|
87
103
|
class FormlyBootstrapFormFieldModule {
|
|
88
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
89
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
90
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
104
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: FormlyBootstrapFormFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
105
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.33", ngImport: i0, type: FormlyBootstrapFormFieldModule, declarations: [FormlyWrapperFormField], imports: [CommonModule, ReactiveFormsModule, i2.FormlyModule] }); }
|
|
106
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: FormlyBootstrapFormFieldModule, imports: [CommonModule, ReactiveFormsModule, FormlyModule.forChild(withFormlyFormField())] }); }
|
|
91
107
|
}
|
|
92
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
108
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: FormlyBootstrapFormFieldModule, decorators: [{
|
|
93
109
|
type: NgModule,
|
|
94
110
|
args: [{
|
|
95
111
|
declarations: [FormlyWrapperFormField],
|
|
@@ -107,10 +123,10 @@ class FieldType extends FieldType$1 {
|
|
|
107
123
|
super();
|
|
108
124
|
this.hostContainerRef = hostContainerRef;
|
|
109
125
|
}
|
|
110
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
111
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
126
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: FieldType, deps: [{ token: i0.ViewContainerRef, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
127
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.33", type: FieldType, isStandalone: true, viewQueries: [{ propertyName: "content", first: true, predicate: ["fieldTypeTemplate"], descendants: true, static: true }], usesInheritance: true, ngImport: i0 }); }
|
|
112
128
|
}
|
|
113
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
129
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.33", ngImport: i0, type: FieldType, decorators: [{
|
|
114
130
|
type: Directive
|
|
115
131
|
}], ctorParameters: () => [{ type: i0.ViewContainerRef, decorators: [{
|
|
116
132
|
type: Optional
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-formly-bootstrap-form-field.mjs","sources":["../../../../src/ui/bootstrap/form-field/src/form-field.wrapper.ts","../../../../src/ui/bootstrap/form-field/src/form-field.config.ts","../../../../src/ui/bootstrap/form-field/src/form-field.module.ts","../../../../src/ui/bootstrap/form-field/src/field.type.ts","../../../../src/ui/bootstrap/form-field/src/ngx-formly-bootstrap-form-field.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { FieldWrapper, FormlyFieldConfig, FormlyFieldProps as CoreFormlyFieldProps } from '@ngx-formly/core';\n\nexport interface FormlyFieldProps extends CoreFormlyFieldProps {\n hideLabel?: boolean;\n hideRequiredMarker?: boolean;\n labelPosition?: 'floating';\n}\n\n@Component({\n selector: 'formly-wrapper-form-field',\n template: `\n <ng-template #labelTemplate>\n
|
|
1
|
+
{"version":3,"file":"ngx-formly-bootstrap-form-field.mjs","sources":["../../../../src/ui/bootstrap/form-field/src/form-field.wrapper.ts","../../../../src/ui/bootstrap/form-field/src/form-field.config.ts","../../../../src/ui/bootstrap/form-field/src/form-field.module.ts","../../../../src/ui/bootstrap/form-field/src/field.type.ts","../../../../src/ui/bootstrap/form-field/src/ngx-formly-bootstrap-form-field.ts"],"sourcesContent":["import { Component } from '@angular/core';\nimport { FieldWrapper, FormlyFieldConfig, FormlyFieldProps as CoreFormlyFieldProps } from '@ngx-formly/core';\n\nexport interface FormlyFieldProps extends CoreFormlyFieldProps {\n hideLabel?: boolean;\n hideRequiredMarker?: boolean;\n labelPosition?: 'floating';\n}\n\n@Component({\n selector: 'formly-wrapper-form-field',\n template: `\n <ng-template #labelTemplate>\n @if (props.label && props.hideLabel !== true) {\n <label [attr.for]=\"id\" class=\"form-label\">\n {{ props.label }}\n @if (props.required && props.hideRequiredMarker !== true) {\n <span aria-hidden=\"true\">*</span>\n }\n </label>\n }\n </ng-template>\n\n <div [class.form-floating]=\"props.labelPosition === 'floating'\" [class.has-error]=\"showError\">\n @if (props.labelPosition !== 'floating') {\n <ng-container [ngTemplateOutlet]=\"labelTemplate\"></ng-container>\n }\n\n <ng-template #fieldComponent></ng-template>\n\n @if (props.labelPosition === 'floating') {\n <ng-container [ngTemplateOutlet]=\"labelTemplate\"></ng-container>\n }\n\n @if (showError) {\n <div class=\"invalid-feedback\" [style.display]=\"'block'\">\n <formly-validation-message\n id=\"{{ id }}-formly-validation-error\"\n [field]=\"field\"\n role=\"alert\"\n ></formly-validation-message>\n </div>\n }\n\n @if (props.description) {\n <small class=\"form-text text-muted\">{{ props.description }}</small>\n }\n </div>\n `,\n styleUrls: ['./form-field.wrapper.scss'],\n standalone: false,\n})\nexport class FormlyWrapperFormField extends FieldWrapper<FormlyFieldConfig<FormlyFieldProps>> {}\n","import { ConfigOption } from '@ngx-formly/core';\nimport { FormlyWrapperFormField } from './form-field.wrapper';\n\nexport function withFormlyFormField(): ConfigOption {\n return {\n wrappers: [\n {\n name: 'form-field',\n component: FormlyWrapperFormField,\n },\n ],\n };\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormlyModule } from '@ngx-formly/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { FormlyWrapperFormField } from './form-field.wrapper';\nimport { withFormlyFormField } from './form-field.config';\n\n@NgModule({\n declarations: [FormlyWrapperFormField],\n imports: [CommonModule, ReactiveFormsModule, FormlyModule.forChild(withFormlyFormField())],\n})\nexport class FormlyBootstrapFormFieldModule {}\n","import { Directive, Optional, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';\nimport { FieldType as CoreFieldType, FormlyFieldConfig } from '@ngx-formly/core';\n\n@Directive()\nexport abstract class FieldType<F extends FormlyFieldConfig = FormlyFieldConfig> extends CoreFieldType<F> {\n @ViewChild('fieldTypeTemplate', { static: true }) set content(templateRef: TemplateRef<any>) {\n if (templateRef && this.hostContainerRef) {\n this.hostContainerRef.createEmbeddedView(templateRef);\n }\n }\n\n constructor(@Optional() private hostContainerRef?: ViewContainerRef) {\n super();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","CoreFieldType"],"mappings":";;;;;;;;AAoDM,MAAO,sBAAuB,SAAQ,YAAiD,CAAA;+GAAhF,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,sBAAsB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAzCvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,2CAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,6BAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,CAAA,EAAA,CAAA,CAAA;;4FAIU,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBA3ClC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,2BAA2B,EAAA,QAAA,EAC3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqCT,EAAA,CAAA,EAAA,UAAA,EAEW,KAAK,EAAA,MAAA,EAAA,CAAA,2CAAA,CAAA,EAAA;;;SC/CH,mBAAmB,GAAA;IACjC,OAAO;AACL,QAAA,QAAQ,EAAE;AACR,YAAA;AACE,gBAAA,IAAI,EAAE,YAAY;AAClB,gBAAA,SAAS,EAAE,sBAAsB;AAClC,aAAA;AACF,SAAA;KACF;AACH;;MCDa,8BAA8B,CAAA;+GAA9B,8BAA8B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,EAAA,YAAA,EAAA,CAH1B,sBAAsB,CAAA,EAAA,OAAA,EAAA,CAC3B,YAAY,EAAE,mBAAmB,EAAAA,EAAA,CAAA,YAAA,CAAA,EAAA,CAAA,CAAA;gHAEhC,8BAA8B,EAAA,OAAA,EAAA,CAF/B,YAAY,EAAE,mBAAmB,EAAE,YAAY,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAA,EAAA,CAAA,CAAA;;4FAE9E,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAJ1C,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,sBAAsB,CAAC;AACtC,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,mBAAmB,EAAE,YAAY,CAAC,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC;AAC3F,iBAAA;;;ACNK,MAAgB,SAA2D,SAAQC,WAAgB,CAAA;IACvG,IAAsD,OAAO,CAAC,WAA6B,EAAA;AACzF,QAAA,IAAI,WAAW,IAAI,IAAI,CAAC,gBAAgB,EAAE;AACxC,YAAA,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,WAAW,CAAC;QACvD;IACF;AAEA,IAAA,WAAA,CAAgC,gBAAmC,EAAA;AACjE,QAAA,KAAK,EAAE;QADuB,IAAA,CAAA,gBAAgB,GAAhB,gBAAgB;IAEhD;+GAToB,SAAS,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAT,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAT,SAAS,EAAA,UAAA,EAAA,CAAA;kBAD9B;;0BAQc;;sBANZ,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,mBAAmB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;;;ACLlD;;AAEG;;;;"}
|