@daffodil/design 0.85.0 → 0.86.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.
Files changed (60) hide show
  1. package/atoms/form/error-message/error-message.component.d.ts +6 -0
  2. package/atoms/form/form-field/form-field/form-field.component.d.ts +83 -13
  3. package/atoms/form/form-field/form-field-control.d.ts +2 -0
  4. package/atoms/form/form-field/form-field.d.ts +2 -1
  5. package/atoms/form/form-field/label/label.directive.d.ts +5 -0
  6. package/atoms/form/form-field/public_api.d.ts +1 -0
  7. package/atoms/form/form-label/form-label.directive.d.ts +3 -0
  8. package/atoms/form/hint/hint.component.d.ts +1 -1
  9. package/button/README.md +3 -3
  10. package/button/button/button-base.directive.d.ts +1 -2
  11. package/button/src/button/button-base.scss +0 -18
  12. package/core/compactable/compactable.directive.d.ts +3 -0
  13. package/core/openable/openable.directive.d.ts +1 -1
  14. package/core/selectable/selectable.directive.d.ts +3 -1
  15. package/core/sizable/sizable.directive.d.ts +2 -2
  16. package/core/skeletonable/public_api.d.ts +0 -1
  17. package/core/skeletonable/skeletonable.directive.d.ts +3 -0
  18. package/core/text-alignable/text-alignable.directive.d.ts +9 -5
  19. package/fesm2022/daffodil-design-article.mjs +2 -2
  20. package/fesm2022/daffodil-design-breadcrumb.mjs +2 -2
  21. package/fesm2022/daffodil-design-breadcrumb.mjs.map +1 -1
  22. package/fesm2022/daffodil-design-button-examples.mjs +12 -12
  23. package/fesm2022/daffodil-design-button-examples.mjs.map +1 -1
  24. package/fesm2022/daffodil-design-button.mjs +15 -39
  25. package/fesm2022/daffodil-design-button.mjs.map +1 -1
  26. package/fesm2022/daffodil-design-image.mjs +2 -2
  27. package/fesm2022/daffodil-design-image.mjs.map +1 -1
  28. package/fesm2022/daffodil-design-input-examples.mjs +10 -10
  29. package/fesm2022/daffodil-design-input-examples.mjs.map +1 -1
  30. package/fesm2022/daffodil-design-input.mjs +48 -5
  31. package/fesm2022/daffodil-design-input.mjs.map +1 -1
  32. package/fesm2022/daffodil-design-media-gallery.mjs +2 -2
  33. package/fesm2022/daffodil-design-media-gallery.mjs.map +1 -1
  34. package/fesm2022/daffodil-design-quantity-field-examples.mjs +4 -4
  35. package/fesm2022/daffodil-design-quantity-field-examples.mjs.map +1 -1
  36. package/fesm2022/daffodil-design-toast-examples.mjs +0 -59
  37. package/fesm2022/daffodil-design-toast-examples.mjs.map +1 -1
  38. package/fesm2022/daffodil-design-toast.mjs +52 -40
  39. package/fesm2022/daffodil-design-toast.mjs.map +1 -1
  40. package/fesm2022/daffodil-design.mjs +228 -98
  41. package/fesm2022/daffodil-design.mjs.map +1 -1
  42. package/input/input.component.d.ts +21 -5
  43. package/package.json +1 -1
  44. package/scss/state/skeleton/_mixins.scss +4 -1
  45. package/scss/theming/contrast/luminance/luminance.scss +3 -3
  46. package/src/atoms/form/form-field/form-field/form-field-theme.scss +7 -2
  47. package/toast/README.md +21 -1
  48. package/toast/examples/public_api.d.ts +1 -2
  49. package/toast/helpers/toast-position.d.ts +8 -0
  50. package/toast/interfaces/toast-options.d.ts +19 -0
  51. package/toast/interfaces/toast.d.ts +1 -1
  52. package/toast/public_api.d.ts +2 -2
  53. package/toast/service/position-strategy.d.ts +1 -1
  54. package/toast/service/position.service.d.ts +1 -1
  55. package/toast/service/toast.service.d.ts +1 -1
  56. package/toast/toast/toast-provider.d.ts +16 -4
  57. package/toast/toast/toast-template.component.d.ts +1 -1
  58. package/core/skeletonable/skeletonable.d.ts +0 -6
  59. package/toast/examples/toast-positions/toast-positions.component.d.ts +0 -20
  60. package/toast/options/daff-toast-options.d.ts +0 -14
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-design-quantity-field-examples.mjs","sources":["../../../libs/design/quantity-field/examples/src/basic-quantity-field/basic-quantity-field.component.ts","../../../libs/design/quantity-field/examples/src/basic-quantity-field/basic-quantity-field.component.html","../../../libs/design/quantity-field/examples/src/custom-range-quantity-field/custom-range-quantity-field.component.ts","../../../libs/design/quantity-field/examples/src/custom-range-quantity-field/custom-range-quantity-field.component.html","../../../libs/design/quantity-field/examples/src/disabled-quantity-field/disabled-quantity-field.component.ts","../../../libs/design/quantity-field/examples/src/disabled-quantity-field/disabled-quantity-field.component.html","../../../libs/design/quantity-field/examples/src/select-max-quantity-field/select-max-quantity-field.component.ts","../../../libs/design/quantity-field/examples/src/select-max-quantity-field/select-max-quantity-field.component.html","../../../libs/design/quantity-field/examples/src/public_api.ts","../../../libs/design/quantity-field/examples/src/daffodil-design-quantity-field-examples.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\nimport {\n UntypedFormControl,\n ReactiveFormsModule,\n} from '@angular/forms';\n\nimport { DAFF_FORM_FIELD_COMPONENTS } from '@daffodil/design';\nimport { DaffQuantityFieldComponent } from '@daffodil/design/quantity-field';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'basic-quantity-field',\n templateUrl: './basic-quantity-field.component.html',\n styleUrls: ['./basic-quantity-field.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DAFF_FORM_FIELD_COMPONENTS,\n DaffQuantityFieldComponent,\n ReactiveFormsModule,\n ],\n})\nexport class BasicQuantityFieldComponent {\n control = new UntypedFormControl(1);\n}\n","<daff-form-field>\n <daff-quantity-field [formControl]=\"control\"></daff-quantity-field>\n</daff-form-field>\n\n<p>\n Control Value: {{control.value}}\n</p>\n","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\nimport {\n UntypedFormControl,\n ReactiveFormsModule,\n} from '@angular/forms';\n\nimport { DAFF_FORM_FIELD_COMPONENTS } from '@daffodil/design';\nimport { DaffQuantityFieldComponent } from '@daffodil/design/quantity-field';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'custom-range-quantity-field',\n templateUrl: './custom-range-quantity-field.component.html',\n styleUrls: ['./custom-range-quantity-field.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DAFF_FORM_FIELD_COMPONENTS,\n DaffQuantityFieldComponent,\n ReactiveFormsModule,\n ],\n})\nexport class CustomRangeQuantityFieldComponent {\n control = new UntypedFormControl(5);\n}\n","<daff-form-field>\n <daff-quantity-field\n [formControl]=\"control\"\n [min]=\"5\"\n [max]=\"50\"\n ></daff-quantity-field>\n</daff-form-field>\n\n<p>\n Control Value: {{control.value}}\n</p>\n","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\nimport {\n UntypedFormControl,\n ReactiveFormsModule,\n} from '@angular/forms';\n\nimport { DAFF_FORM_FIELD_COMPONENTS } from '@daffodil/design';\nimport { DaffQuantityFieldComponent } from '@daffodil/design/quantity-field';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'disabled-quantity-field',\n templateUrl: './disabled-quantity-field.component.html',\n styleUrls: ['./disabled-quantity-field.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DAFF_FORM_FIELD_COMPONENTS,\n DaffQuantityFieldComponent,\n ReactiveFormsModule,\n ],\n})\nexport class DisabledQuantityFieldComponent {\n control = new UntypedFormControl({ value : '1', disabled: true });\n}\n","<daff-form-field>\n <daff-quantity-field [formControl]=\"control\"></daff-quantity-field>\n</daff-form-field>\n\n<p>\n Control Value: {{control.value}}\n</p>\n","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\nimport {\n UntypedFormControl,\n ReactiveFormsModule,\n} from '@angular/forms';\n\nimport { DAFF_FORM_FIELD_COMPONENTS } from '@daffodil/design';\nimport { DaffQuantityFieldComponent } from '@daffodil/design/quantity-field';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'select-max-quantity-field',\n templateUrl: './select-max-quantity-field.component.html',\n styleUrls: ['./select-max-quantity-field.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DAFF_FORM_FIELD_COMPONENTS,\n DaffQuantityFieldComponent,\n ReactiveFormsModule,\n ],\n})\nexport class SelectMaxQuantityFieldComponent {\n control = new UntypedFormControl(1);\n}\n","<daff-form-field>\n <daff-quantity-field\n [formControl]=\"control\"\n [selectMax]=\"15\"\n ></daff-quantity-field>\n</daff-form-field>\n\n<p>\n Control Value: {{control.value}}\n</p>\n","import { BasicQuantityFieldComponent } from './basic-quantity-field/basic-quantity-field.component';\nimport { CustomRangeQuantityFieldComponent } from './custom-range-quantity-field/custom-range-quantity-field.component';\nimport { DisabledQuantityFieldComponent } from './disabled-quantity-field/disabled-quantity-field.component';\nimport { SelectMaxQuantityFieldComponent } from './select-max-quantity-field/select-max-quantity-field.component';\n\n\nexport const QUANTITY_FIELD_EXAMPLES = [\n BasicQuantityFieldComponent,\n CustomRangeQuantityFieldComponent,\n DisabledQuantityFieldComponent,\n SelectMaxQuantityFieldComponent,\n];\n\nexport {\n BasicQuantityFieldComponent,\n CustomRangeQuantityFieldComponent,\n DisabledQuantityFieldComponent,\n SelectMaxQuantityFieldComponent,\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daffodil-design-quantity-field-examples.mjs","sources":["../../../libs/design/quantity-field/examples/src/basic-quantity-field/basic-quantity-field.component.ts","../../../libs/design/quantity-field/examples/src/basic-quantity-field/basic-quantity-field.component.html","../../../libs/design/quantity-field/examples/src/custom-range-quantity-field/custom-range-quantity-field.component.ts","../../../libs/design/quantity-field/examples/src/custom-range-quantity-field/custom-range-quantity-field.component.html","../../../libs/design/quantity-field/examples/src/disabled-quantity-field/disabled-quantity-field.component.ts","../../../libs/design/quantity-field/examples/src/disabled-quantity-field/disabled-quantity-field.component.html","../../../libs/design/quantity-field/examples/src/select-max-quantity-field/select-max-quantity-field.component.ts","../../../libs/design/quantity-field/examples/src/select-max-quantity-field/select-max-quantity-field.component.html","../../../libs/design/quantity-field/examples/src/public_api.ts","../../../libs/design/quantity-field/examples/src/daffodil-design-quantity-field-examples.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\nimport {\n UntypedFormControl,\n ReactiveFormsModule,\n} from '@angular/forms';\n\nimport { DAFF_FORM_FIELD_COMPONENTS } from '@daffodil/design';\nimport { DaffQuantityFieldComponent } from '@daffodil/design/quantity-field';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'basic-quantity-field',\n templateUrl: './basic-quantity-field.component.html',\n styleUrls: ['./basic-quantity-field.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DAFF_FORM_FIELD_COMPONENTS,\n DaffQuantityFieldComponent,\n ReactiveFormsModule,\n ],\n})\nexport class BasicQuantityFieldComponent {\n control = new UntypedFormControl(1);\n}\n","<daff-form-field>\n <daff-quantity-field [formControl]=\"control\"></daff-quantity-field>\n</daff-form-field>\n\n<p>\n Control Value: {{control.value}}\n</p>\n","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\nimport {\n UntypedFormControl,\n ReactiveFormsModule,\n} from '@angular/forms';\n\nimport { DAFF_FORM_FIELD_COMPONENTS } from '@daffodil/design';\nimport { DaffQuantityFieldComponent } from '@daffodil/design/quantity-field';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'custom-range-quantity-field',\n templateUrl: './custom-range-quantity-field.component.html',\n styleUrls: ['./custom-range-quantity-field.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DAFF_FORM_FIELD_COMPONENTS,\n DaffQuantityFieldComponent,\n ReactiveFormsModule,\n ],\n})\nexport class CustomRangeQuantityFieldComponent {\n control = new UntypedFormControl(5);\n}\n","<daff-form-field>\n <daff-quantity-field\n [formControl]=\"control\"\n [min]=\"5\"\n [max]=\"50\"\n ></daff-quantity-field>\n</daff-form-field>\n\n<p>\n Control Value: {{control.value}}\n</p>\n","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\nimport {\n UntypedFormControl,\n ReactiveFormsModule,\n} from '@angular/forms';\n\nimport { DAFF_FORM_FIELD_COMPONENTS } from '@daffodil/design';\nimport { DaffQuantityFieldComponent } from '@daffodil/design/quantity-field';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'disabled-quantity-field',\n templateUrl: './disabled-quantity-field.component.html',\n styleUrls: ['./disabled-quantity-field.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DAFF_FORM_FIELD_COMPONENTS,\n DaffQuantityFieldComponent,\n ReactiveFormsModule,\n ],\n})\nexport class DisabledQuantityFieldComponent {\n control = new UntypedFormControl({ value : '1', disabled: true });\n}\n","<daff-form-field>\n <daff-quantity-field [formControl]=\"control\"></daff-quantity-field>\n</daff-form-field>\n\n<p>\n Control Value: {{control.value}}\n</p>\n","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\nimport {\n UntypedFormControl,\n ReactiveFormsModule,\n} from '@angular/forms';\n\nimport { DAFF_FORM_FIELD_COMPONENTS } from '@daffodil/design';\nimport { DaffQuantityFieldComponent } from '@daffodil/design/quantity-field';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'select-max-quantity-field',\n templateUrl: './select-max-quantity-field.component.html',\n styleUrls: ['./select-max-quantity-field.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DAFF_FORM_FIELD_COMPONENTS,\n DaffQuantityFieldComponent,\n ReactiveFormsModule,\n ],\n})\nexport class SelectMaxQuantityFieldComponent {\n control = new UntypedFormControl(1);\n}\n","<daff-form-field>\n <daff-quantity-field\n [formControl]=\"control\"\n [selectMax]=\"15\"\n ></daff-quantity-field>\n</daff-form-field>\n\n<p>\n Control Value: {{control.value}}\n</p>\n","import { BasicQuantityFieldComponent } from './basic-quantity-field/basic-quantity-field.component';\nimport { CustomRangeQuantityFieldComponent } from './custom-range-quantity-field/custom-range-quantity-field.component';\nimport { DisabledQuantityFieldComponent } from './disabled-quantity-field/disabled-quantity-field.component';\nimport { SelectMaxQuantityFieldComponent } from './select-max-quantity-field/select-max-quantity-field.component';\n\n\nexport const QUANTITY_FIELD_EXAMPLES = [\n BasicQuantityFieldComponent,\n CustomRangeQuantityFieldComponent,\n DisabledQuantityFieldComponent,\n SelectMaxQuantityFieldComponent,\n];\n\nexport {\n BasicQuantityFieldComponent,\n CustomRangeQuantityFieldComponent,\n DisabledQuantityFieldComponent,\n SelectMaxQuantityFieldComponent,\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -2,10 +2,8 @@ import * as i0 from '@angular/core';
2
2
  import { EventEmitter, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import { DaffButtonComponent } from '@daffodil/design/button';
4
4
  import * as i1 from '@daffodil/design/toast';
5
- import { provideDaffToastOptions } from '@daffodil/design/toast';
6
5
  import * as i2 from '@angular/forms';
7
6
  import { FormControl, ReactiveFormsModule } from '@angular/forms';
8
- import { combineLatest } from 'rxjs';
9
7
  import { faInfoCircle, faCheck, faExclamation } from '@fortawesome/free-solid-svg-icons';
10
8
 
11
9
  class DefaultToastComponent {
@@ -68,62 +66,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImpo
68
66
  ], template: "<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>" }]
69
67
  }], ctorParameters: () => [{ type: i1.DaffToastService }] });
70
68
 
71
- class ToastPositionsComponent {
72
- constructor(toastService, toastPositionService) {
73
- this.toastService = toastService;
74
- this.toastPositionService = toastPositionService;
75
- this.count = 0;
76
- this.horizontalControl = new FormControl('right');
77
- this.verticalControl = new FormControl('top');
78
- }
79
- open() {
80
- this.toast = this.toastService.open({
81
- title: 'Update complete' + ' ' + this.count++,
82
- message: 'This page is now up-to-date.',
83
- dismissible: true,
84
- });
85
- }
86
- /**
87
- * @docs-private
88
- */
89
- ngOnInit() {
90
- combineLatest([
91
- this.horizontalControl.valueChanges,
92
- this.verticalControl.valueChanges,
93
- ]).subscribe(([horizontal, vertical,]) => {
94
- this.toastPositionService.setPosition({
95
- horizontal,
96
- vertical,
97
- });
98
- });
99
- }
100
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ToastPositionsComponent, deps: [{ token: i1.DaffToastService }, { token: i1.DaffToastPositionService }], target: i0.ɵɵFactoryTarget.Component }); }
101
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.11", type: ToastPositionsComponent, isStandalone: true, selector: "toast-positions", providers: [
102
- provideDaffToastOptions({
103
- position: {
104
- vertical: 'top',
105
- horizontal: 'right',
106
- },
107
- useParent: false,
108
- }),
109
- ], ngImport: i0, template: "<div class=\"toast-positions__options\">\n\t<select [formControl]=\"verticalControl\">\n\t\t<option value=\"top\">Top</option>\n\t\t<option value=\"bottom\">Bottom</option>\n\t</select>\n\t\n\t<select [formControl]=\"horizontalControl\">\n\t\t<option value=\"left\">Left</option>\n\t\t<option value=\"center\">Center</option>\n\t\t<option value=\"right\">Right</option>\n\t</select>\n</div>\n\n<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>\n", styles: [".toast-positions__options{display:flex;gap:8px;margin:0 0 16px}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { 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: DaffButtonComponent, selector: "button[daff-button],a[daff-button]", inputs: ["elevated"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
110
- }
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImport: i0, type: ToastPositionsComponent, decorators: [{
112
- type: Component,
113
- args: [{ selector: 'toast-positions', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
114
- ReactiveFormsModule,
115
- DaffButtonComponent,
116
- ], providers: [
117
- provideDaffToastOptions({
118
- position: {
119
- vertical: 'top',
120
- horizontal: 'right',
121
- },
122
- useParent: false,
123
- }),
124
- ], template: "<div class=\"toast-positions__options\">\n\t<select [formControl]=\"verticalControl\">\n\t\t<option value=\"top\">Top</option>\n\t\t<option value=\"bottom\">Bottom</option>\n\t</select>\n\t\n\t<select [formControl]=\"horizontalControl\">\n\t\t<option value=\"left\">Left</option>\n\t\t<option value=\"center\">Center</option>\n\t\t<option value=\"right\">Right</option>\n\t</select>\n</div>\n\n<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>\n", styles: [".toast-positions__options{display:flex;gap:8px;margin:0 0 16px}\n"] }]
125
- }], ctorParameters: () => [{ type: i1.DaffToastService }, { type: i1.DaffToastPositionService }] });
126
-
127
69
  const status = {
128
70
  critical: {
129
71
  title: 'Server error',
@@ -192,7 +134,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImpo
192
134
 
193
135
  const TOAST_EXAMPLES = [
194
136
  DefaultToastComponent,
195
- ToastPositionsComponent,
196
137
  ToastStatusComponent,
197
138
  ToastWithCustomDurationComponent,
198
139
  DismissibleToastComponent,
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-design-toast-examples.mjs","sources":["../../../libs/design/toast/examples/src/default-toast/default-toast.component.ts","../../../libs/design/toast/examples/src/default-toast/default-toast.component.html","../../../libs/design/toast/examples/src/dismissible-toast/dismissible-toast.component.ts","../../../libs/design/toast/examples/src/dismissible-toast/dismissible-toast.component.html","../../../libs/design/toast/examples/src/toast-positions/toast-positions.component.ts","../../../libs/design/toast/examples/src/toast-positions/toast-positions.component.html","../../../libs/design/toast/examples/src/toast-status/toast-status.component.ts","../../../libs/design/toast/examples/src/toast-status/toast-status.component.html","../../../libs/design/toast/examples/src/toast-with-custom-duration/toast-with-custom-duration.component.ts","../../../libs/design/toast/examples/src/toast-with-custom-duration/toast-with-custom-duration.component.html","../../../libs/design/toast/examples/src/public_api.ts","../../../libs/design/toast/examples/src/daffodil-design-toast-examples.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n OnInit,\n} from '@angular/core';\n\nimport { DaffButtonComponent } from '@daffodil/design/button';\nimport {\n DaffToast,\n DaffToastAction,\n DaffToastService,\n} from '@daffodil/design/toast';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'default-toast',\n templateUrl: './default-toast.component.html',\n styles: [],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffButtonComponent,\n ],\n})\nexport class DefaultToastComponent implements OnInit {\n private toast: DaffToast;\n\n constructor(private toastService: DaffToastService) {}\n\n update = new EventEmitter<DaffToastAction>();\n\n closeToast = new EventEmitter<DaffToastAction>();\n\n open() {\n this.toast = this.toastService.open({\n title: 'Update Available' + ' ' + this.count++,\n message: 'A new version of this page is available.',\n actions: [\n { content: 'Update', color: 'theme-contrast', size: 'sm', eventEmitter: this.update },\n { content: 'Remind me later', type: 'flat', size: 'sm', eventEmitter: this.closeToast },\n ],\n });\n }\n\n /**\n * @docs-private\n */\n ngOnInit() {\n this.update.subscribe(() => {\n console.log('test');\n });\n\n this.closeToast.subscribe(() => {\n this.toastService.close(this.toast);\n });\n }\n\n private count = 0;\n}\n","<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\n\nimport { DaffButtonComponent } from '@daffodil/design/button';\nimport {\n DaffToast,\n DaffToastService,\n} from '@daffodil/design/toast';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'dismissible-toast',\n templateUrl: './dismissible-toast.component.html',\n styles: [],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffButtonComponent,\n ],\n})\nexport class DismissibleToastComponent {\n private toast: DaffToast;\n\n constructor(private toastService: DaffToastService) {}\n\n open() {\n this.toast = this.toastService.open({\n title: 'Update Available' + ' ' + this.count++,\n message: 'A new version of this page is available.',\n dismissible: true,\n });\n }\n\n private count = 0;\n}\n","<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>","import {\n ChangeDetectionStrategy,\n Component,\n OnInit,\n} from '@angular/core';\nimport {\n FormControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { combineLatest } from 'rxjs';\n\nimport { DaffButtonComponent } from '@daffodil/design/button';\nimport {\n DaffToast,\n DaffToastService,\n DaffToastPositionService,\n provideDaffToastOptions,\n} from '@daffodil/design/toast';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'toast-positions',\n templateUrl: './toast-positions.component.html',\n styleUrls: ['./toast-positions.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n ReactiveFormsModule,\n DaffButtonComponent,\n ],\n providers: [\n provideDaffToastOptions({\n position: {\n vertical: 'top',\n horizontal: 'right',\n },\n useParent: false,\n }),\n ],\n})\nexport class ToastPositionsComponent implements OnInit {\n private toast: DaffToast;\n\n constructor(\n private toastService: DaffToastService,\n private toastPositionService: DaffToastPositionService,\n ) {}\n\n open() {\n this.toast = this.toastService.open({\n title: 'Update complete' + ' ' + this.count++,\n message: 'This page is now up-to-date.',\n dismissible: true,\n });\n }\n\n private count = 0;\n\n horizontalControl: FormControl = new FormControl('right');\n verticalControl: FormControl = new FormControl('top');\n\n /**\n * @docs-private\n */\n ngOnInit() {\n combineLatest([\n this.horizontalControl.valueChanges,\n this.verticalControl.valueChanges,\n ]).subscribe(([\n horizontal, vertical,\n ]) => {\n this.toastPositionService.setPosition({\n horizontal,\n vertical,\n });\n });\n }\n}\n","<div class=\"toast-positions__options\">\n\t<select [formControl]=\"verticalControl\">\n\t\t<option value=\"top\">Top</option>\n\t\t<option value=\"bottom\">Bottom</option>\n\t</select>\n\t\n\t<select [formControl]=\"horizontalControl\">\n\t\t<option value=\"left\">Left</option>\n\t\t<option value=\"center\">Center</option>\n\t\t<option value=\"right\">Right</option>\n\t</select>\n</div>\n\n<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>\n","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\nimport {\n FormControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport {\n faCheck,\n faExclamation,\n faInfoCircle,\n} from '@fortawesome/free-solid-svg-icons';\n\nimport { DaffButtonComponent } from '@daffodil/design/button';\nimport {\n DaffToastData,\n DaffToastService,\n} from '@daffodil/design/toast';\n\nconst status: Record<string, DaffToastData> = {\n critical: {\n title: 'Server error',\n message: 'There is a server error.',\n },\n success: {\n title: 'Update complete',\n message: 'The app is now up-to-date with the newest version.',\n },\n warn: {\n title: 'The app is outdated',\n message: 'Update the app now. The version you are using may have security vulnerabilities.',\n },\n};\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'toast-status',\n templateUrl: './toast-status.component.html',\n styleUrls: ['./toast-status.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffButtonComponent,\n ReactiveFormsModule,\n ],\n})\nexport class ToastStatusComponent {\n faInfoCircle = faInfoCircle;\n faCheck = faCheck;\n faExclamation = faExclamation;\n\n statusControl: FormControl = new FormControl('success');\n\n constructor(private toastService: DaffToastService) {}\n\n open() {\n this.toastService.open({\n status: this.statusControl.value,\n ...status[this.statusControl.value],\n actions: [\n { content: 'Update', color: 'theme-contrast', size: 'sm' },\n { content: 'Remind me later', type: 'flat', size: 'sm' },\n ],\n },\n );\n }\n}\n","<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>\n\n<select [formControl]=\"statusControl\">\n\t<option value=\"success\">Success</option>\n\t<option value=\"warn\">Warn</option>\n\t<option value=\"critical\">Critical</option>\n</select>","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\n\nimport { DaffButtonComponent } from '@daffodil/design/button';\nimport {\n DaffToast,\n DaffToastService,\n} from '@daffodil/design/toast';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'toast-with-custom-duration',\n templateUrl: './toast-with-custom-duration.component.html',\n styles: [],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffButtonComponent,\n ],\n})\nexport class ToastWithCustomDurationComponent {\n private toast: DaffToast;\n\n constructor(private toastService: DaffToastService) {}\n\n open() {\n this.toast = this.toastService.open({\n title: 'Update Complete',\n message: 'This page has been updated to the newest version.',\n status: 'success',\n },\n {\n duration: 7000,\n });\n }\n}\n","<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>","import { DefaultToastComponent } from './default-toast/default-toast.component';\nimport { DismissibleToastComponent } from './dismissible-toast/dismissible-toast.component';\nimport { ToastPositionsComponent } from './toast-positions/toast-positions.component';\nimport { ToastStatusComponent } from './toast-status/toast-status.component';\nimport { ToastWithCustomDurationComponent } from './toast-with-custom-duration/toast-with-custom-duration.component';\n\nexport const TOAST_EXAMPLES = [\n DefaultToastComponent,\n ToastPositionsComponent,\n ToastStatusComponent,\n ToastWithCustomDurationComponent,\n DismissibleToastComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daffodil-design-toast-examples.mjs","sources":["../../../libs/design/toast/examples/src/default-toast/default-toast.component.ts","../../../libs/design/toast/examples/src/default-toast/default-toast.component.html","../../../libs/design/toast/examples/src/dismissible-toast/dismissible-toast.component.ts","../../../libs/design/toast/examples/src/dismissible-toast/dismissible-toast.component.html","../../../libs/design/toast/examples/src/toast-status/toast-status.component.ts","../../../libs/design/toast/examples/src/toast-status/toast-status.component.html","../../../libs/design/toast/examples/src/toast-with-custom-duration/toast-with-custom-duration.component.ts","../../../libs/design/toast/examples/src/toast-with-custom-duration/toast-with-custom-duration.component.html","../../../libs/design/toast/examples/src/public_api.ts","../../../libs/design/toast/examples/src/daffodil-design-toast-examples.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n OnInit,\n} from '@angular/core';\n\nimport { DaffButtonComponent } from '@daffodil/design/button';\nimport {\n DaffToast,\n DaffToastAction,\n DaffToastService,\n} from '@daffodil/design/toast';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'default-toast',\n templateUrl: './default-toast.component.html',\n styles: [],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffButtonComponent,\n ],\n})\nexport class DefaultToastComponent implements OnInit {\n private toast: DaffToast;\n\n constructor(private toastService: DaffToastService) {}\n\n update = new EventEmitter<DaffToastAction>();\n\n closeToast = new EventEmitter<DaffToastAction>();\n\n open() {\n this.toast = this.toastService.open({\n title: 'Update Available' + ' ' + this.count++,\n message: 'A new version of this page is available.',\n actions: [\n { content: 'Update', color: 'theme-contrast', size: 'sm', eventEmitter: this.update },\n { content: 'Remind me later', type: 'flat', size: 'sm', eventEmitter: this.closeToast },\n ],\n });\n }\n\n /**\n * @docs-private\n */\n ngOnInit() {\n this.update.subscribe(() => {\n console.log('test');\n });\n\n this.closeToast.subscribe(() => {\n this.toastService.close(this.toast);\n });\n }\n\n private count = 0;\n}\n","<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\n\nimport { DaffButtonComponent } from '@daffodil/design/button';\nimport {\n DaffToast,\n DaffToastService,\n} from '@daffodil/design/toast';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'dismissible-toast',\n templateUrl: './dismissible-toast.component.html',\n styles: [],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffButtonComponent,\n ],\n})\nexport class DismissibleToastComponent {\n private toast: DaffToast;\n\n constructor(private toastService: DaffToastService) {}\n\n open() {\n this.toast = this.toastService.open({\n title: 'Update Available' + ' ' + this.count++,\n message: 'A new version of this page is available.',\n dismissible: true,\n });\n }\n\n private count = 0;\n}\n","<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\nimport {\n FormControl,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport {\n faCheck,\n faExclamation,\n faInfoCircle,\n} from '@fortawesome/free-solid-svg-icons';\n\nimport { DaffButtonComponent } from '@daffodil/design/button';\nimport {\n DaffToastData,\n DaffToastService,\n} from '@daffodil/design/toast';\n\nconst status: Record<string, DaffToastData> = {\n critical: {\n title: 'Server error',\n message: 'There is a server error.',\n },\n success: {\n title: 'Update complete',\n message: 'The app is now up-to-date with the newest version.',\n },\n warn: {\n title: 'The app is outdated',\n message: 'Update the app now. The version you are using may have security vulnerabilities.',\n },\n};\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'toast-status',\n templateUrl: './toast-status.component.html',\n styleUrls: ['./toast-status.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffButtonComponent,\n ReactiveFormsModule,\n ],\n})\nexport class ToastStatusComponent {\n faInfoCircle = faInfoCircle;\n faCheck = faCheck;\n faExclamation = faExclamation;\n\n statusControl: FormControl = new FormControl('success');\n\n constructor(private toastService: DaffToastService) {}\n\n open() {\n this.toastService.open({\n status: this.statusControl.value,\n ...status[this.statusControl.value],\n actions: [\n { content: 'Update', color: 'theme-contrast', size: 'sm' },\n { content: 'Remind me later', type: 'flat', size: 'sm' },\n ],\n },\n );\n }\n}\n","<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>\n\n<select [formControl]=\"statusControl\">\n\t<option value=\"success\">Success</option>\n\t<option value=\"warn\">Warn</option>\n\t<option value=\"critical\">Critical</option>\n</select>","import {\n ChangeDetectionStrategy,\n Component,\n} from '@angular/core';\n\nimport { DaffButtonComponent } from '@daffodil/design/button';\nimport {\n DaffToast,\n DaffToastService,\n} from '@daffodil/design/toast';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'toast-with-custom-duration',\n templateUrl: './toast-with-custom-duration.component.html',\n styles: [],\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n DaffButtonComponent,\n ],\n})\nexport class ToastWithCustomDurationComponent {\n private toast: DaffToast;\n\n constructor(private toastService: DaffToastService) {}\n\n open() {\n this.toast = this.toastService.open({\n title: 'Update Complete',\n message: 'This page has been updated to the newest version.',\n status: 'success',\n },\n {\n duration: 7000,\n });\n }\n}\n","<button daff-button size=\"sm\" (click)=\"open()\">Show toast</button>","import { DefaultToastComponent } from './default-toast/default-toast.component';\nimport { DismissibleToastComponent } from './dismissible-toast/dismissible-toast.component';\nimport { ToastStatusComponent } from './toast-status/toast-status.component';\nimport { ToastWithCustomDurationComponent } from './toast-with-custom-duration/toast-with-custom-duration.component';\n\nexport const TOAST_EXAMPLES = [\n DefaultToastComponent,\n ToastStatusComponent,\n ToastWithCustomDurationComponent,\n DismissibleToastComponent,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;MAwBa,qBAAqB,CAAA;AAGhC,IAAA,WAAA,CAAoB,YAA8B,EAAA;QAA9B,IAAY,CAAA,YAAA,GAAZ,YAAY;AAEhC,QAAA,IAAA,CAAA,MAAM,GAAG,IAAI,YAAY,EAAmB;AAE5C,QAAA,IAAA,CAAA,UAAU,GAAG,IAAI,YAAY,EAAmB;QA0BxC,IAAK,CAAA,KAAA,GAAG,CAAC;;IAxBjB,IAAI,GAAA;QACF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YAClC,KAAK,EAAE,kBAAkB,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE;AAC9C,YAAA,OAAO,EAAE,0CAA0C;AACnD,YAAA,OAAO,EAAE;AACP,gBAAA,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE;AACrF,gBAAA,EAAE,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,UAAU,EAAE;AACxF,aAAA;AACF,SAAA,CAAC;;AAGJ;;AAEG;IACH,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAK;AACzB,YAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;AACrB,SAAC,CAAC;AAEF,QAAA,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAK;YAC7B,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;AACrC,SAAC,CAAC;;kIA9BO,qBAAqB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sHAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECxBlC,wEAAkE,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDqB9D,mBAAmB,EAAA,QAAA,EAAA,oCAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAGV,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAVjC,SAAS;AAEE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAGR,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACtC,OAAA,EAAA;wBACP,mBAAmB;AACpB,qBAAA,EAAA,QAAA,EAAA,wEAAA,EAAA;;;MEDU,yBAAyB,CAAA;AAGpC,IAAA,WAAA,CAAoB,YAA8B,EAAA;QAA9B,IAAY,CAAA,YAAA,GAAZ,YAAY;QAUxB,IAAK,CAAA,KAAA,GAAG,CAAC;;IARjB,IAAI,GAAA;QACF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YAClC,KAAK,EAAE,kBAAkB,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE;AAC9C,YAAA,OAAO,EAAE,0CAA0C;AACnD,YAAA,WAAW,EAAE,IAAI;AAClB,SAAA,CAAC;;kIAVO,yBAAyB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sHAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrBtC,wEAAkE,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDkB9D,mBAAmB,EAAA,QAAA,EAAA,oCAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAGV,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAVrC,SAAS;AAEE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,mBAAmB,EAGZ,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACtC,OAAA,EAAA;wBACP,mBAAmB;AACpB,qBAAA,EAAA,QAAA,EAAA,wEAAA,EAAA;;;AECH,MAAM,MAAM,GAAmC;AAC7C,IAAA,QAAQ,EAAE;AACR,QAAA,KAAK,EAAE,cAAc;AACrB,QAAA,OAAO,EAAE,0BAA0B;AACpC,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,KAAK,EAAE,iBAAiB;AACxB,QAAA,OAAO,EAAE,oDAAoD;AAC9D,KAAA;AACD,IAAA,IAAI,EAAE;AACJ,QAAA,KAAK,EAAE,qBAAqB;AAC5B,QAAA,OAAO,EAAE,kFAAkF;AAC5F,KAAA;CACF;MAaY,oBAAoB,CAAA;AAO/B,IAAA,WAAA,CAAoB,YAA8B,EAAA;QAA9B,IAAY,CAAA,YAAA,GAAZ,YAAY;QANhC,IAAY,CAAA,YAAA,GAAG,YAAY;QAC3B,IAAO,CAAA,OAAA,GAAG,OAAO;QACjB,IAAa,CAAA,aAAA,GAAG,aAAa;AAE7B,QAAA,IAAA,CAAA,aAAa,GAAgB,IAAI,WAAW,CAAC,SAAS,CAAC;;IAIvD,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACrB,YAAA,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK;AAChC,YAAA,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;AACnC,YAAA,OAAO,EAAE;gBACP,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC1D,EAAE,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE;AACzD,aAAA;AACF,SAAA,CACA;;kIAlBQ,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,uBAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EC9CjC,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,qQAMS,EDoCL,MAAA,EAAA,CAAA,6EAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,mBAAmB,oGACnB,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,uBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,6GAAA,EAAA,MAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAGV,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAXhC,SAAS;AAEE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,cAAc,EAGP,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACtC,OAAA,EAAA;wBACP,mBAAmB;wBACnB,mBAAmB;AACpB,qBAAA,EAAA,QAAA,EAAA,qQAAA,EAAA,MAAA,EAAA,CAAA,6EAAA,CAAA,EAAA;;;MEvBU,gCAAgC,CAAA;AAG3C,IAAA,WAAA,CAAoB,YAA8B,EAAA;QAA9B,IAAY,CAAA,YAAA,GAAZ,YAAY;;IAEhC,IAAI,GAAA;QACF,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AAClC,YAAA,KAAK,EAAE,iBAAiB;AACxB,YAAA,OAAO,EAAE,mDAAmD;AAC5D,YAAA,MAAM,EAAE,SAAS;SAClB,EACD;AACE,YAAA,QAAQ,EAAE,IAAI;AACf,SAAA,CAAC;;kIAbO,gCAAgC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;sHAAhC,gCAAgC,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,4BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECrB7C,wEAAkE,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDkB9D,mBAAmB,EAAA,QAAA,EAAA,oCAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAGV,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAV5C,SAAS;AAEE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,4BAA4B,EAGrB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EACtC,OAAA,EAAA;wBACP,mBAAmB;AACpB,qBAAA,EAAA,QAAA,EAAA,wEAAA,EAAA;;;AEdU,MAAA,cAAc,GAAG;IAC5B,qBAAqB;IACrB,oBAAoB;IACpB,gCAAgC;IAChC,yBAAyB;;;ACT3B;;AAEG;;;;"}
@@ -1,14 +1,14 @@
1
1
  import * as i1 from '@angular/cdk/layout';
2
- import * as i0 from '@angular/core';
3
- import { Inject, Injectable, HostBinding, Directive, HostListener, Input, ContentChild, ChangeDetectionStrategy, ViewEncapsulation, Component, EventEmitter, Output, Optional, SkipSelf } from '@angular/core';
4
- import * as i2 from '@daffodil/design';
5
- import { DaffBreakpoints, DaffPrefixDirective, DaffArticleEncapsulatedDirective, DaffStatusableDirective } from '@daffodil/design';
6
- import { createConfigInjectionToken } from '@daffodil/core';
7
2
  import * as i1$2 from '@angular/cdk/overlay';
8
3
  import { GlobalPositionStrategy } from '@angular/cdk/overlay';
9
4
  import { ComponentPortal } from '@angular/cdk/portal';
5
+ import * as i0 from '@angular/core';
6
+ import { Inject, Injectable, HostBinding, Directive, HostListener, Input, ContentChild, ChangeDetectionStrategy, ViewEncapsulation, Component, EventEmitter, Output, Optional, SkipSelf } from '@angular/core';
10
7
  import { merge, of, EMPTY } from 'rxjs';
11
8
  import { filter, map, tap, delay, take } from 'rxjs/operators';
9
+ import * as i2 from '@daffodil/design';
10
+ import { DaffBreakpoints, DaffPrefixDirective, DaffArticleEncapsulatedDirective, DaffStatusableDirective } from '@daffodil/design';
11
+ import { createConfigInjectionToken } from '@daffodil/core';
12
12
  import { trigger, transition, style, animate } from '@angular/animations';
13
13
  import { NgIf, NgFor, SlicePipe, NgTemplateOutlet } from '@angular/common';
14
14
  import { FaIconComponent } from '@fortawesome/angular-fontawesome';
@@ -17,6 +17,36 @@ import * as i2$1 from '@daffodil/design/button';
17
17
  import { DAFF_BUTTON_COMPONENTS } from '@daffodil/design/button';
18
18
  import * as i1$1 from '@angular/cdk/a11y';
19
19
 
20
+ const daffToastChangesFocus = (toast) => toast.actions?.length > 0;
21
+
22
+ const createPositionStrategy = (position) => {
23
+ const strat = new GlobalPositionStrategy();
24
+ switch (position.horizontal) {
25
+ case 'left':
26
+ strat.left('48px');
27
+ break;
28
+ case 'right':
29
+ strat.right('48px');
30
+ break;
31
+ case 'center':
32
+ strat.centerHorizontally();
33
+ break;
34
+ default:
35
+ strat.right('48px');
36
+ }
37
+ switch (position.vertical) {
38
+ case 'top':
39
+ strat.top('80px');
40
+ break;
41
+ case 'bottom':
42
+ strat.bottom('48px');
43
+ break;
44
+ default:
45
+ strat.top('80px');
46
+ }
47
+ return strat;
48
+ };
49
+
20
50
  ;
21
51
  ;
22
52
  const daffToastDefaultOptions = {
@@ -72,36 +102,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImpo
72
102
  args: [DAFF_TOAST_OPTIONS]
73
103
  }] }, { type: i1.BreakpointObserver }] });
74
104
 
75
- const daffToastChangesFocus = (toast) => toast.actions?.length > 0;
76
-
77
- const createPositionStrategy = (position) => {
78
- const strat = new GlobalPositionStrategy();
79
- switch (position.horizontal) {
80
- case 'left':
81
- strat.left('48px');
82
- break;
83
- case 'right':
84
- strat.right('48px');
85
- break;
86
- case 'center':
87
- strat.centerHorizontally();
88
- break;
89
- default:
90
- strat.right('48px');
91
- }
92
- switch (position.vertical) {
93
- case 'top':
94
- strat.top('80px');
95
- break;
96
- case 'bottom':
97
- strat.bottom('48px');
98
- break;
99
- default:
100
- strat.top('80px');
101
- }
102
- return strat;
103
- };
104
-
105
105
  const daffDefaultToastConfiguration = {};
106
106
 
107
107
  class DaffToastActionsDirective {
@@ -665,7 +665,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImpo
665
665
  }] }, { type: i1.BreakpointObserver }, { type: DaffToastPositionService }, { type: i2.DaffFocusStackService }, { type: i0.Injector }] });
666
666
 
667
667
  /**
668
- * Registers the `DaffToastService` and `DaffToastPositionService` for displaying a toast. This provider ensures
668
+ * Registers the `DaffToastService` for displaying a toast. This provider ensures
669
669
  * toasts function correctly within your application.
670
670
  *
671
671
  * ```ts
@@ -673,21 +673,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.11", ngImpo
673
673
  *
674
674
  * @NgModule({
675
675
  * providers: [
676
- * provideDaffToast(),
677
- * ]
676
+ * provideDaffToast({
677
+ * position: {
678
+ * vertical: 'bottom',
679
+ * horizontal: 'left',
680
+ * },
681
+ * }),
682
+ * ]
678
683
  * )}
679
684
  *
680
685
  * export class AppModule {}
681
686
  * ```
687
+ * @param config Sets the configuration for all toasts.
688
+ * Toasts are displayed in the top-right corner of the screen by default on desktop devices.
689
+ *
690
+ * On mobile devices, toasts will always appear in the bottom-center position,
691
+ * regardless of configuration settings.
692
+ *
682
693
  */
683
- const provideDaffToast = () => [
694
+ const provideDaffToast = (config = daffToastDefaultOptions) => [
684
695
  DaffToastService,
685
696
  DaffToastPositionService,
697
+ provideDaffToastOptions(config),
686
698
  ];
687
699
 
688
700
  /**
689
701
  * Generated bundle index. Do not edit.
690
702
  */
691
703
 
692
- export { DAFF_TOAST_OPTIONS, DaffToastPositionService, DaffToastService, provideDaffToast, provideDaffToastOptions };
704
+ export { DaffToastService, provideDaffToast };
693
705
  //# sourceMappingURL=daffodil-design-toast.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-design-toast.mjs","sources":["../../../libs/design/toast/src/options/daff-toast-options.ts","../../../libs/design/toast/src/service/position.service.ts","../../../libs/design/toast/src/service/changes-focus.ts","../../../libs/design/toast/src/service/position-strategy.ts","../../../libs/design/toast/src/toast/toast-config.ts","../../../libs/design/toast/src/toast-actions/toast-actions.directive.ts","../../../libs/design/toast/src/toast/toast.component.ts","../../../libs/design/toast/src/toast/toast.component.html","../../../libs/design/toast/src/toast-message/toast-message.directive.ts","../../../libs/design/toast/src/toast-title/toast-title.directive.ts","../../../libs/design/toast/src/toast/toast-template.component.ts","../../../libs/design/toast/src/service/toast.service.ts","../../../libs/design/toast/src/toast/toast-provider.ts","../../../libs/design/toast/src/daffodil-design-toast.ts"],"sourcesContent":["import { createConfigInjectionToken } from '@daffodil/core';\n\ntype Without<T, U> = { [P in Exclude<keyof T, keyof U>]?: never };\ntype XOR<T, U> = (T | U) extends Record<string,unknown> ? (Without<T, U> & U) | (Without<U, T> & T) : T | U;\n\nexport interface VerticalPositionTypes { vertical: 'top' | 'bottom' };\n\nexport interface HorizontalPositionTypes { horizontal: 'left' | 'center' | 'right' };\n\nexport type DaffToastPosition = VerticalPositionTypes & HorizontalPositionTypes;\n\nexport interface DaffToastOptions {\n position: DaffToastPosition;\n useParent: boolean;\n}\n\nexport const daffToastDefaultOptions: DaffToastOptions = {\n position: {\n vertical: 'top',\n horizontal: 'right',\n },\n useParent: true,\n};\n\nconst result = createConfigInjectionToken<DaffToastOptions>(daffToastDefaultOptions, 'DAFF_TOAST_OPTIONS');\n\nexport const provideDaffToastOptions = result.provider;\n\nexport const DAFF_TOAST_OPTIONS = result.token;\n\n// export const {\n// token: DAFF_TOAST_OPTIONS,\n// /**\n// * Provider function for {@link DAFF_TOAST_OPTIONS}.\n// */\n// provider: provideDaffToastOptions,\n// } = createConfigInjectionToken<DaffToastOptions>(daffToastDefaultOptions, 'DAFF_TOAST_OPTIONS');\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n Inject,\n Injectable,\n} from '@angular/core';\n\nimport { DaffBreakpoints } from '@daffodil/design';\n\nimport {\n DaffToastOptions,\n DaffToastPosition,\n DAFF_TOAST_OPTIONS,\n} from '../options/daff-toast-options';\n\n@Injectable()\nexport class DaffToastPositionService {\n\n constructor(@Inject(DAFF_TOAST_OPTIONS) private options: DaffToastOptions, private mediaQuery: BreakpointObserver) {\n this._config = options.position;\n }\n\n private _config: DaffToastPosition;\n private _position: DaffToastPosition;\n\n /**\n * Reads the current position of the toast. Defaults to bottom center on mobile devices.\n */\n get config(): DaffToastPosition {\n return this.mediaQuery.isMatched(DaffBreakpoints.MOBILE)\n ? this._position ?? this._config\n : <DaffToastPosition>{ vertical: 'bottom', horizontal: 'center' };\n }\n\n private set config(val: DaffToastPosition) {\n this._config = val;\n }\n\n /**\n * Changes the position of the toast.\n *\n * @param position The position of the toast.\n */\n setPosition(position: DaffToastPosition) {\n this._position = position;\n }\n}\n","import { DaffToast } from '../interfaces/toast';\n\nexport const daffToastChangesFocus = (toast: DaffToast): boolean => toast.actions?.length > 0;\n","import {\n GlobalPositionStrategy,\n PositionStrategy,\n} from '@angular/cdk/overlay';\n\nimport { DaffToastPosition } from '../options/daff-toast-options';\n\nexport const createPositionStrategy = (position: DaffToastPosition): PositionStrategy => {\n const strat = new GlobalPositionStrategy();\n\n switch ( position.horizontal ) {\n case 'left':\n strat.left('48px');\n break;\n case 'right':\n strat.right('48px');\n break;\n case 'center':\n strat.centerHorizontally();\n break;\n default:\n strat.right('48px');\n }\n\n switch(position.vertical) {\n case 'top':\n strat.top('80px');\n break;\n case 'bottom':\n strat.bottom('48px');\n break;\n default:\n strat.top('80px');\n }\n\n return strat;\n};\n","export interface DaffToastConfiguration {\n /**\n * The duration (in milliseconds) for which a toast remains visible before dismissal.\n *\n * While you can set a duration for toasts with actions, it's generally not recommended,\n * as users should have ample time to interact with them.\n *\n * @usage\n * ```\n * export class CustomComponent {\n * private toast: DaffToast;\n *\n * constructor(private toastService: DaffToastService) {}\n *\n * open() {\n * this.toast = this.toastService.open({\n * title: 'Update Complete',\n * message: 'This page has been updated to the newest version.',\n * status: 'success',\n * },\n * {\n * duration: 7000,\n * });\n * }\n * }\n * ```\n */\n duration?: number;\n}\n\nexport const daffDefaultToastConfiguration: DaffToastConfiguration = {};\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffToastActions]',\n})\n\nexport class DaffToastActionsDirective {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-toast__actions') class = true;\n}\n","import {\n ConfigurableFocusTrap,\n ConfigurableFocusTrapFactory,\n} from '@angular/cdk/a11y';\nimport { NgIf } from '@angular/common';\nimport {\n Component,\n ElementRef,\n HostBinding,\n ContentChild,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n AfterViewInit,\n AfterContentInit,\n HostListener,\n Input,\n OnDestroy,\n} from '@angular/core';\n\nimport {\n DaffArticleEncapsulatedDirective,\n DaffFocusStackService,\n DaffPrefixDirective,\n DaffStatusableDirective,\n} from '@daffodil/design';\n\nimport { DaffToast } from '../interfaces/toast';\nimport { daffToastChangesFocus } from '../service/changes-focus';\nimport { DaffToastActionsDirective } from '../toast-actions/toast-actions.directive';\n\n/**\n * @docs-private\n *\n * DaffToastComponent provides a way to display and\n * communicate information for user actions or system updates.\n */\n@Component({\n selector: 'daff-toast',\n templateUrl: './toast.component.html',\n styleUrls: ['./toast.component.scss'],\n hostDirectives: [\n { directive: DaffArticleEncapsulatedDirective },\n {\n directive: DaffStatusableDirective,\n inputs: ['status'],\n },\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgIf,\n ],\n})\nexport class DaffToastComponent implements AfterContentInit, AfterViewInit, OnDestroy {\n /** @docs-private */\n @HostBinding('class.daff-toast') class = true;\n\n /**\n * @docs-private\n */\n @ContentChild(DaffToastActionsDirective)\n _actions: DaffToastActionsDirective;\n\n /**\n * @docs-private\n */\n @ContentChild(DaffPrefixDirective)\n _prefix: DaffPrefixDirective;\n\n @Input() toast: DaffToast;\n\n /**\n * @docs-private\n */\n @HostListener('keydown.escape')\n onEscape() {\n this.toast.dismiss();\n }\n\n private _focusTrap: ConfigurableFocusTrap;\n\n constructor(\n private _elementRef: ElementRef,\n private _focusTrapFactory: ConfigurableFocusTrapFactory,\n private _focusStack: DaffFocusStackService,\n ) {\n }\n\n /**\n * @docs-private\n */\n ngAfterContentInit() {\n if(daffToastChangesFocus(this.toast)) {\n this._focusTrap = this._focusTrapFactory.create(\n this._elementRef.nativeElement,\n );\n }\n }\n\n /**\n * @docs-private\n */\n ngAfterViewInit() {\n if(daffToastChangesFocus(this.toast)) {\n this._focusStack.push();\n this._focusTrap.focusFirstTabbableElementWhenReady();\n }\n }\n\n /**\n * @docs-private\n */\n ngOnDestroy() {\n if(daffToastChangesFocus(this.toast)) {\n this._focusTrap.destroy();\n }\n }\n}\n","@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n<div class=\"daff-toast__details\">\n <div class=\"daff-toast__content\">\n <ng-content select=\"[daffToastTitle]\"></ng-content>\n <ng-content select=\"[daffToastMessage]\"></ng-content>\n </div>\n <ng-content select=\"[daffToastActions]\"></ng-content>\n</div>\n<ng-content></ng-content>\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffToastMessage]',\n})\n\nexport class DaffToastMessageDirective {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-toast__message') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffToastTitle]',\n})\n\nexport class DaffToastTitleDirective {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-toast__title') class = true;\n}\n","import {\n animate,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport {\n NgFor,\n NgTemplateOutlet,\n SlicePipe,\n} from '@angular/common';\nimport {\n Input,\n ChangeDetectionStrategy,\n Component,\n ChangeDetectorRef,\n Inject,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\n\nimport { DAFF_BUTTON_COMPONENTS } from '@daffodil/design/button';\n\nimport { DaffToastComponent } from './toast.component';\nimport { DaffToast } from '../interfaces/toast';\nimport {\n DaffToastOptions,\n DAFF_TOAST_OPTIONS,\n} from '../options/daff-toast-options';\nimport { DaffToastPositionService } from '../service/position.service';\nimport { DaffToastActionsDirective } from '../toast-actions/toast-actions.directive';\nimport { DaffToastMessageDirective } from '../toast-message/toast-message.directive';\nimport { DaffToastTitleDirective } from '../toast-title/toast-title.directive';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <daff-toast\n *ngFor=\"let item of items | slice:0:3\"\n [toast]=\"item\"\n [status]=\"item.status ?? null\"\n (closeToast)=\"item.dismiss()\"\n [@slideIn]=\"slideAnimation\"\n [attr.role]=\"item.actions ? 'alertdialog' : 'status'\"\n [attr.aria-labelledby]=\"item.actions ? item.title : undefined\"\n [attr.aria-describedby]=\"item.actions ? item.message : undefined\">\n <div daffToastTitle>{{ item.title }}</div>\n <div daffToastMessage>{{ item.message }}</div>\n @if (item.actions) {\n <div daffToastActions>\n @for (action of item.actions; track action) {\n <ng-container *ngTemplateOutlet=\"button;context:{ action, item }\"></ng-container>\n }\n </div>\n }\n @if (item.dismissible) {\n <button daff-icon-button color=\"theme-contrast\"\n aria-label=\"Close\"\n [attr.aria-hidden]=\"item.actions ? undefined : true\"\n (click)=\"onCloseToast(item.dismiss())\">\n <fa-icon [icon]=\"faTimes\" [fixedWidth]=\"true\"></fa-icon>\n </button>\n }\n </daff-toast>\n\n <ng-template #button let-action=\"action\" let-item=\"item\">\n @switch (action.type) {\n @case ('stroked') {\n <button type=\"button\" daff-stroked-button\n [status]=\"action.status\"\n [color]=\"action.color\"\n [size]=\"action.size\"\n [attr.aria-label]=\"action.content\"\n (click)=\"action.eventEmitter?.emit({ event: $event, action})\">\n {{ action.content }}\n </button>\n }\n @case ('flat') {\n <button type=\"button\" daff-flat-button\n [status]=\"action.status\"\n [color]=\"action.color\"\n [size]=\"action.size\"\n [attr.aria-label]=\"action.content\"\n (click)=\"action.eventEmitter?.emit({ event: $event, action})\">\n {{ action.content }}\n </button>\n }\n @case ('underline') {\n <button type=\"button\" daff-underline-button\n [status]=\"action.status\"\n [color]=\"action.color\"\n [size]=\"action.size\"\n [attr.aria-label]=\"action.content\"\n (click)=\"action.eventEmitter?.emit({ event: $event, action})\">\n {{ action.content }}\n </button>\n }\n @default {\n <button type=\"button\" daff-button\n [status]=\"action.status\"\n [color]=\"action.color\"\n [size]=\"action.size\"\n [attr.aria-label]=\"action.content\"\n (click)=\"action.eventEmitter?.emit({ event: $event, action})\">\n {{ action.content }}\n </button>\n }\n }\n </ng-template>\n `,\n animations: [\n trigger('slideIn', [\n transition(':enter', [\n style({ opacity: '0', transform: 'translate({{startX}}, {{startY}})' }),\n animate('300ms ease-out', style({ opacity: '1', transform: 'translate({{endX}}, {{endY}})' })),\n ], { params: {\n startX: '0',\n startY: '0',\n endX: '0',\n endY: '0',\n } }),\n ]),\n ],\n imports: [\n DAFF_BUTTON_COMPONENTS,\n DaffToastComponent,\n DaffToastActionsDirective,\n DaffToastTitleDirective,\n DaffToastMessageDirective,\n FaIconComponent,\n NgFor,\n SlicePipe,\n NgTemplateOutlet,\n ],\n})\nexport class DaffToastTemplateComponent {\n faTimes = faTimes;\n\n private _items: DaffToast[] = [];\n\n constructor(\n private cd: ChangeDetectorRef,\n @Inject(DAFF_TOAST_OPTIONS)\n private options: DaffToastOptions,\n private toastPosition: DaffToastPositionService,\n ) { }\n\n @Output() closeToast: EventEmitter<void> = new EventEmitter();\n\n onCloseToast(event: Event) {\n this.closeToast.emit();\n }\n\n get slideAnimation(): any {\n switch (this.toastPosition.config.horizontal + '-' + this.toastPosition.config.vertical) {\n case 'left-top':\n case 'left-bottom':\n return {\n value: 0,\n params: {\n startX: '-100%',\n endX: '0',\n startY: '0',\n endY: '0',\n },\n };\n case 'right-top':\n case 'right-bottom':\n return {\n value: 0,\n params: {\n startX: '100%',\n endX: '0',\n startY: '0',\n endY: '0',\n },\n };\n\n case 'center-top':\n return {\n value: 0,\n params: {\n startX: '0',\n endX: '0',\n startY: '-100%',\n endY: '0',\n },\n };\n\n case 'center-bottom':\n return {\n value: 0,\n params: {\n startX: '0',\n endX: '0',\n startY: '100%',\n endY: '0',\n },\n };\n }\n }\n\n @Input()\n get items(): DaffToast[] {\n return this._items;\n }\n set items(value: DaffToast[]) {\n this._items = value;\n this.cd.markForCheck();\n }\n}\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n Overlay,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n ComponentRef,\n EventEmitter,\n Inject,\n Injectable,\n Injector,\n OnDestroy,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport {\n EMPTY,\n merge,\n of,\n Subscription,\n} from 'rxjs';\nimport {\n delay,\n filter,\n map,\n take,\n tap,\n} from 'rxjs/operators';\n\nimport {\n DaffBreakpoints,\n DaffFocusStackService,\n} from '@daffodil/design';\n\nimport { daffToastChangesFocus } from './changes-focus';\nimport { createPositionStrategy } from './position-strategy';\nimport { DaffToastPositionService } from './position.service';\nimport {\n DaffToast,\n DaffToastData,\n} from '../interfaces/toast';\nimport {\n DAFF_TOAST_OPTIONS,\n DaffToastOptions,\n} from '../options/daff-toast-options';\nimport {\n daffDefaultToastConfiguration,\n DaffToastConfiguration,\n} from '../toast/toast-config';\nimport { DaffToastTemplateComponent } from '../toast/toast-template.component';\n\n/**\n * Service to display toasts.\n *\n * @example\n * ```ts\n * import {\n * ChangeDetectionStrategy,\n * Component,\n * EventEmitter,\n * OnInit,\n * } from '@angular/core';\n *\n * import {\n * DaffToast,\n * DaffToastAction,\n * DaffToastService,\n * } from '@daffodil/design/toast';\n *\n * @Component({\n * selector: 'default-toast',\n * templateUrl: './default-toast.component.html',\n * styles: [],\n * changeDetection: ChangeDetectionStrategy.OnPush,\n * })\n * export class DefaultToastComponent implements OnInit {\n * private toast: DaffToast;\n *\n * constructor(private toastService: DaffToastService) {}\n *\n * closeToast = new EventEmitter<DaffToastAction>();\n *\n * open() {\n * this.toast = this.toastService.open({\n * title: 'Update Available',\n * message: 'A new version of this page is available.',\n * actions: [\n * { content: 'Remind me later', type: 'flat', size: 'sm', eventEmitter: this.closeToast },\n * ],\n * });\n * }\n *\n * ngOnInit() {\n * this.closeToast.subscribe(() => {\n * this.toastService.close(this.toast);\n * });\n * }\n * }\n * ```\n */\n@Injectable()\nexport class DaffToastService implements OnDestroy {\n\n private _sub: Subscription;\n\n private _toasts: DaffToast[] = [];\n\n private _overlayRef?: OverlayRef;\n\n private _template?: ComponentRef<DaffToastTemplateComponent>;\n\n constructor(\n private overlay: Overlay,\n @Inject(DAFF_TOAST_OPTIONS) private options: DaffToastOptions,\n @Optional() @SkipSelf() private _parentToast: DaffToastService,\n private mediaQuery: BreakpointObserver,\n private toastPosition: DaffToastPositionService,\n private focusStack: DaffFocusStackService,\n private injector: Injector,\n ) {\n this._sub = this.mediaQuery.observe(DaffBreakpoints.MOBILE).pipe(\n filter(() => this._overlayRef !== undefined),\n map((position) => createPositionStrategy(this.toastPosition.config)),\n tap((strategy) => this._overlayRef.updatePositionStrategy(strategy)),\n ).subscribe();\n }\n\n /**\n * @docs-private\n */\n ngOnDestroy(): void {\n this._sub.unsubscribe();\n }\n\n private _attachToastTemplate(\n overlayRef: OverlayRef,\n ): ComponentRef<DaffToastTemplateComponent> {\n const template = overlayRef.attach(new ComponentPortal(DaffToastTemplateComponent, null, this.injector));\n return template;\n }\n\n private _createOverlayRef(): OverlayRef {\n return this.overlay.create({\n hasBackdrop: false,\n scrollStrategy: this.overlay.scrollStrategies.noop(),\n positionStrategy: createPositionStrategy(this.toastPosition.config),\n });\n }\n\n /**\n * Opens the toast.\n *\n * @param toast Data that can be shown on a toast.\n * @param configuration Additional configuration options such as duration. The default duration is set to 5000ms.\n */\n open(\n toast: DaffToastData,\n configuration?: Partial<DaffToastConfiguration>,\n ): DaffToast {\n if(this._parentToast && this.options.useParent) {\n return this._parentToast.open(toast, configuration);\n }\n\n const config: DaffToastConfiguration = {\n ...daffDefaultToastConfiguration,\n // sets the default duration to 5000ms if a toast does not have actions\n duration: toast.actions?.length > 0 ? undefined : 5000,\n ...configuration,\n };\n if(this._toasts.length === 0) {\n this._overlayRef = this._createOverlayRef();\n this._template = this._attachToastTemplate(this._overlayRef);\n }\n const dismissEvent = new EventEmitter<void>();\n const _toastPlus: DaffToast = {\n dismissible: true,\n ...toast,\n dismiss: () => {\n dismissEvent.emit();\n },\n dismissalStream: merge(\n config.duration ? of(undefined).pipe(delay(config.duration)) : EMPTY,\n dismissEvent,\n ).pipe(\n take(1),\n ),\n };\n\n _toastPlus.dismissalStream.subscribe(() => {\n this.close(_toastPlus);\n });\n\n this._toasts = [\n _toastPlus,\n ...this._toasts,\n ];\n\n this._template.instance.items = this._toasts;\n\n return _toastPlus;\n }\n\n /**\n * Closes the toast.\n *\n * @param toast The instance of toast that you wish to close.\n */\n close(toast: DaffToast): void {\n if(this._parentToast && this.options.useParent) {\n this._parentToast.close(toast);\n return;\n }\n\n if(daffToastChangesFocus(toast)) {\n this.focusStack.pop();\n }\n\n const index = this._toasts.indexOf(toast);\n if (index === -1) {\n throw new Error(\n 'The Toast that you are trying to remove does not exist.',\n );\n }\n\n this._toasts = this._toasts.filter(m => m !== toast);\n this._template.instance.items = [...this._toasts];\n\n // This currently overrides the \":leave\" animation as we currently\n // remove the animating element immediately after there are no more toasts,\n // without waiting for the animation to complete.\n if(this._toasts.length === 0) {\n this._overlayRef.dispose();\n this._template.destroy();\n this._overlayRef = undefined;\n this._template = undefined;\n }\n }\n}\n","import { Provider } from '@angular/core';\n\nimport { DaffToastPositionService } from '../service/position.service';\nimport { DaffToastService } from '../service/toast.service';\n\n/**\n * Registers the `DaffToastService` and `DaffToastPositionService` for displaying a toast. This provider ensures\n * toasts function correctly within your application.\n *\n * ```ts\n * import { provideDaffToast } from '@daffodil/design/toast';\n *\n * @NgModule({\n * \tproviders: [\n * \t\tprovideDaffToast(),\n * \t]\n * )}\n *\n * export class AppModule {}\n * ```\n */\nexport const provideDaffToast = (): Provider[] => [\n DaffToastService,\n DaffToastPositionService,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.DaffToastPositionService","i2","i3.DaffToastPositionService","i4"],"mappings":"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"}
1
+ {"version":3,"file":"daffodil-design-toast.mjs","sources":["../../../libs/design/toast/src/service/changes-focus.ts","../../../libs/design/toast/src/service/position-strategy.ts","../../../libs/design/toast/src/interfaces/toast-options.ts","../../../libs/design/toast/src/service/position.service.ts","../../../libs/design/toast/src/toast/toast-config.ts","../../../libs/design/toast/src/toast-actions/toast-actions.directive.ts","../../../libs/design/toast/src/toast/toast.component.ts","../../../libs/design/toast/src/toast/toast.component.html","../../../libs/design/toast/src/toast-message/toast-message.directive.ts","../../../libs/design/toast/src/toast-title/toast-title.directive.ts","../../../libs/design/toast/src/toast/toast-template.component.ts","../../../libs/design/toast/src/service/toast.service.ts","../../../libs/design/toast/src/toast/toast-provider.ts","../../../libs/design/toast/src/daffodil-design-toast.ts"],"sourcesContent":["import { DaffToast } from '../interfaces/toast';\n\nexport const daffToastChangesFocus = (toast: DaffToast): boolean => toast.actions?.length > 0;\n","import {\n GlobalPositionStrategy,\n PositionStrategy,\n} from '@angular/cdk/overlay';\n\nimport { DaffToastPosition } from '../interfaces/toast-options';\n\nexport const createPositionStrategy = (position: DaffToastPosition): PositionStrategy => {\n const strat = new GlobalPositionStrategy();\n\n switch ( position.horizontal ) {\n case 'left':\n strat.left('48px');\n break;\n case 'right':\n strat.right('48px');\n break;\n case 'center':\n strat.centerHorizontally();\n break;\n default:\n strat.right('48px');\n }\n\n switch(position.vertical) {\n case 'top':\n strat.top('80px');\n break;\n case 'bottom':\n strat.bottom('48px');\n break;\n default:\n strat.top('80px');\n }\n\n return strat;\n};\n","import { createConfigInjectionToken } from '@daffodil/core';\n\nimport {\n DaffToastHorizontalPosition,\n DaffToastVerticalPosition,\n} from '../helpers/toast-position';\n\ntype Without<T, U> = { [P in Exclude<keyof T, keyof U>]?: never };\ntype XOR<T, U> = (T | U) extends Record<string,unknown> ? (Without<T, U> & U) | (Without<U, T> & T) : T | U;\n\nexport interface DaffToastVerticalPositionInterface {\n vertical: DaffToastVerticalPosition;\n};\n\nexport interface DaffToastHorizontalPositionInterface {\n horizontal: DaffToastHorizontalPosition;\n};\n\nexport type DaffToastPosition = DaffToastVerticalPositionInterface & DaffToastHorizontalPositionInterface;\n\nexport interface DaffToastOptions {\n /**\n * The position of all toasts.\n */\n position: DaffToastPosition;\n /** @docs-private */\n useParent?: boolean;\n}\n\nexport const daffToastDefaultOptions: DaffToastOptions = {\n position: {\n vertical: 'top',\n horizontal: 'right',\n },\n useParent: true,\n};\n\nconst result = createConfigInjectionToken<DaffToastOptions>(daffToastDefaultOptions, 'DAFF_TOAST_OPTIONS');\n\nexport const provideDaffToastOptions = result.provider;\n\nexport const DAFF_TOAST_OPTIONS = result.token;\n\n// export const {\n// token: DAFF_TOAST_OPTIONS,\n// /**\n// * Provider function for {@link DAFF_TOAST_OPTIONS}.\n// */\n// provider: provideDaffToastOptions,\n// } = createConfigInjectionToken<DaffToastOptions>(daffToastDefaultOptions, 'DAFF_TOAST_OPTIONS');\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n Inject,\n Injectable,\n} from '@angular/core';\n\nimport { DaffBreakpoints } from '@daffodil/design';\n\nimport {\n DAFF_TOAST_OPTIONS,\n DaffToastOptions,\n DaffToastPosition,\n} from '../interfaces/toast-options';\n\n@Injectable()\nexport class DaffToastPositionService {\n\n constructor(@Inject(DAFF_TOAST_OPTIONS) private options: DaffToastOptions, private mediaQuery: BreakpointObserver) {\n this._config = options.position;\n }\n\n private _config: DaffToastPosition;\n private _position: DaffToastPosition;\n\n /**\n * Reads the current position of the toast. Defaults to bottom center on mobile devices.\n */\n get config(): DaffToastPosition {\n return this.mediaQuery.isMatched(DaffBreakpoints.MOBILE)\n ? this._position ?? this._config\n : <DaffToastPosition>{ vertical: 'bottom', horizontal: 'center' };\n }\n\n private set config(val: DaffToastPosition) {\n this._config = val;\n }\n\n /**\n * Changes the position of the toast.\n *\n * @param position The position of the toast.\n */\n setPosition(position: DaffToastPosition) {\n this._position = position;\n }\n}\n","export interface DaffToastConfiguration {\n /**\n * The duration (in milliseconds) for which a toast remains visible before dismissal.\n *\n * While you can set a duration for toasts with actions, it's generally not recommended,\n * as users should have ample time to interact with them.\n *\n * @usage\n * ```\n * export class CustomComponent {\n * private toast: DaffToast;\n *\n * constructor(private toastService: DaffToastService) {}\n *\n * open() {\n * this.toast = this.toastService.open({\n * title: 'Update Complete',\n * message: 'This page has been updated to the newest version.',\n * status: 'success',\n * },\n * {\n * duration: 7000,\n * });\n * }\n * }\n * ```\n */\n duration?: number;\n}\n\nexport const daffDefaultToastConfiguration: DaffToastConfiguration = {};\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffToastActions]',\n})\n\nexport class DaffToastActionsDirective {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-toast__actions') class = true;\n}\n","import {\n ConfigurableFocusTrap,\n ConfigurableFocusTrapFactory,\n} from '@angular/cdk/a11y';\nimport { NgIf } from '@angular/common';\nimport {\n Component,\n ElementRef,\n HostBinding,\n ContentChild,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n AfterViewInit,\n AfterContentInit,\n HostListener,\n Input,\n OnDestroy,\n} from '@angular/core';\n\nimport {\n DaffArticleEncapsulatedDirective,\n DaffFocusStackService,\n DaffPrefixDirective,\n DaffStatusableDirective,\n} from '@daffodil/design';\n\nimport { DaffToast } from '../interfaces/toast';\nimport { daffToastChangesFocus } from '../service/changes-focus';\nimport { DaffToastActionsDirective } from '../toast-actions/toast-actions.directive';\n\n/**\n * @docs-private\n *\n * DaffToastComponent provides a way to display and\n * communicate information for user actions or system updates.\n */\n@Component({\n selector: 'daff-toast',\n templateUrl: './toast.component.html',\n styleUrls: ['./toast.component.scss'],\n hostDirectives: [\n { directive: DaffArticleEncapsulatedDirective },\n {\n directive: DaffStatusableDirective,\n inputs: ['status'],\n },\n ],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n NgIf,\n ],\n})\nexport class DaffToastComponent implements AfterContentInit, AfterViewInit, OnDestroy {\n /** @docs-private */\n @HostBinding('class.daff-toast') class = true;\n\n /**\n * @docs-private\n */\n @ContentChild(DaffToastActionsDirective)\n _actions: DaffToastActionsDirective;\n\n /**\n * @docs-private\n */\n @ContentChild(DaffPrefixDirective)\n _prefix: DaffPrefixDirective;\n\n @Input() toast: DaffToast;\n\n /**\n * @docs-private\n */\n @HostListener('keydown.escape')\n onEscape() {\n this.toast.dismiss();\n }\n\n private _focusTrap: ConfigurableFocusTrap;\n\n constructor(\n private _elementRef: ElementRef,\n private _focusTrapFactory: ConfigurableFocusTrapFactory,\n private _focusStack: DaffFocusStackService,\n ) {\n }\n\n /**\n * @docs-private\n */\n ngAfterContentInit() {\n if(daffToastChangesFocus(this.toast)) {\n this._focusTrap = this._focusTrapFactory.create(\n this._elementRef.nativeElement,\n );\n }\n }\n\n /**\n * @docs-private\n */\n ngAfterViewInit() {\n if(daffToastChangesFocus(this.toast)) {\n this._focusStack.push();\n this._focusTrap.focusFirstTabbableElementWhenReady();\n }\n }\n\n /**\n * @docs-private\n */\n ngOnDestroy() {\n if(daffToastChangesFocus(this.toast)) {\n this._focusTrap.destroy();\n }\n }\n}\n","@if (_prefix) {\n <ng-content select=\"[daffPrefix]\"></ng-content>\n}\n<div class=\"daff-toast__details\">\n <div class=\"daff-toast__content\">\n <ng-content select=\"[daffToastTitle]\"></ng-content>\n <ng-content select=\"[daffToastMessage]\"></ng-content>\n </div>\n <ng-content select=\"[daffToastActions]\"></ng-content>\n</div>\n<ng-content></ng-content>\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffToastMessage]',\n})\n\nexport class DaffToastMessageDirective {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-toast__message') class = true;\n}\n","import {\n Directive,\n HostBinding,\n} from '@angular/core';\n\n@Directive({\n selector: '[daffToastTitle]',\n})\n\nexport class DaffToastTitleDirective {\n /**\n * @docs-private\n */\n @HostBinding('class.daff-toast__title') class = true;\n}\n","import {\n animate,\n style,\n transition,\n trigger,\n} from '@angular/animations';\nimport {\n NgFor,\n NgTemplateOutlet,\n SlicePipe,\n} from '@angular/common';\nimport {\n Input,\n ChangeDetectionStrategy,\n Component,\n ChangeDetectorRef,\n Inject,\n Output,\n EventEmitter,\n} from '@angular/core';\nimport { FaIconComponent } from '@fortawesome/angular-fontawesome';\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\n\nimport { DAFF_BUTTON_COMPONENTS } from '@daffodil/design/button';\n\nimport { DaffToastComponent } from './toast.component';\nimport { DaffToast } from '../interfaces/toast';\nimport {\n DaffToastOptions,\n DAFF_TOAST_OPTIONS,\n} from '../interfaces/toast-options';\nimport { DaffToastPositionService } from '../service/position.service';\nimport { DaffToastActionsDirective } from '../toast-actions/toast-actions.directive';\nimport { DaffToastMessageDirective } from '../toast-message/toast-message.directive';\nimport { DaffToastTitleDirective } from '../toast-title/toast-title.directive';\n\n@Component({\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <daff-toast\n *ngFor=\"let item of items | slice:0:3\"\n [toast]=\"item\"\n [status]=\"item.status ?? null\"\n (closeToast)=\"item.dismiss()\"\n [@slideIn]=\"slideAnimation\"\n [attr.role]=\"item.actions ? 'alertdialog' : 'status'\"\n [attr.aria-labelledby]=\"item.actions ? item.title : undefined\"\n [attr.aria-describedby]=\"item.actions ? item.message : undefined\">\n <div daffToastTitle>{{ item.title }}</div>\n <div daffToastMessage>{{ item.message }}</div>\n @if (item.actions) {\n <div daffToastActions>\n @for (action of item.actions; track action) {\n <ng-container *ngTemplateOutlet=\"button;context:{ action, item }\"></ng-container>\n }\n </div>\n }\n @if (item.dismissible) {\n <button daff-icon-button color=\"theme-contrast\"\n aria-label=\"Close\"\n [attr.aria-hidden]=\"item.actions ? undefined : true\"\n (click)=\"onCloseToast(item.dismiss())\">\n <fa-icon [icon]=\"faTimes\" [fixedWidth]=\"true\"></fa-icon>\n </button>\n }\n </daff-toast>\n\n <ng-template #button let-action=\"action\" let-item=\"item\">\n @switch (action.type) {\n @case ('stroked') {\n <button type=\"button\" daff-stroked-button\n [status]=\"action.status\"\n [color]=\"action.color\"\n [size]=\"action.size\"\n [attr.aria-label]=\"action.content\"\n (click)=\"action.eventEmitter?.emit({ event: $event, action})\">\n {{ action.content }}\n </button>\n }\n @case ('flat') {\n <button type=\"button\" daff-flat-button\n [status]=\"action.status\"\n [color]=\"action.color\"\n [size]=\"action.size\"\n [attr.aria-label]=\"action.content\"\n (click)=\"action.eventEmitter?.emit({ event: $event, action})\">\n {{ action.content }}\n </button>\n }\n @case ('underline') {\n <button type=\"button\" daff-underline-button\n [status]=\"action.status\"\n [color]=\"action.color\"\n [size]=\"action.size\"\n [attr.aria-label]=\"action.content\"\n (click)=\"action.eventEmitter?.emit({ event: $event, action})\">\n {{ action.content }}\n </button>\n }\n @default {\n <button type=\"button\" daff-button\n [status]=\"action.status\"\n [color]=\"action.color\"\n [size]=\"action.size\"\n [attr.aria-label]=\"action.content\"\n (click)=\"action.eventEmitter?.emit({ event: $event, action})\">\n {{ action.content }}\n </button>\n }\n }\n </ng-template>\n `,\n animations: [\n trigger('slideIn', [\n transition(':enter', [\n style({ opacity: '0', transform: 'translate({{startX}}, {{startY}})' }),\n animate('300ms ease-out', style({ opacity: '1', transform: 'translate({{endX}}, {{endY}})' })),\n ], { params: {\n startX: '0',\n startY: '0',\n endX: '0',\n endY: '0',\n } }),\n ]),\n ],\n imports: [\n DAFF_BUTTON_COMPONENTS,\n DaffToastComponent,\n DaffToastActionsDirective,\n DaffToastTitleDirective,\n DaffToastMessageDirective,\n FaIconComponent,\n NgFor,\n SlicePipe,\n NgTemplateOutlet,\n ],\n})\nexport class DaffToastTemplateComponent {\n faTimes = faTimes;\n\n private _items: DaffToast[] = [];\n\n constructor(\n private cd: ChangeDetectorRef,\n @Inject(DAFF_TOAST_OPTIONS)\n private options: DaffToastOptions,\n private toastPosition: DaffToastPositionService,\n ) { }\n\n @Output() closeToast: EventEmitter<void> = new EventEmitter();\n\n onCloseToast(event: Event) {\n this.closeToast.emit();\n }\n\n get slideAnimation(): any {\n switch (this.toastPosition.config.horizontal + '-' + this.toastPosition.config.vertical) {\n case 'left-top':\n case 'left-bottom':\n return {\n value: 0,\n params: {\n startX: '-100%',\n endX: '0',\n startY: '0',\n endY: '0',\n },\n };\n case 'right-top':\n case 'right-bottom':\n return {\n value: 0,\n params: {\n startX: '100%',\n endX: '0',\n startY: '0',\n endY: '0',\n },\n };\n\n case 'center-top':\n return {\n value: 0,\n params: {\n startX: '0',\n endX: '0',\n startY: '-100%',\n endY: '0',\n },\n };\n\n case 'center-bottom':\n return {\n value: 0,\n params: {\n startX: '0',\n endX: '0',\n startY: '100%',\n endY: '0',\n },\n };\n }\n }\n\n @Input()\n get items(): DaffToast[] {\n return this._items;\n }\n set items(value: DaffToast[]) {\n this._items = value;\n this.cd.markForCheck();\n }\n}\n","import { BreakpointObserver } from '@angular/cdk/layout';\nimport {\n Overlay,\n OverlayRef,\n} from '@angular/cdk/overlay';\nimport { ComponentPortal } from '@angular/cdk/portal';\nimport {\n ComponentRef,\n EventEmitter,\n Inject,\n Injectable,\n Injector,\n OnDestroy,\n Optional,\n SkipSelf,\n} from '@angular/core';\nimport {\n EMPTY,\n merge,\n of,\n Subscription,\n} from 'rxjs';\nimport {\n delay,\n filter,\n map,\n take,\n tap,\n} from 'rxjs/operators';\n\nimport {\n DaffBreakpoints,\n DaffFocusStackService,\n} from '@daffodil/design';\n\nimport { daffToastChangesFocus } from './changes-focus';\nimport { createPositionStrategy } from './position-strategy';\nimport { DaffToastPositionService } from './position.service';\nimport {\n DaffToast,\n DaffToastData,\n} from '../interfaces/toast';\nimport {\n DAFF_TOAST_OPTIONS,\n DaffToastOptions,\n} from '../interfaces/toast-options';\nimport {\n daffDefaultToastConfiguration,\n DaffToastConfiguration,\n} from '../toast/toast-config';\nimport { DaffToastTemplateComponent } from '../toast/toast-template.component';\n\n/**\n * Service to display toasts.\n *\n * @example\n * ```ts\n * import {\n * ChangeDetectionStrategy,\n * Component,\n * EventEmitter,\n * OnInit,\n * } from '@angular/core';\n *\n * import {\n * DaffToast,\n * DaffToastAction,\n * DaffToastService,\n * } from '@daffodil/design/toast';\n *\n * @Component({\n * selector: 'default-toast',\n * templateUrl: './default-toast.component.html',\n * styles: [],\n * changeDetection: ChangeDetectionStrategy.OnPush,\n * })\n * export class DefaultToastComponent implements OnInit {\n * private toast: DaffToast;\n *\n * constructor(private toastService: DaffToastService) {}\n *\n * closeToast = new EventEmitter<DaffToastAction>();\n *\n * open() {\n * this.toast = this.toastService.open({\n * title: 'Update Available',\n * message: 'A new version of this page is available.',\n * actions: [\n * { content: 'Remind me later', type: 'flat', size: 'sm', eventEmitter: this.closeToast },\n * ],\n * });\n * }\n *\n * ngOnInit() {\n * this.closeToast.subscribe(() => {\n * this.toastService.close(this.toast);\n * });\n * }\n * }\n * ```\n */\n@Injectable()\nexport class DaffToastService implements OnDestroy {\n\n private _sub: Subscription;\n\n private _toasts: DaffToast[] = [];\n\n private _overlayRef?: OverlayRef;\n\n private _template?: ComponentRef<DaffToastTemplateComponent>;\n\n constructor(\n private overlay: Overlay,\n @Inject(DAFF_TOAST_OPTIONS) private options: DaffToastOptions,\n @Optional() @SkipSelf() private _parentToast: DaffToastService,\n private mediaQuery: BreakpointObserver,\n private toastPosition: DaffToastPositionService,\n private focusStack: DaffFocusStackService,\n private injector: Injector,\n ) {\n this._sub = this.mediaQuery.observe(DaffBreakpoints.MOBILE).pipe(\n filter(() => this._overlayRef !== undefined),\n map((position) => createPositionStrategy(this.toastPosition.config)),\n tap((strategy) => this._overlayRef.updatePositionStrategy(strategy)),\n ).subscribe();\n }\n\n /**\n * @docs-private\n */\n ngOnDestroy(): void {\n this._sub.unsubscribe();\n }\n\n private _attachToastTemplate(\n overlayRef: OverlayRef,\n ): ComponentRef<DaffToastTemplateComponent> {\n const template = overlayRef.attach(new ComponentPortal(DaffToastTemplateComponent, null, this.injector));\n return template;\n }\n\n private _createOverlayRef(): OverlayRef {\n return this.overlay.create({\n hasBackdrop: false,\n scrollStrategy: this.overlay.scrollStrategies.noop(),\n positionStrategy: createPositionStrategy(this.toastPosition.config),\n });\n }\n\n /**\n * Opens the toast.\n *\n * @param toast Data that can be shown on a toast.\n * @param configuration Additional configuration options such as duration. The default duration is set to 5000ms.\n */\n open(\n toast: DaffToastData,\n configuration?: Partial<DaffToastConfiguration>,\n ): DaffToast {\n if(this._parentToast && this.options.useParent) {\n return this._parentToast.open(toast, configuration);\n }\n\n const config: DaffToastConfiguration = {\n ...daffDefaultToastConfiguration,\n // sets the default duration to 5000ms if a toast does not have actions\n duration: toast.actions?.length > 0 ? undefined : 5000,\n ...configuration,\n };\n if(this._toasts.length === 0) {\n this._overlayRef = this._createOverlayRef();\n this._template = this._attachToastTemplate(this._overlayRef);\n }\n const dismissEvent = new EventEmitter<void>();\n const _toastPlus: DaffToast = {\n dismissible: true,\n ...toast,\n dismiss: () => {\n dismissEvent.emit();\n },\n dismissalStream: merge(\n config.duration ? of(undefined).pipe(delay(config.duration)) : EMPTY,\n dismissEvent,\n ).pipe(\n take(1),\n ),\n };\n\n _toastPlus.dismissalStream.subscribe(() => {\n this.close(_toastPlus);\n });\n\n this._toasts = [\n _toastPlus,\n ...this._toasts,\n ];\n\n this._template.instance.items = this._toasts;\n\n return _toastPlus;\n }\n\n /**\n * Closes the toast.\n *\n * @param toast The instance of toast that you wish to close.\n */\n close(toast: DaffToast): void {\n if(this._parentToast && this.options.useParent) {\n this._parentToast.close(toast);\n return;\n }\n\n if(daffToastChangesFocus(toast)) {\n this.focusStack.pop();\n }\n\n const index = this._toasts.indexOf(toast);\n if (index === -1) {\n throw new Error(\n 'The Toast that you are trying to remove does not exist.',\n );\n }\n\n this._toasts = this._toasts.filter(m => m !== toast);\n this._template.instance.items = [...this._toasts];\n\n // This currently overrides the \":leave\" animation as we currently\n // remove the animating element immediately after there are no more toasts,\n // without waiting for the animation to complete.\n if(this._toasts.length === 0) {\n this._overlayRef.dispose();\n this._template.destroy();\n this._overlayRef = undefined;\n this._template = undefined;\n }\n }\n}\n","import { Provider } from '@angular/core';\n\nimport {\n daffToastDefaultOptions,\n DaffToastOptions,\n provideDaffToastOptions,\n} from '../interfaces/toast-options';\nimport { DaffToastPositionService } from '../service/position.service';\nimport { DaffToastService } from '../service/toast.service';\n\n/**\n * Registers the `DaffToastService` for displaying a toast. This provider ensures\n * toasts function correctly within your application.\n *\n * ```ts\n * import { provideDaffToast } from '@daffodil/design/toast';\n *\n * @NgModule({\n * \tproviders: [\n * provideDaffToast({\n * position: {\n * vertical: 'bottom',\n * horizontal: 'left',\n * },\n * }),\n * ]\n * )}\n *\n * export class AppModule {}\n * ```\n * @param config Sets the configuration for all toasts.\n * Toasts are displayed in the top-right corner of the screen by default on desktop devices.\n *\n * On mobile devices, toasts will always appear in the bottom-center position,\n * regardless of configuration settings.\n *\n */\nexport const provideDaffToast = (config: DaffToastOptions = daffToastDefaultOptions): Provider[] => [\n DaffToastService,\n DaffToastPositionService,\n provideDaffToastOptions(config),\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i1.DaffToastPositionService","i2","i3.DaffToastPositionService","i4"],"mappings":"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"}