@daffodil/design 0.86.0 → 0.87.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/atoms/form/form-field/action/action.directive.d.ts +9 -0
- package/atoms/form/form-field/form-field/form-field.component.d.ts +33 -1
- package/atoms/form/form-field/form-field.d.ts +2 -1
- package/atoms/form/form-field/public_api.d.ts +1 -0
- package/button/README.md +58 -42
- package/button/button/button-base.directive.d.ts +10 -4
- package/button/button.d.ts +22 -1
- package/button/public_api.d.ts +1 -1
- package/button/src/button/button-base.scss +0 -1
- package/button/src/button/raised/raised-theme.scss +3 -3
- package/core/statusable/statusable.directive.d.ts +22 -2
- package/fesm2022/daffodil-design-article.mjs +2 -2
- package/fesm2022/daffodil-design-article.mjs.map +1 -1
- package/fesm2022/daffodil-design-button.mjs +58 -16
- package/fesm2022/daffodil-design-button.mjs.map +1 -1
- package/fesm2022/daffodil-design-form-field-examples.mjs +95 -0
- package/fesm2022/daffodil-design-form-field-examples.mjs.map +1 -0
- package/fesm2022/daffodil-design-input-examples.mjs +5 -5
- package/fesm2022/daffodil-design-input-examples.mjs.map +1 -1
- package/fesm2022/daffodil-design-input.mjs +11 -15
- package/fesm2022/daffodil-design-input.mjs.map +1 -1
- package/fesm2022/daffodil-design-modal-examples.mjs +3 -2
- package/fesm2022/daffodil-design-modal-examples.mjs.map +1 -1
- package/fesm2022/daffodil-design-modal.mjs +12 -11
- package/fesm2022/daffodil-design-modal.mjs.map +1 -1
- package/fesm2022/daffodil-design-notification-examples.mjs +3 -3
- package/fesm2022/daffodil-design-notification-examples.mjs.map +1 -1
- package/fesm2022/daffodil-design-quantity-field-examples.mjs +4 -4
- package/fesm2022/daffodil-design-quantity-field-examples.mjs.map +1 -1
- package/fesm2022/daffodil-design-select-examples.mjs +117 -0
- package/fesm2022/daffodil-design-select-examples.mjs.map +1 -0
- package/fesm2022/daffodil-design-select.mjs +431 -0
- package/fesm2022/daffodil-design-select.mjs.map +1 -0
- package/fesm2022/daffodil-design-textarea-examples.mjs +66 -0
- package/fesm2022/daffodil-design-textarea-examples.mjs.map +1 -0
- package/fesm2022/daffodil-design-textarea.mjs +124 -0
- package/fesm2022/daffodil-design-textarea.mjs.map +1 -0
- package/fesm2022/daffodil-design.mjs +135 -11
- package/fesm2022/daffodil-design.mjs.map +1 -1
- package/form-field/examples/examples.d.ts +3 -0
- package/form-field/examples/form-field-appearances/form-field-appearances.component.d.ts +7 -0
- package/form-field/examples/form-field-with-action/form-field-with-action.component.d.ts +9 -0
- package/form-field/examples/form-field-with-prefix/form-field-with-prefix.component.d.ts +6 -0
- package/form-field/examples/form-field-with-suffix/form-field-with-suffix.component.d.ts +6 -0
- package/form-field/examples/index.d.ts +1 -0
- package/form-field/examples/public_api.d.ts +1 -0
- package/input/input.component.d.ts +4 -8
- package/modal/modal/modal.component.d.ts +5 -3
- package/notification/src/notification-theme.scss +34 -18
- package/package.json +1 -1
- package/scss/theme.scss +8 -0
- package/scss/theming/illuminate/illuminate.scss +2 -0
- package/select/README.md +8 -0
- package/select/animation/select-animation-state.d.ts +7 -0
- package/select/animation/select-animation.d.ts +4 -0
- package/select/animation/state.enum.d.ts +4 -0
- package/select/examples/default-select/default-select.component.d.ts +8 -0
- package/select/examples/disabled-select/disabled-select.component.d.ts +8 -0
- package/select/examples/index.d.ts +1 -0
- package/select/examples/models/address.type.d.ts +7 -0
- package/select/examples/models/addresses.d.ts +2 -0
- package/select/examples/public_api.d.ts +3 -0
- package/select/examples/select-with-error/select-with-error.component.d.ts +8 -0
- package/select/examples/skeleton-select/skeleton-select.component.d.ts +8 -0
- package/select/index.d.ts +1 -0
- package/select/option/context.type.d.ts +17 -0
- package/select/option/option.directive.d.ts +11 -0
- package/select/public_api.d.ts +4 -0
- package/select/select/select.component.d.ts +170 -0
- package/select/select.d.ts +4 -0
- package/select/src/select-theme.scss +75 -0
- package/src/atoms/form/form-field/form-field/form-field-theme.scss +35 -8
- package/textarea/README.md +28 -0
- package/textarea/examples/basic-textarea/basic-textarea.component.d.ts +5 -0
- package/textarea/examples/examples.d.ts +2 -0
- package/textarea/examples/index.d.ts +1 -0
- package/textarea/examples/public_api.d.ts +1 -0
- package/textarea/examples/textarea-disabled/textarea-disabled.component.d.ts +7 -0
- package/textarea/examples/textarea-error/textarea-error.component.d.ts +7 -0
- package/textarea/index.d.ts +1 -0
- package/textarea/public_api.d.ts +1 -0
- package/textarea/textarea.component.d.ts +59 -0
@@ -13,7 +13,7 @@ class InputDisabledComponent {
|
|
13
13
|
this.disabled = new UntypedFormControl({ value: '', disabled: true });
|
14
14
|
}
|
15
15
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: InputDisabledComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
16
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: InputDisabledComponent, isStandalone: true, selector: "input-disabled", ngImport: i0, template: "<daff-form-field>\n <daff-form-label>Email</daff-form-label>\n <input daff-input type=\"text\" name=\"email\" [formControl]=\"disabled\"/>\n</daff-form-field>", styles: ["daff-form-field{max-width:320px}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { 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: "component", type: DaffInputComponent, selector: "input[daff-input]" }, { kind: "component", type: i1.DaffFormFieldComponent, selector: "daff-form-field", inputs: ["id"] }, { kind: "directive", type: i1.DaffFormFieldLabelDirective, selector: "daff-form-label" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
16
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: InputDisabledComponent, isStandalone: true, selector: "input-disabled", ngImport: i0, template: "<daff-form-field>\n <daff-form-label>Email</daff-form-label>\n <input daff-input type=\"text\" name=\"email\" [formControl]=\"disabled\"/>\n</daff-form-field>", styles: ["daff-form-field{max-width:320px}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { 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: "component", type: DaffInputComponent, selector: "input[daff-input]" }, { kind: "component", type: i1.DaffFormFieldComponent, selector: "daff-form-field", inputs: ["appearance", "id"] }, { kind: "directive", type: i1.DaffFormFieldLabelDirective, selector: "daff-form-label" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
17
17
|
}
|
18
18
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: InputDisabledComponent, decorators: [{
|
19
19
|
type: Component,
|
@@ -32,7 +32,7 @@ class InputErrorComponent {
|
|
32
32
|
]);
|
33
33
|
}
|
34
34
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: InputErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
35
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.11", type: InputErrorComponent, isStandalone: true, selector: "input-error", ngImport: i0, template: "<daff-form-field>\n <daff-form-label>Email</daff-form-label>\n <input daff-input type=\"text\" name=\"email\" [formControl]=\"control\"/>\n <daff-hint>Hint</daff-hint>\n @if (control.errors?.required) {\n <daff-error-message>Email is a required field.</daff-error-message>\n }\n @if (control.errors?.email) {\n <daff-error-message>Email is not valid.</daff-error-message>\n }\n</daff-form-field>\n<p>Value: {{ control.value }} </p>", styles: ["daff-form-field{max-width:320px}\n"], dependencies: [{ kind: "component", type: i1.DaffFormFieldComponent, selector: "daff-form-field", inputs: ["id"] }, { kind: "component", type: i1.DaffErrorMessageComponent, selector: "daff-error-message" }, { kind: "component", type: i1.DaffHintComponent, selector: "daff-hint", inputs: ["validated"] }, { kind: "directive", type: i1.DaffFormFieldLabelDirective, selector: "daff-form-label" }, { kind: "component", type: DaffInputComponent, selector: "input[daff-input]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
35
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.11", type: InputErrorComponent, isStandalone: true, selector: "input-error", ngImport: i0, template: "<daff-form-field>\n <daff-form-label>Email</daff-form-label>\n <input daff-input type=\"text\" name=\"email\" [formControl]=\"control\"/>\n <daff-hint>Hint</daff-hint>\n @if (control.errors?.required) {\n <daff-error-message>Email is a required field.</daff-error-message>\n }\n @if (control.errors?.email) {\n <daff-error-message>Email is not valid.</daff-error-message>\n }\n</daff-form-field>\n<p>Value: {{ control.value }} </p>", styles: ["daff-form-field{max-width:320px}\n"], dependencies: [{ kind: "component", type: i1.DaffFormFieldComponent, selector: "daff-form-field", inputs: ["appearance", "id"] }, { kind: "component", type: i1.DaffErrorMessageComponent, selector: "daff-error-message" }, { kind: "component", type: i1.DaffHintComponent, selector: "daff-hint", inputs: ["validated"] }, { kind: "directive", type: i1.DaffFormFieldLabelDirective, selector: "daff-form-label" }, { kind: "component", type: DaffInputComponent, selector: "input[daff-input]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
36
36
|
}
|
37
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: InputErrorComponent, decorators: [{
|
38
38
|
type: Component,
|
@@ -46,7 +46,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImpo
|
|
46
46
|
|
47
47
|
class InputHintComponent {
|
48
48
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: InputHintComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
49
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: InputHintComponent, isStandalone: true, selector: "input-hint", ngImport: i0, template: "<daff-form-field>\n <daff-form-label>Email</daff-form-label>\n <input daff-input type=\"text\" name=\"email\"/>\n <daff-hint>Hint goes here.</daff-hint>\n</daff-form-field>", styles: ["daff-form-field{max-width:320px}\n"], dependencies: [{ kind: "component", type: i1.DaffFormFieldComponent, selector: "daff-form-field", inputs: ["id"] }, { kind: "component", type: i1.DaffHintComponent, selector: "daff-hint", inputs: ["validated"] }, { kind: "directive", type: i1.DaffFormFieldLabelDirective, selector: "daff-form-label" }, { kind: "component", type: DaffInputComponent, selector: "input[daff-input]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
49
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: InputHintComponent, isStandalone: true, selector: "input-hint", ngImport: i0, template: "<daff-form-field>\n <daff-form-label>Email</daff-form-label>\n <input daff-input type=\"text\" name=\"email\"/>\n <daff-hint>Hint goes here.</daff-hint>\n</daff-form-field>", styles: ["daff-form-field{max-width:320px}\n"], dependencies: [{ kind: "component", type: i1.DaffFormFieldComponent, selector: "daff-form-field", inputs: ["appearance", "id"] }, { kind: "component", type: i1.DaffHintComponent, selector: "daff-hint", inputs: ["validated"] }, { kind: "directive", type: i1.DaffFormFieldLabelDirective, selector: "daff-form-label" }, { kind: "component", type: DaffInputComponent, selector: "input[daff-input]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
50
50
|
}
|
51
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: InputHintComponent, decorators: [{
|
52
52
|
type: Component,
|
@@ -64,7 +64,7 @@ class InputHintAndErrorComponent {
|
|
64
64
|
this.control = new UntypedFormControl('', [Validators.required, Validators.minLength(8)]);
|
65
65
|
}
|
66
66
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: InputHintAndErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
67
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.11", type: InputHintAndErrorComponent, isStandalone: true, selector: "input-hint-and-error", ngImport: i0, template: "<daff-form-field>\n <daff-form-label>Password</daff-form-label>\n <input daff-input type=\"text\" name=\"password\" [formControl]=\"control\"/>\n <daff-hint [validated]=\"!(control.invalid) && control.dirty\">\n @if (!(control.invalid) && control.dirty) {\n <fa-icon [icon]=\"faCheck\" [fixedWidth]=\"true\" size=\"xs\"></fa-icon>\n } @else {\n <fa-icon [icon]=\"faXmark\" [fixedWidth]=\"true\" size=\"xs\"></fa-icon>\n }\n Minimum of 8 characters.\n </daff-hint>\n @if (control.errors?.required && control.touched) {\n <daff-error-message>Password is a required field.</daff-error-message>\n }\n</daff-form-field>", styles: ["daff-form-field{max-width:320px}\n"], dependencies: [{ kind: "component", type: i1.DaffFormFieldComponent, selector: "daff-form-field", inputs: ["id"] }, { kind: "component", type: i1.DaffErrorMessageComponent, selector: "daff-error-message" }, { kind: "component", type: i1.DaffHintComponent, selector: "daff-hint", inputs: ["validated"] }, { kind: "directive", type: i1.DaffFormFieldLabelDirective, selector: "daff-form-label" }, { kind: "component", type: DaffInputComponent, selector: "input[daff-input]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { 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: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
67
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.11", type: InputHintAndErrorComponent, isStandalone: true, selector: "input-hint-and-error", ngImport: i0, template: "<daff-form-field>\n <daff-form-label>Password</daff-form-label>\n <input daff-input type=\"text\" name=\"password\" [formControl]=\"control\"/>\n <daff-hint [validated]=\"!(control.invalid) && control.dirty\">\n @if (!(control.invalid) && control.dirty) {\n <fa-icon [icon]=\"faCheck\" [fixedWidth]=\"true\" size=\"xs\"></fa-icon>\n } @else {\n <fa-icon [icon]=\"faXmark\" [fixedWidth]=\"true\" size=\"xs\"></fa-icon>\n }\n Minimum of 8 characters.\n </daff-hint>\n @if (control.errors?.required && control.touched) {\n <daff-error-message>Password is a required field.</daff-error-message>\n }\n</daff-form-field>", styles: ["daff-form-field{max-width:320px}\n"], dependencies: [{ kind: "component", type: i1.DaffFormFieldComponent, selector: "daff-form-field", inputs: ["appearance", "id"] }, { kind: "component", type: i1.DaffErrorMessageComponent, selector: "daff-error-message" }, { kind: "component", type: i1.DaffHintComponent, selector: "daff-hint", inputs: ["validated"] }, { kind: "directive", type: i1.DaffFormFieldLabelDirective, selector: "daff-form-label" }, { kind: "component", type: DaffInputComponent, selector: "input[daff-input]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { 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: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
68
68
|
}
|
69
69
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: InputHintAndErrorComponent, decorators: [{
|
70
70
|
type: Component,
|
@@ -82,7 +82,7 @@ class InputWithFormFieldComponent {
|
|
82
82
|
this.faCircleXmark = faCircleXmark;
|
83
83
|
}
|
84
84
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: InputWithFormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
85
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: InputWithFormFieldComponent, isStandalone: true, selector: "input-with-form-field", ngImport: i0, template: "<daff-form-field>\n <fa-icon [icon]=\"faUser\" daffPrefix></fa-icon>\n <daff-form-label>First Name</daff-form-label>\n <input daff-input type=\"text\" name=\"first-name\" />\n <fa-icon [icon]=\"faCircleXmark\" daffSuffix></fa-icon>\n</daff-form-field>\n", styles: ["daff-form-field{max-width:320px}\n"], dependencies: [{ kind: "component", type: i1.DaffFormFieldComponent, selector: "daff-form-field", inputs: ["id"] }, { kind: "directive", type: i1.DaffPrefixDirective, selector: "[daffPrefix]" }, { kind: "directive", type: i1.DaffSuffixDirective, selector: "[daffSuffix]" }, { kind: "directive", type: i1.DaffFormFieldLabelDirective, selector: "daff-form-label" }, { kind: "component", type: DaffInputComponent, selector: "input[daff-input]" }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }, { kind: "ngmodule", type: DaffPrefixSuffixModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
85
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: InputWithFormFieldComponent, isStandalone: true, selector: "input-with-form-field", ngImport: i0, template: "<daff-form-field>\n <fa-icon [icon]=\"faUser\" daffPrefix></fa-icon>\n <daff-form-label>First Name</daff-form-label>\n <input daff-input type=\"text\" name=\"first-name\" />\n <fa-icon [icon]=\"faCircleXmark\" daffSuffix></fa-icon>\n</daff-form-field>\n", styles: ["daff-form-field{max-width:320px}\n"], dependencies: [{ kind: "component", type: i1.DaffFormFieldComponent, selector: "daff-form-field", inputs: ["appearance", "id"] }, { kind: "directive", type: i1.DaffPrefixDirective, selector: "[daffPrefix]" }, { kind: "directive", type: i1.DaffSuffixDirective, selector: "[daffSuffix]" }, { kind: "directive", type: i1.DaffFormFieldLabelDirective, selector: "daff-form-label" }, { kind: "component", type: DaffInputComponent, selector: "input[daff-input]" }, { kind: "component", type: FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }, { kind: "ngmodule", type: DaffPrefixSuffixModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
86
86
|
}
|
87
87
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: InputWithFormFieldComponent, decorators: [{
|
88
88
|
type: Component,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"daffodil-design-input-examples.mjs","sources":["../../../libs/design/input/examples/src/input-disabled/input-disabled.component.ts","../../../libs/design/input/examples/src/input-disabled/input-disabled.component.html","../../../libs/design/input/examples/src/input-error/input-error.component.ts","../../../libs/design/input/examples/src/input-error/input-error.component.html","../../../libs/design/input/examples/src/input-hint/input-hint.component.ts","../../../libs/design/input/examples/src/input-hint/input-hint.component.html","../../../libs/design/input/examples/src/input-hint-and-error/input-hint-and-error.component.ts","../../../libs/design/input/examples/src/input-hint-and-error/input-hint-and-error.component.html","../../../libs/design/input/examples/src/input-with-form-field/input-with-form-field.component.ts","../../../libs/design/input/examples/src/input-with-form-field/input-with-form-field.component.html","../../../libs/design/input/examples/src/examples.ts","../../../libs/design/input/examples/src/daffodil-design-input-examples.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\nimport {\n ReactiveFormsModule,\n UntypedFormControl,\n} from '@angular/forms';\n\nimport { DAFF_FORM_FIELD_COMPONENTS } from '@daffodil/design';\nimport { DaffInputComponent } from '@daffodil/design/input';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'input-disabled',\n templateUrl: './input-disabled.component.html',\n styles: [`\n daff-form-field {\n max-width: 320px;\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n ReactiveFormsModule,\n DaffInputComponent,\n DAFF_FORM_FIELD_COMPONENTS,\n ],\n})\nexport class InputDisabledComponent {\n disabled = new UntypedFormControl({ value : '' , disabled: true });\n}\n","<daff-form-field>\n <daff-form-label>Email</daff-form-label>\n <input daff-input type=\"text\" name=\"email\" [formControl]=\"disabled\"/>\n</daff-form-field>","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\nimport {\n UntypedFormControl,\n Validators,\n ReactiveFormsModule,\n} from '@angular/forms';\n\nimport {\n DAFF_FORM_FIELD_COMPONENTS,\n DaffHintComponent,\n} from '@daffodil/design';\nimport { DaffInputComponent } from '@daffodil/design/input';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'input-error',\n templateUrl: './input-error.component.html',\n styles: [`\n daff-form-field {\n max-width: 320px;\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DAFF_FORM_FIELD_COMPONENTS,\n DaffInputComponent,\n DaffHintComponent,\n ReactiveFormsModule,\n ],\n})\nexport class InputErrorComponent {\n control: UntypedFormControl = new UntypedFormControl('test@example.com', [\n Validators.email,\n Validators.required,\n ]);\n}\n","<daff-form-field>\n <daff-form-label>Email</daff-form-label>\n <input daff-input type=\"text\" name=\"email\" [formControl]=\"control\"/>\n <daff-hint>Hint</daff-hint>\n @if (control.errors?.required) {\n <daff-error-message>Email is a required field.</daff-error-message>\n }\n @if (control.errors?.email) {\n <daff-error-message>Email is not valid.</daff-error-message>\n }\n</daff-form-field>\n<p>Value: {{ control.value }} </p>","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\n\nimport {\n DAFF_FORM_FIELD_COMPONENTS,\n DaffHintComponent,\n} from '@daffodil/design';\nimport { DaffInputComponent } from '@daffodil/design/input';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'input-hint',\n templateUrl: './input-hint.component.html',\n styles: [`\n daff-form-field {\n max-width: 320px;\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DAFF_FORM_FIELD_COMPONENTS,\n DaffInputComponent,\n DaffHintComponent,\n ],\n})\nexport class InputHintComponent {\n}\n","<daff-form-field>\n <daff-form-label>Email</daff-form-label>\n <input daff-input type=\"text\" name=\"email\"/>\n <daff-hint>Hint goes here.</daff-hint>\n</daff-form-field>","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\nimport {\n UntypedFormControl,\n Validators,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport {\n faCheck,\n faXmark,\n} from '@fortawesome/free-solid-svg-icons';\n\nimport { DAFF_FORM_FIELD_COMPONENTS } from '@daffodil/design';\nimport { DaffInputComponent } from '@daffodil/design/input';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'input-hint-and-error',\n templateUrl: './input-hint-and-error.component.html',\n styles: [`\n daff-form-field {\n max-width: 320px;\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DAFF_FORM_FIELD_COMPONENTS,\n DaffInputComponent,\n ReactiveFormsModule,\n FaIconComponent,\n ],\n})\nexport class InputHintAndErrorComponent {\n faCheck = faCheck;\n faXmark = faXmark;\n\n control: UntypedFormControl = new UntypedFormControl('', [Validators.required, Validators.minLength(8)]);\n}\n","<daff-form-field>\n <daff-form-label>Password</daff-form-label>\n <input daff-input type=\"text\" name=\"password\" [formControl]=\"control\"/>\n <daff-hint [validated]=\"!(control.invalid) && control.dirty\">\n @if (!(control.invalid) && control.dirty) {\n <fa-icon [icon]=\"faCheck\" [fixedWidth]=\"true\" size=\"xs\"></fa-icon>\n } @else {\n <fa-icon [icon]=\"faXmark\" [fixedWidth]=\"true\" size=\"xs\"></fa-icon>\n }\n Minimum of 8 characters.\n </daff-hint>\n @if (control.errors?.required && control.touched) {\n <daff-error-message>Password is a required field.</daff-error-message>\n }\n</daff-form-field>","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport {\n faUser,\n faCircleXmark,\n} from '@fortawesome/free-solid-svg-icons';\n\nimport {\n DAFF_FORM_FIELD_COMPONENTS,\n DaffPrefixSuffixModule,\n} from '@daffodil/design';\nimport { DaffInputComponent } from '@daffodil/design/input';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'input-with-form-field',\n templateUrl: './input-with-form-field.component.html',\n styles: [`\n daff-form-field {\n max-width: 320px;\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DAFF_FORM_FIELD_COMPONENTS,\n DaffInputComponent,\n FaIconComponent,\n DaffPrefixSuffixModule,\n ],\n})\nexport class InputWithFormFieldComponent {\n faUser = faUser;\n faCircleXmark = faCircleXmark;\n}\n","<daff-form-field>\n <fa-icon [icon]=\"faUser\" daffPrefix></fa-icon>\n <daff-form-label>First Name</daff-form-label>\n <input daff-input type=\"text\" name=\"first-name\" />\n <fa-icon [icon]=\"faCircleXmark\" daffSuffix></fa-icon>\n</daff-form-field>\n","import { InputDisabledComponent } from './input-disabled/input-disabled.component';\nimport { InputErrorComponent } from './input-error/input-error.component';\nimport { InputHintComponent } from './input-hint/input-hint.component';\nimport { InputHintAndErrorComponent } from './input-hint-and-error/input-hint-and-error.component';\nimport { InputWithFormFieldComponent } from './input-with-form-field/input-with-form-field.component';\n\nexport const INPUT_EXAMPLES = [\n InputWithFormFieldComponent,\n InputDisabledComponent,\n InputErrorComponent,\n InputHintComponent,\n InputHintAndErrorComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"daffodil-design-input-examples.mjs","sources":["../../../libs/design/input/examples/src/input-disabled/input-disabled.component.ts","../../../libs/design/input/examples/src/input-disabled/input-disabled.component.html","../../../libs/design/input/examples/src/input-error/input-error.component.ts","../../../libs/design/input/examples/src/input-error/input-error.component.html","../../../libs/design/input/examples/src/input-hint/input-hint.component.ts","../../../libs/design/input/examples/src/input-hint/input-hint.component.html","../../../libs/design/input/examples/src/input-hint-and-error/input-hint-and-error.component.ts","../../../libs/design/input/examples/src/input-hint-and-error/input-hint-and-error.component.html","../../../libs/design/input/examples/src/input-with-form-field/input-with-form-field.component.ts","../../../libs/design/input/examples/src/input-with-form-field/input-with-form-field.component.html","../../../libs/design/input/examples/src/examples.ts","../../../libs/design/input/examples/src/daffodil-design-input-examples.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\nimport {\n ReactiveFormsModule,\n UntypedFormControl,\n} from '@angular/forms';\n\nimport { DAFF_FORM_FIELD_COMPONENTS } from '@daffodil/design';\nimport { DaffInputComponent } from '@daffodil/design/input';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'input-disabled',\n templateUrl: './input-disabled.component.html',\n styles: [`\n daff-form-field {\n max-width: 320px;\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n ReactiveFormsModule,\n DaffInputComponent,\n DAFF_FORM_FIELD_COMPONENTS,\n ],\n})\nexport class InputDisabledComponent {\n disabled = new UntypedFormControl({ value : '' , disabled: true });\n}\n","<daff-form-field>\n <daff-form-label>Email</daff-form-label>\n <input daff-input type=\"text\" name=\"email\" [formControl]=\"disabled\"/>\n</daff-form-field>","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\nimport {\n UntypedFormControl,\n Validators,\n ReactiveFormsModule,\n} from '@angular/forms';\n\nimport {\n DAFF_FORM_FIELD_COMPONENTS,\n DaffHintComponent,\n} from '@daffodil/design';\nimport { DaffInputComponent } from '@daffodil/design/input';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'input-error',\n templateUrl: './input-error.component.html',\n styles: [`\n daff-form-field {\n max-width: 320px;\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DAFF_FORM_FIELD_COMPONENTS,\n DaffInputComponent,\n DaffHintComponent,\n ReactiveFormsModule,\n ],\n})\nexport class InputErrorComponent {\n control: UntypedFormControl = new UntypedFormControl('test@example.com', [\n Validators.email,\n Validators.required,\n ]);\n}\n","<daff-form-field>\n <daff-form-label>Email</daff-form-label>\n <input daff-input type=\"text\" name=\"email\" [formControl]=\"control\"/>\n <daff-hint>Hint</daff-hint>\n @if (control.errors?.required) {\n <daff-error-message>Email is a required field.</daff-error-message>\n }\n @if (control.errors?.email) {\n <daff-error-message>Email is not valid.</daff-error-message>\n }\n</daff-form-field>\n<p>Value: {{ control.value }} </p>","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\n\nimport {\n DAFF_FORM_FIELD_COMPONENTS,\n DaffHintComponent,\n} from '@daffodil/design';\nimport { DaffInputComponent } from '@daffodil/design/input';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'input-hint',\n templateUrl: './input-hint.component.html',\n styles: [`\n daff-form-field {\n max-width: 320px;\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DAFF_FORM_FIELD_COMPONENTS,\n DaffInputComponent,\n DaffHintComponent,\n ],\n})\nexport class InputHintComponent {\n}\n","<daff-form-field>\n <daff-form-label>Email</daff-form-label>\n <input daff-input type=\"text\" name=\"email\"/>\n <daff-hint>Hint goes here.</daff-hint>\n</daff-form-field>","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\nimport {\n UntypedFormControl,\n Validators,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport {\n faCheck,\n faXmark,\n} from '@fortawesome/free-solid-svg-icons';\n\nimport { DAFF_FORM_FIELD_COMPONENTS } from '@daffodil/design';\nimport { DaffInputComponent } from '@daffodil/design/input';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'input-hint-and-error',\n templateUrl: './input-hint-and-error.component.html',\n styles: [`\n daff-form-field {\n max-width: 320px;\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DAFF_FORM_FIELD_COMPONENTS,\n DaffInputComponent,\n ReactiveFormsModule,\n FaIconComponent,\n ],\n})\nexport class InputHintAndErrorComponent {\n faCheck = faCheck;\n faXmark = faXmark;\n\n control: UntypedFormControl = new UntypedFormControl('', [Validators.required, Validators.minLength(8)]);\n}\n","<daff-form-field>\n <daff-form-label>Password</daff-form-label>\n <input daff-input type=\"text\" name=\"password\" [formControl]=\"control\"/>\n <daff-hint [validated]=\"!(control.invalid) && control.dirty\">\n @if (!(control.invalid) && control.dirty) {\n <fa-icon [icon]=\"faCheck\" [fixedWidth]=\"true\" size=\"xs\"></fa-icon>\n } @else {\n <fa-icon [icon]=\"faXmark\" [fixedWidth]=\"true\" size=\"xs\"></fa-icon>\n }\n Minimum of 8 characters.\n </daff-hint>\n @if (control.errors?.required && control.touched) {\n <daff-error-message>Password is a required field.</daff-error-message>\n }\n</daff-form-field>","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport {\n faUser,\n faCircleXmark,\n} from '@fortawesome/free-solid-svg-icons';\n\nimport {\n DAFF_FORM_FIELD_COMPONENTS,\n DaffPrefixSuffixModule,\n} from '@daffodil/design';\nimport { DaffInputComponent } from '@daffodil/design/input';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'input-with-form-field',\n templateUrl: './input-with-form-field.component.html',\n styles: [`\n daff-form-field {\n max-width: 320px;\n }\n `],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DAFF_FORM_FIELD_COMPONENTS,\n DaffInputComponent,\n FaIconComponent,\n DaffPrefixSuffixModule,\n ],\n})\nexport class InputWithFormFieldComponent {\n faUser = faUser;\n faCircleXmark = faCircleXmark;\n}\n","<daff-form-field>\n <fa-icon [icon]=\"faUser\" daffPrefix></fa-icon>\n <daff-form-label>First Name</daff-form-label>\n <input daff-input type=\"text\" name=\"first-name\" />\n <fa-icon [icon]=\"faCircleXmark\" daffSuffix></fa-icon>\n</daff-form-field>\n","import { InputDisabledComponent } from './input-disabled/input-disabled.component';\nimport { InputErrorComponent } from './input-error/input-error.component';\nimport { InputHintComponent } from './input-hint/input-hint.component';\nimport { InputHintAndErrorComponent } from './input-hint-and-error/input-hint-and-error.component';\nimport { InputWithFormFieldComponent } from './input-with-form-field/input-with-form-field.component';\n\nexport const INPUT_EXAMPLES = [\n InputWithFormFieldComponent,\n InputDisabledComponent,\n InputErrorComponent,\n InputHintComponent,\n InputHintAndErrorComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2"],"mappings":"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"}
|
@@ -14,6 +14,10 @@ class DaffInputComponent extends DaffFormFieldControl {
|
|
14
14
|
this.focused = true;
|
15
15
|
this.emitState();
|
16
16
|
}
|
17
|
+
get _id() {
|
18
|
+
return this.formField?.id;
|
19
|
+
}
|
20
|
+
;
|
17
21
|
/**
|
18
22
|
* @docs-private
|
19
23
|
*/
|
@@ -52,23 +56,13 @@ class DaffInputComponent extends DaffFormFieldControl {
|
|
52
56
|
this.controlType = 'native-input';
|
53
57
|
/** @docs-private */
|
54
58
|
this.focused = false;
|
55
|
-
this.
|
56
|
-
|
57
|
-
/**
|
58
|
-
* @docs-private
|
59
|
-
*/
|
60
|
-
ngOnChanges(changes) {
|
61
|
-
if (this.id || changes?.id.currentValue) {
|
62
|
-
this._id = changes.id.currentValue;
|
63
|
-
}
|
64
|
-
else {
|
65
|
-
this._id = this.formField.id;
|
59
|
+
if (!this.formField) {
|
60
|
+
throw new Error('DaffInputComponent needs to be used with the DaffFormFieldComponent.');
|
66
61
|
}
|
67
62
|
}
|
68
63
|
/** @docs-private */
|
69
64
|
ngOnInit() {
|
70
65
|
this.stateChanges = merge(this._stateChanges.asObservable(), this.ngControl ? this.ngControl.statusChanges : of(undefined)).pipe(map(() => this.state));
|
71
|
-
this._id = this.id ?? this.formField.id;
|
72
66
|
}
|
73
67
|
/** @docs-private */
|
74
68
|
onFocus() {
|
@@ -78,11 +72,11 @@ class DaffInputComponent extends DaffFormFieldControl {
|
|
78
72
|
get value() {
|
79
73
|
return this._elementRef.nativeElement.value;
|
80
74
|
}
|
81
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffInputComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ElementRef }, { token: i2.DaffFormFieldComponent }], target: i0.ɵɵFactoryTarget.Component }); }
|
75
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffInputComponent, deps: [{ token: i1.NgControl, optional: true, self: true }, { token: i0.ElementRef }, { token: i2.DaffFormFieldComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
82
76
|
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: DaffInputComponent, isStandalone: true, selector: "input[daff-input]", host: { listeners: { "focus": "focus()", "blur": "blur()" }, properties: { "class.daff-input": "this.class", "attr.id": "this.internalId", "attr.aria-describedby": "this.ariaDescribedBy" } }, providers: [
|
83
77
|
// eslint-disable-next-line @typescript-eslint/no-use-before-define
|
84
78
|
{ provide: DaffFormFieldControl, useExisting: DaffInputComponent },
|
85
|
-
], usesInheritance: true,
|
79
|
+
], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [":host{background:none;border:none;box-shadow:none;margin:0;width:100%;box-sizing:border-box}:host:focus{border:none;box-shadow:none;outline:none}:host:disabled{cursor:not-allowed}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
86
80
|
}
|
87
81
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffInputComponent, decorators: [{
|
88
82
|
type: Component,
|
@@ -94,7 +88,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImpo
|
|
94
88
|
type: Optional
|
95
89
|
}, {
|
96
90
|
type: Self
|
97
|
-
}] }, { type: i0.ElementRef }, { type: i2.DaffFormFieldComponent
|
91
|
+
}] }, { type: i0.ElementRef }, { type: i2.DaffFormFieldComponent, decorators: [{
|
92
|
+
type: Optional
|
93
|
+
}] }], propDecorators: { class: [{
|
98
94
|
type: HostBinding,
|
99
95
|
args: ['class.daff-input']
|
100
96
|
}], focus: [{
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"daffodil-design-input.mjs","sources":["../../../libs/design/input/src/input.component.ts","../../../libs/design/input/src/input.module.ts","../../../libs/design/input/src/daffodil-design-input.ts"],"sourcesContent":["import {\n Component,\n Optional,\n Self,\n ElementRef,\n HostListener,\n ChangeDetectionStrategy,\n HostBinding,\n OnInit,\n
|
1
|
+
{"version":3,"file":"daffodil-design-input.mjs","sources":["../../../libs/design/input/src/input.component.ts","../../../libs/design/input/src/input.module.ts","../../../libs/design/input/src/daffodil-design-input.ts"],"sourcesContent":["import {\n Component,\n Optional,\n Self,\n ElementRef,\n HostListener,\n ChangeDetectionStrategy,\n HostBinding,\n OnInit,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport {\n merge,\n of,\n map,\n} from 'rxjs';\n\nimport {\n DaffFormFieldComponent,\n DaffFormFieldControl,\n} from '@daffodil/design';\n\n/**\n * DaffInputComponent provides the same functionality as a native `<input>` and contains custom styling and functionality.\n */\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'input[daff-input]',\n template: '<ng-content></ng-content>',\n styleUrl: './input.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n { provide: DaffFormFieldControl, useExisting: DaffInputComponent },\n ],\n})\nexport class DaffInputComponent extends DaffFormFieldControl<string> implements DaffFormFieldControl<string>, OnInit {\n\n /** @docs-private */\n @HostBinding('class.daff-input') class = true;\n\n /** @docs-private */\n controlType = 'native-input';\n\n /** @docs-private */\n focused = false;\n\n /** @docs-private */\n @HostListener('focus') focus() {\n this.focused = true;\n this.emitState();\n\n }\n\n private get _id() {\n return this.formField?.id;\n };\n\n /**\n * @docs-private\n */\n @HostBinding('attr.id') get internalId() {\n return this._id;\n }\n\n /**\n * @docs-private\n */\n @HostBinding('attr.aria-describedby') get ariaDescribedBy() {\n if(this.formField.hasErrorMessage()) {\n return this.formField.errorMessageId;\n } else if(this.formField.hasHint()) {\n return this.formField.hintId;\n } else {\n return null;\n }\n }\n\n /** @docs-private */\n @HostListener('blur') blur() {\n this.focused = false;\n this.emitState();\n }\n\n constructor(\n /** @docs-private */\n @Optional() @Self() public ngControl: NgControl,\n private _elementRef: ElementRef<HTMLInputElement>,\n @Optional() private formField: DaffFormFieldComponent,\n ) {\n super(ngControl);\n\n if(!this.formField) {\n throw new Error('DaffInputComponent needs to be used with the DaffFormFieldComponent.');\n }\n }\n\n /** @docs-private */\n ngOnInit() {\n this.stateChanges = merge(\n this._stateChanges.asObservable(),\n this.ngControl ? this.ngControl.statusChanges : of(undefined),\n ).pipe(\n map(() => this.state),\n );\n }\n\n /** @docs-private */\n onFocus() {\n this._elementRef.nativeElement.focus();\n }\n\n /** @docs-private */\n get value() {\n return this._elementRef.nativeElement.value;\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { DaffInputComponent } from './input.component';\n\n/**\n * @deprecated in favor of standalone components. Deprecated in version 0.84.0. Will be removed in version 1.0.0.\n */\n@NgModule({\n imports: [\n DaffInputComponent,\n ],\n exports: [\n DaffInputComponent,\n ],\n})\nexport class DaffInputModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -1,18 +1,19 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
2
|
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
3
|
-
import { DaffButtonComponent } from '@daffodil/design/button';
|
3
|
+
import { DaffButtonComponent, DaffFlatButtonComponent } from '@daffodil/design/button';
|
4
4
|
import * as i1 from '@daffodil/design/modal';
|
5
5
|
import { DAFF_MODAL_COMPONENTS, DaffModalService } from '@daffodil/design/modal';
|
6
6
|
|
7
7
|
class BasicModalContentComponent {
|
8
8
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: BasicModalContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
9
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: BasicModalContentComponent, isStandalone: true, selector: "basic-modal-content", ngImport: i0, template: "<daff-modal-header>\n\t<h5 daffModalTitle>Descriptive title of the modal</h5>\n</daff-modal-header>\n<daff-modal-content>\n\tModal content goes here. Components can be placed in here. The content is scrollable.\n</daff-modal-content>\n<daff-modal-actions>\n\t<button daff-flat-button color=\"theme-contrast\" daffModalClose>Cancel</button>\n\t<button type=\"button\" daff-button>Save Changes</button>\n</daff-modal-actions>", dependencies: [{ kind: "component", type: i1.DaffModalHeaderComponent, selector: "daff-modal-header", inputs: ["dismissible"] }, { kind: "directive", type: i1.DaffModalTitleDirective, selector: "[daffModalTitle]" }, { kind: "component", type: i1.DaffModalContentComponent, selector: "daff-modal-content" }, { kind: "component", type: i1.DaffModalActionsComponent, selector: "daff-modal-actions" }, { kind: "directive", type: i1.DaffModalCloseDirective, selector: "button[daffModalClose]" }, { kind: "component", type: DaffButtonComponent, selector: "button[daff-button],a[daff-button]", inputs: ["elevated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
9
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: BasicModalContentComponent, isStandalone: true, selector: "basic-modal-content", ngImport: i0, template: "<daff-modal-header>\n\t<h5 daffModalTitle>Descriptive title of the modal</h5>\n</daff-modal-header>\n<daff-modal-content>\n\tModal content goes here. Components can be placed in here. The content is scrollable.\n</daff-modal-content>\n<daff-modal-actions>\n\t<button daff-flat-button color=\"theme-contrast\" daffModalClose>Cancel</button>\n\t<button type=\"button\" daff-button>Save Changes</button>\n</daff-modal-actions>", dependencies: [{ kind: "component", type: i1.DaffModalHeaderComponent, selector: "daff-modal-header", inputs: ["dismissible"] }, { kind: "directive", type: i1.DaffModalTitleDirective, selector: "[daffModalTitle]" }, { kind: "component", type: i1.DaffModalContentComponent, selector: "daff-modal-content" }, { kind: "component", type: i1.DaffModalActionsComponent, selector: "daff-modal-actions" }, { kind: "directive", type: i1.DaffModalCloseDirective, selector: "button[daffModalClose]" }, { kind: "component", type: DaffButtonComponent, selector: "button[daff-button],a[daff-button]", inputs: ["elevated"] }, { kind: "component", type: DaffFlatButtonComponent, selector: "button[daff-flat-button],a[daff-flat-button]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
10
10
|
}
|
11
11
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: BasicModalContentComponent, decorators: [{
|
12
12
|
type: Component,
|
13
13
|
args: [{ selector: 'basic-modal-content', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
14
14
|
DAFF_MODAL_COMPONENTS,
|
15
15
|
DaffButtonComponent,
|
16
|
+
DaffFlatButtonComponent,
|
16
17
|
], template: "<daff-modal-header>\n\t<h5 daffModalTitle>Descriptive title of the modal</h5>\n</daff-modal-header>\n<daff-modal-content>\n\tModal content goes here. Components can be placed in here. The content is scrollable.\n</daff-modal-content>\n<daff-modal-actions>\n\t<button daff-flat-button color=\"theme-contrast\" daffModalClose>Cancel</button>\n\t<button type=\"button\" daff-button>Save Changes</button>\n</daff-modal-actions>" }]
|
17
18
|
}] });
|
18
19
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"daffodil-design-modal-examples.mjs","sources":["../../../libs/design/modal/examples/src/basic-modal/modal-content.component.ts","../../../libs/design/modal/examples/src/basic-modal/modal-content.component.html","../../../libs/design/modal/examples/src/basic-modal/basic-modal.component.ts","../../../libs/design/modal/examples/src/basic-modal/basic-modal.component.html","../../../libs/design/modal/examples/src/public_api.ts","../../../libs/design/modal/examples/src/daffodil-design-modal-examples.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\n\nimport {
|
1
|
+
{"version":3,"file":"daffodil-design-modal-examples.mjs","sources":["../../../libs/design/modal/examples/src/basic-modal/modal-content.component.ts","../../../libs/design/modal/examples/src/basic-modal/modal-content.component.html","../../../libs/design/modal/examples/src/basic-modal/basic-modal.component.ts","../../../libs/design/modal/examples/src/basic-modal/basic-modal.component.html","../../../libs/design/modal/examples/src/public_api.ts","../../../libs/design/modal/examples/src/daffodil-design-modal-examples.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\n\nimport {\n DaffButtonComponent,\n DaffFlatButtonComponent,\n} from '@daffodil/design/button';\nimport { DAFF_MODAL_COMPONENTS } from '@daffodil/design/modal';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'basic-modal-content',\n templateUrl: './modal-content.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DAFF_MODAL_COMPONENTS,\n DaffButtonComponent,\n DaffFlatButtonComponent,\n ],\n})\nexport class BasicModalContentComponent { }\n","<daff-modal-header>\n\t<h5 daffModalTitle>Descriptive title of the modal</h5>\n</daff-modal-header>\n<daff-modal-content>\n\tModal content goes here. Components can be placed in here. The content is scrollable.\n</daff-modal-content>\n<daff-modal-actions>\n\t<button daff-flat-button color=\"theme-contrast\" daffModalClose>Cancel</button>\n\t<button type=\"button\" daff-button>Save Changes</button>\n</daff-modal-actions>","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\n\nimport { DaffButtonComponent } from '@daffodil/design/button';\nimport {\n DaffModalComponent,\n DAFF_MODAL_COMPONENTS,\n DaffModalService,\n} from '@daffodil/design/modal';\n\nimport { BasicModalContentComponent } from './modal-content.component';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'basic-modal',\n templateUrl: './basic-modal.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffButtonComponent,\n DAFF_MODAL_COMPONENTS,\n ],\n providers: [\n DaffModalService,\n ],\n})\nexport class BasicModalComponent {\n modal: DaffModalComponent;\n\n constructor(private modalService: DaffModalService) {}\n\n showModal() {\n this.modal = this.modalService.open(\n BasicModalContentComponent,\n { ariaLabelledBy: 'Modal Title' },\n );\n }\n}\n","<button daff-button (click)=\"showModal()\">Open Modal</button>\n","import { BasicModalComponent } from './basic-modal/basic-modal.component';\n\nexport const MODAL_EXAMPLES = [\n BasicModalComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
@@ -112,11 +112,13 @@ class DaffModalComponent {
|
|
112
112
|
onEscape() {
|
113
113
|
this.modalService.close(this);
|
114
114
|
}
|
115
|
-
constructor(modalService, _focusTrapFactory, elementRef, openDirective) {
|
115
|
+
constructor(modalService, _focusTrapFactory, elementRef, openDirective, _focusStack, changeDetector) {
|
116
116
|
this.modalService = modalService;
|
117
117
|
this._focusTrapFactory = _focusTrapFactory;
|
118
118
|
this.elementRef = elementRef;
|
119
119
|
this.openDirective = openDirective;
|
120
|
+
this._focusStack = _focusStack;
|
121
|
+
this.changeDetector = changeDetector;
|
120
122
|
/**
|
121
123
|
* Sets a class of .daff-modal to the host element.
|
122
124
|
*/
|
@@ -154,6 +156,7 @@ class DaffModalComponent {
|
|
154
156
|
*/
|
155
157
|
ngAfterContentInit() {
|
156
158
|
this._focusTrap = this._focusTrapFactory.create(this.elementRef.nativeElement);
|
159
|
+
this._focusStack.push();
|
157
160
|
}
|
158
161
|
/**
|
159
162
|
* @docs-private
|
@@ -175,12 +178,6 @@ class DaffModalComponent {
|
|
175
178
|
*/
|
176
179
|
attachContent(portal) {
|
177
180
|
const attachContent = this._portalOutlet.attachComponentPortal(portal);
|
178
|
-
// When a component is created to inject content into the modal, it can
|
179
|
-
// interfere with the display styles applied to the modal's header, content,
|
180
|
-
// and action sections. By setting `display: contents;` on the custom
|
181
|
-
// component, it is visually removed from the UI, allowing the content
|
182
|
-
// within it to inherit the modal's styles.
|
183
|
-
attachContent.location.nativeElement.style.display = 'contents';
|
184
181
|
return attachContent;
|
185
182
|
}
|
186
183
|
/** Animation hook that controls the entrance and exit animations of the modal. */
|
@@ -199,6 +196,7 @@ class DaffModalComponent {
|
|
199
196
|
animationDone(e) {
|
200
197
|
this.animationCompleted.emit(e);
|
201
198
|
if (e.toState === 'closed') {
|
199
|
+
this._focusStack.pop();
|
202
200
|
this.closedAnimationCompleted.emit(e);
|
203
201
|
}
|
204
202
|
}
|
@@ -210,21 +208,24 @@ class DaffModalComponent {
|
|
210
208
|
*/
|
211
209
|
reveal() {
|
212
210
|
this.openDirective.reveal();
|
211
|
+
this.changeDetector.markForCheck();
|
213
212
|
}
|
214
213
|
/**
|
215
214
|
* Hides the modal
|
216
215
|
*/
|
217
216
|
hide() {
|
218
217
|
this.openDirective.hide();
|
218
|
+
this.changeDetector.markForCheck();
|
219
219
|
}
|
220
220
|
/**
|
221
221
|
* Toggles the visibility of the modal
|
222
222
|
*/
|
223
223
|
toggle() {
|
224
224
|
this.openDirective.toggle();
|
225
|
+
this.changeDetector.markForCheck();
|
225
226
|
}
|
226
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffModalComponent, deps: [{ token: DaffModalService }, { token: i2.ConfigurableFocusTrapFactory }, { token: i0.ElementRef }, { token: i3.DaffOpenableDirective }], target: i0.ɵɵFactoryTarget.Component }); }
|
227
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: DaffModalComponent, isStandalone: true, selector: "daff-modal", host: { listeners: { "keydown.escape": "onEscape()", "@fade.done": "animationDone($event)" }, properties: { "class.daff-modal": "this.modalClass", "attr.role": "this.role", "attr.aria-modal": "this.ariaModal", "attr.aria-labelledby": "this.ariaLabelledBy", "@fade": "this.fadeState" } }, viewQueries: [{ propertyName: "_portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }], hostDirectives: [{ directive: i3.DaffOpenableDirective, outputs: ["toggled", "toggled"] }], ngImport: i0, template: "<ng-template cdkPortalOutlet></ng-template>\n", styles: [".daff-modal{display:flex;flex-direction:column;justify-content:space-between;border-radius
|
227
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffModalComponent, deps: [{ token: DaffModalService }, { token: i2.ConfigurableFocusTrapFactory }, { token: i0.ElementRef }, { token: i3.DaffOpenableDirective }, { token: i3.DaffFocusStackService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
228
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: DaffModalComponent, isStandalone: true, selector: "daff-modal", host: { listeners: { "keydown.escape": "onEscape()", "@fade.done": "animationDone($event)" }, properties: { "class.daff-modal": "this.modalClass", "attr.role": "this.role", "attr.aria-modal": "this.ariaModal", "attr.aria-labelledby": "this.ariaLabelledBy", "@fade": "this.fadeState" } }, viewQueries: [{ propertyName: "_portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }], hostDirectives: [{ directive: i3.DaffOpenableDirective, outputs: ["toggled", "toggled"] }], ngImport: i0, template: "<ng-template cdkPortalOutlet></ng-template>\n", styles: [".daff-modal{display:flex;flex-direction:column;justify-content:space-between;border-radius:.25rem;max-height:90vh;max-width:90vw;overflow:hidden;z-index:3}@media (min-width: 480px){.daff-modal{max-height:80vh;max-width:80vw}}.daff-modal>*{display:inherit;flex-direction:inherit;justify-content:inherit;border-radius:inherit;max-height:inherit;max-width:inherit;overflow:inherit;z-index:inherit}@media (min-width: 480px){.daff-modal>*{max-height:inherit;max-width:inherit}}.daff-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;position:relative}.daff-modal-header .daff-modal-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.25rem;font-weight:500;line-height:1.5rem;margin:0;padding:0 2rem 0 0}.daff-modal-header__dismiss-button{position:absolute;right:7px;top:12px}.daff-modal-content{display:block;flex-grow:1;max-height:60vh;overflow-y:auto;padding:1.5rem}.daff-modal-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding:1.5rem}.daff-modal-content+.daff-modal-actions{padding:0 1.5rem 1.5rem}.daff-modal-header+.daff-modal-content{padding-top:0}\n"], dependencies: [{ kind: "ngmodule", type: PortalModule }, { kind: "directive", type: i4.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { kind: "ngmodule", type: OverlayModule }], animations: [daffFadeAnimations.fade], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
228
229
|
}
|
229
230
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: DaffModalComponent, decorators: [{
|
230
231
|
type: Component,
|
@@ -234,8 +235,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImpo
|
|
234
235
|
}], animations: [daffFadeAnimations.fade], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [
|
235
236
|
PortalModule,
|
236
237
|
OverlayModule,
|
237
|
-
], template: "<ng-template cdkPortalOutlet></ng-template>\n", styles: [".daff-modal{display:flex;flex-direction:column;justify-content:space-between;border-radius
|
238
|
-
}], ctorParameters: () => [{ type: DaffModalService }, { type: i2.ConfigurableFocusTrapFactory }, { type: i0.ElementRef }, { type: i3.DaffOpenableDirective }], propDecorators: { modalClass: [{
|
238
|
+
], template: "<ng-template cdkPortalOutlet></ng-template>\n", styles: [".daff-modal{display:flex;flex-direction:column;justify-content:space-between;border-radius:.25rem;max-height:90vh;max-width:90vw;overflow:hidden;z-index:3}@media (min-width: 480px){.daff-modal{max-height:80vh;max-width:80vw}}.daff-modal>*{display:inherit;flex-direction:inherit;justify-content:inherit;border-radius:inherit;max-height:inherit;max-width:inherit;overflow:inherit;z-index:inherit}@media (min-width: 480px){.daff-modal>*{max-height:inherit;max-width:inherit}}.daff-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;position:relative}.daff-modal-header .daff-modal-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.25rem;font-weight:500;line-height:1.5rem;margin:0;padding:0 2rem 0 0}.daff-modal-header__dismiss-button{position:absolute;right:7px;top:12px}.daff-modal-content{display:block;flex-grow:1;max-height:60vh;overflow-y:auto;padding:1.5rem}.daff-modal-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding:1.5rem}.daff-modal-content+.daff-modal-actions{padding:0 1.5rem 1.5rem}.daff-modal-header+.daff-modal-content{padding-top:0}\n"] }]
|
239
|
+
}], ctorParameters: () => [{ type: DaffModalService }, { type: i2.ConfigurableFocusTrapFactory }, { type: i0.ElementRef }, { type: i3.DaffOpenableDirective }, { type: i3.DaffFocusStackService }, { type: i0.ChangeDetectorRef }], propDecorators: { modalClass: [{
|
239
240
|
type: HostBinding,
|
240
241
|
args: ['class.daff-modal']
|
241
242
|
}], role: [{
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"daffodil-design-modal.mjs","sources":["../../../libs/design/modal/src/animations/modal-animation.ts","../../../libs/design/modal/src/animations/modal-animation-state.ts","../../../libs/design/modal/src/service/modal.service.ts","../../../libs/design/modal/src/modal/modal.component.ts","../../../libs/design/modal/src/modal/modal.component.html","../../../libs/design/modal/src/modal-actions/modal-actions.component.ts","../../../libs/design/modal/src/modal-close/modal-close.directive.ts","../../../libs/design/modal/src/modal-content/modal-content.component.ts","../../../libs/design/modal/src/modal-header/modal-header.component.ts","../../../libs/design/modal/src/modal-header/modal-header.component.html","../../../libs/design/modal/src/modal-title/modal-title.directive.ts","../../../libs/design/modal/src/modal.module.ts","../../../libs/design/modal/src/modal.ts","../../../libs/design/modal/src/daffodil-design-modal.ts"],"sourcesContent":["import {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\nexport const daffFadeAnimations: {\n readonly fade: AnimationTriggerMetadata;\n} = {\n fade: trigger('fade', [\n state('open', style({ opacity: 1 })),\n state('closed', style({ opacity: 0 })),\n transition('open <=> closed', animate('400ms cubic-bezier(0.25, 0.8, 0.25, 1)')),\n ]),\n};\n","export const getAnimationState = (open: boolean) => open ? 'open' : 'closed';\n","import { AnimationEvent } from '@angular/animations';\nimport {\n OverlayRef,\n Overlay,\n GlobalPositionStrategy,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n Injectable,\n Type,\n ComponentRef,\n Injector,\n} from '@angular/core';\n\nimport { DaffModal } from '../modal/modal';\nimport { DaffModalConfiguration } from '../modal/modal-config';\nimport { DaffModalComponent } from '../modal/modal.component';\n\n@Injectable()\nexport class DaffModalService {\n private _modals: Map<DaffModalComponent, DaffModal> = new Map();\n\n constructor(private overlay: Overlay) { }\n\n private defaultConfiguration: DaffModalConfiguration = {};\n\n private _attachModal(\n overlayRef: OverlayRef,\n ): ComponentRef<DaffModalComponent> {\n const modal = overlayRef.attach(\n new ComponentPortal(\n DaffModalComponent,\n undefined,\n Injector.create({\n providers: [{\n provide: DaffModalService,\n useValue: this,\n }],\n }),\n ),\n );\n modal.instance.reveal();\n return modal;\n }\n\n private _attachModalContent(\n component: Type<any>,\n modal: ComponentRef<DaffModalComponent>,\n ): void {\n modal.instance.attachContent(new ComponentPortal(component));\n }\n\n private _createOverlayRef(): OverlayRef {\n return this.overlay.create({\n hasBackdrop: true,\n positionStrategy: new GlobalPositionStrategy()\n .centerHorizontally()\n .centerVertically(),\n scrollStrategy: this.overlay.scrollStrategies.block(),\n });\n }\n\n private _removeModal(modal: DaffModal) {\n if (!this._modals.has(modal.modal.instance)) {\n throw new Error(\n 'The Modal that you are trying to remove does not exist.',\n );\n }\n\n this._modals.delete(modal.modal.instance);\n\n modal.overlay.dispose();\n }\n\n open(\n component: Type<any>,\n configuration?: Partial<DaffModalConfiguration>,\n ): DaffModalComponent {\n const config = { ...this.defaultConfiguration, ...configuration };\n const _ref = this._createOverlayRef();\n const _modal = this._attachModal(_ref);\n const _attachedModal = this._attachModalContent(component, _modal);\n\n if (configuration?.ariaLabelledBy) {\n _modal.instance.ariaLabelledBy = configuration.ariaLabelledBy;\n }\n\n const modal: DaffModal = {\n modal: _modal,\n overlay: _ref,\n };\n\n this._modals.set(modal.modal.instance, modal);\n\n _ref\n .backdropClick()\n .subscribe(() =>\n config.onBackdropClicked\n ? config.onBackdropClicked()\n : this.close(modal.modal.instance),\n );\n return modal.modal.instance;\n }\n\n close(component: DaffModalComponent): void {\n component.hide();\n const modal = this._modals.get(component);\n\n modal.overlay.detachBackdrop();\n component.closedAnimationCompleted.subscribe(\n (e: AnimationEvent) => this._removeModal(modal),\n );\n }\n}\n","import { AnimationEvent } from '@angular/animations';\nimport {\n ConfigurableFocusTrap,\n ConfigurableFocusTrapFactory,\n} from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport {\n CdkPortalOutlet,\n ComponentPortal,\n PortalModule,\n} from '@angular/cdk/portal';\nimport {\n Component,\n EventEmitter,\n HostBinding,\n ChangeDetectionStrategy,\n ViewChild,\n HostListener,\n ElementRef,\n AfterContentInit,\n AfterViewInit,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport {\n DaffOpenable,\n DaffOpenableDirective,\n} from '@daffodil/design';\nimport { daffFocusableElementsSelector } from '@daffodil/design';\n\nimport { daffFadeAnimations } from '../animations/modal-animation';\nimport { getAnimationState } from '../animations/modal-animation-state';\nimport { DaffModalService } from '../service/modal.service';\n\n@Component({\n selector: 'daff-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss'],\n hostDirectives: [{\n directive: DaffOpenableDirective,\n outputs: ['toggled'],\n }],\n animations: [daffFadeAnimations.fade],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n PortalModule,\n OverlayModule,\n ],\n})\nexport class DaffModalComponent implements AfterContentInit, AfterViewInit, DaffOpenable {\n /**\n * Sets a class of .daff-modal to the host element.\n */\n /**\n * @docs-private\n */\n @HostBinding('class.daff-modal') modalClass = true;\n\n /**\n * Sets the role to dialog.\n */\n /**\n * @docs-private\n */\n @HostBinding('attr.role') role = 'dialog';\n\n /**\n * Sets aria-modal to true.\n */\n /**\n * @docs-private\n */\n @HostBinding('attr.aria-modal') ariaModal = true;\n\n private _ariaLabelledBy = null;\n\n /**\n * The aria-labelledby for the modal. This is set by the id of\n * {@link DaffModalTitleDirective} when it is used.\n *\n */\n /**\n * @docs-private\n */\n @HostBinding('attr.aria-labelledby') get ariaLabelledBy() {\n return this._ariaLabelledBy;\n } set ariaLabelledBy(value: string) {\n this._ariaLabelledBy = value;\n }\n\n /**\n * The CDK Portal outlet used to portal content into the modal.\n */\n @ViewChild(CdkPortalOutlet, { static: true }) private _portalOutlet: CdkPortalOutlet;\n\n /**\n * Event fired when the close animation is completed.\n */\n animationCompleted: EventEmitter<any> = new EventEmitter<any>();\n\n /**\n * Event fired when the close animation is completed.\n */\n closedAnimationCompleted: EventEmitter<any> = new EventEmitter<\n any\n >();\n\n /**\n * @docs-private\n */\n @HostListener('keydown.escape')\n onEscape() {\n this.modalService.close(this);\n }\n\n private _focusTrap: ConfigurableFocusTrap;\n\n constructor(\n private modalService: DaffModalService,\n private _focusTrapFactory: ConfigurableFocusTrapFactory,\n private elementRef: ElementRef<HTMLElement>,\n private openDirective: DaffOpenableDirective,\n ) {\n this.openDirective.stateless = false;\n }\n\n /**\n * @docs-private\n */\n ngAfterContentInit() {\n this._focusTrap = this._focusTrapFactory.create(\n this.elementRef.nativeElement,\n );\n }\n\n /**\n * @docs-private\n */\n ngAfterViewInit() {\n const focusableChild = (<HTMLElement>this.elementRef.nativeElement.querySelector(\n daffFocusableElementsSelector)\n );\n\n if (focusableChild) {\n focusableChild.focus();\n } else {\n // There's a timing condition when computing HostBindings afterContentInit\n // so to allow the menu to be focused, we manually set the tabindex.\n this.elementRef.nativeElement.tabIndex = 0;\n (<HTMLElement>this.elementRef.nativeElement).focus();\n }\n }\n\n /**\n * Helper method to attach portable content to modal.\n */\n attachContent(portal: ComponentPortal<any>): any {\n const attachContent = this._portalOutlet.attachComponentPortal(portal);\n\n // When a component is created to inject content into the modal, it can\n // interfere with the display styles applied to the modal's header, content,\n // and action sections. By setting `display: contents;` on the custom\n // component, it is visually removed from the UI, allowing the content\n // within it to inherit the modal's styles.\n attachContent.location.nativeElement.style.display = 'contents';\n\n return attachContent;\n }\n\n /** Animation hook that controls the entrance and exit animations of the modal. */\n /**\n * @docs-private\n */\n @HostBinding('@fade') get fadeState(): string {\n return getAnimationState(this.openDirective.open);\n }\n\n /**\n * Animation event that can used to hook into when\n * animations are fully completed. We use this in the DaffModalService\n * to determine when to actually remove the dynamically rendered element from the DOM\n * so that the animation does not clip as the element is removed.\n */\n @HostListener('@fade.done', ['$event'])\n animationDone(e: AnimationEvent) {\n this.animationCompleted.emit(e);\n if (e.toState === 'closed') {\n this.closedAnimationCompleted.emit(e);\n }\n }\n\n get open() {\n return this.openDirective.open;\n }\n\n /**\n * Reveals the modal\n */\n reveal() {\n this.openDirective.reveal();\n }\n\n /**\n * Hides the modal\n */\n hide() {\n this.openDirective.hide();\n }\n\n /**\n * Toggles the visibility of the modal\n */\n toggle() {\n this.openDirective.toggle();\n }\n}\n","<ng-template cdkPortalOutlet></ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-modal-actions',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class DaffModalActionsComponent {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-modal-actions') class = true;\n}\n","import {\n Directive,\n HostBinding,\n HostListener,\n Optional,\n} from '@angular/core';\n\nimport { DaffModalComponent } from '../modal/modal.component';\nimport { DaffModalService } from '../service/modal.service';\n\n/**\n * The DaffModalCloseDirective is a helper directive that passes a click\n * event to the button it's used with to close a modal. It needs to be\n * implemented with the `<button>` HTML element to work. This helps to\n * reduce code duplication.\n */\n@Directive({\n selector: 'button[daffModalClose]',\n standalone: true,\n})\n\nexport class DaffModalCloseDirective {\n constructor(\n private modalService: DaffModalService,\n @Optional() private modal: DaffModalComponent,\n ) {}\n\n /**\n * Event fired when the button the directive is attached to is clicked. This is used to close a modal.\n */\n @HostListener('click')\n _onCloseModal(event: MouseEvent) {\n if(this.modal) {\n this.modalService.close(this.modal);\n }\n }\n\n /**\n * Sets the button type attribute to button.\n */\n /**\n * @docs-private\n */\n @HostBinding('attr.type') typeAttribute = 'button';\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n HostBinding,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-modal-content',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class DaffModalContentComponent {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-modal-content') class = true;\n}\n","import { NgIf } from '@angular/common';\nimport {\n Component,\n ViewEncapsulation,\n HostBinding,\n ChangeDetectionStrategy,\n Input,\n} from '@angular/core';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport { faXmark } from '@fortawesome/free-solid-svg-icons';\n\nimport { DaffIconButtonComponent } from '@daffodil/design/button';\n\nimport { DaffModalCloseDirective } from '../modal-close/modal-close.directive';\n\n@Component({\n selector: 'daff-modal-header',\n templateUrl: './modal-header.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgIf,\n DaffIconButtonComponent,\n FaIconComponent,\n DaffModalCloseDirective,\n ],\n})\nexport class DaffModalHeaderComponent {\n faXmark = faXmark;\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-modal-header') class = true;\n\n /**\n * Whether or not a modal is dismissible.\n */\n @Input() dismissible = true;\n}\n","<ng-content select=\"[daffModalTitle]\"></ng-content>\n<ng-container *ngIf=\"dismissible\">\n\t<button daff-icon-button color=\"theme-contrast\"\n\t\tdaffModalClose\n\t\tclass=\"daff-modal-header__dismiss-button\"\n\t\taria-label=\"Close modal\">\n\t\t\t<fa-icon [icon]=\"faXmark\" size=\"lg\"></fa-icon>\n\t</button>\n</ng-container>","import {\n Directive,\n HostBinding,\n Optional,\n} from '@angular/core';\n\nimport { DaffModalComponent } from '../modal/modal.component';\n\nlet modalTitleId = 0;\n\n/**\n * Title of a modal.\n */\n@Directive({\n selector: '[daffModalTitle]',\n standalone: true,\n})\n\nexport class DaffModalTitleDirective {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-modal-title') class = true;\n\n private _id = '';\n\n /**\n * The html `id` of the modal title.\n */\n /**\n * @docs-private\n */\n @HostBinding('attr.id') get uniqueId() {\n return this._id;\n }\n\n constructor(@Optional() private modal: DaffModalComponent) {\n modalTitleId++;\n\n this._id = 'daff-modal-title-' + modalTitleId;\n\n /**\n * Sets the ariaLabelledBy of the modal to the id of the modal title.\n */\n if(this.modal) {\n this.modal.ariaLabelledBy = this.uniqueId;\n }\n }\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\n\nimport { DaffButtonModule } from '@daffodil/design/button';\n\nimport { DaffModalComponent } from './modal/modal.component';\nimport { DaffModalActionsComponent } from './modal-actions/modal-actions.component';\nimport { DaffModalCloseDirective } from './modal-close/modal-close.directive';\nimport { DaffModalContentComponent } from './modal-content/modal-content.component';\nimport { DaffModalHeaderComponent } from './modal-header/modal-header.component';\nimport { DaffModalTitleDirective } from './modal-title/modal-title.directive';\nimport { DaffModalService } from './service/modal.service';\n\n/**\n * @deprecated in favor of {@link DAFF_MODAL_COMPONENTS}. Deprecated in version 0.78.0. Will be removed in version 1.0.0.\n */\n@NgModule({\n imports: [\n CommonModule,\n PortalModule,\n OverlayModule,\n DaffButtonModule,\n FontAwesomeModule,\n\n DaffModalComponent,\n DaffModalHeaderComponent,\n DaffModalTitleDirective,\n DaffModalContentComponent,\n DaffModalActionsComponent,\n DaffModalCloseDirective,\n ],\n exports: [\n DaffModalComponent,\n DaffModalHeaderComponent,\n DaffModalTitleDirective,\n DaffModalContentComponent,\n DaffModalActionsComponent,\n DaffModalCloseDirective,\n ],\n providers: [\n DaffModalService,\n ],\n})\nexport class DaffModalModule { }\n","import { DaffModalActionsComponent } from './modal-actions/modal-actions.component';\nimport { DaffModalCloseDirective } from './modal-close/modal-close.directive';\nimport { DaffModalContentComponent } from './modal-content/modal-content.component';\nimport { DaffModalHeaderComponent } from './modal-header/modal-header.component';\nimport { DaffModalTitleDirective } from './modal-title/modal-title.directive';\n\n/**\n * @docs-private\n */\nexport const DAFF_MODAL_COMPONENTS = <const> [\n DaffModalHeaderComponent,\n DaffModalTitleDirective,\n DaffModalContentComponent,\n DaffModalActionsComponent,\n DaffModalCloseDirective,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffModalService","i2.DaffModalComponent","i1.DaffModalComponent"],"mappings":";;;;;;;;;;;;;;;AASO,MAAM,kBAAkB,GAE3B;AACF,IAAA,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE;QACpB,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACpC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AACtC,QAAA,UAAU,CAAC,iBAAiB,EAAE,OAAO,CAAC,wCAAwC,CAAC,CAAC;KACjF,CAAC;CACH;;ACjBM,MAAM,iBAAiB,GAAG,CAAC,IAAa,KAAK,IAAI,GAAG,MAAM,GAAG,QAAQ;;MCmB/D,gBAAgB,CAAA;AAG3B,IAAA,WAAA,CAAoB,OAAgB,EAAA;QAAhB,IAAO,CAAA,OAAA,GAAP,OAAO;AAFnB,QAAA,IAAA,CAAA,OAAO,GAAuC,IAAI,GAAG,EAAE;QAIvD,IAAoB,CAAA,oBAAA,GAA2B,EAAE;;AAEjD,IAAA,YAAY,CAClB,UAAsB,EAAA;AAEtB,QAAA,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAC7B,IAAI,eAAe,CACjB,kBAAkB,EAClB,SAAS,EACT,QAAQ,CAAC,MAAM,CAAC;AACd,YAAA,SAAS,EAAE,CAAC;AACV,oBAAA,OAAO,EAAE,gBAAgB;AACzB,oBAAA,QAAQ,EAAE,IAAI;iBACf,CAAC;SACH,CAAC,CACH,CACF;AACD,QAAA,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE;AACvB,QAAA,OAAO,KAAK;;IAGN,mBAAmB,CACzB,SAAoB,EACpB,KAAuC,EAAA;QAEvC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC;;IAGtD,iBAAiB,GAAA;AACvB,QAAA,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;AACzB,YAAA,WAAW,EAAE,IAAI;YACjB,gBAAgB,EAAE,IAAI,sBAAsB;AACzC,iBAAA,kBAAkB;AAClB,iBAAA,gBAAgB,EAAE;YACrB,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE;AACtD,SAAA,CAAC;;AAGI,IAAA,YAAY,CAAC,KAAgB,EAAA;AACnC,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;AAC3C,YAAA,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D;;QAGH,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC;AAEzC,QAAA,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE;;IAGzB,IAAI,CACF,SAAoB,EACpB,aAA+C,EAAA;QAE/C,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,oBAAoB,EAAE,GAAG,aAAa,EAAE;AACjE,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QACtC,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC;AAElE,QAAA,IAAI,aAAa,EAAE,cAAc,EAAE;YACjC,MAAM,CAAC,QAAQ,CAAC,cAAc,GAAG,aAAa,CAAC,cAAc;;AAG/D,QAAA,MAAM,KAAK,GAAc;AACvB,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,OAAO,EAAE,IAAI;SACd;AAED,QAAA,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC;QAE7C;AACG,aAAA,aAAa;AACb,aAAA,SAAS,CAAC,MACT,MAAM,CAAC;AACL,cAAE,MAAM,CAAC,iBAAiB;AAC1B,cAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CACrC;AACH,QAAA,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ;;AAG7B,IAAA,KAAK,CAAC,SAA6B,EAAA;QACjC,SAAS,CAAC,IAAI,EAAE;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;AAEzC,QAAA,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE;AAC9B,QAAA,SAAS,CAAC,wBAAwB,CAAC,SAAS,CAC1C,CAAC,CAAiB,KAAK,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAChD;;kIA5FQ,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,OAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;sIAAhB,gBAAgB,EAAA,CAAA,CAAA;;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B;;;MCgCY,kBAAkB,CAAA;AA2B7B;;;;AAIG;AACH;;AAEG;AACH,IAAA,IAAyC,cAAc,GAAA;QACrD,OAAO,IAAI,CAAC,eAAe;;IAC3B,IAAI,cAAc,CAAC,KAAa,EAAA;AAChC,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK;;AAoB9B;;AAEG;IAEH,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC;;AAK/B,IAAA,WAAA,CACU,YAA8B,EAC9B,iBAA+C,EAC/C,UAAmC,EACnC,aAAoC,EAAA;QAHpC,IAAY,CAAA,YAAA,GAAZ,YAAY;QACZ,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB;QACjB,IAAU,CAAA,UAAA,GAAV,UAAU;QACV,IAAa,CAAA,aAAA,GAAb,aAAa;AAvEvB;;AAEG;AACH;;AAEG;QAC8B,IAAU,CAAA,UAAA,GAAG,IAAI;AAElD;;AAEG;AACH;;AAEG;QACuB,IAAI,CAAA,IAAA,GAAG,QAAQ;AAEzC;;AAEG;AACH;;AAEG;QAC6B,IAAS,CAAA,SAAA,GAAG,IAAI;QAExC,IAAe,CAAA,eAAA,GAAG,IAAI;AAqB9B;;AAEG;AACH,QAAA,IAAA,CAAA,kBAAkB,GAAsB,IAAI,YAAY,EAAO;AAE/D;;AAEG;AACH,QAAA,IAAA,CAAA,wBAAwB,GAAsB,IAAI,YAAY,EAE3D;AAkBD,QAAA,IAAI,CAAC,aAAa,CAAC,SAAS,GAAG,KAAK;;AAGtC;;AAEG;IACH,kBAAkB,GAAA;AAChB,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAC7C,IAAI,CAAC,UAAU,CAAC,aAAa,CAC9B;;AAGH;;AAEG;IACH,eAAe,GAAA;AACb,QAAA,MAAM,cAAc,GAAiB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAC9E,6BAA6B,CAC9B;QAED,IAAI,cAAc,EAAE;YAClB,cAAc,CAAC,KAAK,EAAE;;aACjB;;;YAGL,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,GAAG,CAAC;AAC5B,YAAA,IAAI,CAAC,UAAU,CAAC,aAAc,CAAC,KAAK,EAAE;;;AAIxD;;AAEG;AACH,IAAA,aAAa,CAAC,MAA4B,EAAA;QACxC,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,MAAM,CAAC;;;;;;QAOtE,aAAa,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,GAAG,UAAU;AAE/D,QAAA,OAAO,aAAa;;;AAItB;;AAEG;AACH,IAAA,IAA0B,SAAS,GAAA;QACjC,OAAO,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;;AAGnD;;;;;AAKG;AAEH,IAAA,aAAa,CAAC,CAAiB,EAAA;AAC7B,QAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC/B,QAAA,IAAI,CAAC,CAAC,OAAO,KAAK,QAAQ,EAAE;AAC1B,YAAA,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;;;AAIzC,IAAA,IAAI,IAAI,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI;;AAGhC;;AAEG;IACH,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;;AAG7B;;AAEG;IACH,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE;;AAG3B;;AAEG;IACH,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;;kIApKlB,kBAAkB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,4BAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAlB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,kBAAkB,EA4ClB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,YAAA,EAAA,uBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kBAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,WAAA,EAAA,iBAAA,EAAA,gBAAA,EAAA,sBAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,eAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,eAAe,EC9F5B,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,CAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,OAAA,EAAA,CAAA,SAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,+CACA,ED6CI,MAAA,EAAA,CAAA,q5BAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,YAAY,EACZ,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,aAAa,EALH,CAAA,EAAA,UAAA,EAAA,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAQ1B,kBAAkB,EAAA,UAAA,EAAA,CAAA;kBAhB9B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,kBAGN,CAAC;AACf,4BAAA,SAAS,EAAE,qBAAqB;4BAChC,OAAO,EAAE,CAAC,SAAS,CAAC;AACrB,yBAAA,CAAC,EACU,UAAA,EAAA,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAC5B,OAAA,EAAA;wBACP,YAAY;wBACZ,aAAa;AACd,qBAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,q5BAAA,CAAA,EAAA;0LASgC,UAAU,EAAA,CAAA;sBAA1C,WAAW;uBAAC,kBAAkB;gBAQL,IAAI,EAAA,CAAA;sBAA7B,WAAW;uBAAC,WAAW;gBAQQ,SAAS,EAAA,CAAA;sBAAxC,WAAW;uBAAC,iBAAiB;gBAYW,cAAc,EAAA,CAAA;sBAAtD,WAAW;uBAAC,sBAAsB;gBASmB,aAAa,EAAA,CAAA;sBAAlE,SAAS;AAAC,gBAAA,IAAA,EAAA,CAAA,eAAe,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE;gBAkB5C,QAAQ,EAAA,CAAA;sBADP,YAAY;uBAAC,gBAAgB;gBA+DJ,SAAS,EAAA,CAAA;sBAAlC,WAAW;uBAAC,OAAO;gBAWpB,aAAa,EAAA,CAAA;sBADZ,YAAY;uBAAC,YAAY,EAAE,CAAC,QAAQ,CAAC;;;ME5K3B,yBAAyB,CAAA;AANtC,IAAA,WAAA,GAAA;AAOE;;AAEG;QACsC,IAAK,CAAA,KAAA,GAAG,IAAI;AACtD;kIALY,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,kJAJ1B,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAI1B,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE,2BAA2B;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;8BAK0C,KAAK,EAAA,CAAA;sBAA7C,WAAW;uBAAC,0BAA0B;;;ACNzC;;;;;AAKG;MAMU,uBAAuB,CAAA;IAClC,WACU,CAAA,YAA8B,EAClB,KAAyB,EAAA;QADrC,IAAY,CAAA,YAAA,GAAZ,YAAY;QACA,IAAK,CAAA,KAAA,GAAL,KAAK;AAa3B;;AAEG;AACH;;AAEG;QACuB,IAAa,CAAA,aAAA,GAAG,QAAQ;;AAhBlD;;AAEG;AAEH,IAAA,aAAa,CAAC,KAAiB,EAAA;AAC7B,QAAA,IAAG,IAAI,CAAC,KAAK,EAAE;YACb,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;;;kIAZ5B,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sHAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,oBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,wBAAwB;AAClC,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;0BAKI;yCAOH,aAAa,EAAA,CAAA;sBADZ,YAAY;uBAAC,OAAO;gBAaK,aAAa,EAAA,CAAA;sBAAtC,WAAW;uBAAC,WAAW;;;MC/Bb,yBAAyB,CAAA;AANtC,IAAA,WAAA,GAAA;AAOE;;AAEG;QACsC,IAAK,CAAA,KAAA,GAAG,IAAI;AACtD;kIALY,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAzB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,yBAAyB,kJAJ1B,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAI1B,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBANrC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,QAAQ,EAAE,2BAA2B;oBACrC,eAAe,EAAE,uBAAuB,CAAC,MAAM;AAC/C,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;8BAK0C,KAAK,EAAA,CAAA;sBAA7C,WAAW;uBAAC,0BAA0B;;;MCW5B,wBAAwB,CAAA;AAZrC,IAAA,WAAA,GAAA;QAaE,IAAO,CAAA,OAAA,GAAG,OAAO;AAEjB;;AAEG;QACqC,IAAK,CAAA,KAAA,GAAG,IAAI;AAEpD;;AAEG;QACM,IAAW,CAAA,WAAA,GAAG,IAAI;AAC5B;kIAZY,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sHAAxB,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,yBAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3BrC,gVAQe,EDaX,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,IAAI,6FACJ,uBAAuB,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACvB,eAAe,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,OAAA,EAAA,WAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,QAAA,EAAA,QAAA,EAAA,YAAA,EAAA,WAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACf,uBAAuB,EAAA,QAAA,EAAA,wBAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAGd,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBAZpC,SAAS;+BACE,mBAAmB,EAAA,aAAA,EAEd,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM,EACtC,OAAA,EAAA;wBACP,IAAI;wBACJ,uBAAuB;wBACvB,eAAe;wBACf,uBAAuB;AACxB,qBAAA,EAAA,QAAA,EAAA,gVAAA,EAAA;8BAQuC,KAAK,EAAA,CAAA;sBAA5C,WAAW;uBAAC,yBAAyB;gBAK7B,WAAW,EAAA,CAAA;sBAAnB;;;AE9BH,IAAI,YAAY,GAAG,CAAC;AAEpB;;AAEG;MAMU,uBAAuB,CAAA;AAQlC;;AAEG;AACH;;AAEG;AACH,IAAA,IAA4B,QAAQ,GAAA;QAClC,OAAO,IAAI,CAAC,GAAG;;AAGjB,IAAA,WAAA,CAAgC,KAAyB,EAAA;QAAzB,IAAK,CAAA,KAAA,GAAL,KAAK;AAjBrC;;AAEG;QACoC,IAAK,CAAA,KAAA,GAAG,IAAI;QAE3C,IAAG,CAAA,GAAA,GAAG,EAAE;AAad,QAAA,YAAY,EAAE;AAEd,QAAA,IAAI,CAAC,GAAG,GAAG,mBAAmB,GAAG,YAAY;AAE7C;;AAEG;AACH,QAAA,IAAG,IAAI,CAAC,KAAK,EAAE;YACb,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ;;;kIA3BlC,uBAAuB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAC,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sHAAvB,uBAAuB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,wBAAA,EAAA,YAAA,EAAA,SAAA,EAAA,eAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBALnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;;0BAoBc;yCAd0B,KAAK,EAAA,CAAA;sBAA3C,WAAW;uBAAC,wBAAwB;gBAUT,QAAQ,EAAA,CAAA;sBAAnC,WAAW;uBAAC,SAAS;;;AChBxB;;AAEG;MA4BU,eAAe,CAAA;kIAAf,eAAe,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAf,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,YAzBxB,YAAY;YACZ,YAAY;YACZ,aAAa;YACb,gBAAgB;YAChB,iBAAiB;YAEjB,kBAAkB;YAClB,wBAAwB;YACxB,uBAAuB;YACvB,yBAAyB;YACzB,yBAAyB;AACzB,YAAA,uBAAuB,aAGvB,kBAAkB;YAClB,wBAAwB;YACxB,uBAAuB;YACvB,yBAAyB;YACzB,yBAAyB;YACzB,uBAAuB,CAAA,EAAA,CAAA,CAAA;AAMd,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,EAJf,SAAA,EAAA;YACT,gBAAgB;AACjB,SAAA,EAAA,OAAA,EAAA,CAvBC,YAAY;YACZ,YAAY;YACZ,aAAa;YACb,gBAAgB;YAChB,iBAAiB;YAEjB,kBAAkB;YAClB,wBAAwB,CAAA,EAAA,CAAA,CAAA;;4FAkBf,eAAe,EAAA,UAAA,EAAA,CAAA;kBA3B3B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,YAAY;wBACZ,aAAa;wBACb,gBAAgB;wBAChB,iBAAiB;wBAEjB,kBAAkB;wBAClB,wBAAwB;wBACxB,uBAAuB;wBACvB,yBAAyB;wBACzB,yBAAyB;wBACzB,uBAAuB;AACxB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,kBAAkB;wBAClB,wBAAwB;wBACxB,uBAAuB;wBACvB,yBAAyB;wBACzB,yBAAyB;wBACzB,uBAAuB;AACxB,qBAAA;AACD,oBAAA,SAAS,EAAE;wBACT,gBAAgB;AACjB,qBAAA;AACF,iBAAA;;;ACvCD;;AAEG;AACU,MAAA,qBAAqB,GAAW;IAC3C,wBAAwB;IACxB,uBAAuB;IACvB,yBAAyB;IACzB,yBAAyB;IACzB,uBAAuB;;;ACdzB;;AAEG;;;;"}
|
1
|
+
{"version":3,"file":"daffodil-design-modal.mjs","sources":["../../../libs/design/modal/src/animations/modal-animation.ts","../../../libs/design/modal/src/animations/modal-animation-state.ts","../../../libs/design/modal/src/service/modal.service.ts","../../../libs/design/modal/src/modal/modal.component.ts","../../../libs/design/modal/src/modal/modal.component.html","../../../libs/design/modal/src/modal-actions/modal-actions.component.ts","../../../libs/design/modal/src/modal-close/modal-close.directive.ts","../../../libs/design/modal/src/modal-content/modal-content.component.ts","../../../libs/design/modal/src/modal-header/modal-header.component.ts","../../../libs/design/modal/src/modal-header/modal-header.component.html","../../../libs/design/modal/src/modal-title/modal-title.directive.ts","../../../libs/design/modal/src/modal.module.ts","../../../libs/design/modal/src/modal.ts","../../../libs/design/modal/src/daffodil-design-modal.ts"],"sourcesContent":["import {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n} from '@angular/animations';\n\nexport const daffFadeAnimations: {\n readonly fade: AnimationTriggerMetadata;\n} = {\n fade: trigger('fade', [\n state('open', style({ opacity: 1 })),\n state('closed', style({ opacity: 0 })),\n transition('open <=> closed', animate('400ms cubic-bezier(0.25, 0.8, 0.25, 1)')),\n ]),\n};\n","export const getAnimationState = (open: boolean) => open ? 'open' : 'closed';\n","import { AnimationEvent } from '@angular/animations';\nimport {\n OverlayRef,\n Overlay,\n GlobalPositionStrategy,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n Injectable,\n Type,\n ComponentRef,\n Injector,\n} from '@angular/core';\n\nimport { DaffModal } from '../modal/modal';\nimport { DaffModalConfiguration } from '../modal/modal-config';\nimport { DaffModalComponent } from '../modal/modal.component';\n\n@Injectable()\nexport class DaffModalService {\n private _modals: Map<DaffModalComponent, DaffModal> = new Map();\n\n constructor(private overlay: Overlay) { }\n\n private defaultConfiguration: DaffModalConfiguration = {};\n\n private _attachModal(\n overlayRef: OverlayRef,\n ): ComponentRef<DaffModalComponent> {\n const modal = overlayRef.attach(\n new ComponentPortal(\n DaffModalComponent,\n undefined,\n Injector.create({\n providers: [{\n provide: DaffModalService,\n useValue: this,\n }],\n }),\n ),\n );\n modal.instance.reveal();\n return modal;\n }\n\n private _attachModalContent(\n component: Type<any>,\n modal: ComponentRef<DaffModalComponent>,\n ): void {\n modal.instance.attachContent(new ComponentPortal(component));\n }\n\n private _createOverlayRef(): OverlayRef {\n return this.overlay.create({\n hasBackdrop: true,\n positionStrategy: new GlobalPositionStrategy()\n .centerHorizontally()\n .centerVertically(),\n scrollStrategy: this.overlay.scrollStrategies.block(),\n });\n }\n\n private _removeModal(modal: DaffModal) {\n if (!this._modals.has(modal.modal.instance)) {\n throw new Error(\n 'The Modal that you are trying to remove does not exist.',\n );\n }\n\n this._modals.delete(modal.modal.instance);\n\n modal.overlay.dispose();\n }\n\n open(\n component: Type<any>,\n configuration?: Partial<DaffModalConfiguration>,\n ): DaffModalComponent {\n const config = { ...this.defaultConfiguration, ...configuration };\n const _ref = this._createOverlayRef();\n const _modal = this._attachModal(_ref);\n const _attachedModal = this._attachModalContent(component, _modal);\n\n if (configuration?.ariaLabelledBy) {\n _modal.instance.ariaLabelledBy = configuration.ariaLabelledBy;\n }\n\n const modal: DaffModal = {\n modal: _modal,\n overlay: _ref,\n };\n\n this._modals.set(modal.modal.instance, modal);\n\n _ref\n .backdropClick()\n .subscribe(() =>\n config.onBackdropClicked\n ? config.onBackdropClicked()\n : this.close(modal.modal.instance),\n );\n return modal.modal.instance;\n }\n\n close(component: DaffModalComponent): void {\n component.hide();\n const modal = this._modals.get(component);\n\n modal.overlay.detachBackdrop();\n component.closedAnimationCompleted.subscribe(\n (e: AnimationEvent) => this._removeModal(modal),\n );\n }\n}\n","import { AnimationEvent } from '@angular/animations';\nimport {\n ConfigurableFocusTrap,\n ConfigurableFocusTrapFactory,\n} from '@angular/cdk/a11y';\nimport { OverlayModule } from '@angular/cdk/overlay';\nimport {\n CdkPortalOutlet,\n ComponentPortal,\n PortalModule,\n} from '@angular/cdk/portal';\nimport {\n Component,\n EventEmitter,\n HostBinding,\n ChangeDetectionStrategy,\n ViewChild,\n HostListener,\n ElementRef,\n AfterContentInit,\n AfterViewInit,\n ViewEncapsulation,\n ChangeDetectorRef,\n} from '@angular/core';\n\nimport {\n DaffOpenable,\n DaffOpenableDirective,\n DaffFocusStackService,\n} from '@daffodil/design';\nimport { daffFocusableElementsSelector } from '@daffodil/design';\n\nimport { daffFadeAnimations } from '../animations/modal-animation';\nimport { getAnimationState } from '../animations/modal-animation-state';\nimport { DaffModalService } from '../service/modal.service';\n\n@Component({\n selector: 'daff-modal',\n templateUrl: './modal.component.html',\n styleUrls: ['./modal.component.scss'],\n hostDirectives: [{\n directive: DaffOpenableDirective,\n outputs: ['toggled'],\n }],\n animations: [daffFadeAnimations.fade],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [\n PortalModule,\n OverlayModule,\n ],\n})\nexport class DaffModalComponent implements AfterContentInit, AfterViewInit, DaffOpenable {\n /**\n * Sets a class of .daff-modal to the host element.\n */\n /**\n * @docs-private\n */\n @HostBinding('class.daff-modal') modalClass = true;\n\n /**\n * Sets the role to dialog.\n */\n /**\n * @docs-private\n */\n @HostBinding('attr.role') role = 'dialog';\n\n /**\n * Sets aria-modal to true.\n */\n /**\n * @docs-private\n */\n @HostBinding('attr.aria-modal') ariaModal = true;\n\n private _ariaLabelledBy = null;\n\n /**\n * The aria-labelledby for the modal. This is set by the id of\n * {@link DaffModalTitleDirective} when it is used.\n *\n */\n /**\n * @docs-private\n */\n @HostBinding('attr.aria-labelledby') get ariaLabelledBy() {\n return this._ariaLabelledBy;\n } set ariaLabelledBy(value: string) {\n this._ariaLabelledBy = value;\n }\n\n /**\n * The CDK Portal outlet used to portal content into the modal.\n */\n @ViewChild(CdkPortalOutlet, { static: true }) private _portalOutlet: CdkPortalOutlet;\n\n /**\n * Event fired when the close animation is completed.\n */\n animationCompleted: EventEmitter<any> = new EventEmitter<any>();\n\n /**\n * Event fired when the close animation is completed.\n */\n closedAnimationCompleted: EventEmitter<any> = new EventEmitter<\n any\n >();\n\n /**\n * @docs-private\n */\n @HostListener('keydown.escape')\n onEscape() {\n this.modalService.close(this);\n }\n\n private _focusTrap: ConfigurableFocusTrap;\n\n constructor(\n private modalService: DaffModalService,\n private _focusTrapFactory: ConfigurableFocusTrapFactory,\n private elementRef: ElementRef<HTMLElement>,\n private openDirective: DaffOpenableDirective,\n private _focusStack: DaffFocusStackService,\n private changeDetector: ChangeDetectorRef,\n ) {\n this.openDirective.stateless = false;\n }\n\n /**\n * @docs-private\n */\n ngAfterContentInit() {\n this._focusTrap = this._focusTrapFactory.create(\n this.elementRef.nativeElement,\n );\n this._focusStack.push();\n }\n\n /**\n * @docs-private\n */\n ngAfterViewInit() {\n const focusableChild = (<HTMLElement>this.elementRef.nativeElement.querySelector(\n daffFocusableElementsSelector)\n );\n\n if (focusableChild) {\n focusableChild.focus();\n } else {\n // There's a timing condition when computing HostBindings afterContentInit\n // so to allow the menu to be focused, we manually set the tabindex.\n this.elementRef.nativeElement.tabIndex = 0;\n (<HTMLElement>this.elementRef.nativeElement).focus();\n }\n }\n\n /**\n * Helper method to attach portable content to modal.\n */\n attachContent(portal: ComponentPortal<any>): any {\n const attachContent = this._portalOutlet.attachComponentPortal(portal);\n\n return attachContent;\n }\n\n /** Animation hook that controls the entrance and exit animations of the modal. */\n /**\n * @docs-private\n */\n @HostBinding('@fade') get fadeState(): string {\n return getAnimationState(this.openDirective.open);\n }\n\n /**\n * Animation event that can used to hook into when\n * animations are fully completed. We use this in the DaffModalService\n * to determine when to actually remove the dynamically rendered element from the DOM\n * so that the animation does not clip as the element is removed.\n */\n @HostListener('@fade.done', ['$event'])\n animationDone(e: AnimationEvent) {\n this.animationCompleted.emit(e);\n if (e.toState === 'closed') {\n this._focusStack.pop();\n this.closedAnimationCompleted.emit(e);\n }\n }\n\n get open() {\n return this.openDirective.open;\n }\n\n /**\n * Reveals the modal\n */\n reveal() {\n this.openDirective.reveal();\n this.changeDetector.markForCheck();\n }\n\n /**\n * Hides the modal\n */\n hide() {\n this.openDirective.hide();\n this.changeDetector.markForCheck();\n }\n\n /**\n * Toggles the visibility of the modal\n */\n toggle() {\n this.openDirective.toggle();\n this.changeDetector.markForCheck();\n }\n}\n","<ng-template cdkPortalOutlet></ng-template>\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-modal-actions',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class DaffModalActionsComponent {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-modal-actions') class = true;\n}\n","import {\n Directive,\n HostBinding,\n HostListener,\n Optional,\n} from '@angular/core';\n\nimport { DaffModalComponent } from '../modal/modal.component';\nimport { DaffModalService } from '../service/modal.service';\n\n/**\n * The DaffModalCloseDirective is a helper directive that passes a click\n * event to the button it's used with to close a modal. It needs to be\n * implemented with the `<button>` HTML element to work. This helps to\n * reduce code duplication.\n */\n@Directive({\n selector: 'button[daffModalClose]',\n standalone: true,\n})\n\nexport class DaffModalCloseDirective {\n constructor(\n private modalService: DaffModalService,\n @Optional() private modal: DaffModalComponent,\n ) {}\n\n /**\n * Event fired when the button the directive is attached to is clicked. This is used to close a modal.\n */\n @HostListener('click')\n _onCloseModal(event: MouseEvent) {\n if(this.modal) {\n this.modalService.close(this.modal);\n }\n }\n\n /**\n * Sets the button type attribute to button.\n */\n /**\n * @docs-private\n */\n @HostBinding('attr.type') typeAttribute = 'button';\n}\n","import {\n Component,\n ChangeDetectionStrategy,\n HostBinding,\n} from '@angular/core';\n\n@Component({\n selector: 'daff-modal-content',\n template: '<ng-content></ng-content>',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class DaffModalContentComponent {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-modal-content') class = true;\n}\n","import { NgIf } from '@angular/common';\nimport {\n Component,\n ViewEncapsulation,\n HostBinding,\n ChangeDetectionStrategy,\n Input,\n} from '@angular/core';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport { faXmark } from '@fortawesome/free-solid-svg-icons';\n\nimport { DaffIconButtonComponent } from '@daffodil/design/button';\n\nimport { DaffModalCloseDirective } from '../modal-close/modal-close.directive';\n\n@Component({\n selector: 'daff-modal-header',\n templateUrl: './modal-header.component.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgIf,\n DaffIconButtonComponent,\n FaIconComponent,\n DaffModalCloseDirective,\n ],\n})\nexport class DaffModalHeaderComponent {\n faXmark = faXmark;\n\n /**\n * @docs-private\n */\n @HostBinding('class.daff-modal-header') class = true;\n\n /**\n * Whether or not a modal is dismissible.\n */\n @Input() dismissible = true;\n}\n","<ng-content select=\"[daffModalTitle]\"></ng-content>\n<ng-container *ngIf=\"dismissible\">\n\t<button daff-icon-button color=\"theme-contrast\"\n\t\tdaffModalClose\n\t\tclass=\"daff-modal-header__dismiss-button\"\n\t\taria-label=\"Close modal\">\n\t\t\t<fa-icon [icon]=\"faXmark\" size=\"lg\"></fa-icon>\n\t</button>\n</ng-container>","import {\n Directive,\n HostBinding,\n Optional,\n} from '@angular/core';\n\nimport { DaffModalComponent } from '../modal/modal.component';\n\nlet modalTitleId = 0;\n\n/**\n * Title of a modal.\n */\n@Directive({\n selector: '[daffModalTitle]',\n standalone: true,\n})\n\nexport class DaffModalTitleDirective {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-modal-title') class = true;\n\n private _id = '';\n\n /**\n * The html `id` of the modal title.\n */\n /**\n * @docs-private\n */\n @HostBinding('attr.id') get uniqueId() {\n return this._id;\n }\n\n constructor(@Optional() private modal: DaffModalComponent) {\n modalTitleId++;\n\n this._id = 'daff-modal-title-' + modalTitleId;\n\n /**\n * Sets the ariaLabelledBy of the modal to the id of the modal title.\n */\n if(this.modal) {\n this.modal.ariaLabelledBy = this.uniqueId;\n }\n }\n}\n","import { OverlayModule } from '@angular/cdk/overlay';\nimport { PortalModule } from '@angular/cdk/portal';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\n\nimport { DaffButtonModule } from '@daffodil/design/button';\n\nimport { DaffModalComponent } from './modal/modal.component';\nimport { DaffModalActionsComponent } from './modal-actions/modal-actions.component';\nimport { DaffModalCloseDirective } from './modal-close/modal-close.directive';\nimport { DaffModalContentComponent } from './modal-content/modal-content.component';\nimport { DaffModalHeaderComponent } from './modal-header/modal-header.component';\nimport { DaffModalTitleDirective } from './modal-title/modal-title.directive';\nimport { DaffModalService } from './service/modal.service';\n\n/**\n * @deprecated in favor of {@link DAFF_MODAL_COMPONENTS}. Deprecated in version 0.78.0. Will be removed in version 1.0.0.\n */\n@NgModule({\n imports: [\n CommonModule,\n PortalModule,\n OverlayModule,\n DaffButtonModule,\n FontAwesomeModule,\n\n DaffModalComponent,\n DaffModalHeaderComponent,\n DaffModalTitleDirective,\n DaffModalContentComponent,\n DaffModalActionsComponent,\n DaffModalCloseDirective,\n ],\n exports: [\n DaffModalComponent,\n DaffModalHeaderComponent,\n DaffModalTitleDirective,\n DaffModalContentComponent,\n DaffModalActionsComponent,\n DaffModalCloseDirective,\n ],\n providers: [\n DaffModalService,\n ],\n})\nexport class DaffModalModule { }\n","import { DaffModalActionsComponent } from './modal-actions/modal-actions.component';\nimport { DaffModalCloseDirective } from './modal-close/modal-close.directive';\nimport { DaffModalContentComponent } from './modal-content/modal-content.component';\nimport { DaffModalHeaderComponent } from './modal-header/modal-header.component';\nimport { DaffModalTitleDirective } from './modal-title/modal-title.directive';\n\n/**\n * @docs-private\n */\nexport const DAFF_MODAL_COMPONENTS = <const> [\n DaffModalHeaderComponent,\n DaffModalTitleDirective,\n DaffModalContentComponent,\n DaffModalActionsComponent,\n DaffModalCloseDirective,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.DaffModalService","i2.DaffModalComponent","i1.DaffModalComponent"],"mappings":"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"}
|