@design-factory/design-factory 18.1.1 → 19.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/design-factory-initial-branding.css +1 -1
- package/design-factory.css +1 -1
- package/fesm2022/design-factory.mjs +748 -921
- package/fesm2022/design-factory.mjs.map +1 -1
- package/lib/angular/accessibility/components/skip-links-container/skip-links-container.component.d.ts +3 -9
- package/lib/angular/accessibility/directives/skip-link.directive.d.ts +3 -9
- package/lib/angular/card/manage-card-selection.directive.d.ts +5 -5
- package/lib/angular/datepicker/datepicker-range.directive.d.ts +5 -6
- package/lib/angular/datepicker/datepicker.module.d.ts +3 -5
- package/lib/angular/inputs/icon/inputicon.directive.d.ts +5 -6
- package/lib/angular/mediaqueries/ifMedia.directive.d.ts +8 -9
- package/lib/angular/modal/modal.service.d.ts +4 -0
- package/lib/angular/progressbar/progressbar.component.d.ts +18 -28
- package/lib/angular/progressindicator/default/default-spinner.component.d.ts +4 -4
- package/lib/angular/progressindicator/progressindicator-backdrop.component.d.ts +4 -4
- package/lib/angular/progressindicator/progressindicator-container.component.d.ts +5 -7
- package/lib/angular/progressindicator/progressindicator.directive.d.ts +9 -11
- package/lib/angular/selects/events/manage-badge-events.directive.d.ts +4 -5
- package/lib/angular/selects/option-highlight.directive.d.ts +7 -12
- package/lib/angular/sidenav/dfSideNavCollapse.d.ts +16 -18
- package/lib/angular/sidenav/excludeTrap.directive.d.ts +9 -10
- package/lib/angular/sidenav/sidenav.component.d.ts +7 -8
- package/lib/angular/sidenav/sidenavlist.component.d.ts +8 -8
- package/lib/angular/slider/direction/sliderdirection.directive.d.ts +5 -7
- package/lib/angular/slider/lib/slider-element.directive.d.ts +2 -1
- package/lib/angular/slider/lib/slider-handle.directive.d.ts +1 -1
- package/lib/angular/slider/lib/slider-label.directive.d.ts +1 -1
- package/lib/angular/slider/lib/slider.component.d.ts +1 -1
- package/lib/angular/slider/lib/tooltip-wrapper.component.d.ts +1 -1
- package/lib/angular/slider/slider.module.d.ts +1 -1
- package/lib/angular/stepper/stepper.component.d.ts +7 -8
- package/lib/angular/utils/titleTruncate.directive.d.ts +2 -3
- package/lib/angular/waves-of-progress/waves.directive.d.ts +4 -3
- package/lib/index.d.ts +0 -1
- package/package.json +16 -16
- package/schematics/ng-add/index.js +1 -1
- package/styles/scss/agnosui/_variables.scss +9 -3
- package/styles/scss/bootstrap/_variables.scss +54 -12
- package/styles/scss/components/accordion/_accordion.scss +67 -6
- package/styles/scss/components/accordion/_accordion.variables.scss +2 -0
- package/styles/scss/components/alert/_alert.scss +3 -2
- package/styles/scss/components/badge/_badge.scss +13 -3
- package/styles/scss/components/badge/_badge.variables.scss +1 -0
- package/styles/scss/components/button/_button.scss +5 -0
- package/styles/scss/components/form/_form.scss +8 -0
- package/styles/scss/components/sidenav/_sidenav.scss +5 -2
- package/styles/scss/components/toggle/_toggle.scss +1 -0
- package/styles/scss/df-styles-namespace.scss +3 -1
- package/styles/scss/df-styles.scss +3 -1
- package/styles/scss/themes/brand2023/_variables.scss +80 -28
- package/esm2022/design-factory.mjs +0 -5
- package/esm2022/environment.mjs +0 -5
- package/esm2022/index.mjs +0 -5
- package/esm2022/lib/angular/accessibility/accessibility.module.mjs +0 -19
- package/esm2022/lib/angular/accessibility/components/skip-links-container/skip-links-container.component.mjs +0 -32
- package/esm2022/lib/angular/accessibility/directives/skip-link.directive.mjs +0 -64
- package/esm2022/lib/angular/alert/alert.module.mjs +0 -17
- package/esm2022/lib/angular/animation/ngbTransition.mjs +0 -76
- package/esm2022/lib/angular/animation/util.mjs +0 -30
- package/esm2022/lib/angular/card/card-advanced.module.mjs +0 -17
- package/esm2022/lib/angular/card/manage-card-selection.directive.mjs +0 -47
- package/esm2022/lib/angular/datepicker/closedatepicker.directive.mjs +0 -38
- package/esm2022/lib/angular/datepicker/datepicker-keyboard-nav.service.mjs +0 -39
- package/esm2022/lib/angular/datepicker/datepicker-range.directive.mjs +0 -101
- package/esm2022/lib/angular/datepicker/datepicker-range.service.mjs +0 -97
- package/esm2022/lib/angular/datepicker/datepicker.module.mjs +0 -42
- package/esm2022/lib/angular/df.module.mjs +0 -102
- package/esm2022/lib/angular/footer/footer.module.mjs +0 -17
- package/esm2022/lib/angular/icon/amadeus-icon.mjs +0 -79
- package/esm2022/lib/angular/icon/icon.module.mjs +0 -17
- package/esm2022/lib/angular/icon/insert/insert-icon.directive.mjs +0 -47
- package/esm2022/lib/angular/icon/insert/insert-icon.module.mjs +0 -17
- package/esm2022/lib/angular/inputs/click/trigger-click.directive.mjs +0 -28
- package/esm2022/lib/angular/inputs/icon/inputicon.directive.mjs +0 -95
- package/esm2022/lib/angular/inputs/input-advanced.module.mjs +0 -19
- package/esm2022/lib/angular/mediaqueries/ifMedia.directive.mjs +0 -52
- package/esm2022/lib/angular/mediaqueries/media.module.mjs +0 -17
- package/esm2022/lib/angular/mediaqueries/media.service.mjs +0 -46
- package/esm2022/lib/angular/mediaqueries/mediaUtils.service.mjs +0 -185
- package/esm2022/lib/angular/modal/modal.service.mjs +0 -36
- package/esm2022/lib/angular/popover/config/popover.config.mjs +0 -15
- package/esm2022/lib/angular/popover/popover.module.mjs +0 -17
- package/esm2022/lib/angular/progressbar/progressbar.component.mjs +0 -156
- package/esm2022/lib/angular/progressbar/progressbar.module.mjs +0 -18
- package/esm2022/lib/angular/progressindicator/default/default-spinner.component.mjs +0 -23
- package/esm2022/lib/angular/progressindicator/progressindicator-backdrop.component.mjs +0 -29
- package/esm2022/lib/angular/progressindicator/progressindicator-config.mjs +0 -25
- package/esm2022/lib/angular/progressindicator/progressindicator-container.component.mjs +0 -52
- package/esm2022/lib/angular/progressindicator/progressindicator-ref.mjs +0 -8
- package/esm2022/lib/angular/progressindicator/progressindicator.directive.mjs +0 -39
- package/esm2022/lib/angular/progressindicator/progressindicator.module.mjs +0 -45
- package/esm2022/lib/angular/progressindicator/progressindicator.service.mjs +0 -170
- package/esm2022/lib/angular/right-to-left/directionDetection.service.mjs +0 -32
- package/esm2022/lib/angular/selects/events/manage-badge-events.directive.mjs +0 -65
- package/esm2022/lib/angular/selects/nav/manage-nav-select.directive.mjs +0 -108
- package/esm2022/lib/angular/selects/option-highlight.directive.mjs +0 -59
- package/esm2022/lib/angular/selects/select.model.mjs +0 -2
- package/esm2022/lib/angular/selects/select.module.mjs +0 -22
- package/esm2022/lib/angular/sidenav/dfSideNavAnimation.mjs +0 -73
- package/esm2022/lib/angular/sidenav/dfSideNavCollapse.mjs +0 -94
- package/esm2022/lib/angular/sidenav/dfSideNavCollapse.module.mjs +0 -18
- package/esm2022/lib/angular/sidenav/dfSideNavCollapse.service.mjs +0 -37
- package/esm2022/lib/angular/sidenav/dfSideNavCollapseConfig.mjs +0 -27
- package/esm2022/lib/angular/sidenav/excludeTrap.directive.mjs +0 -55
- package/esm2022/lib/angular/sidenav/manage-sidenav.directive.mjs +0 -26
- package/esm2022/lib/angular/sidenav/sidenav-config.mjs +0 -25
- package/esm2022/lib/angular/sidenav/sidenav.component.mjs +0 -86
- package/esm2022/lib/angular/sidenav/sidenav.module.mjs +0 -52
- package/esm2022/lib/angular/sidenav/sidenav.service.mjs +0 -316
- package/esm2022/lib/angular/sidenav/sidenavlist.component.mjs +0 -59
- package/esm2022/lib/angular/slider/direction/sliderdirection.directive.mjs +0 -36
- package/esm2022/lib/angular/slider/lib/change-context.mjs +0 -3
- package/esm2022/lib/angular/slider/lib/compatibility-helper.mjs +0 -15
- package/esm2022/lib/angular/slider/lib/event-listener-helper.mjs +0 -77
- package/esm2022/lib/angular/slider/lib/event-listener.mjs +0 -3
- package/esm2022/lib/angular/slider/lib/math-helper.mjs +0 -15
- package/esm2022/lib/angular/slider/lib/options.mjs +0 -123
- package/esm2022/lib/angular/slider/lib/pointer-type.mjs +0 -9
- package/esm2022/lib/angular/slider/lib/slider-element.directive.mjs +0 -190
- package/esm2022/lib/angular/slider/lib/slider-handle.directive.mjs +0 -65
- package/esm2022/lib/angular/slider/lib/slider-label.directive.mjs +0 -41
- package/esm2022/lib/angular/slider/lib/slider.component.mjs +0 -1998
- package/esm2022/lib/angular/slider/lib/tooltip-wrapper.component.mjs +0 -23
- package/esm2022/lib/angular/slider/lib/value-helper.mjs +0 -50
- package/esm2022/lib/angular/slider/slider.module.mjs +0 -37
- package/esm2022/lib/angular/stepper/stepper.component.mjs +0 -65
- package/esm2022/lib/angular/stepper/stepper.directive.mjs +0 -174
- package/esm2022/lib/angular/stepper/stepper.module.mjs +0 -17
- package/esm2022/lib/angular/stepper/stepper.service.mjs +0 -213
- package/esm2022/lib/angular/toast/toast.module.mjs +0 -17
- package/esm2022/lib/angular/tooltip/tooltip.module.mjs +0 -18
- package/esm2022/lib/angular/tooltip/truncate/tooltipTruncate.directive.mjs +0 -31
- package/esm2022/lib/angular/utils/html-element-helper.mjs +0 -8
- package/esm2022/lib/angular/utils/scrollbar.service.mjs +0 -79
- package/esm2022/lib/angular/utils/titleTruncate.directive.mjs +0 -39
- package/esm2022/lib/angular/waves-of-progress/waves.directive.mjs +0 -86
- package/esm2022/lib/angular/waves-of-progress/waves.module.mjs +0 -16
- package/esm2022/lib/index.mjs +0 -93
- package/lib/angular/datepicker/closedatepicker.directive.d.ts +0 -10
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class DfStepperService {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.setFocus = false;
|
|
7
|
-
this._stepperState$ = new BehaviorSubject({
|
|
8
|
-
steps: [],
|
|
9
|
-
active: 0,
|
|
10
|
-
isLinear: false,
|
|
11
|
-
isInline: false,
|
|
12
|
-
isVertical: false
|
|
13
|
-
});
|
|
14
|
-
this._state = {
|
|
15
|
-
steps: [],
|
|
16
|
-
active: 0,
|
|
17
|
-
isLinear: false,
|
|
18
|
-
isInline: false,
|
|
19
|
-
isVertical: false
|
|
20
|
-
};
|
|
21
|
-
this._completedLabel = 'Completed';
|
|
22
|
-
this._warningLabel = 'Warning';
|
|
23
|
-
this._stepperAriaLabel = 'Stepper';
|
|
24
|
-
}
|
|
25
|
-
get stepperState$() {
|
|
26
|
-
return this._stepperState$.asObservable();
|
|
27
|
-
}
|
|
28
|
-
// initState must be used to push new Steps to the service
|
|
29
|
-
get state() {
|
|
30
|
-
return this._state;
|
|
31
|
-
}
|
|
32
|
-
dispatchStepperState() {
|
|
33
|
-
this._stepperState$.next(this._state);
|
|
34
|
-
}
|
|
35
|
-
updateStepperState() {
|
|
36
|
-
this._state = this.normalizeState(this._state);
|
|
37
|
-
this.dispatchStepperState();
|
|
38
|
-
}
|
|
39
|
-
// API
|
|
40
|
-
/**
|
|
41
|
-
* Use this to init the list of Elements from your stepper
|
|
42
|
-
*
|
|
43
|
-
* Here we are not deep copying the array --> the function will change it
|
|
44
|
-
*/
|
|
45
|
-
initStepperState(state) {
|
|
46
|
-
// normalize the steps here
|
|
47
|
-
this._state = this.normalizeState(state);
|
|
48
|
-
this.dispatchStepperState();
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Use this to normalize the state of the stepper (completed, warning, current, future)
|
|
52
|
-
* @param state
|
|
53
|
-
* @returns
|
|
54
|
-
*/
|
|
55
|
-
normalizeState(state) {
|
|
56
|
-
const stepsList = [];
|
|
57
|
-
for (let i = 0; i < state.steps.length; i++) {
|
|
58
|
-
if (state.steps[i].warning) {
|
|
59
|
-
stepsList.push({ ...state.steps[i], type: 'warning' });
|
|
60
|
-
}
|
|
61
|
-
else if (state.steps[i].completed) {
|
|
62
|
-
stepsList.push({ ...state.steps[i], type: 'completed' });
|
|
63
|
-
}
|
|
64
|
-
else if (i === state.active || state.steps[i].visited) {
|
|
65
|
-
stepsList.push({ ...state.steps[i], type: 'visited', visited: true });
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
stepsList.push({ ...state.steps[i], type: 'future', visited: false });
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
return { ...state, steps: stepsList };
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Internal to get the stepper aria label in the template
|
|
75
|
-
*/
|
|
76
|
-
get stepperAriaLabel() {
|
|
77
|
-
return this._stepperAriaLabel;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Use this to set the stepper aria label (i18n)
|
|
81
|
-
*/
|
|
82
|
-
set stepperAriaLabel(label) {
|
|
83
|
-
this._stepperAriaLabel = label;
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Internal to get the completed label in the template
|
|
87
|
-
*/
|
|
88
|
-
get completedLabel() {
|
|
89
|
-
return this._completedLabel;
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* Internal to get the waring label in the template
|
|
93
|
-
*/
|
|
94
|
-
get warningLabel() {
|
|
95
|
-
return this._warningLabel;
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Use this to set the completed label (i18n)
|
|
99
|
-
*/
|
|
100
|
-
set completedLabel(label) {
|
|
101
|
-
this._completedLabel = label;
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Use this to set the warning label (i18n)
|
|
105
|
-
*/
|
|
106
|
-
set warningLabel(label) {
|
|
107
|
-
this._warningLabel = label;
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* TODO make it customizable
|
|
111
|
-
* @param index - index of the step
|
|
112
|
-
* @returns - string of the step number to display
|
|
113
|
-
*/
|
|
114
|
-
getStepNumberLabel(index) {
|
|
115
|
-
return `${index + 1}`;
|
|
116
|
-
}
|
|
117
|
-
resetFocus() {
|
|
118
|
-
this.setFocus = false;
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
*
|
|
122
|
-
* @param isLinear - true if the stepper is linear
|
|
123
|
-
*/
|
|
124
|
-
setLinear(isLinear) {
|
|
125
|
-
this._state.isLinear = isLinear;
|
|
126
|
-
this.dispatchStepperState();
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
*
|
|
130
|
-
* @param isInline - true if the stepper is inline
|
|
131
|
-
*/
|
|
132
|
-
setInline(isInline) {
|
|
133
|
-
this._state.isInline = isInline;
|
|
134
|
-
this.dispatchStepperState();
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
*
|
|
138
|
-
* @param index - index of the step to select start at 0
|
|
139
|
-
*/
|
|
140
|
-
selectStep(index) {
|
|
141
|
-
if (index < 0 || index >= this._state.steps.length) {
|
|
142
|
-
return;
|
|
143
|
-
}
|
|
144
|
-
this._state.active = index;
|
|
145
|
-
this.updateStepperState();
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Same as selectStep but with focus on the step selected
|
|
149
|
-
* @param index - index of the step to select start at 0
|
|
150
|
-
*/
|
|
151
|
-
selectWithFocus(index) {
|
|
152
|
-
if (index < 0 || index >= this._state.steps.length) {
|
|
153
|
-
return;
|
|
154
|
-
}
|
|
155
|
-
this.setFocus = true;
|
|
156
|
-
this.selectStep(index);
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
*
|
|
160
|
-
* @param index - index of the step to complete start at 0
|
|
161
|
-
*/
|
|
162
|
-
completeStep(index) {
|
|
163
|
-
if (index < 0 || index >= this._state.steps.length) {
|
|
164
|
-
return;
|
|
165
|
-
}
|
|
166
|
-
this._state.steps[index].completed = true;
|
|
167
|
-
this._state.steps[index].warning = false;
|
|
168
|
-
this.updateStepperState();
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
*
|
|
172
|
-
* @param index - index of the step to complete start at 0
|
|
173
|
-
*/
|
|
174
|
-
completeStepAndGoNext(index) {
|
|
175
|
-
this.completeStep(index);
|
|
176
|
-
this.selectStep(index + 1);
|
|
177
|
-
}
|
|
178
|
-
/**
|
|
179
|
-
* Attention if the step was completed it will be uncompleted after.
|
|
180
|
-
* @param index - index of the step to make Warning start at 0
|
|
181
|
-
* @param warningLabel - label to display in the warning by default it will take the warningLabel if it exists or the label
|
|
182
|
-
*/
|
|
183
|
-
makeWarning(index, warningLabel) {
|
|
184
|
-
if (index < 0 || index >= this._state.steps.length) {
|
|
185
|
-
return;
|
|
186
|
-
}
|
|
187
|
-
this._state.steps[index].warning = true;
|
|
188
|
-
this._state.steps[index].completed = false;
|
|
189
|
-
this._state.steps[index].warningLabel = warningLabel
|
|
190
|
-
? warningLabel
|
|
191
|
-
: this._state.steps[index].warningLabel
|
|
192
|
-
? this._state.steps[index].warningLabel
|
|
193
|
-
: this._state.steps[index].label;
|
|
194
|
-
this.updateStepperState();
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
*
|
|
198
|
-
* @param index - index of the step to remove Warning start at 0
|
|
199
|
-
*/
|
|
200
|
-
removeWarning(index) {
|
|
201
|
-
if (index < 0 || index >= this._state.steps.length) {
|
|
202
|
-
return;
|
|
203
|
-
}
|
|
204
|
-
this._state.steps[index].warning = false;
|
|
205
|
-
this.updateStepperState();
|
|
206
|
-
}
|
|
207
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DfStepperService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
208
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DfStepperService }); }
|
|
209
|
-
}
|
|
210
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DfStepperService, decorators: [{
|
|
211
|
-
type: Injectable
|
|
212
|
-
}] });
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcHBlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWZhY3Rvcnkvc3JjL2xpYi9hbmd1bGFyL3N0ZXBwZXIvc3RlcHBlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQzs7QUFpQ25ELE1BQU0sT0FBTyxnQkFBZ0I7SUFEN0I7UUFFRSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ0EsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBMkI7WUFDOUUsS0FBSyxFQUFFLEVBQUU7WUFDVCxNQUFNLEVBQUUsQ0FBQztZQUNULFFBQVEsRUFBRSxLQUFLO1lBQ2YsUUFBUSxFQUFFLEtBQUs7WUFDZixVQUFVLEVBQUUsS0FBSztTQUNsQixDQUFDLENBQUM7UUFDSyxXQUFNLEdBQTZCO1lBQ3pDLEtBQUssRUFBRSxFQUFFO1lBQ1QsTUFBTSxFQUFFLENBQUM7WUFDVCxRQUFRLEVBQUUsS0FBSztZQUNmLFFBQVEsRUFBRSxLQUFLO1lBQ2YsVUFBVSxFQUFFLEtBQUs7U0FDbEIsQ0FBQztRQUNNLG9CQUFlLEdBQUcsV0FBVyxDQUFDO1FBQzlCLGtCQUFhLEdBQUcsU0FBUyxDQUFDO1FBQzFCLHNCQUFpQixHQUFHLFNBQVMsQ0FBQztLQXlNdkM7SUF2TUMsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzVDLENBQUM7SUFDRCwwREFBMEQ7SUFDMUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hD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Q3JDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxhQUFhLENBQUMsS0FBYTtRQUN6QixJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ25ELE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN6QyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDOzhHQTFOVSxnQkFBZ0I7a0hBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERmU3RlcHBlclN0ZXAge1xuICB3YXJuaW5nOiBib29sZWFuO1xuICBjb21wbGV0ZWQ6IGJvb2xlYW47XG4gIHZpc2l0ZWQ/OiBib29sZWFuO1xuICBsYWJlbDogc3RyaW5nO1xuICBhcmlhQ29udHJvbDogc3RyaW5nO1xuICB3YXJuaW5nTGFiZWw/OiBzdHJpbmc7XG4gIG9wdGlvbmFsTGFiZWw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIERmU3RlcFR5cGUgPSAnd2FybmluZycgfCAnY29tcGxldGVkJyB8ICdmdXR1cmUnIHwgJ3Zpc2l0ZWQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERmU3RlcHBlck5vcm1hbGl6ZWRTdGVwIGV4dGVuZHMgRGZTdGVwcGVyU3RlcCB7XG4gIHR5cGU6IERmU3RlcFR5cGU7XG59XG5leHBvcnQgaW50ZXJmYWNlIERmU3RlcHBlclN0YXRlIHtcbiAgc3RlcHM6IERmU3RlcHBlclN0ZXBbXTtcbiAgYWN0aXZlOiBudW1iZXI7XG4gIGlzTGluZWFyOiBib29sZWFuO1xuICBpc0lubGluZTogYm9vbGVhbjtcbiAgaXNWZXJ0aWNhbDogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRGZTdGVwcGVyTm9ybWFsaXplZFN0YXRlIHtcbiAgc3RlcHM6IERmU3RlcHBlck5vcm1hbGl6ZWRTdGVwW107XG4gIGFjdGl2ZTogbnVtYmVyO1xuICBpc0xpbmVhcjogYm9vbGVhbjtcbiAgaXNJbmxpbmU6IGJvb2xlYW47XG4gIGlzVmVydGljYWw6IGJvb2xlYW47XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEZlN0ZXBwZXJTZXJ2aWNlIHtcbiAgc2V0Rm9jdXMgPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RlcHBlclN0YXRlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGZTdGVwcGVyTm9ybWFsaXplZFN0YXRlPih7XG4gICAgc3RlcHM6IFtdLFxuICAgIGFjdGl2ZTogMCxcbiAgICBpc0xpbmVhcjogZmFsc2UsXG4gICAgaXNJbmxpbmU6IGZhbHNlLFxuICAgIGlzVmVydGljYWw6IGZhbHNlXG4gIH0pO1xuICBwcml2YXRlIF9zdGF0ZTogRGZTdGVwcGVyTm9ybWFsaXplZFN0YXRlID0ge1xuICAgIHN0ZXBzOiBbXSxcbiAgICBhY3RpdmU6IDAsXG4gICAgaXNMaW5lYXI6IGZhbHNlLFxuICAgIGlzSW5saW5lOiBmYWxzZSxcbiAgICBpc1ZlcnRpY2FsOiBmYWxzZVxuICB9O1xuICBwcml2YXRlIF9jb21wbGV0ZWRMYWJlbCA9ICdDb21wbGV0ZWQnO1xuICBwcml2YXRlIF93YXJuaW5nTGFiZWwgPSAnV2FybmluZyc7XG4gIHByaXZhdGUgX3N0ZXBwZXJBcmlhTGFiZWwgPSAnU3RlcHBlcic7XG5cbiAgZ2V0IHN0ZXBwZXJTdGF0ZSQoKTogT2JzZXJ2YWJsZTxEZlN0ZXBwZXJOb3JtYWxpemVkU3RhdGU+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RlcHBlclN0YXRlJC5hc09ic2VydmFibGUoKTtcbiAgfVxuICAvLyBpbml0U3RhdGUgbXVzdCBiZSB1c2VkIHRvIHB1c2ggbmV3IFN0ZXBzIHRvIHRoZSBzZXJ2aWNlXG4gIGdldCBzdGF0ZSgpOiBEZlN0ZXBwZXJOb3JtYWxpemVkU3RhdGUge1xuICAgIHJldHVybiB0aGlzLl9zdGF0ZTtcbiAgfVxuXG4gIHByaXZhdGUgZGlzcGF0Y2hTdGVwcGVyU3RhdGUoKSB7XG4gICAgdGhpcy5fc3RlcHBlclN0YXRlJC5uZXh0KHRoaXMuX3N0YXRlKTtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlU3RlcHBlclN0YXRlKCkge1xuICAgIHRoaXMuX3N0YXRlID0gdGhpcy5ub3JtYWxpemVTdGF0ZSh0aGlzLl9zdGF0ZSBhcyBEZlN0ZXBwZXJTdGF0ZSk7XG4gICAgdGhpcy5kaXNwYXRjaFN0ZXBwZXJTdGF0ZSgpO1xuICB9XG5cbiAgLy8gQVBJXG4gIC8qKlxuICAgKiBVc2UgdGhpcyB0byBpbml0IHRoZSBsaXN0IG9mIEVsZW1lbnRzIGZyb20geW91ciBzdGVwcGVyXG4gICAqXG4gICAqIEhlcmUgd2UgYXJlIG5vdCBkZWVwIGNvcHlpbmcgdGhlIGFycmF5IC0tPiB0aGUgZnVuY3Rpb24gd2lsbCBjaGFuZ2UgaXRcbiAgICovXG4gIGluaXRTdGVwcGVyU3RhdGUoc3RhdGU6IERmU3RlcHBlclN0YXRlKSB7XG4gICAgLy8gbm9ybWFsaXplIHRoZSBzdGVwcyBoZXJlXG4gICAgdGhpcy5fc3RhdGUgPSB0aGlzLm5vcm1hbGl6ZVN0YXRlKHN0YXRlKTtcbiAgICB0aGlzLmRpc3BhdGNoU3RlcHBlclN0YXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogVXNlIHRoaXMgdG8gbm9ybWFsaXplIHRoZSBzdGF0ZSBvZiB0aGUgc3RlcHBlciAoY29tcGxldGVkLCB3YXJuaW5nLCBjdXJyZW50LCBmdXR1cmUpXG4gICAqIEBwYXJhbSBzdGF0ZVxuICAgKiBAcmV0dXJuc1xuICAgKi9cbiAgbm9ybWFsaXplU3RhdGUoc3RhdGU6IERmU3RlcHBlclN0YXRlKTogRGZTdGVwcGVyTm9ybWFsaXplZFN0YXRlIHtcbiAgICBjb25zdCBzdGVwc0xpc3Q6IERmU3RlcHBlck5vcm1hbGl6ZWRTdGVwW10gPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN0YXRlLnN0ZXBzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoc3RhdGUuc3RlcHNbaV0ud2FybmluZykge1xuICAgICAgICBzdGVwc0xpc3QucHVzaCh7IC4uLnN0YXRlLnN0ZXBzW2ldLCB0eXBlOiAnd2FybmluZycgfSk7XG4gICAgICB9IGVsc2UgaWYgKHN0YXRlLnN0ZXBzW2ldLmNvbXBsZXRlZCkge1xuICAgICAgICBzdGVwc0xpc3QucHVzaCh7IC4uLnN0YXRlLnN0ZXBzW2ldLCB0eXBlOiAnY29tcGxldGVkJyB9KTtcbiAgICAgIH0gZWxzZSBpZiAoaSA9PT0gc3RhdGUuYWN0aXZlIHx8IHN0YXRlLnN0ZXBzW2ldLnZpc2l0ZWQpIHtcbiAgICAgICAgc3RlcHNMaXN0LnB1c2goeyAuLi5zdGF0ZS5zdGVwc1tpXSwgdHlwZTogJ3Zpc2l0ZWQnLCB2aXNpdGVkOiB0cnVlIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RlcHNMaXN0LnB1c2goeyAuLi5zdGF0ZS5zdGVwc1tpXSwgdHlwZTogJ2Z1dHVyZScsIHZpc2l0ZWQ6IGZhbHNlIH0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4geyAuLi5zdGF0ZSwgc3RlcHM6IHN0ZXBzTGlzdCB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEludGVybmFsIHRvIGdldCB0aGUgc3RlcHBlciBhcmlhIGxhYmVsIGluIHRoZSB0ZW1wbGF0ZVxuICAgKi9cbiAgZ2V0IHN0ZXBwZXJBcmlhTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fc3RlcHBlckFyaWFMYWJlbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2UgdGhpcyB0byBzZXQgdGhlIHN0ZXBwZXIgYXJpYSBsYWJlbCAoaTE4bilcbiAgICovXG4gIHNldCBzdGVwcGVyQXJpYUxhYmVsKGxhYmVsOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9zdGVwcGVyQXJpYUxhYmVsID0gbGFiZWw7XG4gIH1cblxuICAvKipcbiAgICogSW50ZXJuYWwgdG8gZ2V0IHRoZSBjb21wbGV0ZWQgbGFiZWwgaW4gdGhlIHRlbXBsYXRlXG4gICAqL1xuICBnZXQgY29tcGxldGVkTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fY29tcGxldGVkTGFiZWw7XG4gIH1cblxuICAvKipcbiAgICogSW50ZXJuYWwgdG8gZ2V0IHRoZSB3YXJpbmcgbGFiZWwgaW4gdGhlIHRlbXBsYXRlXG4gICAqL1xuICBnZXQgd2FybmluZ0xhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX3dhcm5pbmdMYWJlbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2UgdGhpcyB0byBzZXQgdGhlIGNvbXBsZXRlZCBsYWJlbCAoaTE4bilcbiAgICovXG4gIHNldCBjb21wbGV0ZWRMYWJlbChsYWJlbDogc3RyaW5nKSB7XG4gICAgdGhpcy5fY29tcGxldGVkTGFiZWwgPSBsYWJlbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2UgdGhpcyB0byBzZXQgdGhlIHdhcm5pbmcgbGFiZWwgKGkxOG4pXG4gICAqL1xuICBzZXQgd2FybmluZ0xhYmVsKGxhYmVsOiBzdHJpbmcpIHtcbiAgICB0aGlzLl93YXJuaW5nTGFiZWwgPSBsYWJlbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUT0RPIG1ha2UgaXQgY3VzdG9taXphYmxlXG4gICAqIEBwYXJhbSBpbmRleCAtIGluZGV4IG9mIHRoZSBzdGVwXG4gICAqIEByZXR1cm5zIC0gc3RyaW5nIG9mIHRoZSBzdGVwIG51bWJlciB0byBkaXNwbGF5XG4gICAqL1xuICBnZXRTdGVwTnVtYmVyTGFiZWwoaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke2luZGV4ICsgMX1gO1xuICB9XG5cbiAgcmVzZXRGb2N1cygpIHtcbiAgICB0aGlzLnNldEZvY3VzID0gZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIGlzTGluZWFyIC0gdHJ1ZSBpZiB0aGUgc3RlcHBlciBpcyBsaW5lYXJcbiAgICovXG4gIHNldExpbmVhcihpc0xpbmVhcjogYm9vbGVhbikge1xuICAgIHRoaXMuX3N0YXRlLmlzTGluZWFyID0gaXNMaW5lYXI7XG4gICAgdGhpcy5kaXNwYXRjaFN0ZXBwZXJTdGF0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBpc0lubGluZSAtIHRydWUgaWYgdGhlIHN0ZXBwZXIgaXMgaW5saW5lXG4gICAqL1xuICBzZXRJbmxpbmUoaXNJbmxpbmU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zdGF0ZS5pc0lubGluZSA9IGlzSW5saW5lO1xuICAgIHRoaXMuZGlzcGF0Y2hTdGVwcGVyU3RhdGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gaW5kZXggLSBpbmRleCBvZiB0aGUgc3RlcCB0byBzZWxlY3Qgc3RhcnQgYXQgMFxuICAgKi9cbiAgc2VsZWN0U3RlcChpbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKGluZGV4IDwgMCB8fCBpbmRleCA+PSB0aGlzLl9zdGF0ZS5zdGVwcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5fc3RhdGUuYWN0aXZlID0gaW5kZXg7XG4gICAgdGhpcy51cGRhdGVTdGVwcGVyU3RhdGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYW1lIGFzIHNlbGVjdFN0ZXAgYnV0IHdpdGggZm9jdXMgb24gdGhlIHN0ZXAgc2VsZWN0ZWRcbiAgICogQHBhcmFtIGluZGV4IC0gaW5kZXggb2YgdGhlIHN0ZXAgdG8gc2VsZWN0IHN0YXJ0IGF0IDBcbiAgICovXG4gIHNlbGVjdFdpdGhGb2N1cyhpbmRleDogbnVtYmVyKSB7XG4gICAgaWYgKGluZGV4IDwgMCB8fCBpbmRleCA+PSB0aGlzLl9zdGF0ZS5zdGVwcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5zZXRGb2N1cyA9IHRydWU7XG4gICAgdGhpcy5zZWxlY3RTdGVwKGluZGV4KTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gaW5kZXggLSBpbmRleCBvZiB0aGUgc3RlcCB0byBjb21wbGV0ZSBzdGFydCBhdCAwXG4gICAqL1xuICBjb21wbGV0ZVN0ZXAoaW5kZXg6IG51bWJlcikge1xuICAgIGlmIChpbmRleCA8IDAgfHwgaW5kZXggPj0gdGhpcy5fc3RhdGUuc3RlcHMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3N0YXRlLnN0ZXBzW2luZGV4XS5jb21wbGV0ZWQgPSB0cnVlO1xuICAgIHRoaXMuX3N0YXRlLnN0ZXBzW2luZGV4XS53YXJuaW5nID0gZmFsc2U7XG4gICAgdGhpcy51cGRhdGVTdGVwcGVyU3RhdGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gaW5kZXggLSBpbmRleCBvZiB0aGUgc3RlcCB0byBjb21wbGV0ZSBzdGFydCBhdCAwXG4gICAqL1xuICBjb21wbGV0ZVN0ZXBBbmRHb05leHQoaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuY29tcGxldGVTdGVwKGluZGV4KTtcbiAgICB0aGlzLnNlbGVjdFN0ZXAoaW5kZXggKyAxKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRlbnRpb24gaWYgdGhlIHN0ZXAgd2FzIGNvbXBsZXRlZCBpdCB3aWxsIGJlIHVuY29tcGxldGVkIGFmdGVyLlxuICAgKiBAcGFyYW0gaW5kZXggLSBpbmRleCBvZiB0aGUgc3RlcCB0byBtYWtlIFdhcm5pbmcgc3RhcnQgYXQgMFxuICAgKiBAcGFyYW0gd2FybmluZ0xhYmVsIC0gbGFiZWwgdG8gZGlzcGxheSBpbiB0aGUgd2FybmluZyBieSBkZWZhdWx0IGl0IHdpbGwgdGFrZSB0aGUgd2FybmluZ0xhYmVsIGlmIGl0IGV4aXN0cyBvciB0aGUgbGFiZWxcbiAgICovXG4gIG1ha2VXYXJuaW5nKGluZGV4OiBudW1iZXIsIHdhcm5pbmdMYWJlbD86IHN0cmluZykge1xuICAgIGlmIChpbmRleCA8IDAgfHwgaW5kZXggPj0gdGhpcy5fc3RhdGUuc3RlcHMubGVuZ3RoKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX3N0YXRlLnN0ZXBzW2luZGV4XS53YXJuaW5nID0gdHJ1ZTtcbiAgICB0aGlzLl9zdGF0ZS5zdGVwc1tpbmRleF0uY29tcGxldGVkID0gZmFsc2U7XG4gICAgdGhpcy5fc3RhdGUuc3RlcHNbaW5kZXhdLndhcm5pbmdMYWJlbCA9IHdhcm5pbmdMYWJlbFxuICAgICAgPyB3YXJuaW5nTGFiZWxcbiAgICAgIDogdGhpcy5fc3RhdGUuc3RlcHNbaW5kZXhdLndhcm5pbmdMYWJlbFxuICAgICAgICA/IHRoaXMuX3N0YXRlLnN0ZXBzW2luZGV4XS53YXJuaW5nTGFiZWxcbiAgICAgICAgOiB0aGlzLl9zdGF0ZS5zdGVwc1tpbmRleF0ubGFiZWw7XG4gICAgdGhpcy51cGRhdGVTdGVwcGVyU3RhdGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKlxuICAgKiBAcGFyYW0gaW5kZXggLSBpbmRleCBvZiB0aGUgc3RlcCB0byByZW1vdmUgV2FybmluZyBzdGFydCBhdCAwXG4gICAqL1xuICByZW1vdmVXYXJuaW5nKGluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAoaW5kZXggPCAwIHx8IGluZGV4ID49IHRoaXMuX3N0YXRlLnN0ZXBzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9zdGF0ZS5zdGVwc1tpbmRleF0ud2FybmluZyA9IGZhbHNlO1xuICAgIHRoaXMudXBkYXRlU3RlcHBlclN0YXRlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { NgbToastModule } from '@ng-bootstrap/ng-bootstrap';
|
|
3
|
-
import { DfInsertIconModule } from '../icon/insert/insert-icon.module';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export class DfToastModule {
|
|
6
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DfToastModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: DfToastModule, imports: [DfInsertIconModule], exports: [NgbToastModule, DfInsertIconModule] }); }
|
|
8
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DfToastModule, imports: [DfInsertIconModule, NgbToastModule, DfInsertIconModule] }); }
|
|
9
|
-
}
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DfToastModule, decorators: [{
|
|
11
|
-
type: NgModule,
|
|
12
|
-
args: [{
|
|
13
|
-
imports: [DfInsertIconModule],
|
|
14
|
-
exports: [NgbToastModule, DfInsertIconModule]
|
|
15
|
-
}]
|
|
16
|
-
}] });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWZhY3Rvcnkvc3JjL2xpYi9hbmd1bGFyL3RvYXN0L3RvYXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQzs7QUFNdkUsTUFBTSxPQUFPLGFBQWE7OEdBQWIsYUFBYTsrR0FBYixhQUFhLFlBSGQsa0JBQWtCLGFBQ2xCLGNBQWMsRUFBRSxrQkFBa0I7K0dBRWpDLGFBQWEsWUFIZCxrQkFBa0IsRUFDbEIsY0FBYyxFQUFFLGtCQUFrQjs7MkZBRWpDLGFBQWE7a0JBSnpCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsa0JBQWtCLENBQUM7b0JBQzdCLE9BQU8sRUFBRSxDQUFDLGNBQWMsRUFBRSxrQkFBa0IsQ0FBQztpQkFDOUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdiVG9hc3RNb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBEZkluc2VydEljb25Nb2R1bGUgfSBmcm9tICcuLi9pY29uL2luc2VydC9pbnNlcnQtaWNvbi5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbRGZJbnNlcnRJY29uTW9kdWxlXSxcbiAgZXhwb3J0czogW05nYlRvYXN0TW9kdWxlLCBEZkluc2VydEljb25Nb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIERmVG9hc3RNb2R1bGUge1xufVxuIl19
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { NgbTooltipModule } from '@ng-bootstrap/ng-bootstrap';
|
|
3
|
-
import { DfTooltipTruncateDirective } from './truncate/tooltipTruncate.directive';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export { DfTooltipTruncateDirective } from './truncate/tooltipTruncate.directive';
|
|
6
|
-
export class DfTooltipModule {
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DfTooltipModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: DfTooltipModule, imports: [DfTooltipTruncateDirective], exports: [DfTooltipTruncateDirective, NgbTooltipModule] }); }
|
|
9
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DfTooltipModule, imports: [NgbTooltipModule] }); }
|
|
10
|
-
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DfTooltipModule, decorators: [{
|
|
12
|
-
type: NgModule,
|
|
13
|
-
args: [{
|
|
14
|
-
imports: [DfTooltipTruncateDirective],
|
|
15
|
-
exports: [DfTooltipTruncateDirective, NgbTooltipModule]
|
|
16
|
-
}]
|
|
17
|
-
}] });
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tZmFjdG9yeS9zcmMvbGliL2FuZ3VsYXIvdG9vbHRpcC90b29sdGlwLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzlELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOztBQUVsRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQU1sRixNQUFNLE9BQU8sZUFBZTs4R0FBZixlQUFlOytHQUFmLGVBQWUsWUFIaEIsMEJBQTBCLGFBQzFCLDBCQUEwQixFQUFFLGdCQUFnQjsrR0FFM0MsZUFBZSxZQUZZLGdCQUFnQjs7MkZBRTNDLGVBQWU7a0JBSjNCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsMEJBQTBCLENBQUM7b0JBQ3JDLE9BQU8sRUFBRSxDQUFDLDBCQUEwQixFQUFFLGdCQUFnQixDQUFDO2lCQUN4RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ2JUb29sdGlwTW9kdWxlIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xuaW1wb3J0IHsgRGZUb29sdGlwVHJ1bmNhdGVEaXJlY3RpdmUgfSBmcm9tICcuL3RydW5jYXRlL3Rvb2x0aXBUcnVuY2F0ZS5kaXJlY3RpdmUnO1xuXG5leHBvcnQgeyBEZlRvb2x0aXBUcnVuY2F0ZURpcmVjdGl2ZSB9IGZyb20gJy4vdHJ1bmNhdGUvdG9vbHRpcFRydW5jYXRlLmRpcmVjdGl2ZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtEZlRvb2x0aXBUcnVuY2F0ZURpcmVjdGl2ZV0sXG4gIGV4cG9ydHM6IFtEZlRvb2x0aXBUcnVuY2F0ZURpcmVjdGl2ZSwgTmdiVG9vbHRpcE1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgRGZUb29sdGlwTW9kdWxlIHt9XG4iXX0=
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import { hasOverflow } from '../../utils/html-element-helper';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@ng-bootstrap/ng-bootstrap";
|
|
5
|
-
/**
|
|
6
|
-
* My dfTooltipTruncate directive
|
|
7
|
-
*/
|
|
8
|
-
export class DfTooltipTruncateDirective {
|
|
9
|
-
constructor(tooltip, elementRef, renderer) {
|
|
10
|
-
this.tooltip = tooltip;
|
|
11
|
-
this.elementRef = elementRef;
|
|
12
|
-
this.renderer = renderer;
|
|
13
|
-
}
|
|
14
|
-
ngOnInit() {
|
|
15
|
-
this.renderer.addClass(this.elementRef.nativeElement, 'text-truncate');
|
|
16
|
-
}
|
|
17
|
-
ngDoCheck() {
|
|
18
|
-
this.tooltip.disableTooltip = !hasOverflow(this.elementRef.nativeElement);
|
|
19
|
-
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DfTooltipTruncateDirective, deps: [{ token: i1.NgbTooltip }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
21
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: DfTooltipTruncateDirective, isStandalone: true, selector: "[dfTooltipTruncate]", exportAs: ["dfTooltipTruncate"], ngImport: i0 }); }
|
|
22
|
-
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DfTooltipTruncateDirective, decorators: [{
|
|
24
|
-
type: Directive,
|
|
25
|
-
args: [{
|
|
26
|
-
exportAs: 'dfTooltipTruncate',
|
|
27
|
-
selector: '[dfTooltipTruncate]',
|
|
28
|
-
standalone: true
|
|
29
|
-
}]
|
|
30
|
-
}], ctorParameters: () => [{ type: i1.NgbTooltip }, { type: i0.ElementRef }, { type: i0.Renderer2 }] });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcFRydW5jYXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1mYWN0b3J5L3NyYy9saWIvYW5ndWxhci90b29sdGlwL3RydW5jYXRlL3Rvb2x0aXBUcnVuY2F0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBMEMsTUFBTSxlQUFlLENBQUM7QUFFbEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFFOUQ7O0dBRUc7QUFNSCxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLFlBQ21CLE9BQW1CLEVBQ25CLFVBQW1DLEVBQ25DLFFBQW1CO1FBRm5CLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUNuQyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM1RSxDQUFDOzhHQWJVLDBCQUEwQjtrR0FBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUx0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRG9DaGVjaywgRWxlbWVudFJlZiwgT25Jbml0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nYlRvb2x0aXAgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBoYXNPdmVyZmxvdyB9IGZyb20gJy4uLy4uL3V0aWxzL2h0bWwtZWxlbWVudC1oZWxwZXInO1xuXG4vKipcbiAqIE15IGRmVG9vbHRpcFRydW5jYXRlIGRpcmVjdGl2ZVxuICovXG5ARGlyZWN0aXZlKHtcbiAgZXhwb3J0QXM6ICdkZlRvb2x0aXBUcnVuY2F0ZScsXG4gIHNlbGVjdG9yOiAnW2RmVG9vbHRpcFRydW5jYXRlXScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRGZUb29sdGlwVHJ1bmNhdGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIERvQ2hlY2sge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvb2x0aXA6IE5nYlRvb2x0aXAsXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjJcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd0ZXh0LXRydW5jYXRlJyk7XG4gIH1cblxuICBuZ0RvQ2hlY2soKSB7XG4gICAgdGhpcy50b29sdGlwLmRpc2FibGVUb29sdGlwID0gIWhhc092ZXJmbG93KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxufVxuIl19
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @param element the HTML element
|
|
3
|
-
* @returns whether the element is overflowing
|
|
4
|
-
*/
|
|
5
|
-
export function hasOverflow(element) {
|
|
6
|
-
return element?.offsetHeight < element?.scrollHeight || element?.offsetWidth < element?.scrollWidth;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC1lbGVtZW50LWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1mYWN0b3J5L3NyYy9saWIvYW5ndWxhci91dGlscy9odG1sLWVsZW1lbnQtaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQUMsT0FBb0I7SUFDOUMsT0FBTyxPQUFPLEVBQUUsWUFBWSxHQUFHLE9BQU8sRUFBRSxZQUFZLElBQUksT0FBTyxFQUFFLFdBQVcsR0FBRyxPQUFPLEVBQUUsV0FBVyxDQUFDO0FBQ3RHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYXJhbSBlbGVtZW50IHRoZSBIVE1MIGVsZW1lbnRcbiAqIEByZXR1cm5zIHdoZXRoZXIgdGhlIGVsZW1lbnQgaXMgb3ZlcmZsb3dpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc092ZXJmbG93KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gIHJldHVybiBlbGVtZW50Py5vZmZzZXRIZWlnaHQgPCBlbGVtZW50Py5zY3JvbGxIZWlnaHQgfHwgZWxlbWVudD8ub2Zmc2V0V2lkdGggPCBlbGVtZW50Py5zY3JvbGxXaWR0aDtcbn1cbiJdfQ==
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { Injectable, Inject } from '@angular/core';
|
|
2
|
-
import { DOCUMENT } from '@angular/common';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
const noop = () => { };
|
|
5
|
-
/**
|
|
6
|
-
* Utility to handle the scrollbar.
|
|
7
|
-
*
|
|
8
|
-
* It allows to compensate the lack of a vertical scrollbar by adding an
|
|
9
|
-
* equivalent padding on the right of the body, and to remove this compensation.
|
|
10
|
-
*
|
|
11
|
-
* It is a copy of https://github.com/ng-bootstrap/ng-bootstrap/blob/master/src/util/scrollbar.ts
|
|
12
|
-
*/
|
|
13
|
-
export class ScrollBar {
|
|
14
|
-
constructor(_document) {
|
|
15
|
-
this._document = _document;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* To be called right before a potential vertical scrollbar would be removed:
|
|
19
|
-
*
|
|
20
|
-
* - if there was a scrollbar, adds some compensation padding to the body
|
|
21
|
-
* to keep the same layout as when the scrollbar is there
|
|
22
|
-
* - if there was none, there is nothing to do
|
|
23
|
-
*
|
|
24
|
-
* @return a callback used to revert the compensation (noop if there was none,
|
|
25
|
-
* otherwise a function removing the padding)
|
|
26
|
-
*/
|
|
27
|
-
compensate() {
|
|
28
|
-
const width = this._getWidth();
|
|
29
|
-
return !this._isPresent(width) ? noop : this._adjustBody(width);
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Adds a padding of the given width on the right of the body.
|
|
33
|
-
*
|
|
34
|
-
* @return a callback used to revert the padding to its previous value
|
|
35
|
-
*/
|
|
36
|
-
_adjustBody(scrollbarWidth) {
|
|
37
|
-
const body = this._document.body;
|
|
38
|
-
const userSetPaddingStyle = body.style.paddingRight;
|
|
39
|
-
const paddingRight = 'padding-right';
|
|
40
|
-
const actualPadding = parseFloat(window.getComputedStyle(body)[paddingRight]);
|
|
41
|
-
body.style[paddingRight] = `${actualPadding + scrollbarWidth}px`;
|
|
42
|
-
return () => (body.style[paddingRight] = userSetPaddingStyle);
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Tells whether a scrollbar is currently present on the body.
|
|
46
|
-
*
|
|
47
|
-
* @return true if scrollbar is present, false otherwise
|
|
48
|
-
*/
|
|
49
|
-
_isPresent(scrollbarWidth) {
|
|
50
|
-
const rect = this._document.body.getBoundingClientRect();
|
|
51
|
-
const bodyToViewportGap = window.innerWidth - (rect.left + rect.right);
|
|
52
|
-
const uncertainty = 0.1 * scrollbarWidth;
|
|
53
|
-
return bodyToViewportGap >= scrollbarWidth - uncertainty;
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Calculates and returns the width of a scrollbar.
|
|
57
|
-
*
|
|
58
|
-
* @return the width of a scrollbar on this page
|
|
59
|
-
*/
|
|
60
|
-
_getWidth() {
|
|
61
|
-
const measurer = this._document.createElement('div');
|
|
62
|
-
measurer.className = 'modal-scrollbar-measure';
|
|
63
|
-
const body = this._document.body;
|
|
64
|
-
body.appendChild(measurer);
|
|
65
|
-
const width = measurer.getBoundingClientRect().width - measurer.clientWidth;
|
|
66
|
-
body.removeChild(measurer);
|
|
67
|
-
return width;
|
|
68
|
-
}
|
|
69
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ScrollBar, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
70
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ScrollBar, providedIn: 'root' }); }
|
|
71
|
-
}
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ScrollBar, decorators: [{
|
|
73
|
-
type: Injectable,
|
|
74
|
-
args: [{ providedIn: 'root' }]
|
|
75
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
76
|
-
type: Inject,
|
|
77
|
-
args: [DOCUMENT]
|
|
78
|
-
}] }] });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nyb2xsYmFyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tZmFjdG9yeS9zcmMvbGliL2FuZ3VsYXIvdXRpbHMvc2Nyb2xsYmFyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQUUzQyxNQUFNLElBQUksR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7QUFLdEI7Ozs7Ozs7R0FPRztBQUVILE1BQU0sT0FBTyxTQUFTO0lBQ3BCLFlBQStDLFNBQWM7UUFBZCxjQUFTLEdBQVQsU0FBUyxDQUFLO0lBQUcsQ0FBQztJQUVqRTs7Ozs7Ozs7O09BU0c7SUFDSCxVQUFVO1FBQ1IsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQy9CLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxXQUFXLENBQUMsY0FBc0I7UUFDeEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDakMsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQztRQUNwRCxNQUFNLFlBQVksR0FBRyxlQUFlLENBQUM7UUFDckMsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFtQixDQUFDLENBQUMsQ0FBQztRQUNyRixJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUFHLEdBQUcsYUFBYSxHQUFHLGNBQWMsSUFBSSxDQUFDO1FBQ2pFLE9BQU8sR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxHQUFHLG1CQUFtQixDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSyxVQUFVLENBQUMsY0FBc0I7UUFDdkMsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUN6RCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2RSxNQUFNLFdBQVcsR0FBRyxHQUFHLEdBQUcsY0FBYyxDQUFDO1FBQ3pDLE9BQU8saUJBQWlCLElBQUksY0FBYyxHQUFHLFdBQVcsQ0FBQztJQUMzRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNLLFNBQVM7UUFDZixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRCxRQUFRLENBQUMsU0FBUyxHQUFHLHlCQUF5QixDQUFDO1FBRS9DLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0IsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLHFCQUFxQixFQUFFLENBQUMsS0FBSyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUM7UUFDNUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUUzQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OEdBM0RVLFNBQVMsa0JBQ0EsUUFBUTtrSEFEakIsU0FBUyxjQURJLE1BQU07OzJGQUNuQixTQUFTO2tCQURyQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7MEJBRW5CLE1BQU07MkJBQUMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5jb25zdCBub29wID0gKCkgPT4ge307XG5cbi8qKiBUeXBlIGZvciB0aGUgY2FsbGJhY2sgdXNlZCB0byByZXZlcnQgdGhlIHNjcm9sbGJhciBjb21wZW5zYXRpb24uICovXG5leHBvcnQgdHlwZSBDb21wZW5zYXRpb25SZXZlcnRlciA9ICgpID0+IHZvaWQ7XG5cbi8qKlxuICogVXRpbGl0eSB0byBoYW5kbGUgdGhlIHNjcm9sbGJhci5cbiAqXG4gKiBJdCBhbGxvd3MgdG8gY29tcGVuc2F0ZSB0aGUgbGFjayBvZiBhIHZlcnRpY2FsIHNjcm9sbGJhciBieSBhZGRpbmcgYW5cbiAqIGVxdWl2YWxlbnQgcGFkZGluZyBvbiB0aGUgcmlnaHQgb2YgdGhlIGJvZHksIGFuZCB0byByZW1vdmUgdGhpcyBjb21wZW5zYXRpb24uXG4gKlxuICogSXQgaXMgYSBjb3B5IG9mIGh0dHBzOi8vZ2l0aHViLmNvbS9uZy1ib290c3RyYXAvbmctYm9vdHN0cmFwL2Jsb2IvbWFzdGVyL3NyYy91dGlsL3Njcm9sbGJhci50c1xuICovXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFNjcm9sbEJhciB7XG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgcmVhZG9ubHkgX2RvY3VtZW50OiBhbnkpIHt9XG5cbiAgLyoqXG4gICAqIFRvIGJlIGNhbGxlZCByaWdodCBiZWZvcmUgYSBwb3RlbnRpYWwgdmVydGljYWwgc2Nyb2xsYmFyIHdvdWxkIGJlIHJlbW92ZWQ6XG4gICAqXG4gICAqIC0gaWYgdGhlcmUgd2FzIGEgc2Nyb2xsYmFyLCBhZGRzIHNvbWUgY29tcGVuc2F0aW9uIHBhZGRpbmcgdG8gdGhlIGJvZHlcbiAgICogdG8ga2VlcCB0aGUgc2FtZSBsYXlvdXQgYXMgd2hlbiB0aGUgc2Nyb2xsYmFyIGlzIHRoZXJlXG4gICAqIC0gaWYgdGhlcmUgd2FzIG5vbmUsIHRoZXJlIGlzIG5vdGhpbmcgdG8gZG9cbiAgICpcbiAgICogQHJldHVybiBhIGNhbGxiYWNrIHVzZWQgdG8gcmV2ZXJ0IHRoZSBjb21wZW5zYXRpb24gKG5vb3AgaWYgdGhlcmUgd2FzIG5vbmUsXG4gICAqIG90aGVyd2lzZSBhIGZ1bmN0aW9uIHJlbW92aW5nIHRoZSBwYWRkaW5nKVxuICAgKi9cbiAgY29tcGVuc2F0ZSgpOiBDb21wZW5zYXRpb25SZXZlcnRlciB7XG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLl9nZXRXaWR0aCgpO1xuICAgIHJldHVybiAhdGhpcy5faXNQcmVzZW50KHdpZHRoKSA/IG5vb3AgOiB0aGlzLl9hZGp1c3RCb2R5KHdpZHRoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgcGFkZGluZyBvZiB0aGUgZ2l2ZW4gd2lkdGggb24gdGhlIHJpZ2h0IG9mIHRoZSBib2R5LlxuICAgKlxuICAgKiBAcmV0dXJuIGEgY2FsbGJhY2sgdXNlZCB0byByZXZlcnQgdGhlIHBhZGRpbmcgdG8gaXRzIHByZXZpb3VzIHZhbHVlXG4gICAqL1xuICBwcml2YXRlIF9hZGp1c3RCb2R5KHNjcm9sbGJhcldpZHRoOiBudW1iZXIpOiBDb21wZW5zYXRpb25SZXZlcnRlciB7XG4gICAgY29uc3QgYm9keSA9IHRoaXMuX2RvY3VtZW50LmJvZHk7XG4gICAgY29uc3QgdXNlclNldFBhZGRpbmdTdHlsZSA9IGJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0O1xuICAgIGNvbnN0IHBhZGRpbmdSaWdodCA9ICdwYWRkaW5nLXJpZ2h0JztcbiAgICBjb25zdCBhY3R1YWxQYWRkaW5nID0gcGFyc2VGbG9hdCh3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShib2R5KVtwYWRkaW5nUmlnaHQgYXMgYW55XSk7XG4gICAgYm9keS5zdHlsZVtwYWRkaW5nUmlnaHRdID0gYCR7YWN0dWFsUGFkZGluZyArIHNjcm9sbGJhcldpZHRofXB4YDtcbiAgICByZXR1cm4gKCkgPT4gKGJvZHkuc3R5bGVbcGFkZGluZ1JpZ2h0XSA9IHVzZXJTZXRQYWRkaW5nU3R5bGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRlbGxzIHdoZXRoZXIgYSBzY3JvbGxiYXIgaXMgY3VycmVudGx5IHByZXNlbnQgb24gdGhlIGJvZHkuXG4gICAqXG4gICAqIEByZXR1cm4gdHJ1ZSBpZiBzY3JvbGxiYXIgaXMgcHJlc2VudCwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAqL1xuICBwcml2YXRlIF9pc1ByZXNlbnQoc2Nyb2xsYmFyV2lkdGg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJlY3QgPSB0aGlzLl9kb2N1bWVudC5ib2R5LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuICAgIGNvbnN0IGJvZHlUb1ZpZXdwb3J0R2FwID0gd2luZG93LmlubmVyV2lkdGggLSAocmVjdC5sZWZ0ICsgcmVjdC5yaWdodCk7XG4gICAgY29uc3QgdW5jZXJ0YWludHkgPSAwLjEgKiBzY3JvbGxiYXJXaWR0aDtcbiAgICByZXR1cm4gYm9keVRvVmlld3BvcnRHYXAgPj0gc2Nyb2xsYmFyV2lkdGggLSB1bmNlcnRhaW50eTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGVzIGFuZCByZXR1cm5zIHRoZSB3aWR0aCBvZiBhIHNjcm9sbGJhci5cbiAgICpcbiAgICogQHJldHVybiB0aGUgd2lkdGggb2YgYSBzY3JvbGxiYXIgb24gdGhpcyBwYWdlXG4gICAqL1xuICBwcml2YXRlIF9nZXRXaWR0aCgpOiBudW1iZXIge1xuICAgIGNvbnN0IG1lYXN1cmVyID0gdGhpcy5fZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgbWVhc3VyZXIuY2xhc3NOYW1lID0gJ21vZGFsLXNjcm9sbGJhci1tZWFzdXJlJztcblxuICAgIGNvbnN0IGJvZHkgPSB0aGlzLl9kb2N1bWVudC5ib2R5O1xuICAgIGJvZHkuYXBwZW5kQ2hpbGQobWVhc3VyZXIpO1xuICAgIGNvbnN0IHdpZHRoID0gbWVhc3VyZXIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggLSBtZWFzdXJlci5jbGllbnRXaWR0aDtcbiAgICBib2R5LnJlbW92ZUNoaWxkKG1lYXN1cmVyKTtcblxuICAgIHJldHVybiB3aWR0aDtcbiAgfVxufVxuIl19
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import { hasOverflow } from './html-element-helper';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/**
|
|
5
|
-
* DfTitleTruncate directive
|
|
6
|
-
* It adds the title attribute with the element's inner text as value
|
|
7
|
-
* when the element is truncated.
|
|
8
|
-
*/
|
|
9
|
-
export class DfTitleTruncateDirective {
|
|
10
|
-
constructor(elementRef, renderer) {
|
|
11
|
-
this.elementRef = elementRef;
|
|
12
|
-
this.renderer = renderer;
|
|
13
|
-
}
|
|
14
|
-
ngOnInit() {
|
|
15
|
-
this.renderer.addClass(this.elementRef.nativeElement, 'text-truncate');
|
|
16
|
-
}
|
|
17
|
-
ngDoCheck() {
|
|
18
|
-
const { nativeElement } = this.elementRef;
|
|
19
|
-
const titleAttributeName = 'title';
|
|
20
|
-
if (hasOverflow(nativeElement)) {
|
|
21
|
-
const value = nativeElement.innerText;
|
|
22
|
-
nativeElement.setAttribute(titleAttributeName, value);
|
|
23
|
-
}
|
|
24
|
-
else if (nativeElement.getAttribute(titleAttributeName)) {
|
|
25
|
-
nativeElement.removeAttribute(titleAttributeName);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DfTitleTruncateDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
29
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: DfTitleTruncateDirective, isStandalone: true, selector: "[dfTitleTruncate]", exportAs: ["dfTitleTruncate"], ngImport: i0 }); }
|
|
30
|
-
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DfTitleTruncateDirective, decorators: [{
|
|
32
|
-
type: Directive,
|
|
33
|
-
args: [{
|
|
34
|
-
exportAs: 'dfTitleTruncate',
|
|
35
|
-
selector: '[dfTitleTruncate]',
|
|
36
|
-
standalone: true
|
|
37
|
-
}]
|
|
38
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }] });
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGl0bGVUcnVuY2F0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tZmFjdG9yeS9zcmMvbGliL2FuZ3VsYXIvdXRpbHMvdGl0bGVUcnVuY2F0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBMEMsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUVwRDs7OztHQUlHO0FBTUgsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxZQUNtQixVQUFtQyxFQUNuQyxRQUFtQjtRQURuQixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUNuQyxhQUFRLEdBQVIsUUFBUSxDQUFXO0lBQ25DLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELFNBQVM7UUFDUCxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUMxQyxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQztRQUNuQyxJQUFJLFdBQVcsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQy9CLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUM7WUFDdEMsYUFBYSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN4RCxDQUFDO2FBQU0sSUFBSSxhQUFhLENBQUMsWUFBWSxDQUFDLGtCQUFrQixDQUFDLEVBQUUsQ0FBQztZQUMxRCxhQUFhLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDcEQsQ0FBQztJQUNILENBQUM7OEdBbkJVLHdCQUF3QjtrR0FBeEIsd0JBQXdCOzsyRkFBeEIsd0JBQXdCO2tCQUxwQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRG9DaGVjaywgRWxlbWVudFJlZiwgT25Jbml0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGhhc092ZXJmbG93IH0gZnJvbSAnLi9odG1sLWVsZW1lbnQtaGVscGVyJztcblxuLyoqXG4gKiBEZlRpdGxlVHJ1bmNhdGUgZGlyZWN0aXZlXG4gKiBJdCBhZGRzIHRoZSB0aXRsZSBhdHRyaWJ1dGUgd2l0aCB0aGUgZWxlbWVudCdzIGlubmVyIHRleHQgYXMgdmFsdWVcbiAqIHdoZW4gdGhlIGVsZW1lbnQgaXMgdHJ1bmNhdGVkLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgZXhwb3J0QXM6ICdkZlRpdGxlVHJ1bmNhdGUnLFxuICBzZWxlY3RvcjogJ1tkZlRpdGxlVHJ1bmNhdGVdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBEZlRpdGxlVHJ1bmNhdGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIERvQ2hlY2sge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMlxuICApIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3RleHQtdHJ1bmNhdGUnKTtcbiAgfVxuXG4gIG5nRG9DaGVjaygpIHtcbiAgICBjb25zdCB7IG5hdGl2ZUVsZW1lbnQgfSA9IHRoaXMuZWxlbWVudFJlZjtcbiAgICBjb25zdCB0aXRsZUF0dHJpYnV0ZU5hbWUgPSAndGl0bGUnO1xuICAgIGlmIChoYXNPdmVyZmxvdyhuYXRpdmVFbGVtZW50KSkge1xuICAgICAgY29uc3QgdmFsdWUgPSBuYXRpdmVFbGVtZW50LmlubmVyVGV4dDtcbiAgICAgIG5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKHRpdGxlQXR0cmlidXRlTmFtZSwgdmFsdWUpO1xuICAgIH0gZWxzZSBpZiAobmF0aXZlRWxlbWVudC5nZXRBdHRyaWJ1dGUodGl0bGVBdHRyaWJ1dGVOYW1lKSkge1xuICAgICAgbmF0aXZlRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUodGl0bGVBdHRyaWJ1dGVOYW1lKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { Directive, ElementRef, HostBinding, Input, inject } from '@angular/core';
|
|
2
|
-
import { HttpClient } from '@angular/common/http';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class DfWavesOfProgressDirective {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.http = inject(HttpClient, { optional: true });
|
|
7
|
-
this.waveClass = 'df-waves-of-progress-bg';
|
|
8
|
-
this.elementRef = inject(ElementRef);
|
|
9
|
-
this.baseSvg = '';
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* The type of waves to display. In order to display the waves, the app using the directive must include the assets of Design Factory.
|
|
13
|
-
* It is possible to do so by adding the following snippet to the `angular.json` file in the `assets` configuration:
|
|
14
|
-
* @example
|
|
15
|
-
* "assets": [
|
|
16
|
-
* {
|
|
17
|
-
* "glob": "** / *", //remove the spaces between the asterisks and the slash
|
|
18
|
-
* "input": "node-modules/@design-factory/design-factory/assets/",
|
|
19
|
-
* "output": "assets/"
|
|
20
|
-
* },
|
|
21
|
-
* ...]
|
|
22
|
-
*/
|
|
23
|
-
set wavesType(value) {
|
|
24
|
-
this.getSvg(value);
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Prepares the SVG string by replacing color variables and encoding it.
|
|
28
|
-
* @param bgColor - The background color.
|
|
29
|
-
* @param lineColor - The line color.
|
|
30
|
-
* @returns The prepared SVG string.
|
|
31
|
-
*/
|
|
32
|
-
prepareSvg(bgColor, lineColor) {
|
|
33
|
-
let baseSvg = this.baseSvg.replace(/var\(\-\-df\-waves\-of\-progress\-bg\-color\)/g, bgColor);
|
|
34
|
-
baseSvg = baseSvg.replace(/var\(\-\-df\-waves\-of\-progress\-line\-color\)/g, lineColor);
|
|
35
|
-
baseSvg = baseSvg.replace(/#/g, '%23');
|
|
36
|
-
return `'data:image/svg+xml;utf8,${baseSvg}'`;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Updates the SVG background image based on the current element's styles.
|
|
40
|
-
*/
|
|
41
|
-
updateSvg() {
|
|
42
|
-
const computedStyle = window.getComputedStyle(this.elementRef.nativeElement);
|
|
43
|
-
const bgColor = computedStyle.getPropertyValue('--df-waves-of-progress-bg-color');
|
|
44
|
-
const lineColor = computedStyle.getPropertyValue('--df-waves-of-progress-line-color');
|
|
45
|
-
if (!bgColor || !lineColor) {
|
|
46
|
-
this.elementRef.nativeElement.style.backgroundImage = null;
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
this.elementRef.nativeElement.style.backgroundImage = `url(${this.prepareSvg(bgColor, lineColor)})`;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
getSvg(wavesType) {
|
|
53
|
-
if (!this.http) {
|
|
54
|
-
throw Error('Could not find HttpClient provider for use with DF Waves of progress. ' +
|
|
55
|
-
'Please include the HttpClientModule from @angular/common/http in your ' +
|
|
56
|
-
'app imports.');
|
|
57
|
-
}
|
|
58
|
-
const url = `assets/waves_of_progress/${wavesType}.svg`;
|
|
59
|
-
this.http.get(url, { responseType: 'text' }).subscribe({
|
|
60
|
-
next: (svgString) => {
|
|
61
|
-
this.baseSvg = svgString.replace(/\n|\r/g, '');
|
|
62
|
-
this.updateSvg();
|
|
63
|
-
},
|
|
64
|
-
error: (error) => {
|
|
65
|
-
throw Error('[Design Factory] (Waves of progress): ' + error.message);
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DfWavesOfProgressDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
70
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: DfWavesOfProgressDirective, isStandalone: true, selector: "[dfWavesOfProgress]", inputs: { wavesType: ["dfWavesOfProgress", "wavesType"] }, host: { properties: { "class": "this.waveClass" } }, exportAs: ["dfWavesOfProgress"], ngImport: i0 }); }
|
|
71
|
-
}
|
|
72
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DfWavesOfProgressDirective, decorators: [{
|
|
73
|
-
type: Directive,
|
|
74
|
-
args: [{
|
|
75
|
-
selector: '[dfWavesOfProgress]',
|
|
76
|
-
standalone: true,
|
|
77
|
-
exportAs: 'dfWavesOfProgress'
|
|
78
|
-
}]
|
|
79
|
-
}], propDecorators: { wavesType: [{
|
|
80
|
-
type: Input,
|
|
81
|
-
args: ['dfWavesOfProgress']
|
|
82
|
-
}], waveClass: [{
|
|
83
|
-
type: HostBinding,
|
|
84
|
-
args: ['class']
|
|
85
|
-
}] } });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F2ZXMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWZhY3Rvcnkvc3JjL2xpYi9hbmd1bGFyL3dhdmVzLW9mLXByb2dyZXNzL3dhdmVzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsVUFBVSxFQUEwQixNQUFNLHNCQUFzQixDQUFDOztBQU8xRSxNQUFNLE9BQU8sMEJBQTBCO0lBTHZDO1FBcUJtQixTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXpDLGNBQVMsR0FBRyx5QkFBeUIsQ0FBQztRQUVyRCxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRS9CLFlBQU8sR0FBRyxFQUFFLENBQUM7S0FnRHRCO0lBckVDOzs7Ozs7Ozs7OztPQVdHO0lBQ0gsSUFBZ0MsU0FBUyxDQUFDLEtBQStEO1FBQ3ZHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckIsQ0FBQztJQVNEOzs7OztPQUtHO0lBQ0gsVUFBVSxDQUFDLE9BQWUsRUFBRSxTQUFpQjtRQUMzQyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxnREFBZ0QsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM5RixPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxrREFBa0QsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN6RixPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDdkMsT0FBTyw0QkFBNEIsT0FBTyxHQUFHLENBQUM7SUFDaEQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksU0FBUztRQUNkLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzdFLE1BQU0sT0FBTyxHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1FBQ2xGLE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1FBQ3RGLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztRQUM3RCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxlQUFlLEdBQUcsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDO1FBQ3RHLENBQUM7SUFDSCxDQUFDO0lBRU8sTUFBTSxDQUFDLFNBQW1FO1FBQ2hGLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZixNQUFNLEtBQUssQ0FDVCx3RUFBd0U7Z0JBQ3RFLHdFQUF3RTtnQkFDeEUsY0FBYyxDQUNqQixDQUFDO1FBQ0osQ0FBQztRQUNELE1BQU0sR0FBRyxHQUFHLDRCQUE0QixTQUFTLE1BQU0sQ0FBQztRQUN4RCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDckQsSUFBSSxFQUFFLENBQUMsU0FBUyxFQUFFLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQy9DLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsS0FBd0IsRUFBRSxFQUFFO2dCQUNsQyxNQUFNLEtBQUssQ0FBQyx3Q0FBd0MsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDeEUsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBckVVLDBCQUEwQjtrR0FBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUx0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsbUJBQW1CO2lCQUM5Qjs4QkFjaUMsU0FBUztzQkFBeEMsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBS0osU0FBUztzQkFBOUIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBIb3N0QmluZGluZywgSW5wdXQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cENsaWVudCwgdHlwZSBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RmV2F2ZXNPZlByb2dyZXNzXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGV4cG9ydEFzOiAnZGZXYXZlc09mUHJvZ3Jlc3MnXG59KVxuZXhwb3J0IGNsYXNzIERmV2F2ZXNPZlByb2dyZXNzRGlyZWN0aXZlIHtcbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIHdhdmVzIHRvIGRpc3BsYXkuIEluIG9yZGVyIHRvIGRpc3BsYXkgdGhlIHdhdmVzLCB0aGUgYXBwIHVzaW5nIHRoZSBkaXJlY3RpdmUgbXVzdCBpbmNsdWRlIHRoZSBhc3NldHMgb2YgRGVzaWduIEZhY3RvcnkuXG4gICAqIEl0IGlzIHBvc3NpYmxlIHRvIGRvIHNvIGJ5IGFkZGluZyB0aGUgZm9sbG93aW5nIHNuaXBwZXQgdG8gdGhlIGBhbmd1bGFyLmpzb25gIGZpbGUgaW4gdGhlIGBhc3NldHNgIGNvbmZpZ3VyYXRpb246XG4gICAqIEBleGFtcGxlXG4gICAqIFwiYXNzZXRzXCI6IFtcbiAgICogIHtcbiAgICogICAgXCJnbG9iXCI6IFwiKiogLyAqXCIsIC8vcmVtb3ZlIHRoZSBzcGFjZXMgYmV0d2VlbiB0aGUgYXN0ZXJpc2tzIGFuZCB0aGUgc2xhc2hcbiAgICogICAgXCJpbnB1dFwiOiBcIm5vZGUtbW9kdWxlcy9AZGVzaWduLWZhY3RvcnkvZGVzaWduLWZhY3RvcnkvYXNzZXRzL1wiLFxuICAgKiAgICBcIm91dHB1dFwiOiBcImFzc2V0cy9cIlxuICAgKiAgfSxcbiAgICogIC4uLl1cbiAgICovXG4gIEBJbnB1dCgnZGZXYXZlc09mUHJvZ3Jlc3MnKSBzZXQgd2F2ZXNUeXBlKHZhbHVlOiAnY2lyY2xlRGlhZ29uYWwnIHwgJ2NpcmNsZVVwJyB8ICdhcnJvd1JpZ2h0JyB8ICdhcnJvd1VwJykge1xuICAgIHRoaXMuZ2V0U3ZnKHZhbHVlKTtcbiAgfVxuICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzJykgd2F2ZUNsYXNzID0gJ2RmLXdhdmVzLW9mLXByb2dyZXNzLWJnJztcblxuICBwdWJsaWMgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICBwcml2YXRlIGJhc2VTdmcgPSAnJztcblxuICAvKipcbiAgICogUHJlcGFyZXMgdGhlIFNWRyBzdHJpbmcgYnkgcmVwbGFjaW5nIGNvbG9yIHZhcmlhYmxlcyBhbmQgZW5jb2RpbmcgaXQuXG4gICAqIEBwYXJhbSBiZ0NvbG9yIC0gVGhlIGJhY2tncm91bmQgY29sb3IuXG4gICAqIEBwYXJhbSBsaW5lQ29sb3IgLSBUaGUgbGluZSBjb2xvci5cbiAgICogQHJldHVybnMgVGhlIHByZXBhcmVkIFNWRyBzdHJpbmcuXG4gICAqL1xuICBwcmVwYXJlU3ZnKGJnQ29sb3I6IHN0cmluZywgbGluZUNvbG9yOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGxldCBiYXNlU3ZnID0gdGhpcy5iYXNlU3ZnLnJlcGxhY2UoL3ZhclxcKFxcLVxcLWRmXFwtd2F2ZXNcXC1vZlxcLXByb2dyZXNzXFwtYmdcXC1jb2xvclxcKS9nLCBiZ0NvbG9yKTtcbiAgICBiYXNlU3ZnID0gYmFzZVN2Zy5yZXBsYWNlKC92YXJcXChcXC1cXC1kZlxcLXdhdmVzXFwtb2ZcXC1wcm9ncmVzc1xcLWxpbmVcXC1jb2xvclxcKS9nLCBsaW5lQ29sb3IpO1xuICAgIGJhc2VTdmcgPSBiYXNlU3ZnLnJlcGxhY2UoLyMvZywgJyUyMycpO1xuICAgIHJldHVybiBgJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LCR7YmFzZVN2Z30nYDtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBTVkcgYmFja2dyb3VuZCBpbWFnZSBiYXNlZCBvbiB0aGUgY3VycmVudCBlbGVtZW50J3Mgc3R5bGVzLlxuICAgKi9cbiAgcHVibGljIHVwZGF0ZVN2ZygpOiB2b2lkIHtcbiAgICBjb25zdCBjb21wdXRlZFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIGNvbnN0IGJnQ29sb3IgPSBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tZGYtd2F2ZXMtb2YtcHJvZ3Jlc3MtYmctY29sb3InKTtcbiAgICBjb25zdCBsaW5lQ29sb3IgPSBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJy0tZGYtd2F2ZXMtb2YtcHJvZ3Jlc3MtbGluZS1jb2xvcicpO1xuICAgIGlmICghYmdDb2xvciB8fCAhbGluZUNvbG9yKSB7XG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2UgPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2UgPSBgdXJsKCR7dGhpcy5wcmVwYXJlU3ZnKGJnQ29sb3IsIGxpbmVDb2xvcil9KWA7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdmcod2F2ZXNUeXBlOiAnY2lyY2xlRGlhZ29uYWwnIHwgJ2NpcmNsZVVwJyB8ICdhcnJvd1JpZ2h0JyB8ICdhcnJvd1VwJykge1xuICAgIGlmICghdGhpcy5odHRwKSB7XG4gICAgICB0aHJvdyBFcnJvcihcbiAgICAgICAgJ0NvdWxkIG5vdCBmaW5kIEh0dHBDbGllbnQgcHJvdmlkZXIgZm9yIHVzZSB3aXRoIERGIFdhdmVzIG9mIHByb2dyZXNzLiAnICtcbiAgICAgICAgICAnUGxlYXNlIGluY2x1ZGUgdGhlIEh0dHBDbGllbnRNb2R1bGUgZnJvbSBAYW5ndWxhci9jb21tb24vaHR0cCBpbiB5b3VyICcgK1xuICAgICAgICAgICdhcHAgaW1wb3J0cy4nXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCB1cmwgPSBgYXNzZXRzL3dhdmVzX29mX3Byb2dyZXNzLyR7d2F2ZXNUeXBlfS5zdmdgO1xuICAgIHRoaXMuaHR0cC5nZXQodXJsLCB7IHJlc3BvbnNlVHlwZTogJ3RleHQnIH0pLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoc3ZnU3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMuYmFzZVN2ZyA9IHN2Z1N0cmluZy5yZXBsYWNlKC9cXG58XFxyL2csICcnKTtcbiAgICAgICAgdGhpcy51cGRhdGVTdmcoKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICB0aHJvdyBFcnJvcignW0Rlc2lnbiBGYWN0b3J5XSAoV2F2ZXMgb2YgcHJvZ3Jlc3MpOiAnICsgZXJyb3IubWVzc2FnZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { DfWavesOfProgressDirective } from './waves.directive';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class DfWavesOfProgressModule {
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DfWavesOfProgressModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: DfWavesOfProgressModule, imports: [DfWavesOfProgressDirective], exports: [DfWavesOfProgressDirective] }); }
|
|
7
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DfWavesOfProgressModule }); }
|
|
8
|
-
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DfWavesOfProgressModule, decorators: [{
|
|
10
|
-
type: NgModule,
|
|
11
|
-
args: [{
|
|
12
|
-
imports: [DfWavesOfProgressDirective],
|
|
13
|
-
exports: [DfWavesOfProgressDirective]
|
|
14
|
-
}]
|
|
15
|
-
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2F2ZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWZhY3Rvcnkvc3JjL2xpYi9hbmd1bGFyL3dhdmVzLW9mLXByb2dyZXNzL3dhdmVzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQU0vRCxNQUFNLE9BQU8sdUJBQXVCOzhHQUF2Qix1QkFBdUI7K0dBQXZCLHVCQUF1QixZQUh4QiwwQkFBMEIsYUFDMUIsMEJBQTBCOytHQUV6Qix1QkFBdUI7OzJGQUF2Qix1QkFBdUI7a0JBSm5DLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsMEJBQTBCLENBQUM7b0JBQ3JDLE9BQU8sRUFBRSxDQUFDLDBCQUEwQixDQUFDO2lCQUN0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZldhdmVzT2ZQcm9ncmVzc0RpcmVjdGl2ZSB9IGZyb20gJy4vd2F2ZXMuZGlyZWN0aXZlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW0RmV2F2ZXNPZlByb2dyZXNzRGlyZWN0aXZlXSxcbiAgZXhwb3J0czogW0RmV2F2ZXNPZlByb2dyZXNzRGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBEZldhdmVzT2ZQcm9ncmVzc01vZHVsZSB7fVxuIl19
|