@festo-ui/angular 8.2.0-dev.617 → 8.2.0-dev.620

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 (100) hide show
  1. package/css/bundle.css +1 -1
  2. package/css/popover.css +1 -1
  3. package/fesm2022/festo-ui-angular.mjs +514 -260
  4. package/fesm2022/festo-ui-angular.mjs.map +1 -1
  5. package/lib/components/components.module.d.ts +3 -1
  6. package/lib/components/overlay/overlay-content/overlay-content.component.d.ts +5 -0
  7. package/lib/components/overlay/overlay-outlet.directive.d.ts +64 -0
  8. package/lib/components/popovers/popover.defaults.d.ts +0 -18
  9. package/lib/components/popovers/popover.models.d.ts +2 -1
  10. package/lib/components/popovers/tooltip/tooltip.directive.d.ts +7 -0
  11. package/lib/forms/value-accessor-base.d.ts +1 -1
  12. package/package.json +9 -11
  13. package/public-api.d.ts +2 -0
  14. package/scss/base/icons-svg.scss +1 -1
  15. package/scss/base/image-gallery.scss +2 -2
  16. package/scss/base/popover.scss +2 -2
  17. package/scss/base/styles.scss +4 -4
  18. package/esm2022/festo-ui-angular.mjs +0 -5
  19. package/esm2022/lib/components/accordion/accordion-header/accordion-header.component.mjs +0 -11
  20. package/esm2022/lib/components/accordion/accordion-item/accordion-item-body/accordion-item-body.component.mjs +0 -15
  21. package/esm2022/lib/components/accordion/accordion-item/accordion-item-header/accordion-item-header.component.mjs +0 -28
  22. package/esm2022/lib/components/accordion/accordion-item/accordion-item.component.mjs +0 -148
  23. package/esm2022/lib/components/accordion/accordion.component.mjs +0 -59
  24. package/esm2022/lib/components/accordion/index.mjs +0 -6
  25. package/esm2022/lib/components/bottom-sheet/bottom-sheet.component.mjs +0 -97
  26. package/esm2022/lib/components/breadcrumb/breadcrumb.component.mjs +0 -26
  27. package/esm2022/lib/components/buttons/button/button.component.mjs +0 -48
  28. package/esm2022/lib/components/buttons/link-button/link-button.component.mjs +0 -34
  29. package/esm2022/lib/components/chips/chip/chip.component.mjs +0 -38
  30. package/esm2022/lib/components/chips/chip-container/chip-container.component.mjs +0 -17
  31. package/esm2022/lib/components/components.module.mjs +0 -212
  32. package/esm2022/lib/components/loading-indicator/loading-indicator.component.mjs +0 -17
  33. package/esm2022/lib/components/mobile-flyout/mobile-flyout-item/mobile-flyout-item.component.mjs +0 -39
  34. package/esm2022/lib/components/mobile-flyout/mobile-flyout-page/mobile-flyout-page.component.mjs +0 -65
  35. package/esm2022/lib/components/mobile-flyout/mobile-flyout.component.mjs +0 -69
  36. package/esm2022/lib/components/pagination/pagination.component.mjs +0 -57
  37. package/esm2022/lib/components/popovers/legend/legend.component.mjs +0 -42
  38. package/esm2022/lib/components/popovers/legend/legend.directive.mjs +0 -31
  39. package/esm2022/lib/components/popovers/popover/popover.component.mjs +0 -31
  40. package/esm2022/lib/components/popovers/popover-content/popover-content.component.mjs +0 -80
  41. package/esm2022/lib/components/popovers/popover-content/popover-content.directive.mjs +0 -39
  42. package/esm2022/lib/components/popovers/popover-menu/popover-menu.component.mjs +0 -67
  43. package/esm2022/lib/components/popovers/popover-ref.mjs +0 -25
  44. package/esm2022/lib/components/popovers/popover.defaults.mjs +0 -59
  45. package/esm2022/lib/components/popovers/popover.models.mjs +0 -7
  46. package/esm2022/lib/components/popovers/popover.service.mjs +0 -140
  47. package/esm2022/lib/components/popovers/tooltip/tooltip.directive.mjs +0 -101
  48. package/esm2022/lib/components/progress/progress.component.mjs +0 -22
  49. package/esm2022/lib/components/scroll/index.mjs +0 -2
  50. package/esm2022/lib/components/scroll/scrollable.directive.mjs +0 -75
  51. package/esm2022/lib/components/search-input/search-input.component.mjs +0 -182
  52. package/esm2022/lib/components/sidebar-overlay/sidebar-overlay.component.mjs +0 -59
  53. package/esm2022/lib/components/snackbar/snackbar-container.component.mjs +0 -21
  54. package/esm2022/lib/components/snackbar/snackbar-container.directive.mjs +0 -80
  55. package/esm2022/lib/components/snackbar/snackbar.component.mjs +0 -81
  56. package/esm2022/lib/components/snackbar/snackbar.models.mjs +0 -2
  57. package/esm2022/lib/components/snackbar/snackbar.module.mjs +0 -24
  58. package/esm2022/lib/components/snackbar/snackbar.service.mjs +0 -23
  59. package/esm2022/lib/components/stepper-horizontal/step-horizontal/step-horizontal.component.mjs +0 -19
  60. package/esm2022/lib/components/stepper-horizontal/stepper-horizontal.component.mjs +0 -52
  61. package/esm2022/lib/components/stepper-vertical/step-vertical/step-vertical.component.mjs +0 -57
  62. package/esm2022/lib/components/stepper-vertical/stepper-vertical.component.mjs +0 -54
  63. package/esm2022/lib/components/table-header-cell/table-header-cell.directive.mjs +0 -60
  64. package/esm2022/lib/components/tabs/tab-pane/tab-pane.component.mjs +0 -34
  65. package/esm2022/lib/components/tabs/tabs.component.mjs +0 -459
  66. package/esm2022/lib/directives/click-outside.directive.mjs +0 -29
  67. package/esm2022/lib/festo-angular.module.mjs +0 -21
  68. package/esm2022/lib/forms/checkbox/checkbox.component.mjs +0 -154
  69. package/esm2022/lib/forms/color-indicator/color-indicator.component.mjs +0 -88
  70. package/esm2022/lib/forms/color-picker/color-helper.mjs +0 -129
  71. package/esm2022/lib/forms/color-picker/color-picker.component.mjs +0 -292
  72. package/esm2022/lib/forms/date-picker/date-picker.component.mjs +0 -205
  73. package/esm2022/lib/forms/date-range-picker/date-range-picker.component.mjs +0 -231
  74. package/esm2022/lib/forms/flatpickr/flatpickr.component.mjs +0 -55
  75. package/esm2022/lib/forms/forms.module.mjs +0 -132
  76. package/esm2022/lib/forms/radio/radio.component.mjs +0 -349
  77. package/esm2022/lib/forms/segment/segment-control/segment-control.component.mjs +0 -65
  78. package/esm2022/lib/forms/segment/segment.component.mjs +0 -139
  79. package/esm2022/lib/forms/select/chip-text.pipe.mjs +0 -39
  80. package/esm2022/lib/forms/select/select-option/select-option.component.mjs +0 -23
  81. package/esm2022/lib/forms/select/select.component.mjs +0 -273
  82. package/esm2022/lib/forms/slider/slider.component.mjs +0 -117
  83. package/esm2022/lib/forms/switch/switch.component.mjs +0 -121
  84. package/esm2022/lib/forms/text-area/text-area.component.mjs +0 -187
  85. package/esm2022/lib/forms/text-editor/text-editor.component.mjs +0 -307
  86. package/esm2022/lib/forms/text-input/text-input.component.mjs +0 -208
  87. package/esm2022/lib/forms/time-picker/time-picker-dropdown/time-picker-dropdown.component.mjs +0 -107
  88. package/esm2022/lib/forms/time-picker/time-picker.component.mjs +0 -204
  89. package/esm2022/lib/forms/unique-selection-dispatcher.mjs +0 -41
  90. package/esm2022/lib/forms/value-accessor-base.mjs +0 -41
  91. package/esm2022/lib/modals/alert/alert.component.mjs +0 -55
  92. package/esm2022/lib/modals/confirm/confirm.component.mjs +0 -56
  93. package/esm2022/lib/modals/custom-modal/custom-modal.component.mjs +0 -88
  94. package/esm2022/lib/modals/image-gallery/image-gallery.component.mjs +0 -80
  95. package/esm2022/lib/modals/index.mjs +0 -2
  96. package/esm2022/lib/modals/modal.service.mjs +0 -118
  97. package/esm2022/lib/modals/modals.module.mjs +0 -27
  98. package/esm2022/lib/modals/prompt/prompt.component.mjs +0 -114
  99. package/esm2022/lib/pipes/safe-html.pipe.mjs +0 -21
  100. package/esm2022/public-api.mjs +0 -66
@@ -1,182 +0,0 @@
1
- import { Component, Input, ViewChild, ViewEncapsulation, Output, EventEmitter, HostListener } from '@angular/core';
2
- import { coerceBooleanProperty } from '@angular/cdk/coercion';
3
- import { CommonModule } from '@angular/common';
4
- import { FngSafeHtmlPipe } from '../../pipes/safe-html.pipe';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/common";
7
- export class FngSearchSuggestion {
8
- constructor() {
9
- /**
10
- * a html-string. e.g.: '<strong> hello </strong>'
11
- */
12
- this.template = '';
13
- /**
14
- * This Value will be used as new query when the user selects the suggestion.
15
- */
16
- this.value = '';
17
- }
18
- /**
19
- * Creates a basic Suggestion from a string. The first query match is highlighted by bold tags.
20
- * @param suggestionString The suggested string (should contain the whole query)
21
- * @param query The current query. This string will be highlighted.
22
- * @returns a html-string.
23
- */
24
- static basicSuggestion(suggestionString, query) {
25
- const i = suggestionString.toLocaleLowerCase().indexOf(query.toLocaleLowerCase());
26
- let template = suggestionString;
27
- if (i != -1) {
28
- const boldStart = i;
29
- const boldEnd = i + query.length;
30
- const part1 = suggestionString.substring(0, boldStart);
31
- const part2 = suggestionString.substring(boldStart, boldEnd);
32
- const part3 = suggestionString.substring(boldEnd, suggestionString.length);
33
- template = part1 + '<strong>' + part2 + '</strong>' + part3;
34
- }
35
- return { value: suggestionString, template };
36
- }
37
- }
38
- /**
39
- * A custom form element for search inputs.
40
- */
41
- export class FngSearchInputComponent {
42
- constructor() {
43
- /**
44
- * the querrry was changed, update the suggetion list
45
- */
46
- this.fngChange = new EventEmitter();
47
- /**
48
- * Start search on this event
49
- */
50
- this.fngSearch = new EventEmitter();
51
- /**
52
- * The search input label.
53
- */
54
- this.label = '';
55
- this.innerDisabled = false;
56
- this.innerValue = '';
57
- this.innerSuggestions = [];
58
- this.hideSuggestionList = false;
59
- // This is the index of the selected element in dhe suggestion list.
60
- this.selectedSuggestionIndex = -1;
61
- }
62
- /**
63
- * When true the control's disabled attribute is set
64
- * and it gets addeed the .disabled css class.
65
- */
66
- get disabled() {
67
- return this.innerDisabled;
68
- }
69
- set disabled(value) {
70
- this.innerDisabled = coerceBooleanProperty(value);
71
- }
72
- /**
73
- * The getter for value.
74
- */
75
- get value() {
76
- return this.innerValue;
77
- }
78
- /**
79
- * The setter for value.
80
- */
81
- set value(value) {
82
- if (value != null) {
83
- value = '' + value;
84
- }
85
- this.innerValue = value;
86
- }
87
- /**
88
- * The list of suggestions
89
- */
90
- set suggestions(value) {
91
- this.selectedSuggestionIndex = -1;
92
- this.innerSuggestions = value;
93
- }
94
- /**
95
- * The list of suggestions capped by 10 entries
96
- */
97
- get cappedSuggestions() {
98
- return this.innerSuggestions.slice(0, 10);
99
- }
100
- keyhandler(event) {
101
- if (!this.cappedSuggestions || !this.cappedSuggestions.length) {
102
- return;
103
- }
104
- // navigate inside the suggestion list
105
- if (event.key === 'ArrowUp') {
106
- if (this.selectedSuggestionIndex > 0) {
107
- this.selectedSuggestionIndex--;
108
- }
109
- else {
110
- this.selectedSuggestionIndex = this.cappedSuggestions.length - 1;
111
- }
112
- this.value = this.cappedSuggestions[this.selectedSuggestionIndex].value;
113
- }
114
- if (event.key === 'ArrowDown') {
115
- if (this.selectedSuggestionIndex >= this.cappedSuggestions.length - 1) {
116
- this.selectedSuggestionIndex = 0;
117
- }
118
- else {
119
- this.selectedSuggestionIndex++;
120
- }
121
- this.value = this.cappedSuggestions[this.selectedSuggestionIndex].value;
122
- }
123
- }
124
- onClickOutside() {
125
- this.hideSuggestionList = true;
126
- }
127
- onFocus() {
128
- this.hideSuggestionList = false;
129
- }
130
- onInput(event) {
131
- this.selectedSuggestionIndex = -1;
132
- this.value = event.target.value;
133
- this.fngChange.emit(this.value);
134
- }
135
- // also triggert on "Enter" and "Escape"
136
- onSearch(event) {
137
- event.stopPropagation();
138
- this.selectedSuggestionIndex = -1;
139
- this.fngSearch.emit(this.value);
140
- this.hideSuggestionList = true;
141
- this.inputRef.nativeElement.blur();
142
- }
143
- onSuggestionClick(suggestion) {
144
- this.selectedSuggestionIndex = -1;
145
- this.value = suggestion.value;
146
- this.fngSearch.emit(this.value);
147
- this.hideSuggestionList = true;
148
- this.inputRef.nativeElement.blur();
149
- }
150
- clearQuery() {
151
- this.selectedSuggestionIndex = -1;
152
- this.value = '';
153
- this.fngSearch.emit(this.value);
154
- this.hideSuggestionList = true;
155
- this.inputRef.nativeElement.blur();
156
- }
157
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngSearchInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
158
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: FngSearchInputComponent, isStandalone: true, selector: "fng-search-input", inputs: { label: "label", disabled: "disabled", value: "value", suggestions: "suggestions" }, outputs: { fngChange: "fngChange", fngSearch: "fngSearch" }, host: { listeners: { "document:keydown": "keyhandler($event)" } }, viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputElement"], descendants: true }], ngImport: i0, template: "<div class=\"fwe-search-input\" (clickOutside)=\"onClickOutside()\" fngClickOutside>\n <input\n #inputElement\n [attr.disabled]=\"disabled ? '' : null\"\n [placeholder]=\"label\"\n (focus)=\"onFocus()\"\n type=\"search\"\n (input)=\"onInput($event)\"\n (search)=\"onSearch($event)\"\n [value]=\"innerValue\"\n />\n <div class=\"fwe-search-icon\"></div>\n <div class=\"fwe-clear-icon\" (click)=\"clearQuery()\"></div>\n <div class=\"fwe-search-suggestions\" *ngIf=\"innerSuggestions?.length && !hideSuggestionList\">\n <div\n *ngFor=\"let suggestion of cappedSuggestions; let i = index\"\n (click)=\"onSuggestionClick(suggestion)\"\n [class.fwe-selected]=\"selectedSuggestionIndex === i\"\n class=\"fwe-search-suggestion\"\n >\n <div [innerHTML]=\"suggestion.template | fngSafeHtml\"></div>\n </div>\n <div class=\"fwe-ml-xxs\" *ngIf=\"innerSuggestions.length > 10\">...</div>\n </div>\n</div>\n", styles: [".fwe-search-suggestion{height:40px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: FngSafeHtmlPipe, name: "fngSafeHtml" }], encapsulation: i0.ViewEncapsulation.None }); }
159
- }
160
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngSearchInputComponent, decorators: [{
161
- type: Component,
162
- args: [{ standalone: true, imports: [CommonModule, FngSafeHtmlPipe], selector: 'fng-search-input', encapsulation: ViewEncapsulation.None, template: "<div class=\"fwe-search-input\" (clickOutside)=\"onClickOutside()\" fngClickOutside>\n <input\n #inputElement\n [attr.disabled]=\"disabled ? '' : null\"\n [placeholder]=\"label\"\n (focus)=\"onFocus()\"\n type=\"search\"\n (input)=\"onInput($event)\"\n (search)=\"onSearch($event)\"\n [value]=\"innerValue\"\n />\n <div class=\"fwe-search-icon\"></div>\n <div class=\"fwe-clear-icon\" (click)=\"clearQuery()\"></div>\n <div class=\"fwe-search-suggestions\" *ngIf=\"innerSuggestions?.length && !hideSuggestionList\">\n <div\n *ngFor=\"let suggestion of cappedSuggestions; let i = index\"\n (click)=\"onSuggestionClick(suggestion)\"\n [class.fwe-selected]=\"selectedSuggestionIndex === i\"\n class=\"fwe-search-suggestion\"\n >\n <div [innerHTML]=\"suggestion.template | fngSafeHtml\"></div>\n </div>\n <div class=\"fwe-ml-xxs\" *ngIf=\"innerSuggestions.length > 10\">...</div>\n </div>\n</div>\n", styles: [".fwe-search-suggestion{height:40px}\n"] }]
163
- }], propDecorators: { inputRef: [{
164
- type: ViewChild,
165
- args: ['inputElement']
166
- }], fngChange: [{
167
- type: Output
168
- }], fngSearch: [{
169
- type: Output
170
- }], label: [{
171
- type: Input
172
- }], disabled: [{
173
- type: Input
174
- }], value: [{
175
- type: Input
176
- }], suggestions: [{
177
- type: Input
178
- }], keyhandler: [{
179
- type: HostListener,
180
- args: ['document:keydown', ['$event']]
181
- }] } });
182
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC1pbnB1dC9zZWFyY2gtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoLWlucHV0L3NlYXJjaC1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQWMsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0gsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBRTdELE1BQU0sT0FBTyxtQkFBbUI7SUFBaEM7UUFDRTs7V0FFRztRQUNILGFBQVEsR0FBVyxFQUFFLENBQUM7UUFFdEI7O1dBRUc7UUFDSCxVQUFLLEdBQVcsRUFBRSxDQUFDO0lBcUJyQixDQUFDO0lBbkJDOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLGVBQWUsQ0FBQyxnQkFBd0IsRUFBRSxLQUFhO1FBQzVELE1BQU0sQ0FBQyxHQUFHLGdCQUFnQixDQUFDLGlCQUFpQixFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUM7UUFDbEYsSUFBSSxRQUFRLEdBQUcsZ0JBQWdCLENBQUM7UUFDaEMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNaLE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQztZQUNwQixN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b0JOLFVBQVU7c0JBRFQsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgVmlld0VuY2Fwc3VsYXRpb24sIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm5nU2FmZUh0bWxQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvc2FmZS1odG1sLnBpcGUnO1xuXG5leHBvcnQgY2xhc3MgRm5nU2VhcmNoU3VnZ2VzdGlvbiB7XG4gIC8qKlxuICAgKiBhIGh0bWwtc3RyaW5nLiBlLmcuOiAnPHN0cm9uZz4gaGVsbG8gPC9zdHJvbmc+J1xuICAgKi9cbiAgdGVtcGxhdGU6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBUaGlzIFZhbHVlIHdpbGwgYmUgdXNlZCBhcyBuZXcgcXVlcnkgd2hlbiB0aGUgdXNlciBzZWxlY3RzIHRoZSBzdWdnZXN0aW9uLlxuICAgKi9cbiAgdmFsdWU6IHN0cmluZyA9ICcnO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgYmFzaWMgU3VnZ2VzdGlvbiBmcm9tIGEgc3RyaW5nLiBUaGUgZmlyc3QgcXVlcnkgbWF0Y2ggaXMgaGlnaGxpZ2h0ZWQgYnkgYm9sZCB0YWdzLlxuICAgKiBAcGFyYW0gc3VnZ2VzdGlvblN0cmluZyBUaGUgc3VnZ2VzdGVkIHN0cmluZyAoc2hvdWxkIGNvbnRhaW4gdGhlIHdob2xlIHF1ZXJ5KVxuICAgKiBAcGFyYW0gcXVlcnkgVGhlIGN1cnJlbnQgcXVlcnkuIFRoaXMgc3RyaW5nIHdpbGwgYmUgaGlnaGxpZ2h0ZWQuXG4gICAqIEByZXR1cm5zIGEgaHRtbC1zdHJpbmcuXG4gICAqL1xuICBzdGF0aWMgYmFzaWNTdWdnZXN0aW9uKHN1Z2dlc3Rpb25TdHJpbmc6IHN0cmluZywgcXVlcnk6IHN0cmluZyk6IEZuZ1NlYXJjaFN1Z2dlc3Rpb24ge1xuICAgIGNvbnN0IGkgPSBzdWdnZXN0aW9uU3RyaW5nLnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5kZXhPZihxdWVyeS50b0xvY2FsZUxvd2VyQ2FzZSgpKTtcbiAgICBsZXQgdGVtcGxhdGUgPSBzdWdnZXN0aW9uU3RyaW5nO1xuICAgIGlmIChpICE9IC0xKSB7XG4gICAgICBjb25zdCBib2xkU3RhcnQgPSBpO1xuICAgICAgY29uc3QgYm9sZEVuZCA9IGkgKyBxdWVyeS5sZW5ndGg7XG4gICAgICBjb25zdCBwYXJ0MSA9IHN1Z2dlc3Rpb25TdHJpbmcuc3Vic3RyaW5nKDAsIGJvbGRTdGFydCk7XG4gICAgICBjb25zdCBwYXJ0MiA9IHN1Z2dlc3Rpb25TdHJpbmcuc3Vic3RyaW5nKGJvbGRTdGFydCwgYm9sZEVuZCk7XG4gICAgICBjb25zdCBwYXJ0MyA9IHN1Z2dlc3Rpb25TdHJpbmcuc3Vic3RyaW5nKGJvbGRFbmQsIHN1Z2dlc3Rpb25TdHJpbmcubGVuZ3RoKTtcbiAgICAgIHRlbXBsYXRlID0gcGFydDEgKyAnPHN0cm9uZz4nICsgcGFydDIgKyAnPC9zdHJvbmc+JyArIHBhcnQzO1xuICAgIH1cbiAgICByZXR1cm4geyB2YWx1ZTogc3VnZ2VzdGlvblN0cmluZywgdGVtcGxhdGUgfTtcbiAgfVxufVxuXG4vKipcbiAqIEEgY3VzdG9tIGZvcm0gZWxlbWVudCBmb3Igc2VhcmNoIGlucHV0cy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZuZ1NhZmVIdG1sUGlwZV0sXG4gIHNlbGVjdG9yOiAnZm5nLXNlYXJjaC1pbnB1dCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zZWFyY2gtaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBGbmdTZWFyY2hJbnB1dENvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoJ2lucHV0RWxlbWVudCcpXG4gIGlucHV0UmVmITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICAvKipcbiAgICogdGhlIHF1ZXJycnkgd2FzIGNoYW5nZWQsIHVwZGF0ZSB0aGUgc3VnZ2V0aW9uIGxpc3RcbiAgICovXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBmbmdDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogU3RhcnQgc2VhcmNoIG9uIHRoaXMgZXZlbnRcbiAgICovXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBmbmdTZWFyY2ggPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICAvKipcbiAgICogVGhlIHNlYXJjaCBpbnB1dCBsYWJlbC5cbiAgICovXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnJztcblxuICAvKipcbiAgICogV2hlbiB0cnVlIHRoZSBjb250cm9sJ3MgZGlzYWJsZWQgYXR0cmlidXRlIGlzIHNldFxuICAgKiBhbmQgaXQgZ2V0cyBhZGRlZWQgdGhlIC5kaXNhYmxlZCBjc3MgY2xhc3MuXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgZGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXJEaXNhYmxlZDtcbiAgfVxuICBzZXQgZGlzYWJsZWQodmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLmlubmVyRGlzYWJsZWQgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkodmFsdWUpO1xuICB9XG4gIHByb3RlY3RlZCBpbm5lckRpc2FibGVkID0gZmFsc2U7XG5cbiAgaW5uZXJWYWx1ZTogc3RyaW5nID0gJyc7XG5cbiAgLyoqXG4gICAqIFRoZSBnZXR0ZXIgZm9yIHZhbHVlLlxuICAgKi9cbiAgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaW5uZXJWYWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgc2V0dGVyIGZvciB2YWx1ZS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgIHZhbHVlID0gJycgKyB2YWx1ZTtcbiAgICB9XG4gICAgdGhpcy5pbm5lclZhbHVlID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGxpc3Qgb2Ygc3VnZ2VzdGlvbnNcbiAgICovXG4gIEBJbnB1dCgpXG4gIHNldCBzdWdnZXN0aW9ucyh2YWx1ZTogRm5nU2VhcmNoU3VnZ2VzdGlvbltdKSB7XG4gICAgdGhpcy5zZWxlY3RlZFN1Z2dlc3Rpb25JbmRleCA9IC0xO1xuICAgIHRoaXMuaW5uZXJTdWdnZXN0aW9ucyA9IHZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIHN1Z2dlc3Rpb25zIGNhcHBlZCBieSAxMCBlbnRyaWVzXG4gICAqL1xuICBnZXQgY2FwcGVkU3VnZ2VzdGlvbnMoKTogRm5nU2VhcmNoU3VnZ2VzdGlvbltdIHtcbiAgICByZXR1cm4gdGhpcy5pbm5lclN1Z2dlc3Rpb25zLnNsaWNlKDAsIDEwKTtcbiAgfVxuXG4gIGlubmVyU3VnZ2VzdGlvbnM6IEZuZ1NlYXJjaFN1Z2dlc3Rpb25bXSA9IFtdO1xuICBoaWRlU3VnZ2VzdGlvbkxpc3Q6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLyBUaGlzIGlzIHRoZSBpbmRleCBvZiB0aGUgc2VsZWN0ZWQgZWxlbWVudCBpbiBkaGUgc3VnZ2VzdGlvbiBsaXN0LlxuICBzZWxlY3RlZFN1Z2dlc3Rpb25JbmRleCA9IC0xO1xuXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmtleWRvd24nLCBbJyRldmVudCddKVxuICBrZXloYW5kbGVyKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLmNhcHBlZFN1Z2dlc3Rpb25zIHx8ICF0aGlzLmNhcHBlZFN1Z2dlc3Rpb25zLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIG5hdmlnYXRlIGluc2lkZSB0aGUgc3VnZ2VzdGlvbiBsaXN0XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93VXAnKSB7XG4gICAgICBpZiAodGhpcy5zZWxlY3RlZFN1Z2dlc3Rpb25JbmRleCA+IDApIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFN1Z2dlc3Rpb25JbmRleC0tO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFN1Z2dlc3Rpb25JbmRleCA9IHRoaXMuY2FwcGVkU3VnZ2VzdGlvbnMubGVuZ3RoIC0gMTtcbiAgICAgIH1cbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmNhcHBlZFN1Z2dlc3Rpb25zW3RoaXMuc2VsZWN0ZWRTdWdnZXN0aW9uSW5kZXhdLnZhbHVlO1xuICAgIH1cblxuICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICBpZiAodGhpcy5zZWxlY3RlZFN1Z2dlc3Rpb25JbmRleCA+PSB0aGlzLmNhcHBlZFN1Z2dlc3Rpb25zLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZFN1Z2dlc3Rpb25JbmRleCA9IDA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlbGVjdGVkU3VnZ2VzdGlvbkluZGV4Kys7XG4gICAgICB9XG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5jYXBwZWRTdWdnZXN0aW9uc1t0aGlzLnNlbGVjdGVkU3VnZ2VzdGlvbkluZGV4XS52YWx1ZTtcbiAgICB9XG4gIH1cblxuICBvbkNsaWNrT3V0c2lkZSgpOiB2b2lkIHtcbiAgICB0aGlzLmhpZGVTdWdnZXN0aW9uTGlzdCA9IHRydWU7XG4gIH1cblxuICBvbkZvY3VzKCkge1xuICAgIHRoaXMuaGlkZVN1Z2dlc3Rpb25MaXN0ID0gZmFsc2U7XG4gIH1cblxuICBvbklucHV0KGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLnNlbGVjdGVkU3VnZ2VzdGlvbkluZGV4ID0gLTE7XG4gICAgdGhpcy52YWx1ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLmZuZ0NoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICB9XG5cbiAgLy8gYWxzbyB0cmlnZ2VydCBvbiBcIkVudGVyXCIgYW5kIFwiRXNjYXBlXCJcbiAgb25TZWFyY2goZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuc2VsZWN0ZWRTdWdnZXN0aW9uSW5kZXggPSAtMTtcbiAgICB0aGlzLmZuZ1NlYXJjaC5lbWl0KHRoaXMudmFsdWUpO1xuICAgIHRoaXMuaGlkZVN1Z2dlc3Rpb25MaXN0ID0gdHJ1ZTtcbiAgICB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQuYmx1cigpO1xuICB9XG5cbiAgb25TdWdnZXN0aW9uQ2xpY2soc3VnZ2VzdGlvbjogRm5nU2VhcmNoU3VnZ2VzdGlvbikge1xuICAgIHRoaXMuc2VsZWN0ZWRTdWdnZXN0aW9uSW5kZXggPSAtMTtcbiAgICB0aGlzLnZhbHVlID0gc3VnZ2VzdGlvbi52YWx1ZTtcbiAgICB0aGlzLmZuZ1NlYXJjaC5lbWl0KHRoaXMudmFsdWUpO1xuICAgIHRoaXMuaGlkZVN1Z2dlc3Rpb25MaXN0ID0gdHJ1ZTtcbiAgICB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQuYmx1cigpO1xuICB9XG5cbiAgY2xlYXJRdWVyeSgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkU3VnZ2VzdGlvbkluZGV4ID0gLTE7XG4gICAgdGhpcy52YWx1ZSA9ICcnO1xuICAgIHRoaXMuZm5nU2VhcmNoLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgdGhpcy5oaWRlU3VnZ2VzdGlvbkxpc3QgPSB0cnVlO1xuICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC5ibHVyKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmd2Utc2VhcmNoLWlucHV0XCIgKGNsaWNrT3V0c2lkZSk9XCJvbkNsaWNrT3V0c2lkZSgpXCIgZm5nQ2xpY2tPdXRzaWRlPlxuICA8aW5wdXRcbiAgICAjaW5wdXRFbGVtZW50XG4gICAgW2F0dHIuZGlzYWJsZWRdPVwiZGlzYWJsZWQgPyAnJyA6IG51bGxcIlxuICAgIFtwbGFjZWhvbGRlcl09XCJsYWJlbFwiXG4gICAgKGZvY3VzKT1cIm9uRm9jdXMoKVwiXG4gICAgdHlwZT1cInNlYXJjaFwiXG4gICAgKGlucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiXG4gICAgKHNlYXJjaCk9XCJvblNlYXJjaCgkZXZlbnQpXCJcbiAgICBbdmFsdWVdPVwiaW5uZXJWYWx1ZVwiXG4gIC8+XG4gIDxkaXYgY2xhc3M9XCJmd2Utc2VhcmNoLWljb25cIj48L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImZ3ZS1jbGVhci1pY29uXCIgKGNsaWNrKT1cImNsZWFyUXVlcnkoKVwiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZndlLXNlYXJjaC1zdWdnZXN0aW9uc1wiICpuZ0lmPVwiaW5uZXJTdWdnZXN0aW9ucz8ubGVuZ3RoICYmICFoaWRlU3VnZ2VzdGlvbkxpc3RcIj5cbiAgICA8ZGl2XG4gICAgICAqbmdGb3I9XCJsZXQgc3VnZ2VzdGlvbiBvZiBjYXBwZWRTdWdnZXN0aW9uczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAoY2xpY2spPVwib25TdWdnZXN0aW9uQ2xpY2soc3VnZ2VzdGlvbilcIlxuICAgICAgW2NsYXNzLmZ3ZS1zZWxlY3RlZF09XCJzZWxlY3RlZFN1Z2dlc3Rpb25JbmRleCA9PT0gaVwiXG4gICAgICBjbGFzcz1cImZ3ZS1zZWFyY2gtc3VnZ2VzdGlvblwiXG4gICAgPlxuICAgICAgPGRpdiBbaW5uZXJIVE1MXT1cInN1Z2dlc3Rpb24udGVtcGxhdGUgfCBmbmdTYWZlSHRtbFwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJmd2UtbWwteHhzXCIgKm5nSWY9XCJpbm5lclN1Z2dlc3Rpb25zLmxlbmd0aCA+IDEwXCI+Li4uPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -1,59 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
3
- import { BehaviorSubject } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- /**
6
- * Every sidebar instance has its unique instanceID.
7
- * When a sidebar is opened, this ID is the next currentsInstanceID.
8
- * Every instance with an other ID will be closed then.
9
- *
10
- * usage: <fng-sidebar-overlay [(open)]="sidebarOpen" fngNavbarMargin> ... </fng-details-sidebar>
11
- */
12
- export class FngSidebarOverlayComponent {
13
- static { this.currentsInstanceID$ = new BehaviorSubject(0); }
14
- get fngNavbarMargin() {
15
- return this.internalNavbarMargin;
16
- }
17
- set fngNavbarMargin(value) {
18
- this.internalNavbarMargin = value === '' || value;
19
- }
20
- set open(value) {
21
- this.internalOpen = value === '' || value;
22
- if (this.internalOpen) {
23
- FngSidebarOverlayComponent.currentsInstanceID$.next(this.instanceID);
24
- }
25
- }
26
- get open() {
27
- return this.internalOpen;
28
- }
29
- constructor() {
30
- this.internalOpen = false;
31
- this.internalNavbarMargin = false;
32
- this.openChange = new EventEmitter();
33
- this.instanceID = Math.random();
34
- FngSidebarOverlayComponent.currentsInstanceID$.subscribe(id => {
35
- // close open instances when an other is opened
36
- if (this.internalOpen && id !== this.instanceID) {
37
- this.internalOpen = false;
38
- this.openChange.emit(this.internalOpen);
39
- }
40
- });
41
- }
42
- closeSidebar() {
43
- this.internalOpen = false;
44
- this.openChange.emit(this.internalOpen);
45
- }
46
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngSidebarOverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
47
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: FngSidebarOverlayComponent, isStandalone: true, selector: "fng-sidebar-overlay", inputs: { fngNavbarMargin: "fngNavbarMargin", open: "open" }, outputs: { openChange: "openChange" }, ngImport: i0, template: "<div class=\"fwe-sidebar-overlay\" [class.fwe-sidebar-overlay--open]=\"open\" [class.fwe-navbar-margin]=\"internalNavbarMargin\">\n <button type=\"button\" class=\"fwe-sidebar-overlay-close-btn\" (click)=\"closeSidebar()\">\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n <ng-content></ng-content>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }], encapsulation: i0.ViewEncapsulation.None }); }
48
- }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngSidebarOverlayComponent, decorators: [{
50
- type: Component,
51
- args: [{ standalone: true, imports: [CommonModule], selector: 'fng-sidebar-overlay', encapsulation: ViewEncapsulation.None, template: "<div class=\"fwe-sidebar-overlay\" [class.fwe-sidebar-overlay--open]=\"open\" [class.fwe-navbar-margin]=\"internalNavbarMargin\">\n <button type=\"button\" class=\"fwe-sidebar-overlay-close-btn\" (click)=\"closeSidebar()\">\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n <ng-content></ng-content>\n</div>\n" }]
52
- }], ctorParameters: () => [], propDecorators: { fngNavbarMargin: [{
53
- type: Input
54
- }], open: [{
55
- type: Input
56
- }], openChange: [{
57
- type: Output
58
- }] } });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZWJhci1vdmVybGF5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3NpZGViYXItb3ZlcmxheS9zaWRlYmFyLW92ZXJsYXkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc2lkZWJhci1vdmVybGF5L3NpZGViYXItb3ZlcmxheS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUV2Qzs7Ozs7O0dBTUc7QUFTSCxNQUFNLE9BQU8sMEJBQTBCO2FBQzlCLHdCQUFtQixHQUFHLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxBQUFqQyxDQUFrQztJQU01RCxJQUFhLGVBQWU7UUFDMUIsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUM7SUFDbkMsQ0FBQztJQUNELElBQUksZUFBZSxDQUFDLEtBQW1CO1FBQ3JDLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxLQUFLLEtBQUssRUFBRSxJQUFJLEtBQUssQ0FBQztJQUNwRCxDQUFDO0lBR0QsSUFBYSxJQUFJLENBQUMsS0FBbUI7UUFDbkMsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLEtBQUssRUFBRSxJQUFJLEtBQUssQ0FBQztRQUMxQyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN0QiwwQkFBMEIsQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7SUFDSCxDQUFDO0lBQ0QsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzNCLENBQUM7SUFJRDtRQXRCUSxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQVE3Qix5QkFBb0IsR0FBRyxLQUFLLENBQUM7UUFZbkIsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFHakQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEMsMEJBQTBCLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQzVELCtDQUErQztZQUMvQyxJQUFJLElBQUksQ0FBQyxZQUFZLElBQUksRUFBRSxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDaEQsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUMxQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMxQyxDQUFDOzhHQXpDVSwwQkFBMEI7a0dBQTFCLDBCQUEwQixvTENuQnZDLG9VQU1BLHlERE9ZLFlBQVk7OzJGQU1YLDBCQUEwQjtrQkFSdEMsU0FBUztpQ0FDSSxJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsWUFDYixxQkFBcUIsaUJBR2hCLGlCQUFpQixDQUFDLElBQUk7d0RBU3hCLGVBQWU7c0JBQTNCLEtBQUs7Z0JBUU8sSUFBSTtzQkFBaEIsS0FBSztnQkFVSSxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogRXZlcnkgc2lkZWJhciBpbnN0YW5jZSBoYXMgaXRzIHVuaXF1ZSBpbnN0YW5jZUlELlxuICogV2hlbiBhIHNpZGViYXIgaXMgb3BlbmVkLCB0aGlzIElEIGlzIHRoZSBuZXh0IGN1cnJlbnRzSW5zdGFuY2VJRC5cbiAqIEV2ZXJ5IGluc3RhbmNlIHdpdGggYW4gb3RoZXIgSUQgd2lsbCBiZSBjbG9zZWQgdGhlbi5cbiAqXG4gKiB1c2FnZTogPGZuZy1zaWRlYmFyLW92ZXJsYXkgWyhvcGVuKV09XCJzaWRlYmFyT3BlblwiIGZuZ05hdmJhck1hcmdpbj4gLi4uIDwvZm5nLWRldGFpbHMtc2lkZWJhcj5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxuICBzZWxlY3RvcjogJ2ZuZy1zaWRlYmFyLW92ZXJsYXknLFxuICB0ZW1wbGF0ZVVybDogJy4vc2lkZWJhci1vdmVybGF5LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc2lkZWJhci1vdmVybGF5LmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcbn0pXG5leHBvcnQgY2xhc3MgRm5nU2lkZWJhck92ZXJsYXlDb21wb25lbnQge1xuICBzdGF0aWMgY3VycmVudHNJbnN0YW5jZUlEJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcblxuICBwcml2YXRlIGluc3RhbmNlSUQ6IG51bWJlcjtcblxuICBwcml2YXRlIGludGVybmFsT3BlbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGdldCBmbmdOYXZiYXJNYXJnaW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxOYXZiYXJNYXJnaW47XG4gIH1cbiAgc2V0IGZuZ05hdmJhck1hcmdpbih2YWx1ZTogYm9vbGVhbiB8ICcnKSB7XG4gICAgdGhpcy5pbnRlcm5hbE5hdmJhck1hcmdpbiA9IHZhbHVlID09PSAnJyB8fCB2YWx1ZTtcbiAgfVxuICBpbnRlcm5hbE5hdmJhck1hcmdpbiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHNldCBvcGVuKHZhbHVlOiBib29sZWFuIHwgJycpIHtcbiAgICB0aGlzLmludGVybmFsT3BlbiA9IHZhbHVlID09PSAnJyB8fCB2YWx1ZTtcbiAgICBpZiAodGhpcy5pbnRlcm5hbE9wZW4pIHtcbiAgICAgIEZuZ1NpZGViYXJPdmVybGF5Q29tcG9uZW50LmN1cnJlbnRzSW5zdGFuY2VJRCQubmV4dCh0aGlzLmluc3RhbmNlSUQpO1xuICAgIH1cbiAgfVxuICBnZXQgb3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5pbnRlcm5hbE9wZW47XG4gIH1cblxuICBAT3V0cHV0KCkgb3BlbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmluc3RhbmNlSUQgPSBNYXRoLnJhbmRvbSgpO1xuICAgIEZuZ1NpZGViYXJPdmVybGF5Q29tcG9uZW50LmN1cnJlbnRzSW5zdGFuY2VJRCQuc3Vic2NyaWJlKGlkID0+IHtcbiAgICAgIC8vIGNsb3NlIG9wZW4gaW5zdGFuY2VzIHdoZW4gYW4gb3RoZXIgaXMgb3BlbmVkXG4gICAgICBpZiAodGhpcy5pbnRlcm5hbE9wZW4gJiYgaWQgIT09IHRoaXMuaW5zdGFuY2VJRCkge1xuICAgICAgICB0aGlzLmludGVybmFsT3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLm9wZW5DaGFuZ2UuZW1pdCh0aGlzLmludGVybmFsT3Blbik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBjbG9zZVNpZGViYXIoKSB7XG4gICAgdGhpcy5pbnRlcm5hbE9wZW4gPSBmYWxzZTtcbiAgICB0aGlzLm9wZW5DaGFuZ2UuZW1pdCh0aGlzLmludGVybmFsT3Blbik7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmd2Utc2lkZWJhci1vdmVybGF5XCIgW2NsYXNzLmZ3ZS1zaWRlYmFyLW92ZXJsYXktLW9wZW5dPVwib3BlblwiIFtjbGFzcy5md2UtbmF2YmFyLW1hcmdpbl09XCJpbnRlcm5hbE5hdmJhck1hcmdpblwiPlxuICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImZ3ZS1zaWRlYmFyLW92ZXJsYXktY2xvc2UtYnRuXCIgKGNsaWNrKT1cImNsb3NlU2lkZWJhcigpXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJmd2Utc3Itb25seVwiPkNsb3NlPC9zcGFuPlxuICA8L2J1dHRvbj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
@@ -1,21 +0,0 @@
1
- import { Component, Input, ViewEncapsulation } from '@angular/core';
2
- import { FngSnackbarContainerDirective } from './snackbar-container.directive';
3
- import * as i0 from "@angular/core";
4
- export class FngSnackbarContainerComponent {
5
- constructor() {
6
- this.config = {
7
- darkBackground: true,
8
- disappearAfter: 5000,
9
- closeOnAction: true
10
- };
11
- }
12
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngSnackbarContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: FngSnackbarContainerComponent, isStandalone: true, selector: "fng-snackbar-container", inputs: { config: "config" }, ngImport: i0, template: "<div class=\"fwe-snackbar-container\">\n <div [fngSnackbarContainer]=\"config\"></div>\n</div>\n", styles: [".fwe-snackbar-container{pointer-events:none}\n"], dependencies: [{ kind: "directive", type: FngSnackbarContainerDirective, selector: "[fngSnackbarContainer]", inputs: ["fngSnackbarContainer"] }], encapsulation: i0.ViewEncapsulation.None }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngSnackbarContainerComponent, decorators: [{
16
- type: Component,
17
- args: [{ standalone: true, imports: [FngSnackbarContainerDirective], selector: 'fng-snackbar-container', encapsulation: ViewEncapsulation.None, template: "<div class=\"fwe-snackbar-container\">\n <div [fngSnackbarContainer]=\"config\"></div>\n</div>\n", styles: [".fwe-snackbar-container{pointer-events:none}\n"] }]
18
- }], propDecorators: { config: [{
19
- type: Input
20
- }] } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXItY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrYmFyLWNvbnRhaW5lci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9zbmFja2Jhci9zbmFja2Jhci1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBVS9FLE1BQU0sT0FBTyw2QkFBNkI7SUFSMUM7UUFTVyxXQUFNLEdBQXNCO1lBQ25DLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLGFBQWEsRUFBRSxJQUFJO1NBQ3BCLENBQUM7S0FDSDs4R0FOWSw2QkFBNkI7a0dBQTdCLDZCQUE2QixnSENaMUMsbUdBR0Esd0dER1ksNkJBQTZCOzsyRkFNNUIsNkJBQTZCO2tCQVJ6QyxTQUFTO2lDQUNJLElBQUksV0FDUCxDQUFDLDZCQUE2QixDQUFDLFlBQzlCLHdCQUF3QixpQkFHbkIsaUJBQWlCLENBQUMsSUFBSTs4QkFHNUIsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZuZ1NuYWNrYmFyQ29uZmlnIH0gZnJvbSAnLi9zbmFja2Jhci5tb2RlbHMnO1xuaW1wb3J0IHsgRm5nU25hY2tiYXJDb250YWluZXJEaXJlY3RpdmUgfSBmcm9tICcuL3NuYWNrYmFyLWNvbnRhaW5lci5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0ZuZ1NuYWNrYmFyQ29udGFpbmVyRGlyZWN0aXZlXSxcbiAgc2VsZWN0b3I6ICdmbmctc25hY2tiYXItY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NuYWNrYmFyLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3NuYWNrYmFyLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEZuZ1NuYWNrYmFyQ29udGFpbmVyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgY29uZmlnOiBGbmdTbmFja2JhckNvbmZpZyA9IHtcbiAgICBkYXJrQmFja2dyb3VuZDogdHJ1ZSxcbiAgICBkaXNhcHBlYXJBZnRlcjogNTAwMCxcbiAgICBjbG9zZU9uQWN0aW9uOiB0cnVlXG4gIH07XG59XG4iLCI8ZGl2IGNsYXNzPVwiZndlLXNuYWNrYmFyLWNvbnRhaW5lclwiPlxuICA8ZGl2IFtmbmdTbmFja2JhckNvbnRhaW5lcl09XCJjb25maWdcIj48L2Rpdj5cbjwvZGl2PlxuIl19
@@ -1,80 +0,0 @@
1
- import { Directive, Input } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import { takeUntil } from 'rxjs/operators';
4
- import { FngSnackbarComponent } from './snackbar.component';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "./snackbar.service";
7
- export class FngSnackbarContainerDirective {
8
- constructor(viewContainerRef, snackbarService) {
9
- this.viewContainerRef = viewContainerRef;
10
- this.snackbarService = snackbarService;
11
- this.fngSnackbarContainer = {};
12
- this.snacks = [];
13
- this.snacksSub = this.snackbarService.snacks$.subscribe(SnackDescription => this.push(SnackDescription));
14
- }
15
- ngOnDestroy() {
16
- if (this.snacks != null && this.snacks.length > 0) {
17
- this.snacks.forEach(snack => {
18
- snack.complete.next(true);
19
- snack.complete.complete();
20
- snack.complete.unsubscribe();
21
- });
22
- }
23
- if (this.snacksSub != null) {
24
- this.snacksSub.unsubscribe();
25
- }
26
- }
27
- push(snackDescription) {
28
- const complete = new Subject();
29
- const componentRef = this.viewContainerRef.createComponent(FngSnackbarComponent);
30
- const componentInstance = componentRef.instance;
31
- componentInstance.data = { ...this.fngSnackbarContainer, ...snackDescription.data };
32
- componentInstance.animationState = this.snacks.length === 0 ? 'first' : 'fadeIn';
33
- const snackbarRef = { componentRef, complete };
34
- componentInstance.close.pipe(takeUntil(complete)).subscribe(() => {
35
- this.remove(snackbarRef);
36
- if (snackDescription.closeCallback) {
37
- snackDescription.closeCallback();
38
- }
39
- });
40
- componentInstance.action.pipe(takeUntil(complete)).subscribe(() => {
41
- if (componentInstance.data.closeOnAction) {
42
- this.remove(snackbarRef);
43
- }
44
- if (snackDescription.actionCallback) {
45
- snackDescription.actionCallback();
46
- }
47
- });
48
- this.snacks.push(snackbarRef);
49
- snackDescription.resolve(snackbarRef.componentRef);
50
- }
51
- remove(snackbarRef) {
52
- const index = this.snacks.indexOf(snackbarRef);
53
- if (index !== -1) {
54
- const deletedSnackbarRef = this.snacks.splice(index, 1);
55
- if (deletedSnackbarRef != null && deletedSnackbarRef.length > 0) {
56
- const deletedSnackbar = deletedSnackbarRef[0];
57
- if (deletedSnackbar.complete != null) {
58
- deletedSnackbar.complete.next(true);
59
- deletedSnackbar.complete.complete();
60
- deletedSnackbar.complete.unsubscribe();
61
- }
62
- if (deletedSnackbar.componentRef != null) {
63
- deletedSnackbar.componentRef.destroy();
64
- }
65
- }
66
- }
67
- }
68
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngSnackbarContainerDirective, deps: [{ token: i0.ViewContainerRef }, { token: i1.FngSnackbarService }], target: i0.ɵɵFactoryTarget.Directive }); }
69
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.2", type: FngSnackbarContainerDirective, isStandalone: true, selector: "[fngSnackbarContainer]", inputs: { fngSnackbarContainer: "fngSnackbarContainer" }, ngImport: i0 }); }
70
- }
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngSnackbarContainerDirective, decorators: [{
72
- type: Directive,
73
- args: [{
74
- standalone: true,
75
- selector: '[fngSnackbarContainer]'
76
- }]
77
- }], ctorParameters: () => [{ type: i0.ViewContainerRef }, { type: i1.FngSnackbarService }], propDecorators: { fngSnackbarContainer: [{
78
- type: Input
79
- }] } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXItY29udGFpbmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrYmFyLWNvbnRhaW5lci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxLQUFLLEVBR04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7QUFhNUQsTUFBTSxPQUFPLDZCQUE2QjtJQU94QyxZQUFvQixnQkFBa0MsRUFBVSxlQUFtQztRQUEvRSxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQVUsb0JBQWUsR0FBZixlQUFlLENBQW9CO1FBTjFGLHlCQUFvQixHQUFzQixFQUF1QixDQUFDO1FBRW5FLFdBQU0sR0FBcUIsRUFBRSxDQUFDO1FBS3BDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztJQUMzRyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7Z0JBQzFCLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUMxQixL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Q0QsSUFBSSxlQUFlLENBQUMsWUFBWSxJQUFJLElBQUksRUFBRSxDQUFDO29CQUN6QyxlQUFlLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUN6QyxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDOzhHQWpFVSw2QkFBNkI7a0dBQTdCLDZCQUE2Qjs7MkZBQTdCLDZCQUE2QjtrQkFKekMsU0FBUzttQkFBQztvQkFDVCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHdCQUF3QjtpQkFDbkM7c0hBRVUsb0JBQW9CO3NCQUE1QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50UmVmLFxuICBEaXJlY3RpdmUsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEZuZ1NuYWNrYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9zbmFja2Jhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm5nU25hY2tiYXJDb25maWcgfSBmcm9tICcuL3NuYWNrYmFyLm1vZGVscyc7XG5pbXBvcnQgeyBGbmdTbmFja2JhclNlcnZpY2UsIEZuZ1NuYWNrRGVzY3JpcHRpb24gfSBmcm9tICcuL3NuYWNrYmFyLnNlcnZpY2UnO1xuXG5pbnRlcmZhY2UgRm5nU25hY2tiYXJSZWYge1xuICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxGbmdTbmFja2JhckNvbXBvbmVudD47XG4gIGNvbXBsZXRlOiBTdWJqZWN0PGJvb2xlYW4+O1xufVxuXG5ARGlyZWN0aXZlKHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdbZm5nU25hY2tiYXJDb250YWluZXJdJ1xufSlcbmV4cG9ydCBjbGFzcyBGbmdTbmFja2JhckNvbnRhaW5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGZuZ1NuYWNrYmFyQ29udGFpbmVyOiBGbmdTbmFja2JhckNvbmZpZyA9IHt9IGFzIEZuZ1NuYWNrYmFyQ29uZmlnO1xuXG4gIHByaXZhdGUgc25hY2tzOiBGbmdTbmFja2JhclJlZltdID0gW107XG5cbiAgcHJpdmF0ZSBzbmFja3NTdWI6IFN1YnNjcmlwdGlvbjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsIHByaXZhdGUgc25hY2tiYXJTZXJ2aWNlOiBGbmdTbmFja2JhclNlcnZpY2UpIHtcbiAgICB0aGlzLnNuYWNrc1N1YiA9IHRoaXMuc25hY2tiYXJTZXJ2aWNlLnNuYWNrcyQuc3Vic2NyaWJlKFNuYWNrRGVzY3JpcHRpb24gPT4gdGhpcy5wdXNoKFNuYWNrRGVzY3JpcHRpb24pKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIGlmICh0aGlzLnNuYWNrcyAhPSBudWxsICYmIHRoaXMuc25hY2tzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMuc25hY2tzLmZvckVhY2goc25hY2sgPT4ge1xuICAgICAgICBzbmFjay5jb21wbGV0ZS5uZXh0KHRydWUpO1xuICAgICAgICBzbmFjay5jb21wbGV0ZS5jb21wbGV0ZSgpO1xuICAgICAgICBzbmFjay5jb21wbGV0ZS51bnN1YnNjcmliZSgpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGlmICh0aGlzLnNuYWNrc1N1YiAhPSBudWxsKSB7XG4gICAgICB0aGlzLnNuYWNrc1N1Yi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcHVzaChzbmFja0Rlc2NyaXB0aW9uOiBGbmdTbmFja0Rlc2NyaXB0aW9uKSB7XG4gICAgY29uc3QgY29tcGxldGUgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoRm5nU25hY2tiYXJDb21wb25lbnQpO1xuICAgIGNvbnN0IGNvbXBvbmVudEluc3RhbmNlID0gY29tcG9uZW50UmVmLmluc3RhbmNlO1xuICAgIGNvbXBvbmVudEluc3RhbmNlLmRhdGEgPSB7IC4uLnRoaXMuZm5nU25hY2tiYXJDb250YWluZXIsIC4uLnNuYWNrRGVzY3JpcHRpb24uZGF0YSB9O1xuICAgIGNvbXBvbmVudEluc3RhbmNlLmFuaW1hdGlvblN0YXRlID0gdGhpcy5zbmFja3MubGVuZ3RoID09PSAwID8gJ2ZpcnN0JyA6ICdmYWRlSW4nO1xuICAgIGNvbnN0IHNuYWNrYmFyUmVmID0geyBjb21wb25lbnRSZWYsIGNvbXBsZXRlIH07XG4gICAgY29tcG9uZW50SW5zdGFuY2UuY2xvc2UucGlwZSh0YWtlVW50aWwoY29tcGxldGUpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5yZW1vdmUoc25hY2tiYXJSZWYpO1xuICAgICAgaWYgKHNuYWNrRGVzY3JpcHRpb24uY2xvc2VDYWxsYmFjaykge1xuICAgICAgICBzbmFja0Rlc2NyaXB0aW9uLmNsb3NlQ2FsbGJhY2soKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBjb21wb25lbnRJbnN0YW5jZS5hY3Rpb24ucGlwZSh0YWtlVW50aWwoY29tcGxldGUpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgaWYgKGNvbXBvbmVudEluc3RhbmNlLmRhdGEuY2xvc2VPbkFjdGlvbikge1xuICAgICAgICB0aGlzLnJlbW92ZShzbmFja2JhclJlZik7XG4gICAgICB9XG4gICAgICBpZiAoc25hY2tEZXNjcmlwdGlvbi5hY3Rpb25DYWxsYmFjaykge1xuICAgICAgICBzbmFja0Rlc2NyaXB0aW9uLmFjdGlvbkNhbGxiYWNrKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5zbmFja3MucHVzaChzbmFja2JhclJlZik7XG4gICAgc25hY2tEZXNjcmlwdGlvbi5yZXNvbHZlKHNuYWNrYmFyUmVmLmNvbXBvbmVudFJlZik7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZShzbmFja2JhclJlZjogRm5nU25hY2tiYXJSZWYpIHtcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuc25hY2tzLmluZGV4T2Yoc25hY2tiYXJSZWYpO1xuICAgIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICAgIGNvbnN0IGRlbGV0ZWRTbmFja2JhclJlZiA9IHRoaXMuc25hY2tzLnNwbGljZShpbmRleCwgMSk7XG4gICAgICBpZiAoZGVsZXRlZFNuYWNrYmFyUmVmICE9IG51bGwgJiYgZGVsZXRlZFNuYWNrYmFyUmVmLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgZGVsZXRlZFNuYWNrYmFyID0gZGVsZXRlZFNuYWNrYmFyUmVmWzBdO1xuICAgICAgICBpZiAoZGVsZXRlZFNuYWNrYmFyLmNvbXBsZXRlICE9IG51bGwpIHtcbiAgICAgICAgICBkZWxldGVkU25hY2tiYXIuY29tcGxldGUubmV4dCh0cnVlKTtcbiAgICAgICAgICBkZWxldGVkU25hY2tiYXIuY29tcGxldGUuY29tcGxldGUoKTtcbiAgICAgICAgICBkZWxldGVkU25hY2tiYXIuY29tcGxldGUudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZGVsZXRlZFNuYWNrYmFyLmNvbXBvbmVudFJlZiAhPSBudWxsKSB7XG4gICAgICAgICAgZGVsZXRlZFNuYWNrYmFyLmNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,81 +0,0 @@
1
- import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from '@angular/core';
2
- import { animate, sequence, state, style, transition, trigger } from '@angular/animations';
3
- import { CommonModule } from '@angular/common';
4
- import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/common";
6
- export class FngSnackbarComponent {
7
- constructor() {
8
- this.data = {};
9
- this.close = new EventEmitter();
10
- this.action = new EventEmitter();
11
- this.blockDisplay = 'block';
12
- this.animationState = 'init';
13
- }
14
- ngAfterViewInit() {
15
- if (this.data && this.data.disappearAfter) {
16
- this.timeout = setTimeout(() => this.onClose(), this.data.disappearAfter);
17
- }
18
- }
19
- ngOnDestroy() {
20
- if (this.timeout) {
21
- clearTimeout(this.timeout);
22
- }
23
- }
24
- onAction() {
25
- this.action.emit();
26
- }
27
- onClose() {
28
- this.close.emit();
29
- }
30
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngSnackbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
31
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: FngSnackbarComponent, isStandalone: true, selector: "fng-snackbar", inputs: { data: "data" }, outputs: { close: "close", action: "action" }, host: { properties: { "style.display": "this.blockDisplay", "@appearDisappear": "this.animationState" } }, ngImport: i0, template: "<div\n [ngClass]=\"{\n 'fwe-snackbar': true,\n 'fwe-snackbar-b': data.variant === 'b',\n 'fwe-snackbar-c': data.variant === 'c',\n 'fwe-snackbar-info': data.type === 'info',\n 'fwe-snackbar-warning': data.type === 'warning',\n 'fwe-snackbar-error': data.type === 'error',\n 'fwe-snackbar-shadow': data.darkBackground\n }\"\n>\n <span>{{ data.text }}</span>\n <button *ngIf=\"data?.action\" aria-label=\"UserAction\" type=\"button\" class=\"fwe-snackbar-link-btn\" (click)=\"onAction()\">\n {{ data.action }}\n </button>\n\n <div *ngIf=\"data?.action && data?.showClose\" class=\"fwe-snackbar-separator\"></div>\n\n <button *ngIf=\"data?.showClose\" aria-label=\"Close\" type=\"button\" class=\"fwe-snackbar-close-btn\" (click)=\"onClose()\">\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n</div>\n", styles: [".fwe-snackbar{pointer-events:all}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
32
- trigger('appearDisappear', [
33
- state('init', style({ opacity: 0 })),
34
- state('first', style({
35
- opacity: 1,
36
- transform: 'translateY(0)'
37
- })),
38
- state('fadeIn', style({ opacity: '1' })),
39
- transition('void => fadeIn', [style({ opacity: 0 }), animate('0.6s ease-out')]),
40
- transition('void => first', [style({ transform: 'translateY(100px)' }), animate('0.6s ease-out')]),
41
- transition(':leave', sequence([
42
- style({ 'margin-bottom': '24px' }),
43
- animate('0.3s ease-out', style({ opacity: 0 })),
44
- animate('0.3s ease-out', style({ height: '0px', 'margin-bottom': '0px' }))
45
- ]))
46
- ])
47
- ], encapsulation: i0.ViewEncapsulation.None }); }
48
- }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngSnackbarComponent, decorators: [{
50
- type: Component,
51
- args: [{ standalone: true, imports: [CommonModule], selector: 'fng-snackbar', encapsulation: ViewEncapsulation.None, animations: [
52
- trigger('appearDisappear', [
53
- state('init', style({ opacity: 0 })),
54
- state('first', style({
55
- opacity: 1,
56
- transform: 'translateY(0)'
57
- })),
58
- state('fadeIn', style({ opacity: '1' })),
59
- transition('void => fadeIn', [style({ opacity: 0 }), animate('0.6s ease-out')]),
60
- transition('void => first', [style({ transform: 'translateY(100px)' }), animate('0.6s ease-out')]),
61
- transition(':leave', sequence([
62
- style({ 'margin-bottom': '24px' }),
63
- animate('0.3s ease-out', style({ opacity: 0 })),
64
- animate('0.3s ease-out', style({ height: '0px', 'margin-bottom': '0px' }))
65
- ]))
66
- ])
67
- ], template: "<div\n [ngClass]=\"{\n 'fwe-snackbar': true,\n 'fwe-snackbar-b': data.variant === 'b',\n 'fwe-snackbar-c': data.variant === 'c',\n 'fwe-snackbar-info': data.type === 'info',\n 'fwe-snackbar-warning': data.type === 'warning',\n 'fwe-snackbar-error': data.type === 'error',\n 'fwe-snackbar-shadow': data.darkBackground\n }\"\n>\n <span>{{ data.text }}</span>\n <button *ngIf=\"data?.action\" aria-label=\"UserAction\" type=\"button\" class=\"fwe-snackbar-link-btn\" (click)=\"onAction()\">\n {{ data.action }}\n </button>\n\n <div *ngIf=\"data?.action && data?.showClose\" class=\"fwe-snackbar-separator\"></div>\n\n <button *ngIf=\"data?.showClose\" aria-label=\"Close\" type=\"button\" class=\"fwe-snackbar-close-btn\" (click)=\"onClose()\">\n <span class=\"fwe-sr-only\">Close</span>\n </button>\n</div>\n", styles: [".fwe-snackbar{pointer-events:all}\n"] }]
68
- }], propDecorators: { data: [{
69
- type: Input
70
- }], close: [{
71
- type: Output
72
- }], action: [{
73
- type: Output
74
- }], blockDisplay: [{
75
- type: HostBinding,
76
- args: ['style.display']
77
- }], animationState: [{
78
- type: HostBinding,
79
- args: ['@appearDisappear']
80
- }] } });
81
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pJLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTNGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBaUMvQyxNQUFNLE9BQU8sb0JBQW9CO0lBL0JqQztRQWdDVyxTQUFJLEdBQW9CLEVBQXFCLENBQUM7UUFDN0MsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDaEMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFFYixpQkFBWSxHQUFHLE9BQU8sQ0FBQztRQUNwQixtQkFBYyxHQUFnQyxNQUFNLENBQUM7S0F1QnZGO0lBbkJDLGVBQWU7UUFDYixJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsT0FBTyxHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUM1RSxDQUFDO0lBQ0gsQ0FB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QUFPLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7NkJBQzNFLENBQUMsQ0FDSDt5QkFDRixDQUFDO3FCQUNIOzhCQUdRLElBQUk7c0JBQVosS0FBSztnQkFDSSxLQUFLO3NCQUFkLE1BQU07Z0JBQ0csTUFBTTtzQkFBZixNQUFNO2dCQUV1QixZQUFZO3NCQUF6QyxXQUFXO3VCQUFDLGVBQWU7Z0JBQ0ssY0FBYztzQkFBOUMsV0FBVzt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFuaW1hdGUsIHNlcXVlbmNlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IEZuZ1NuYWNrYmFyRGF0YSB9IGZyb20gJy4vc25hY2tiYXIubW9kZWxzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdmbmctc25hY2tiYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc25hY2tiYXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zbmFja2Jhci5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignYXBwZWFyRGlzYXBwZWFyJywgW1xuICAgICAgc3RhdGUoJ2luaXQnLCBzdHlsZSh7IG9wYWNpdHk6IDAgfSkpLFxuICAgICAgc3RhdGUoXG4gICAgICAgICdmaXJzdCcsXG4gICAgICAgIHN0eWxlKHtcbiAgICAgICAgICBvcGFjaXR5OiAxLFxuICAgICAgICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVkoMCknXG4gICAgICAgIH0pXG4gICAgICApLFxuICAgICAgc3RhdGUoJ2ZhZGVJbicsIHN0eWxlKHsgb3BhY2l0eTogJzEnIH0pKSxcbiAgICAgIHRyYW5zaXRpb24oJ3ZvaWQgPT4gZmFkZUluJywgW3N0eWxlKHsgb3BhY2l0eTogMCB9KSwgYW5pbWF0ZSgnMC42cyBlYXNlLW91dCcpXSksXG4gICAgICB0cmFuc2l0aW9uKCd2b2lkID0+IGZpcnN0JywgW3N0eWxlKHsgdHJhbnNmb3JtOiAndHJhbnNsYXRlWSgxMDBweCknIH0pLCBhbmltYXRlKCcwLjZzIGVhc2Utb3V0JyldKSxcbiAgICAgIHRyYW5zaXRpb24oXG4gICAgICAgICc6bGVhdmUnLFxuICAgICAgICBzZXF1ZW5jZShbXG4gICAgICAgICAgc3R5bGUoeyAnbWFyZ2luLWJvdHRvbSc6ICcyNHB4JyB9KSxcbiAgICAgICAgICBhbmltYXRlKCcwLjNzIGVhc2Utb3V0Jywgc3R5bGUoeyBvcGFjaXR5OiAwIH0pKSxcbiAgICAgICAgICBhbmltYXRlKCcwLjNzIGVhc2Utb3V0Jywgc3R5bGUoeyBoZWlnaHQ6ICcwcHgnLCAnbWFyZ2luLWJvdHRvbSc6ICcwcHgnIH0pKVxuICAgICAgICBdKVxuICAgICAgKVxuICAgIF0pXG4gIF0sICBcbn0pXG5leHBvcnQgY2xhc3MgRm5nU25hY2tiYXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xuICBASW5wdXQoKSBkYXRhOiBGbmdTbmFja2JhckRhdGEgPSB7fSBhcyBGbmdTbmFja2JhckRhdGE7XG4gIEBPdXRwdXQoKSBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICBAT3V0cHV0KCkgYWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS5kaXNwbGF5JykgYmxvY2tEaXNwbGF5ID0gJ2Jsb2NrJztcbiAgQEhvc3RCaW5kaW5nKCdAYXBwZWFyRGlzYXBwZWFyJykgYW5pbWF0aW9uU3RhdGU6ICdpbml0JyB8ICdmaXJzdCcgfCAnZmFkZUluJyA9ICdpbml0JztcblxuICBwcml2YXRlIHRpbWVvdXQ6IGFueTtcblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgaWYgKHRoaXMuZGF0YSAmJiB0aGlzLmRhdGEuZGlzYXBwZWFyQWZ0ZXIpIHtcbiAgICAgIHRoaXMudGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5vbkNsb3NlKCksIHRoaXMuZGF0YS5kaXNhcHBlYXJBZnRlcik7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMudGltZW91dCkge1xuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudGltZW91dCk7XG4gICAgfVxuICB9XG5cbiAgb25BY3Rpb24oKSB7XG4gICAgdGhpcy5hY3Rpb24uZW1pdCgpO1xuICB9XG5cbiAgb25DbG9zZSgpIHtcbiAgICB0aGlzLmNsb3NlLmVtaXQoKTtcbiAgfVxufVxuIiwiPGRpdlxuICBbbmdDbGFzc109XCJ7XG4gICAgJ2Z3ZS1zbmFja2Jhcic6IHRydWUsXG4gICAgJ2Z3ZS1zbmFja2Jhci1iJzogZGF0YS52YXJpYW50ID09PSAnYicsXG4gICAgJ2Z3ZS1zbmFja2Jhci1jJzogZGF0YS52YXJpYW50ID09PSAnYycsXG4gICAgJ2Z3ZS1zbmFja2Jhci1pbmZvJzogZGF0YS50eXBlID09PSAnaW5mbycsXG4gICAgJ2Z3ZS1zbmFja2Jhci13YXJuaW5nJzogZGF0YS50eXBlID09PSAnd2FybmluZycsXG4gICAgJ2Z3ZS1zbmFja2Jhci1lcnJvcic6IGRhdGEudHlwZSA9PT0gJ2Vycm9yJyxcbiAgICAnZndlLXNuYWNrYmFyLXNoYWRvdyc6IGRhdGEuZGFya0JhY2tncm91bmRcbiAgfVwiXG4+XG4gIDxzcGFuPnt7IGRhdGEudGV4dCB9fTwvc3Bhbj5cbiAgPGJ1dHRvbiAqbmdJZj1cImRhdGE/LmFjdGlvblwiIGFyaWEtbGFiZWw9XCJVc2VyQWN0aW9uXCIgdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZndlLXNuYWNrYmFyLWxpbmstYnRuXCIgKGNsaWNrKT1cIm9uQWN0aW9uKClcIj5cbiAgICB7eyBkYXRhLmFjdGlvbiB9fVxuICA8L2J1dHRvbj5cblxuICA8ZGl2ICpuZ0lmPVwiZGF0YT8uYWN0aW9uICYmIGRhdGE/LnNob3dDbG9zZVwiIGNsYXNzPVwiZndlLXNuYWNrYmFyLXNlcGFyYXRvclwiPjwvZGl2PlxuXG4gIDxidXR0b24gKm5nSWY9XCJkYXRhPy5zaG93Q2xvc2VcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJmd2Utc25hY2tiYXItY2xvc2UtYnRuXCIgKGNsaWNrKT1cIm9uQ2xvc2UoKVwiPlxuICAgIDxzcGFuIGNsYXNzPVwiZndlLXNyLW9ubHlcIj5DbG9zZTwvc3Bhbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIubW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXIubW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEZuZ1NuYWNrYmFyQ29uZmlnIHtcbiAgdHlwZT86ICdpbmZvJyB8ICd3YXJuaW5nJyB8ICdlcnJvcic7XG4gIHZhcmlhbnQ/OiAnYScgfCAnYicgfCAnYyc7XG4gIGRhcmtCYWNrZ3JvdW5kPzogYm9vbGVhbjtcbiAgc2hvd0Nsb3NlPzogYm9vbGVhbjtcbiAgYWN0aW9uPzogc3RyaW5nO1xuICBkaXNhcHBlYXJBZnRlcj86IG51bWJlcjtcbiAgY2xvc2VPbkFjdGlvbj86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm5nU25hY2tiYXJEYXRhIGV4dGVuZHMgRm5nU25hY2tiYXJDb25maWcge1xuICB0ZXh0OiBzdHJpbmc7XG59XG4iXX0=
@@ -1,24 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { FngSnackbarComponent } from './snackbar.component';
3
- import { FngSnackbarContainerDirective } from './snackbar-container.directive';
4
- import { FngSnackbarContainerComponent } from './snackbar-container.component';
5
- import * as i0 from "@angular/core";
6
- export * from './snackbar.models';
7
- export * from './snackbar.component';
8
- export * from './snackbar-container.component';
9
- export * from './snackbar-container.directive';
10
- export class FestoAngularSnackbarModule {
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FestoAngularSnackbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
12
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: FestoAngularSnackbarModule, imports: [FngSnackbarComponent, FngSnackbarContainerDirective, FngSnackbarContainerComponent], exports: [FngSnackbarContainerComponent, FngSnackbarContainerDirective, FngSnackbarContainerComponent] }); }
13
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FestoAngularSnackbarModule, imports: [FngSnackbarComponent] }); }
14
- }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FestoAngularSnackbarModule, decorators: [{
16
- type: NgModule,
17
- args: [{
18
- imports: [FngSnackbarComponent, FngSnackbarContainerDirective, FngSnackbarContainerComponent],
19
- exports: [FngSnackbarContainerComponent, FngSnackbarContainerDirective, FngSnackbarContainerComponent],
20
- providers: []
21
- // bootstrap: [SnackbarComponent]
22
- }]
23
- }] });
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvc25hY2tiYXIvc25hY2tiYXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDNUQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDL0UsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBRS9FLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsZ0NBQWdDLENBQUM7QUFRL0MsTUFBTSxPQUFPLDBCQUEwQjs4R0FBMUIsMEJBQTBCOytHQUExQiwwQkFBMEIsWUFMM0Isb0JBQW9CLEVBQUUsNkJBQTZCLEVBQUUsNkJBQTZCLGFBQ2xGLDZCQUE2QixFQUFFLDZCQUE2QixFQUFFLDZCQUE2QjsrR0FJMUYsMEJBQTBCLFlBTDNCLG9CQUFvQjs7MkZBS25CLDBCQUEwQjtrQkFOdEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSw2QkFBNkIsRUFBRSw2QkFBNkIsQ0FBQztvQkFDN0YsT0FBTyxFQUFFLENBQUMsNkJBQTZCLEVBQUUsNkJBQTZCLEVBQUUsNkJBQTZCLENBQUM7b0JBQ3RHLFNBQVMsRUFBRSxFQUFFO29CQUNiLGlDQUFpQztpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGbmdTbmFja2JhckNvbXBvbmVudCB9IGZyb20gJy4vc25hY2tiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEZuZ1NuYWNrYmFyQ29udGFpbmVyRGlyZWN0aXZlIH0gZnJvbSAnLi9zbmFja2Jhci1jb250YWluZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZuZ1NuYWNrYmFyQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9zbmFja2Jhci1jb250YWluZXIuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9zbmFja2Jhci5tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zbmFja2Jhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9zbmFja2Jhci1jb250YWluZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc25hY2tiYXItY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtGbmdTbmFja2JhckNvbXBvbmVudCwgRm5nU25hY2tiYXJDb250YWluZXJEaXJlY3RpdmUsIEZuZ1NuYWNrYmFyQ29udGFpbmVyQ29tcG9uZW50XSxcbiAgZXhwb3J0czogW0ZuZ1NuYWNrYmFyQ29udGFpbmVyQ29tcG9uZW50LCBGbmdTbmFja2JhckNvbnRhaW5lckRpcmVjdGl2ZSwgRm5nU25hY2tiYXJDb250YWluZXJDb21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtdXG4gIC8vIGJvb3RzdHJhcDogW1NuYWNrYmFyQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBGZXN0b0FuZ3VsYXJTbmFja2Jhck1vZHVsZSB7fVxuIl19
@@ -1,23 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export class FngSnackbarService {
5
- constructor() {
6
- this.snacks = new Subject();
7
- this.snacks$ = this.snacks.asObservable();
8
- }
9
- snack(data, actionCallback, closeCallback) {
10
- return new Promise(resolve => {
11
- this.snacks.next({ data, actionCallback, closeCallback, resolve });
12
- });
13
- }
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngSnackbarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
15
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngSnackbarService, providedIn: 'root' }); }
16
- }
17
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngSnackbarService, decorators: [{
18
- type: Injectable,
19
- args: [{
20
- providedIn: 'root'
21
- }]
22
- }], ctorParameters: () => [] });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3NuYWNrYmFyL3NuYWNrYmFyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQWEzQyxNQUFNLE9BQU8sa0JBQWtCO0lBSzdCO1FBRlEsV0FBTSxHQUFHLElBQUksT0FBTyxFQUF1QixDQUFDO1FBR2xELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsS0FBSyxDQUFDLElBQXFCLEVBQUUsY0FBMkIsRUFBRSxhQUEwQjtRQUNsRixPQUFPLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUNyRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBYlUsa0JBQWtCO2tIQUFsQixrQkFBa0IsY0FGakIsTUFBTTs7MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZuZ1NuYWNrYmFyRGF0YSB9IGZyb20gJy4vc25hY2tiYXIubW9kZWxzJztcblxuZXhwb3J0IHR5cGUgRm5nU25hY2tEZXNjcmlwdGlvbiA9IHtcbiAgZGF0YTogRm5nU25hY2tiYXJEYXRhO1xuICBhY3Rpb25DYWxsYmFjaz86ICgpID0+IHZvaWQ7XG4gIGNsb3NlQ2FsbGJhY2s/OiAoKSA9PiB2b2lkO1xuICByZXNvbHZlOiAodmFsdWU6IHVua25vd24pID0+IHZvaWQ7XG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBGbmdTbmFja2JhclNlcnZpY2Uge1xuICBzbmFja3MkOiBPYnNlcnZhYmxlPEZuZ1NuYWNrRGVzY3JpcHRpb24+O1xuXG4gIHByaXZhdGUgc25hY2tzID0gbmV3IFN1YmplY3Q8Rm5nU25hY2tEZXNjcmlwdGlvbj4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLnNuYWNrcyQgPSB0aGlzLnNuYWNrcy5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIHNuYWNrKGRhdGE6IEZuZ1NuYWNrYmFyRGF0YSwgYWN0aW9uQ2FsbGJhY2s/OiAoKSA9PiB2b2lkLCBjbG9zZUNhbGxiYWNrPzogKCkgPT4gdm9pZCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHtcbiAgICAgIHRoaXMuc25hY2tzLm5leHQoeyBkYXRhLCBhY3Rpb25DYWxsYmFjaywgY2xvc2VDYWxsYmFjaywgcmVzb2x2ZSB9KTtcbiAgICB9KTtcbiAgfVxufVxuIl19
@@ -1,19 +0,0 @@
1
- import { Component, Input, ViewEncapsulation } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class FngStepHorizontalComponent {
4
- constructor() {
5
- this.isActive = false;
6
- this.title = '';
7
- }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngStepHorizontalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.2", type: FngStepHorizontalComponent, isStandalone: true, selector: "fng-step-horizontal", inputs: { isActive: "isActive", title: "title" }, ngImport: i0, template: "<div class=\"fng-overflow-hidden\" [class.fng-hidden]=\"!isActive\">\n <div class=\"fng-moving-container\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".fng-overflow-hidden{overflow:hidden}@keyframes stepperAnimation{0%{transform:translate(100%)}to{transform:translate(0)}}.fng-moving-container{animation-name:stepperAnimation;animation-duration:.3s;animation-timing-function:ease}.fng-hidden{display:none}\n"], encapsulation: i0.ViewEncapsulation.None }); }
10
- }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: FngStepHorizontalComponent, decorators: [{
12
- type: Component,
13
- args: [{ standalone: true, selector: 'fng-step-horizontal', encapsulation: ViewEncapsulation.None, template: "<div class=\"fng-overflow-hidden\" [class.fng-hidden]=\"!isActive\">\n <div class=\"fng-moving-container\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".fng-overflow-hidden{overflow:hidden}@keyframes stepperAnimation{0%{transform:translate(100%)}to{transform:translate(0)}}.fng-moving-container{animation-name:stepperAnimation;animation-duration:.3s;animation-timing-function:ease}.fng-hidden{display:none}\n"] }]
14
- }], propDecorators: { isActive: [{
15
- type: Input
16
- }], title: [{
17
- type: Input
18
- }] } });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC1ob3Jpem9udGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3N0ZXBwZXItaG9yaXpvbnRhbC9zdGVwLWhvcml6b250YWwvc3RlcC1ob3Jpem9udGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL3N0ZXBwZXItaG9yaXpvbnRhbC9zdGVwLWhvcml6b250YWwvc3RlcC1ob3Jpem9udGFsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVNwRSxNQUFNLE9BQU8sMEJBQTBCO0lBUHZDO1FBUVcsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVqQixVQUFLLEdBQVcsRUFBRSxDQUFDO0tBQzdCOzhHQUpZLDBCQUEwQjtrR0FBMUIsMEJBQTBCLGlJQ1R2QyxpS0FLQTs7MkZESWEsMEJBQTBCO2tCQVB0QyxTQUFTO2lDQUNJLElBQUksWUFDTixxQkFBcUIsaUJBR2hCLGlCQUFpQixDQUFDLElBQUk7OEJBRzVCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUcsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnZm5nLXN0ZXAtaG9yaXpvbnRhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9zdGVwLWhvcml6b250YWwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zdGVwLWhvcml6b250YWwuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBGbmdTdGVwSG9yaXpvbnRhbENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGlzQWN0aXZlID0gZmFsc2U7XG5cbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZyA9ICcnO1xufVxuIiwiPGRpdiBjbGFzcz1cImZuZy1vdmVyZmxvdy1oaWRkZW5cIiBbY2xhc3MuZm5nLWhpZGRlbl09XCIhaXNBY3RpdmVcIj5cbiAgPGRpdiBjbGFzcz1cImZuZy1tb3ZpbmctY29udGFpbmVyXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19