@spicainternational/ngx-sds-components 5.13.0-beta.3 → 5.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/public-api.mjs +5 -1
- package/esm2020/src/lib/color-picker/color-picker.component.mjs +11 -27
- package/esm2020/src/lib/date-picker/date-picker.component.mjs +3 -3
- package/esm2020/src/lib/date-picker/date-picker.model.mjs +1 -1
- package/esm2020/src/lib/ellipsis/directives/ellipsis.directive.mjs +51 -0
- package/esm2020/src/lib/ellipsis/ellipsis.module.mjs +26 -0
- package/esm2020/src/lib/ellipsis/public-api.mjs +3 -0
- package/esm2020/src/lib/ellipsis/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +5 -0
- package/esm2020/src/lib/intersection/directives/index.mjs +2 -0
- package/esm2020/src/lib/intersection/directives/intersection.directive.mjs +51 -0
- package/esm2020/src/lib/intersection/intersection.module.mjs +22 -0
- package/esm2020/src/lib/intersection/public-api.mjs +4 -0
- package/esm2020/src/lib/intersection/services/index.mjs +2 -0
- package/esm2020/src/lib/intersection/services/intersection.service.mjs +54 -0
- package/esm2020/src/lib/intersection/spicainternational-ngx-sds-components-src-lib-intersection.mjs +5 -0
- package/esm2020/src/lib/keyboard-shortcut/directives/index.mjs +2 -0
- package/esm2020/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.mjs +56 -0
- package/esm2020/src/lib/keyboard-shortcut/keyboard-shortcut.module.mjs +26 -0
- package/esm2020/src/lib/keyboard-shortcut/public-api.mjs +3 -0
- package/esm2020/src/lib/keyboard-shortcut/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +5 -0
- package/esm2020/src/lib/modal/modal.component.mjs +3 -3
- package/esm2020/src/lib/timer/public-api.mjs +4 -0
- package/esm2020/src/lib/timer/services/index.mjs +2 -0
- package/esm2020/src/lib/timer/services/timer.service.mjs +99 -0
- package/esm2020/src/lib/timer/spicainternational-ngx-sds-components-src-lib-timer.mjs +5 -0
- package/esm2020/src/lib/timer/timer.module.mjs +36 -0
- package/esm2020/src/lib/timer/utils/index.mjs +2 -0
- package/esm2020/src/lib/timer/utils/timer.utils.mjs +97 -0
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +10 -26
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-color-picker.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +2 -2
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +82 -0
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map +1 -0
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-intersection.mjs +129 -0
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-intersection.mjs.map +1 -0
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +87 -0
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs.map +1 -0
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-modal.mjs +2 -2
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-modal.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-timer.mjs +237 -0
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-timer.mjs.map +1 -0
- package/fesm2015/spicainternational-ngx-sds-components.mjs +4 -0
- package/fesm2015/spicainternational-ngx-sds-components.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-color-picker.mjs +10 -26
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-color-picker.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-picker.mjs +2 -2
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-date-picker.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs +81 -0
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-ellipsis.mjs.map +1 -0
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-intersection.mjs +126 -0
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-intersection.mjs.map +1 -0
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs +85 -0
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.mjs.map +1 -0
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-modal.mjs +2 -2
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-modal.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-timer.mjs +235 -0
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-timer.mjs.map +1 -0
- package/fesm2020/spicainternational-ngx-sds-components.mjs +4 -0
- package/fesm2020/spicainternational-ngx-sds-components.mjs.map +1 -1
- package/package.json +33 -1
- package/public-api.d.ts +4 -0
- package/src/lib/color-picker/color-picker.component.d.ts +6 -2
- package/src/lib/date-picker/date-picker.model.d.ts +1 -0
- package/src/lib/ellipsis/directives/ellipsis.directive.d.ts +13 -0
- package/src/lib/ellipsis/ellipsis.module.d.ts +8 -0
- package/src/lib/ellipsis/package.json +10 -0
- package/src/lib/ellipsis/public-api.d.ts +2 -0
- package/src/lib/ellipsis/spicainternational-ngx-sds-components-src-lib-ellipsis.d.ts +5 -0
- package/src/lib/intersection/directives/index.d.ts +1 -0
- package/src/lib/intersection/directives/intersection.directive.d.ts +24 -0
- package/src/lib/intersection/intersection.module.d.ts +8 -0
- package/src/lib/intersection/package.json +10 -0
- package/src/lib/intersection/public-api.d.ts +3 -0
- package/src/lib/intersection/services/index.d.ts +1 -0
- package/src/lib/intersection/services/intersection.service.d.ts +19 -0
- package/src/lib/intersection/spicainternational-ngx-sds-components-src-lib-intersection.d.ts +5 -0
- package/src/lib/keyboard-shortcut/directives/index.d.ts +1 -0
- package/src/lib/keyboard-shortcut/directives/keyboard-shortcut.directive.d.ts +22 -0
- package/src/lib/keyboard-shortcut/keyboard-shortcut.module.d.ts +8 -0
- package/src/lib/keyboard-shortcut/package.json +10 -0
- package/src/lib/keyboard-shortcut/public-api.d.ts +2 -0
- package/src/lib/keyboard-shortcut/spicainternational-ngx-sds-components-src-lib-keyboard-shortcut.d.ts +5 -0
- package/src/lib/modal/modal.component.d.ts +1 -1
- package/src/lib/timer/package.json +10 -0
- package/src/lib/timer/public-api.d.ts +3 -0
- package/src/lib/timer/services/index.d.ts +1 -0
- package/src/lib/timer/services/timer.service.d.ts +78 -0
- package/src/lib/timer/spicainternational-ngx-sds-components-src-lib-timer.d.ts +5 -0
- package/src/lib/timer/timer.module.d.ts +10 -0
- package/src/lib/timer/utils/index.d.ts +1 -0
- package/src/lib/timer/utils/timer.utils.d.ts +61 -0
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject, interval } from 'rxjs';
|
|
3
|
+
import { timeToNextFifteenMinutesInterval, timeToNextFiveMinutesInterval, timeToNextHalfHour, timeToNextHour, timeToNextMinuteInterval, timeToNextSecondInterval, timeToNextTenMinutesInterval } from '../utils';
|
|
4
|
+
import { debounceTime, skip } from 'rxjs/operators';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class TimerService {
|
|
7
|
+
constructor() {
|
|
8
|
+
/**
|
|
9
|
+
* @description
|
|
10
|
+
* Source for fifteen minute interval
|
|
11
|
+
*/
|
|
12
|
+
this._fifteenMinutesInterval = new BehaviorSubject(undefined);
|
|
13
|
+
/**
|
|
14
|
+
* @description
|
|
15
|
+
* Source for five minute interval
|
|
16
|
+
*/
|
|
17
|
+
this._fiveMinutesInterval = new BehaviorSubject(undefined);
|
|
18
|
+
/**
|
|
19
|
+
* @description
|
|
20
|
+
* Source for half hour interval
|
|
21
|
+
*/
|
|
22
|
+
this._fullHourInterval = new BehaviorSubject(undefined);
|
|
23
|
+
/**
|
|
24
|
+
* @description
|
|
25
|
+
* Source for half hour interval
|
|
26
|
+
*/
|
|
27
|
+
this._halfHourInterval = new BehaviorSubject(undefined);
|
|
28
|
+
/**
|
|
29
|
+
* @description
|
|
30
|
+
* Source for minute interval
|
|
31
|
+
*/
|
|
32
|
+
this._minuteInterval = new BehaviorSubject(undefined);
|
|
33
|
+
/**
|
|
34
|
+
* @description
|
|
35
|
+
* Source for secong interval
|
|
36
|
+
*/
|
|
37
|
+
this._secondsInterval = new BehaviorSubject(undefined);
|
|
38
|
+
/**
|
|
39
|
+
* @description
|
|
40
|
+
* Source for ten minutes interval
|
|
41
|
+
*/
|
|
42
|
+
this._tenMinutesInterval = new BehaviorSubject(undefined);
|
|
43
|
+
this._subscriptions = [];
|
|
44
|
+
this.fifteenMinutesInterval$ = this._fifteenMinutesInterval.asObservable().pipe(skip(1));
|
|
45
|
+
this.fiveMinutesInterval$ = this._fiveMinutesInterval.asObservable().pipe(skip(1));
|
|
46
|
+
this.fullHourInterval$ = this._fullHourInterval.asObservable().pipe(skip(1));
|
|
47
|
+
this.halfHourInterval$ = this._halfHourInterval.asObservable().pipe(skip(1));
|
|
48
|
+
this.minuteInterval$ = this._minuteInterval.asObservable().pipe().pipe(skip(1));
|
|
49
|
+
this.secondsInterval$ = this._secondsInterval.asObservable().pipe(skip(1));
|
|
50
|
+
this.tenMinutesInterval$ = this._tenMinutesInterval.asObservable().pipe(skip(1));
|
|
51
|
+
const timeOffsetToFullSecond = timeToNextSecondInterval(new Date().getTime());
|
|
52
|
+
// This observable will invoke each second while app is running
|
|
53
|
+
const ticksSubscription = interval(1000).pipe(debounceTime(timeOffsetToFullSecond)).subscribe(intervalTick => {
|
|
54
|
+
const now = new Date().getTime();
|
|
55
|
+
const timeRemainingToNextMinuteInterval = timeToNextMinuteInterval(now);
|
|
56
|
+
const timeRemaingingToNextFiveMinutesInterval = timeToNextFiveMinutesInterval(now);
|
|
57
|
+
const timeRemainingToNextTenMinutesInterval = timeToNextTenMinutesInterval(now);
|
|
58
|
+
const timeRemainingToNextFifteenMinutesInterval = timeToNextFifteenMinutesInterval(now);
|
|
59
|
+
const timeRemainingToNextFullHour = timeToNextHour(now);
|
|
60
|
+
const timeRemainingToNextHalfHour = timeToNextHalfHour(now);
|
|
61
|
+
this._secondsInterval.next();
|
|
62
|
+
// Check if its minute tick
|
|
63
|
+
if (timeRemainingToNextMinuteInterval > 59) {
|
|
64
|
+
this._minuteInterval.next();
|
|
65
|
+
}
|
|
66
|
+
// Check if its five minute interval tick
|
|
67
|
+
if (timeRemaingingToNextFiveMinutesInterval > 299) {
|
|
68
|
+
this._fiveMinutesInterval.next();
|
|
69
|
+
}
|
|
70
|
+
// Check if its ten minute interval
|
|
71
|
+
if (timeRemainingToNextTenMinutesInterval > 599) {
|
|
72
|
+
this._tenMinutesInterval.next();
|
|
73
|
+
}
|
|
74
|
+
// Check if its fifteen minute interval
|
|
75
|
+
if (timeRemainingToNextFifteenMinutesInterval > 899) {
|
|
76
|
+
this._fifteenMinutesInterval.next();
|
|
77
|
+
}
|
|
78
|
+
// Check if its half hour tick
|
|
79
|
+
if (timeRemainingToNextHalfHour > 1799) {
|
|
80
|
+
this._halfHourInterval.next();
|
|
81
|
+
}
|
|
82
|
+
// Check if its full hour tick
|
|
83
|
+
if (timeRemainingToNextFullHour > 3599) {
|
|
84
|
+
this._fullHourInterval.next();
|
|
85
|
+
}
|
|
86
|
+
// Define any additional intervals that might be needed
|
|
87
|
+
});
|
|
88
|
+
this._subscriptions.push(ticksSubscription);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
TimerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: TimerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
92
|
+
TimerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: TimerService, providedIn: 'root' });
|
|
93
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: TimerService, decorators: [{
|
|
94
|
+
type: Injectable,
|
|
95
|
+
args: [{
|
|
96
|
+
providedIn: 'root'
|
|
97
|
+
}]
|
|
98
|
+
}], ctorParameters: function () { return []; } });
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL3RpbWVyL3NlcnZpY2VzL3RpbWVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUE0QixRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0UsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLDZCQUE2QixFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSx3QkFBd0IsRUFBRSx3QkFBd0IsRUFBRSw0QkFBNEIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNqTixPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUtwRCxNQUFNLE9BQU8sWUFBWTtJQTJGekI7UUFoREk7OztXQUdHO1FBQ0ssNEJBQXVCLEdBQTBCLElBQUksZUFBZSxDQUFPLFNBQVMsQ0FBQyxDQUFBO1FBRTdGOzs7V0FHRztRQUNLLHlCQUFvQixHQUEwQixJQUFJLGVBQWUsQ0FBTyxTQUFTLENBQUMsQ0FBQTtRQUUxRjs7O1dBR0c7UUFDSyxzQkFBaUIsR0FBMEIsSUFBSSxlQUFlLENBQ3RFLFNBQVMsQ0FDUixDQUFDO1FBRUY7OztXQUdHO1FBQ0ssc0JBQWlCLEdBQTBCLElBQUksZUFBZSxDQUN0RSxTQUFTLENBQ1IsQ0FBQztRQUVGOzs7V0FHRztRQUNLLG9CQUFlLEdBQTBCLElBQUksZUFBZSxDQUFPLFNBQVMsQ0FBQyxDQUFBO1FBRXJGOzs7V0FHRztRQUNLLHFCQUFnQixHQUEwQixJQUFJLGVBQWUsQ0FBTyxTQUFTLENBQUMsQ0FBQztRQUV2Rjs7O1dBR0c7UUFDSyx3QkFBbUIsR0FBMEIsSUFBSSxlQUFlLENBQU8sU0FBUyxDQUFDLENBQUE7UUFFakYs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SUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxDQUFDO2FBQ2pDO1lBRUQsOEJBQThCO1lBQzlCLElBQUksMkJBQTJCLEdBQUcsSUFBSSxFQUFFO2dCQUNwQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDakM7WUFFRCx1REFBdUQ7UUFDdkQsQ0FBQyxDQUNKLENBQUM7UUFFRixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2hELENBQUM7O3lHQWhLWSxZQUFZOzZHQUFaLFlBQVksY0FGWCxNQUFNOzJGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgaW50ZXJ2YWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGltZVRvTmV4dEZpZnRlZW5NaW51dGVzSW50ZXJ2YWwsIHRpbWVUb05leHRGaXZlTWludXRlc0ludGVydmFsLCB0aW1lVG9OZXh0SGFsZkhvdXIsIHRpbWVUb05leHRIb3VyLCB0aW1lVG9OZXh0TWludXRlSW50ZXJ2YWwsIHRpbWVUb05leHRTZWNvbmRJbnRlcnZhbCwgdGltZVRvTmV4dFRlbk1pbnV0ZXNJbnRlcnZhbCB9IGZyb20gJy4uL3V0aWxzJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBza2lwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGltZXJTZXJ2aWNlIHtcclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBUaW1lciBlbWl0dGVkIGV2ZXJ5IDE1IG1pbnV0ZXMgKGUuZy4gMDg6MDAsIDA4OjE1LCAwODozMCwgZXRjLilcclxuICAgICAqL1xyXG4gICAgcHVibGljIGZpZnRlZW5NaW51dGVzSW50ZXJ2YWwkOiBPYnNlcnZhYmxlPHZvaWQ+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBUaW1lciBlbWl0dGVkIGV2ZXJ5IDUgbWludXRlcyAoZS5nLiAwODowMCwgMDg6MDUsIDA4OjEwLCBldGMuKVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZml2ZU1pbnV0ZXNJbnRlcnZhbCQ6IE9ic2VydmFibGU8dm9pZD47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFRpbWVyIHRoYXQgaW52b2tlcyBlYWNoIGZ1bGwgaG91clxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZnVsbEhvdXJJbnRlcnZhbCQ6IE9ic2VydmFibGU8dm9pZD47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFRpbWVyIGVtaXR0ZWQgZXZlcnkgMzAgbWludXRlcyBhdCBmdWxsIGFuZCBoYWxmIGhvdXIgKGUuZy4gYXQgMTA6MDAsIDEwOjMwLCAxMTowMCwgZXRjLilcclxuICAgICAqL1xyXG4gICAgcHVibGljIGhhbGZIb3VySW50ZXJ2YWwkOiBPYnNlcnZhYmxlPHZvaWQ+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBUaW1lciBlbWl0dGVkIGV2ZXJ5IG1pbnV0ZSAoZS5nLiAwODowMCwgMDg6MDEsIDA4OjAyLCBldGMuKVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgbWludXRlSW50ZXJ2YWwkOiBPYnNlcnZhYmxlPHZvaWQ+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBUaW1lciBlbWl0dGVkIGV2ZXJ5IHNlY29uZFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgc2Vjb25kc0ludGVydmFsJDogT2JzZXJ2YWJsZTx2b2lkPjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBkZXNjcmlwdGlvblxyXG4gICAgICogVGltZXIgZW1pdHRlZCBldmVyeSAxMCBtaW51dGVzIChlLmcuIDA4OjAwLCAwODoxMCwgMDg6MjAsIGV0Yy4pXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB0ZW5NaW51dGVzSW50ZXJ2YWwkOiBPYnNlcnZhYmxlPHZvaWQ+O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBTb3VyY2UgZm9yIGZpZnRlZW4gbWludXRlIGludGVydmFsXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2ZpZnRlZW5NaW51dGVzSW50ZXJ2YWw6IEJlaGF2aW9yU3ViamVjdDx2b2lkPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8dm9pZD4odW5kZWZpbmVkKVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBTb3VyY2UgZm9yIGZpdmUgbWludXRlIGludGVydmFsXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX2ZpdmVNaW51dGVzSW50ZXJ2YWw6IEJlaGF2aW9yU3ViamVjdDx2b2lkPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8dm9pZD4odW5kZWZpbmVkKVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBTb3VyY2UgZm9yIGhhbGYgaG91ciBpbnRlcnZhbFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9mdWxsSG91ckludGVydmFsOiBCZWhhdmlvclN1YmplY3Q8dm9pZD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHZvaWQ+KFxyXG4gICAgdW5kZWZpbmVkXHJcbiAgICApO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBTb3VyY2UgZm9yIGhhbGYgaG91ciBpbnRlcnZhbFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9oYWxmSG91ckludGVydmFsOiBCZWhhdmlvclN1YmplY3Q8dm9pZD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHZvaWQ+KFxyXG4gICAgdW5kZWZpbmVkXHJcbiAgICApO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBTb3VyY2UgZm9yIG1pbnV0ZSBpbnRlcnZhbFxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9taW51dGVJbnRlcnZhbDogQmVoYXZpb3JTdWJqZWN0PHZvaWQ+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkPih1bmRlZmluZWQpXHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAZGVzY3JpcHRpb25cclxuICAgICAqIFNvdXJjZSBmb3Igc2Vjb25nIGludGVydmFsXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX3NlY29uZHNJbnRlcnZhbDogQmVoYXZpb3JTdWJqZWN0PHZvaWQ+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkPih1bmRlZmluZWQpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGRlc2NyaXB0aW9uXHJcbiAgICAgKiBTb3VyY2UgZm9yIHRlbiBtaW51dGVzIGludGVydmFsXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX3Rlbk1pbnV0ZXNJbnRlcnZhbDogQmVoYXZpb3JTdWJqZWN0PHZvaWQ+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDx2b2lkPih1bmRlZmluZWQpXHJcblxyXG4gICAgcHJpdmF0ZSBfc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbmNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5maWZ0ZWVuTWludXRlc0ludGVydmFsJCA9IHRoaXMuX2ZpZnRlZW5NaW51dGVzSW50ZXJ2YWwuYXNPYnNlcnZhYmxlKCkucGlwZShza2lwKDEpKTtcclxuICAgIHRoaXMuZml2ZU1pbnV0ZXNJbnRlcnZhbCQgPSB0aGlzLl9maXZlTWludXRlc0ludGVydmFsLmFzT2JzZXJ2YWJsZSgpLnBpcGUoc2tpcCgxKSk7XHJcbiAgICB0aGlzLmZ1bGxIb3VySW50ZXJ2YWwkID0gdGhpcy5fZnVsbEhvdXJJbnRlcnZhbC5hc09ic2VydmFibGUoKS5waXBlKHNraXAoMSkpO1xyXG4gICAgdGhpcy5oYWxmSG91ckludGVydmFsJCA9IHRoaXMuX2hhbGZIb3VySW50ZXJ2YWwuYXNPYnNlcnZhYmxlKCkucGlwZShza2lwKDEpKTtcclxuICAgIHRoaXMubWludXRlSW50ZXJ2YWwkID0gdGhpcy5fbWludXRlSW50ZXJ2YWwuYXNPYnNlcnZhYmxlKCkucGlwZSgpLnBpcGUoc2tpcCgxKSk7XHJcbiAgICB0aGlzLnNlY29uZHNJbnRlcnZhbCQgPSB0aGlzLl9zZWNvbmRzSW50ZXJ2YWwuYXNPYnNlcnZhYmxlKCkucGlwZShza2lwKDEpKTtcclxuICAgIHRoaXMudGVuTWludXRlc0ludGVydmFsJCA9IHRoaXMuX3Rlbk1pbnV0ZXNJbnRlcnZhbC5hc09ic2VydmFibGUoKS5waXBlKHNraXAoMSkpO1xyXG5cclxuICAgIGNvbnN0IHRpbWVPZmZzZXRUb0Z1bGxTZWNvbmQgPSB0aW1lVG9OZXh0U2Vjb25kSW50ZXJ2YWwobmV3IERhdGUoKS5nZXRUaW1lKCkpXHJcblxyXG4gICAgLy8gVGhpcyBvYnNlcnZhYmxlIHdpbGwgaW52b2tlIGVhY2ggc2Vjb25kIHdoaWxlIGFwcCBpcyBydW5uaW5nXHJcbiAgICBjb25zdCB0aWNrc1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gaW50ZXJ2YWwoMTAwMCkucGlwZShkZWJvdW5jZVRpbWUodGltZU9mZnNldFRvRnVsbFNlY29uZCkpLnN1YnNjcmliZShcclxuICAgICAgICBpbnRlcnZhbFRpY2sgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcclxuXHJcbiAgICAgICAgY29uc3QgdGltZVJlbWFpbmluZ1RvTmV4dE1pbnV0ZUludGVydmFsID0gdGltZVRvTmV4dE1pbnV0ZUludGVydmFsKG5vdyk7XHJcblxyXG4gICAgICAgIGNvbnN0IHRpbWVSZW1haW5naW5nVG9OZXh0Rml2ZU1pbnV0ZXNJbnRlcnZhbCA9IHRpbWVUb05leHRGaXZlTWludXRlc0ludGVydmFsKG5vdyk7XHJcblxyXG4gICAgICAgIGNvbnN0IHRpbWVSZW1haW5pbmdUb05leHRUZW5NaW51dGVzSW50ZXJ2YWwgPSB0aW1lVG9OZXh0VGVuTWludXRlc0ludGVydmFsKG5vdyk7XHJcblxyXG4gICAgICAgIGNvbnN0IHRpbWVSZW1haW5pbmdUb05leHRGaWZ0ZWVuTWludXRlc0ludGVydmFsID0gdGltZVRvTmV4dEZpZnRlZW5NaW51dGVzSW50ZXJ2YWwobm93KTtcclxuXHJcbiAgICAgICAgY29uc3QgdGltZVJlbWFpbmluZ1RvTmV4dEZ1bGxIb3VyID0gdGltZVRvTmV4dEhvdXIoXHJcbiAgICAgICAgICAgIG5vd1xyXG4gICAgICAgICk7XHJcblxyXG4gICAgICAgIGNvbnN0IHRpbWVSZW1haW5pbmdUb05leHRIYWxmSG91ciA9IHRpbWVUb05leHRIYWxmSG91cihcclxuICAgICAgICAgICAgbm93XHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgdGhpcy5fc2Vjb25kc0ludGVydmFsLm5leHQoKTtcclxuXHJcbiAgICAgICAgLy8gQ2hlY2sgaWYgaXRzIG1pbnV0ZSB0aWNrXHJcbiAgICAgICAgaWYgKHRpbWVSZW1haW5pbmdUb05leHRNaW51dGVJbnRlcnZhbCA+IDU5KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX21pbnV0ZUludGVydmFsLm5leHQoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENoZWNrIGlmIGl0cyBmaXZlIG1pbnV0ZSBpbnRlcnZhbCB0aWNrXHJcbiAgICAgICAgaWYgKHRpbWVSZW1haW5naW5nVG9OZXh0Rml2ZU1pbnV0ZXNJbnRlcnZhbCA+IDI5OSkge1xyXG4gICAgICAgICAgICB0aGlzLl9maXZlTWludXRlc0ludGVydmFsLm5leHQoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENoZWNrIGlmIGl0cyB0ZW4gbWludXRlIGludGVydmFsXHJcbiAgICAgICAgaWYgKHRpbWVSZW1haW5pbmdUb05leHRUZW5NaW51dGVzSW50ZXJ2YWwgPiA1OTkpIHtcclxuICAgICAgICAgICAgdGhpcy5fdGVuTWludXRlc0ludGVydmFsLm5leHQoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENoZWNrIGlmIGl0cyBmaWZ0ZWVuIG1pbnV0ZSBpbnRlcnZhbFxyXG4gICAgICAgIGlmICh0aW1lUmVtYWluaW5nVG9OZXh0RmlmdGVlbk1pbnV0ZXNJbnRlcnZhbCA+IDg5OSkge1xyXG4gICAgICAgICAgICB0aGlzLl9maWZ0ZWVuTWludXRlc0ludGVydmFsLm5leHQoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENoZWNrIGlmIGl0cyBoYWxmIGhvdXIgdGlja1xyXG4gICAgICAgIGlmICh0aW1lUmVtYWluaW5nVG9OZXh0SGFsZkhvdXIgPiAxNzk5KSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2hhbGZIb3VySW50ZXJ2YWwubmV4dCgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQ2hlY2sgaWYgaXRzIGZ1bGwgaG91ciB0aWNrXHJcbiAgICAgICAgaWYgKHRpbWVSZW1haW5pbmdUb05leHRGdWxsSG91ciA+IDM1OTkpIHtcclxuICAgICAgICAgICAgdGhpcy5fZnVsbEhvdXJJbnRlcnZhbC5uZXh0KCk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBEZWZpbmUgYW55IGFkZGl0aW9uYWwgaW50ZXJ2YWxzIHRoYXQgbWlnaHQgYmUgbmVlZGVkXHJcbiAgICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnB1c2godGlja3NTdWJzY3JpcHRpb24pO1xyXG59XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BpY2FpbnRlcm5hdGlvbmFsLW5neC1zZHMtY29tcG9uZW50cy1zcmMtbGliLXRpbWVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvdGltZXIvc3BpY2FpbnRlcm5hdGlvbmFsLW5neC1zZHMtY29tcG9uZW50cy1zcmMtbGliLXRpbWVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { NgModule, Optional, SkipSelf } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { TimerService } from './services';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class SdsTimerModule {
|
|
6
|
+
constructor(parentModule) {
|
|
7
|
+
if (parentModule) {
|
|
8
|
+
throw new Error('TimerModule is already loaded. Import it in the AppModule only');
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
static forRoot() {
|
|
12
|
+
return {
|
|
13
|
+
ngModule: SdsTimerModule,
|
|
14
|
+
providers: [TimerService]
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
SdsTimerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsTimerModule, deps: [{ token: SdsTimerModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
19
|
+
SdsTimerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsTimerModule, imports: [CommonModule] });
|
|
20
|
+
SdsTimerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsTimerModule, imports: [[
|
|
21
|
+
CommonModule
|
|
22
|
+
]] });
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsTimerModule, decorators: [{
|
|
24
|
+
type: NgModule,
|
|
25
|
+
args: [{
|
|
26
|
+
declarations: [],
|
|
27
|
+
imports: [
|
|
28
|
+
CommonModule
|
|
29
|
+
]
|
|
30
|
+
}]
|
|
31
|
+
}], ctorParameters: function () { return [{ type: SdsTimerModule, decorators: [{
|
|
32
|
+
type: Optional
|
|
33
|
+
}, {
|
|
34
|
+
type: SkipSelf
|
|
35
|
+
}] }]; } });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNkcy1jb21wb25lbnRzL3NyYy9saWIvdGltZXIvdGltZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxZQUFZLENBQUM7O0FBUTFDLE1BQU0sT0FBTyxjQUFjO0lBUXZCLFlBQW9DLFlBQTRCO1FBQzVELElBQUksWUFBWSxFQUFFO1lBQ2hCLE1BQU0sSUFBSSxLQUFLLENBQ2IsZ0VBQWdFLENBQ2pFLENBQUM7U0FDSDtJQUNILENBQUM7SUFiSCxNQUFNLENBQUMsT0FBTztRQUNWLE9BQU87WUFDSCxRQUFRLEVBQUUsY0FBYztZQUN4QixTQUFTLEVBQUUsQ0FBQyxZQUFZLENBQUM7U0FDNUIsQ0FBQTtJQUNMLENBQUM7OzJHQU5RLGNBQWMsa0JBUTJCLGNBQWM7NEdBUnZELGNBQWMsWUFIdkIsWUFBWTs0R0FHSCxjQUFjLFlBSmhCO1lBQ1AsWUFBWTtTQUNiOzJGQUVVLGNBQWM7a0JBTjFCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3FCQUNiO2lCQUNGOzBEQVNxRCxjQUFjOzBCQUFuRCxRQUFROzswQkFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIE9wdGlvbmFsLCBTa2lwU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBUaW1lclNlcnZpY2UgfSBmcm9tICcuL3NlcnZpY2VzJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGVcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZHNUaW1lck1vZHVsZSB7XHJcbiAgICBzdGF0aWMgZm9yUm9vdCgpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPFNkc1RpbWVyTW9kdWxlPiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgbmdNb2R1bGU6IFNkc1RpbWVyTW9kdWxlLFxyXG4gICAgICAgICAgICBwcm92aWRlcnM6IFtUaW1lclNlcnZpY2VdXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIHBhcmVudE1vZHVsZTogU2RzVGltZXJNb2R1bGUpIHtcclxuICAgICAgICBpZiAocGFyZW50TW9kdWxlKSB7XHJcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgICAgICdUaW1lck1vZHVsZSBpcyBhbHJlYWR5IGxvYWRlZC4gSW1wb3J0IGl0IGluIHRoZSBBcHBNb2R1bGUgb25seSdcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './timer.utils';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi90aW1lci91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdGltZXIudXRpbHMnXHJcbiJdfQ==
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @public @function timeToNextFifteenMinutesInterval
|
|
3
|
+
* @description
|
|
4
|
+
* Function responsible for calc of time until next fifteen minutes interval. By fifteen minutes interval
|
|
5
|
+
* we mean (e.g. 08:15, 08:30, 08:45,...)
|
|
6
|
+
* @param { number } currentTimestampMs
|
|
7
|
+
* @returns { number }
|
|
8
|
+
*/
|
|
9
|
+
export const timeToNextFifteenMinutesInterval = (currentTimestamp) => {
|
|
10
|
+
const timestampSeconds = currentTimestamp / 1000;
|
|
11
|
+
const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 900;
|
|
12
|
+
const numberOfSecondsToTheNextInterval = 900 - numberOfSecondsIntoTheCurrentInterval;
|
|
13
|
+
return numberOfSecondsToTheNextInterval;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* @public @function timeToNextFiveMinutesInterval
|
|
17
|
+
* @description
|
|
18
|
+
* Function responsible for calc of time until next five minutes interval. By five minutes interval
|
|
19
|
+
* we mean (e.g. 08:05, 08:10, 08:15,...)
|
|
20
|
+
* @param { number } currentTimestampMs
|
|
21
|
+
* @returns { number }
|
|
22
|
+
*/
|
|
23
|
+
export const timeToNextFiveMinutesInterval = (currentTimestamp) => {
|
|
24
|
+
const timestampSeconds = currentTimestamp / 1000;
|
|
25
|
+
const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 300;
|
|
26
|
+
const numberOfSecondsToTheNextInterval = 300 - numberOfSecondsIntoTheCurrentInterval;
|
|
27
|
+
return numberOfSecondsToTheNextInterval;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* @public @function timeToNextHour
|
|
31
|
+
* @description
|
|
32
|
+
* Function responsible for calc of time until next hour
|
|
33
|
+
* @param { number } currentTimestampMs
|
|
34
|
+
* @returns { number }
|
|
35
|
+
*/
|
|
36
|
+
export const timeToNextHour = (currentTimestamp) => {
|
|
37
|
+
const timestampSeconds = currentTimestamp / 1000;
|
|
38
|
+
const numberOfSecondsIntoTheCurrentHour = timestampSeconds % 3600;
|
|
39
|
+
const numberOfSecondsToTheNextHour = 3600 - numberOfSecondsIntoTheCurrentHour;
|
|
40
|
+
return numberOfSecondsToTheNextHour;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* @public @function timeToNextHalfHour
|
|
44
|
+
* @description
|
|
45
|
+
* Function responsible for calc of time until half hour
|
|
46
|
+
* @param { number } currentTimestampMs
|
|
47
|
+
* @returns { number }
|
|
48
|
+
*/
|
|
49
|
+
export const timeToNextHalfHour = (currentTimestamp) => {
|
|
50
|
+
const timestampSeconds = currentTimestamp / 1000;
|
|
51
|
+
const numberOfSecondsIntoTheCurrentHalfHour = timestampSeconds % 1800;
|
|
52
|
+
const numberOfSecondsToTheNextHalfHour = 1800 - numberOfSecondsIntoTheCurrentHalfHour;
|
|
53
|
+
return numberOfSecondsToTheNextHalfHour;
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* @public @function timeToNextMinuteInterval
|
|
57
|
+
* @description
|
|
58
|
+
* Function responsible for calc of time until next minute interval. By minute interval
|
|
59
|
+
* we mean (e.g. 08:00, 08:01, 08:02,...)
|
|
60
|
+
* @param { number } currentTimestampMs
|
|
61
|
+
* @returns { number }
|
|
62
|
+
*/
|
|
63
|
+
export const timeToNextMinuteInterval = (currentTimestamp) => {
|
|
64
|
+
const timestampSeconds = currentTimestamp / 1000;
|
|
65
|
+
const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 60;
|
|
66
|
+
const numberOfSecondsToTheNextInterval = 60 - numberOfSecondsIntoTheCurrentInterval;
|
|
67
|
+
return numberOfSecondsToTheNextInterval;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* @public @function timeToNextSecondInterval
|
|
71
|
+
* @description
|
|
72
|
+
* Function responsible for calc of time until next second interval. By second interval
|
|
73
|
+
* we mean (e.g. 08:00:01, 08:00:01, 08:00:02,...)
|
|
74
|
+
* @param { number } currentTimestampMs
|
|
75
|
+
* @returns { number }
|
|
76
|
+
*/
|
|
77
|
+
export const timeToNextSecondInterval = (currentTimestamp) => {
|
|
78
|
+
const timestampSeconds = currentTimestamp;
|
|
79
|
+
const numberOfMilisecSecondsIntoTheCurrentInterval = timestampSeconds % 999;
|
|
80
|
+
const numberOfMilisecondsSecondsToTheNextInterval = 999 - numberOfMilisecSecondsIntoTheCurrentInterval;
|
|
81
|
+
return numberOfMilisecondsSecondsToTheNextInterval;
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* @public @function timeToNextTenMinutesInterval
|
|
85
|
+
* @description
|
|
86
|
+
* Function responsible for calc of time until next ten minutes interval. By ten minutes interval
|
|
87
|
+
* we mean (e.g. 08:10, 08:20, 08:30,...)
|
|
88
|
+
* @param { number } currentTimestampMs
|
|
89
|
+
* @returns { number }
|
|
90
|
+
*/
|
|
91
|
+
export const timeToNextTenMinutesInterval = (currentTimestamp) => {
|
|
92
|
+
const timestampSeconds = currentTimestamp / 1000;
|
|
93
|
+
const numberOfSecondsIntoTheCurrentInterval = timestampSeconds % 600;
|
|
94
|
+
const numberOfSecondsToTheNextInterval = 600 - numberOfSecondsIntoTheCurrentInterval;
|
|
95
|
+
return numberOfSecondsToTheNextInterval;
|
|
96
|
+
};
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXIudXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc2RzLWNvbXBvbmVudHMvc3JjL2xpYi90aW1lci91dGlscy90aW1lci51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQUcsQ0FBQyxnQkFBd0IsRUFBRSxFQUFFO0lBQ3pFLE1BQU0sZ0JBQWdCLEdBQUcsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO0lBRWpELE1BQU0scUNBQXFDLEdBQUcsZ0JBQWdCLEdBQUcsR0FBRyxDQUFDO0lBRXJFLE1BQU0sZ0NBQWdDLEdBQUcsR0FBRyxHQUFHLHFDQUFxQyxDQUFDO0lBQ3JGLE9BQU8sZ0NBQWdDLENBQUM7QUFDNUMsQ0FBQyxDQUFBO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLENBQUMsZ0JBQXdCLEVBQUUsRUFBRTtJQUN0RSxNQUFNLGdCQUFnQixHQUFHLGdCQUFnQixHQUFHLElBQUksQ0FBQztJQUVqRCxNQUFNLHFDQUFxQyxHQUFHLGdCQUFnQixHQUFHLEdBQUcsQ0FBQztJQUVyRSxNQUFNLGdDQUFnQyxHQUFHLEdBQUcsR0FBRyxxQ0FBcUMsQ0FBQztJQUNyRixPQUFPLGdDQUFnQyxDQUFDO0FBQzVDLENBQUMsQ0FBQTtBQUVEOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLGdCQUF3QixFQUFFLEVBQUU7SUFDdkQsTUFBTSxnQkFBZ0IsR0FBRyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7SUFFakQsTUFBTSxpQ0FBaUMsR0FBRyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7SUFFbEUsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLEdBQUcsaUNBQWlDLENBQUM7SUFDOUUsT0FBTyw0QkFBNEIsQ0FBQztBQUN0QyxDQUFDLENBQUM7QUFFRjs7Ozs7O0dBTUc7QUFDTCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLGdCQUF3QixFQUFFLEVBQUU7SUFDM0QsTUFBTSxnQkFBZ0IsR0FBRyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7SUFFakQsTUFBTSxxQ0FBcUMsR0FBRyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7SUFFdEUsTUFBTSxnQ0FBZ0MsR0FBRyxJQUFJLEdBQUcscUNBQXFDLENBQUM7SUFDdEYsT0FBTyxnQ0FBZ0MsQ0FBQztBQUMxQyxDQUFDLENBQUM7QUFFSjs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxnQkFBd0IsRUFBRSxFQUFFO0lBQ2pFLE1BQU0sZ0JBQWdCLEdBQUcsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO0lBRWpELE1BQU0scUNBQXFDLEdBQUcsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0lBRXBFLE1BQU0sZ0NBQWdDLEdBQUcsRUFBRSxHQUFHLHFDQUFxQyxDQUFDO0lBQ3BGLE9BQU8sZ0NBQWdDLENBQUM7QUFDNUMsQ0FBQyxDQUFBO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQUMsZ0JBQXdCLEVBQUUsRUFBRTtJQUNqRSxNQUFNLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO0lBRTFDLE1BQU0sNENBQTRDLEdBQUcsZ0JBQWdCLEdBQUcsR0FBRyxDQUFDO0lBRTVFLE1BQU0sMkNBQTJDLEdBQUcsR0FBRyxHQUFHLDRDQUE0QyxDQUFDO0lBQ3ZHLE9BQU8sMkNBQTJDLENBQUM7QUFDdkQsQ0FBQyxDQUFBO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLENBQUMsZ0JBQXdCLEVBQUUsRUFBRTtJQUNyRSxNQUFNLGdCQUFnQixHQUFHLGdCQUFnQixHQUFHLElBQUksQ0FBQztJQUVqRCxNQUFNLHFDQUFxQyxHQUFHLGdCQUFnQixHQUFHLEdBQUcsQ0FBQztJQUVyRSxNQUFNLGdDQUFnQyxHQUFHLEdBQUcsR0FBRyxxQ0FBcUMsQ0FBQztJQUNyRixPQUFPLGdDQUFnQyxDQUFDO0FBQzVDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBAcHVibGljIEBmdW5jdGlvbiB0aW1lVG9OZXh0RmlmdGVlbk1pbnV0ZXNJbnRlcnZhbFxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogRnVuY3Rpb24gcmVzcG9uc2libGUgZm9yIGNhbGMgb2YgdGltZSB1bnRpbCBuZXh0IGZpZnRlZW4gbWludXRlcyBpbnRlcnZhbC4gQnkgZmlmdGVlbiBtaW51dGVzIGludGVydmFsXHJcbiAqIHdlIG1lYW4gKGUuZy4gMDg6MTUsIDA4OjMwLCAwODo0NSwuLi4pXHJcbiAqIEBwYXJhbSB7IG51bWJlciB9IGN1cnJlbnRUaW1lc3RhbXBNc1xyXG4gKiBAcmV0dXJucyB7IG51bWJlciB9XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgdGltZVRvTmV4dEZpZnRlZW5NaW51dGVzSW50ZXJ2YWwgPSAoY3VycmVudFRpbWVzdGFtcDogbnVtYmVyKSA9PiB7XHJcbiAgICBjb25zdCB0aW1lc3RhbXBTZWNvbmRzID0gY3VycmVudFRpbWVzdGFtcCAvIDEwMDA7XHJcblxyXG4gICAgY29uc3QgbnVtYmVyT2ZTZWNvbmRzSW50b1RoZUN1cnJlbnRJbnRlcnZhbCA9IHRpbWVzdGFtcFNlY29uZHMgJSA5MDA7XHJcblxyXG4gICAgY29uc3QgbnVtYmVyT2ZTZWNvbmRzVG9UaGVOZXh0SW50ZXJ2YWwgPSA5MDAgLSBudW1iZXJPZlNlY29uZHNJbnRvVGhlQ3VycmVudEludGVydmFsO1xyXG4gICAgcmV0dXJuIG51bWJlck9mU2Vjb25kc1RvVGhlTmV4dEludGVydmFsO1xyXG59XHJcblxyXG4vKipcclxuICogQHB1YmxpYyBAZnVuY3Rpb24gdGltZVRvTmV4dEZpdmVNaW51dGVzSW50ZXJ2YWxcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIEZ1bmN0aW9uIHJlc3BvbnNpYmxlIGZvciBjYWxjIG9mIHRpbWUgdW50aWwgbmV4dCBmaXZlIG1pbnV0ZXMgaW50ZXJ2YWwuIEJ5IGZpdmUgbWludXRlcyBpbnRlcnZhbFxyXG4gKiB3ZSBtZWFuIChlLmcuIDA4OjA1LCAwODoxMCwgMDg6MTUsLi4uKVxyXG4gKiBAcGFyYW0geyBudW1iZXIgfSBjdXJyZW50VGltZXN0YW1wTXNcclxuICogQHJldHVybnMgeyBudW1iZXIgfVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IHRpbWVUb05leHRGaXZlTWludXRlc0ludGVydmFsID0gKGN1cnJlbnRUaW1lc3RhbXA6IG51bWJlcikgPT4ge1xyXG4gICAgY29uc3QgdGltZXN0YW1wU2Vjb25kcyA9IGN1cnJlbnRUaW1lc3RhbXAgLyAxMDAwO1xyXG5cclxuICAgIGNvbnN0IG51bWJlck9mU2Vjb25kc0ludG9UaGVDdXJyZW50SW50ZXJ2YWwgPSB0aW1lc3RhbXBTZWNvbmRzICUgMzAwO1xyXG5cclxuICAgIGNvbnN0IG51bWJlck9mU2Vjb25kc1RvVGhlTmV4dEludGVydmFsID0gMzAwIC0gbnVtYmVyT2ZTZWNvbmRzSW50b1RoZUN1cnJlbnRJbnRlcnZhbDtcclxuICAgIHJldHVybiBudW1iZXJPZlNlY29uZHNUb1RoZU5leHRJbnRlcnZhbDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEBwdWJsaWMgQGZ1bmN0aW9uIHRpbWVUb05leHRIb3VyXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBGdW5jdGlvbiByZXNwb25zaWJsZSBmb3IgY2FsYyBvZiB0aW1lIHVudGlsIG5leHQgaG91clxyXG4gKiBAcGFyYW0geyBudW1iZXIgfSBjdXJyZW50VGltZXN0YW1wTXNcclxuICogQHJldHVybnMgeyBudW1iZXIgfVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IHRpbWVUb05leHRIb3VyID0gKGN1cnJlbnRUaW1lc3RhbXA6IG51bWJlcikgPT4ge1xyXG4gICAgY29uc3QgdGltZXN0YW1wU2Vjb25kcyA9IGN1cnJlbnRUaW1lc3RhbXAgLyAxMDAwO1xyXG5cclxuICAgIGNvbnN0IG51bWJlck9mU2Vjb25kc0ludG9UaGVDdXJyZW50SG91ciA9IHRpbWVzdGFtcFNlY29uZHMgJSAzNjAwO1xyXG5cclxuICAgIGNvbnN0IG51bWJlck9mU2Vjb25kc1RvVGhlTmV4dEhvdXIgPSAzNjAwIC0gbnVtYmVyT2ZTZWNvbmRzSW50b1RoZUN1cnJlbnRIb3VyO1xyXG4gICAgcmV0dXJuIG51bWJlck9mU2Vjb25kc1RvVGhlTmV4dEhvdXI7XHJcbiAgfTtcclxuXHJcbiAgLyoqXHJcbiAgICogQHB1YmxpYyBAZnVuY3Rpb24gdGltZVRvTmV4dEhhbGZIb3VyXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICogRnVuY3Rpb24gcmVzcG9uc2libGUgZm9yIGNhbGMgb2YgdGltZSB1bnRpbCBoYWxmIGhvdXJcclxuICAgKiBAcGFyYW0geyBudW1iZXIgfSBjdXJyZW50VGltZXN0YW1wTXNcclxuICAgKiBAcmV0dXJucyB7IG51bWJlciB9XHJcbiAgICovXHJcbmV4cG9ydCBjb25zdCB0aW1lVG9OZXh0SGFsZkhvdXIgPSAoY3VycmVudFRpbWVzdGFtcDogbnVtYmVyKSA9PiB7XHJcbiAgICBjb25zdCB0aW1lc3RhbXBTZWNvbmRzID0gY3VycmVudFRpbWVzdGFtcCAvIDEwMDA7XHJcblxyXG4gICAgY29uc3QgbnVtYmVyT2ZTZWNvbmRzSW50b1RoZUN1cnJlbnRIYWxmSG91ciA9IHRpbWVzdGFtcFNlY29uZHMgJSAxODAwO1xyXG5cclxuICAgIGNvbnN0IG51bWJlck9mU2Vjb25kc1RvVGhlTmV4dEhhbGZIb3VyID0gMTgwMCAtIG51bWJlck9mU2Vjb25kc0ludG9UaGVDdXJyZW50SGFsZkhvdXI7XHJcbiAgICByZXR1cm4gbnVtYmVyT2ZTZWNvbmRzVG9UaGVOZXh0SGFsZkhvdXI7XHJcbiAgfTtcclxuXHJcbi8qKlxyXG4gKiBAcHVibGljIEBmdW5jdGlvbiB0aW1lVG9OZXh0TWludXRlSW50ZXJ2YWxcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqIEZ1bmN0aW9uIHJlc3BvbnNpYmxlIGZvciBjYWxjIG9mIHRpbWUgdW50aWwgbmV4dCBtaW51dGUgaW50ZXJ2YWwuIEJ5IG1pbnV0ZSBpbnRlcnZhbFxyXG4gKiB3ZSBtZWFuIChlLmcuIDA4OjAwLCAwODowMSwgMDg6MDIsLi4uKVxyXG4gKiBAcGFyYW0geyBudW1iZXIgfSBjdXJyZW50VGltZXN0YW1wTXNcclxuICogQHJldHVybnMgeyBudW1iZXIgfVxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IHRpbWVUb05leHRNaW51dGVJbnRlcnZhbCA9IChjdXJyZW50VGltZXN0YW1wOiBudW1iZXIpID0+IHtcclxuICAgIGNvbnN0IHRpbWVzdGFtcFNlY29uZHMgPSBjdXJyZW50VGltZXN0YW1wIC8gMTAwMDtcclxuXHJcbiAgICBjb25zdCBudW1iZXJPZlNlY29uZHNJbnRvVGhlQ3VycmVudEludGVydmFsID0gdGltZXN0YW1wU2Vjb25kcyAlIDYwO1xyXG5cclxuICAgIGNvbnN0IG51bWJlck9mU2Vjb25kc1RvVGhlTmV4dEludGVydmFsID0gNjAgLSBudW1iZXJPZlNlY29uZHNJbnRvVGhlQ3VycmVudEludGVydmFsO1xyXG4gICAgcmV0dXJuIG51bWJlck9mU2Vjb25kc1RvVGhlTmV4dEludGVydmFsO1xyXG59XHJcblxyXG4vKipcclxuICogQHB1YmxpYyBAZnVuY3Rpb24gdGltZVRvTmV4dFNlY29uZEludGVydmFsXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBGdW5jdGlvbiByZXNwb25zaWJsZSBmb3IgY2FsYyBvZiB0aW1lIHVudGlsIG5leHQgc2Vjb25kIGludGVydmFsLiBCeSBzZWNvbmQgaW50ZXJ2YWxcclxuICogd2UgbWVhbiAoZS5nLiAwODowMDowMSwgMDg6MDA6MDEsIDA4OjAwOjAyLC4uLilcclxuICogQHBhcmFtIHsgbnVtYmVyIH0gY3VycmVudFRpbWVzdGFtcE1zXHJcbiAqIEByZXR1cm5zIHsgbnVtYmVyIH1cclxuICovXHJcbmV4cG9ydCBjb25zdCB0aW1lVG9OZXh0U2Vjb25kSW50ZXJ2YWwgPSAoY3VycmVudFRpbWVzdGFtcDogbnVtYmVyKSA9PiB7XHJcbiAgICBjb25zdCB0aW1lc3RhbXBTZWNvbmRzID0gY3VycmVudFRpbWVzdGFtcDtcclxuXHJcbiAgICBjb25zdCBudW1iZXJPZk1pbGlzZWNTZWNvbmRzSW50b1RoZUN1cnJlbnRJbnRlcnZhbCA9IHRpbWVzdGFtcFNlY29uZHMgJSA5OTk7XHJcblxyXG4gICAgY29uc3QgbnVtYmVyT2ZNaWxpc2Vjb25kc1NlY29uZHNUb1RoZU5leHRJbnRlcnZhbCA9IDk5OSAtIG51bWJlck9mTWlsaXNlY1NlY29uZHNJbnRvVGhlQ3VycmVudEludGVydmFsO1xyXG4gICAgcmV0dXJuIG51bWJlck9mTWlsaXNlY29uZHNTZWNvbmRzVG9UaGVOZXh0SW50ZXJ2YWw7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAcHVibGljIEBmdW5jdGlvbiB0aW1lVG9OZXh0VGVuTWludXRlc0ludGVydmFsXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBGdW5jdGlvbiByZXNwb25zaWJsZSBmb3IgY2FsYyBvZiB0aW1lIHVudGlsIG5leHQgdGVuIG1pbnV0ZXMgaW50ZXJ2YWwuIEJ5IHRlbiBtaW51dGVzIGludGVydmFsXHJcbiAqIHdlIG1lYW4gKGUuZy4gMDg6MTAsIDA4OjIwLCAwODozMCwuLi4pXHJcbiAqIEBwYXJhbSB7IG51bWJlciB9IGN1cnJlbnRUaW1lc3RhbXBNc1xyXG4gKiBAcmV0dXJucyB7IG51bWJlciB9XHJcbiAqL1xyXG5leHBvcnQgY29uc3QgdGltZVRvTmV4dFRlbk1pbnV0ZXNJbnRlcnZhbCA9IChjdXJyZW50VGltZXN0YW1wOiBudW1iZXIpID0+IHtcclxuICAgIGNvbnN0IHRpbWVzdGFtcFNlY29uZHMgPSBjdXJyZW50VGltZXN0YW1wIC8gMTAwMDtcclxuXHJcbiAgICBjb25zdCBudW1iZXJPZlNlY29uZHNJbnRvVGhlQ3VycmVudEludGVydmFsID0gdGltZXN0YW1wU2Vjb25kcyAlIDYwMDtcclxuXHJcbiAgICBjb25zdCBudW1iZXJPZlNlY29uZHNUb1RoZU5leHRJbnRlcnZhbCA9IDYwMCAtIG51bWJlck9mU2Vjb25kc0ludG9UaGVDdXJyZW50SW50ZXJ2YWw7XHJcbiAgICByZXR1cm4gbnVtYmVyT2ZTZWNvbmRzVG9UaGVOZXh0SW50ZXJ2YWw7XHJcbn1cclxuIl19
|
|
@@ -8,16 +8,18 @@ import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
|
|
|
8
8
|
import * as i2 from 'devextreme-angular/ui/popover';
|
|
9
9
|
import { DxPopoverModule } from 'devextreme-angular/ui/popover';
|
|
10
10
|
|
|
11
|
-
// import { library } from '@fortawesome/fontawesome-svg-core';
|
|
12
|
-
// import { faCheck } from '@fortawesome/pro-solid-svg-icons';
|
|
13
11
|
class SdsColorPickerComponent {
|
|
14
12
|
constructor() {
|
|
15
13
|
this.colors = [];
|
|
16
14
|
this.disabled = false;
|
|
17
15
|
this.style = 'inline';
|
|
16
|
+
this.showCaret = true;
|
|
17
|
+
this.shape = 'circle';
|
|
18
18
|
this.showDropdown = false;
|
|
19
19
|
this.checkIcon = faCheck;
|
|
20
20
|
this.gridSize = 1;
|
|
21
|
+
this.circleRadius = '100%';
|
|
22
|
+
this.squareRadius = '10%';
|
|
21
23
|
this.selectedColorChange = new EventEmitter();
|
|
22
24
|
this.elementUUID = `sds-cp-${Math.ceil(Math.random() * 1000000)}`;
|
|
23
25
|
// library.add(faCheck);
|
|
@@ -39,31 +41,9 @@ class SdsColorPickerComponent {
|
|
|
39
41
|
onKeyDown($event) {
|
|
40
42
|
if ($event.key === 'ArrowUp' || $event.key === 'ArrowDown') {
|
|
41
43
|
$event.preventDefault();
|
|
42
|
-
// const modifier = $event.key === 'ArrowUp' ? -this.gridSize : this.gridSize;
|
|
43
|
-
// const color = this.selectedColor || this.defaultColor;
|
|
44
|
-
// if (color) {
|
|
45
|
-
// const colorIndex = this.colors.indexOf(color);
|
|
46
|
-
// let nextColorIndex = (colorIndex + modifier) % this.colors.length;
|
|
47
|
-
// if (nextColorIndex < 0) {
|
|
48
|
-
// nextColorIndex = this.colors.length + modifier;
|
|
49
|
-
// }
|
|
50
|
-
// this.selectedColor = this.colors[nextColorIndex];
|
|
51
|
-
// console.log(nextColorIndex);
|
|
52
|
-
// }
|
|
53
44
|
}
|
|
54
45
|
if ($event.key === 'ArrowLeft' || $event.key === 'ArrowRight') {
|
|
55
46
|
$event.preventDefault();
|
|
56
|
-
// const modifier = $event.key === 'ArrowLeft' ? -1 : 1;
|
|
57
|
-
// const color = this.selectedColor || this.defaultColor;
|
|
58
|
-
// if (color) {
|
|
59
|
-
// const colorIndex = this.colors.indexOf(color);
|
|
60
|
-
// let nextColorIndex = (colorIndex + modifier) % this.colors.length;
|
|
61
|
-
// if (nextColorIndex < 0) {
|
|
62
|
-
// nextColorIndex = this.colors.length + modifier;
|
|
63
|
-
// }
|
|
64
|
-
// this.selectedColor = this.colors[nextColorIndex];
|
|
65
|
-
// console.log(nextColorIndex);
|
|
66
|
-
// }
|
|
67
47
|
}
|
|
68
48
|
}
|
|
69
49
|
toggleDropdown() {
|
|
@@ -71,10 +51,10 @@ class SdsColorPickerComponent {
|
|
|
71
51
|
}
|
|
72
52
|
}
|
|
73
53
|
SdsColorPickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsColorPickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
74
|
-
SdsColorPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: SdsColorPickerComponent, selector: "sds-color-picker", inputs: { colors: "colors", disabled: "disabled", selectedColor: "selectedColor", defaultColor: "defaultColor", style: "style" }, outputs: { selectedColorChange: "selectedColorChange" }, usesOnChanges: true, ngImport: i0, template: "<div\r\n *ngIf=\"style === 'inline'\"\r\n class=\"color-tiles-container-inline\"\r\n>\r\n <div\r\n *ngFor=\"let color of colors\"\r\n [style.background-color]=\"color\"\r\n [style.border-color]=\"color\"\r\n class=\"color-tile\"\r\n [class.selected]=\"selectedColor === color\"\r\n (click)=\"selectColor(color)\"\r\n >\r\n <fa-icon\r\n *ngIf=\"selectedColor === color\"\r\n [icon]=\"['fas', 'check']\"\r\n >\r\n </fa-icon>\r\n </div>\r\n</div>\r\n\r\n\r\n<button\r\n *ngIf=\"style
|
|
54
|
+
SdsColorPickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.1", type: SdsColorPickerComponent, selector: "sds-color-picker", inputs: { colors: "colors", disabled: "disabled", selectedColor: "selectedColor", defaultColor: "defaultColor", style: "style", showCaret: "showCaret", shape: "shape" }, outputs: { selectedColorChange: "selectedColorChange" }, usesOnChanges: true, ngImport: i0, template: "<div\r\n *ngIf=\"style === 'inline'\"\r\n class=\"color-tiles-container-inline\"\r\n [style.--sds-cp-radius]=\"shape === 'square' ? squareRadius : circleRadius\"\r\n>\r\n <div\r\n *ngFor=\"let color of colors\"\r\n [style.background-color]=\"color\"\r\n [style.border-color]=\"color\"\r\n class=\"color-tile\"\r\n [class.selected]=\"selectedColor === color\"\r\n (click)=\"selectColor(color)\"\r\n >\r\n <fa-icon\r\n *ngIf=\"selectedColor === color\"\r\n [icon]=\"['fas', 'check']\"\r\n >\r\n </fa-icon>\r\n </div>\r\n</div>\r\n\r\n\r\n<button\r\n *ngIf=\"style === 'dropdown'\"\r\n [id]=\"elementUUID\"\r\n type=\"button\"\r\n class=\"btn d-flex align-items-center\"\r\n [class.dropdown-toggle]=\"showCaret\"\r\n [style.--sds-cp-radius]=\"shape === 'square' ? squareRadius : circleRadius\"\r\n aria-controls=\"dropdown-basic\"\r\n (click)=\"toggleDropdown()\"\r\n (keydown)=\"onKeyDown($event)\"\r\n>\r\n\r\n <div\r\n class=\"color-tile color-tile-dropdown\"\r\n [style.background-color]=\"selectedColor || defaultColor\"\r\n [class.undefined-color]=\"!(selectedColor || defaultColor)\"\r\n >\r\n </div>\r\n</button>\r\n\r\n<dx-popover\r\n target=\"#{{elementUUID}}\"\r\n position=\"bottom\"\r\n [(visible)]=\"showDropdown\"\r\n>\r\n <div\r\n class=\"color-tiles-container-square\"\r\n [ngStyle]=\"{ 'grid-template-columns': dropdownGridTemplateColumns}\"\r\n [style.--sds-cp-radius]=\"shape === 'square' ? squareRadius : circleRadius\"\r\n >\r\n <div\r\n *ngFor=\"let color of colors\"\r\n [style.background-color]=\"color\"\r\n class=\"color-tile color-tile-popover\"\r\n (click)=\"selectColor(color)\"\r\n >\r\n <fa-icon\r\n *ngIf=\"selectedColor === color || !selectedColor && defaultColor === color\"\r\n [icon]=\"checkIcon\"\r\n >\r\n </fa-icon>\r\n\r\n </div>\r\n </div>\r\n</dx-popover>", styles: [".color-tiles-container-inline{display:flex;gap:.5rem;color:#fff}.color-tiles-container-square{display:grid;grid-gap:1rem;gap:1rem;color:#fff}.color-tile{height:2rem;width:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--sds-cp-radius);cursor:pointer}.color-tile.color-tile-popover:hover{filter:brightness(90%)}.color-tile fa-icon{line-height:1rem}.color-tile.undefined-color{border-color:gray;border-style:solid;border-width:1px}.btn:focus-visible{outline:0;box-shadow:0 0 0 .2rem #3b8fc240}.btn:active{border-color:transparent}\n"], components: [{ type: i1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { type: i2.DxPopoverComponent, selector: "dx-popover", inputs: ["animation", "closeOnOutsideClick", "container", "contentTemplate", "copyRootClassesToWrapper", "deferRendering", "disabled", "elementAttr", "height", "hideEvent", "hideOnOutsideClick", "hideOnParentScroll", "hint", "hoverStateEnabled", "maxHeight", "maxWidth", "minHeight", "minWidth", "position", "rtlEnabled", "shading", "shadingColor", "showCloseButton", "showEvent", "showTitle", "target", "title", "titleTemplate", "toolbarItems", "visible", "width", "wrapperAttr"], outputs: ["onContentReady", "onDisposing", "onHidden", "onHiding", "onInitialized", "onOptionChanged", "onShowing", "onShown", "onTitleRendered", "animationChange", "closeOnOutsideClickChange", "containerChange", "contentTemplateChange", "copyRootClassesToWrapperChange", "deferRenderingChange", "disabledChange", "elementAttrChange", "heightChange", "hideEventChange", "hideOnOutsideClickChange", "hideOnParentScrollChange", "hintChange", "hoverStateEnabledChange", "maxHeightChange", "maxWidthChange", "minHeightChange", "minWidthChange", "positionChange", "rtlEnabledChange", "shadingChange", "shadingColorChange", "showCloseButtonChange", "showEventChange", "showTitleChange", "targetChange", "titleChange", "titleTemplateChange", "toolbarItemsChange", "visibleChange", "widthChange", "wrapperAttrChange"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
75
55
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: SdsColorPickerComponent, decorators: [{
|
|
76
56
|
type: Component,
|
|
77
|
-
args: [{ selector: 'sds-color-picker', template: "<div\r\n *ngIf=\"style === 'inline'\"\r\n class=\"color-tiles-container-inline\"\r\n>\r\n <div\r\n *ngFor=\"let color of colors\"\r\n [style.background-color]=\"color\"\r\n [style.border-color]=\"color\"\r\n class=\"color-tile\"\r\n [class.selected]=\"selectedColor === color\"\r\n (click)=\"selectColor(color)\"\r\n >\r\n <fa-icon\r\n *ngIf=\"selectedColor === color\"\r\n [icon]=\"['fas', 'check']\"\r\n >\r\n </fa-icon>\r\n </div>\r\n</div>\r\n\r\n\r\n<button\r\n *ngIf=\"style
|
|
57
|
+
args: [{ selector: 'sds-color-picker', template: "<div\r\n *ngIf=\"style === 'inline'\"\r\n class=\"color-tiles-container-inline\"\r\n [style.--sds-cp-radius]=\"shape === 'square' ? squareRadius : circleRadius\"\r\n>\r\n <div\r\n *ngFor=\"let color of colors\"\r\n [style.background-color]=\"color\"\r\n [style.border-color]=\"color\"\r\n class=\"color-tile\"\r\n [class.selected]=\"selectedColor === color\"\r\n (click)=\"selectColor(color)\"\r\n >\r\n <fa-icon\r\n *ngIf=\"selectedColor === color\"\r\n [icon]=\"['fas', 'check']\"\r\n >\r\n </fa-icon>\r\n </div>\r\n</div>\r\n\r\n\r\n<button\r\n *ngIf=\"style === 'dropdown'\"\r\n [id]=\"elementUUID\"\r\n type=\"button\"\r\n class=\"btn d-flex align-items-center\"\r\n [class.dropdown-toggle]=\"showCaret\"\r\n [style.--sds-cp-radius]=\"shape === 'square' ? squareRadius : circleRadius\"\r\n aria-controls=\"dropdown-basic\"\r\n (click)=\"toggleDropdown()\"\r\n (keydown)=\"onKeyDown($event)\"\r\n>\r\n\r\n <div\r\n class=\"color-tile color-tile-dropdown\"\r\n [style.background-color]=\"selectedColor || defaultColor\"\r\n [class.undefined-color]=\"!(selectedColor || defaultColor)\"\r\n >\r\n </div>\r\n</button>\r\n\r\n<dx-popover\r\n target=\"#{{elementUUID}}\"\r\n position=\"bottom\"\r\n [(visible)]=\"showDropdown\"\r\n>\r\n <div\r\n class=\"color-tiles-container-square\"\r\n [ngStyle]=\"{ 'grid-template-columns': dropdownGridTemplateColumns}\"\r\n [style.--sds-cp-radius]=\"shape === 'square' ? squareRadius : circleRadius\"\r\n >\r\n <div\r\n *ngFor=\"let color of colors\"\r\n [style.background-color]=\"color\"\r\n class=\"color-tile color-tile-popover\"\r\n (click)=\"selectColor(color)\"\r\n >\r\n <fa-icon\r\n *ngIf=\"selectedColor === color || !selectedColor && defaultColor === color\"\r\n [icon]=\"checkIcon\"\r\n >\r\n </fa-icon>\r\n\r\n </div>\r\n </div>\r\n</dx-popover>", styles: [".color-tiles-container-inline{display:flex;gap:.5rem;color:#fff}.color-tiles-container-square{display:grid;grid-gap:1rem;gap:1rem;color:#fff}.color-tile{height:2rem;width:2rem;display:flex;align-items:center;justify-content:center;border-radius:var(--sds-cp-radius);cursor:pointer}.color-tile.color-tile-popover:hover{filter:brightness(90%)}.color-tile fa-icon{line-height:1rem}.color-tile.undefined-color{border-color:gray;border-style:solid;border-width:1px}.btn:focus-visible{outline:0;box-shadow:0 0 0 .2rem #3b8fc240}.btn:active{border-color:transparent}\n"] }]
|
|
78
58
|
}], ctorParameters: function () { return []; }, propDecorators: { colors: [{
|
|
79
59
|
type: Input
|
|
80
60
|
}], disabled: [{
|
|
@@ -87,6 +67,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImpor
|
|
|
87
67
|
type: Output
|
|
88
68
|
}], style: [{
|
|
89
69
|
type: Input
|
|
70
|
+
}], showCaret: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], shape: [{
|
|
73
|
+
type: Input
|
|
90
74
|
}] } });
|
|
91
75
|
|
|
92
76
|
const components = [SdsColorPickerComponent];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-color-picker.mjs","sources":["../../../projects/ngx-sds-components/src/lib/color-picker/color-picker.component.ts","../../../projects/ngx-sds-components/src/lib/color-picker/color-picker.component.html","../../../projects/ngx-sds-components/src/lib/color-picker/color-picker.module.ts","../../../projects/ngx-sds-components/src/lib/color-picker/spicainternational-ngx-sds-components-src-lib-color-picker.ts"],"sourcesContent":["import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { faCheck } from '@fortawesome/pro-solid-svg-icons';\r\n// import { library } from '@fortawesome/fontawesome-svg-core';\r\n// import { faCheck } from '@fortawesome/pro-solid-svg-icons';\r\n\r\n@Component({\r\n selector: 'sds-color-picker',\r\n templateUrl: './color-picker.component.html',\r\n styleUrls: ['./color-picker.component.scss'],\r\n})\r\nexport class SdsColorPickerComponent implements OnInit, OnChanges {\r\n @Input() colors: Array<string> = [];\r\n @Input() disabled: boolean = false;\r\n @Input() selectedColor?: string;\r\n @Input() defaultColor?: string;\r\n @Output() selectedColorChange: EventEmitter<string>;\r\n @Input() style: 'inline' | 'plain' | 'input' = 'inline'\r\n\r\n // public checkIcon = faCheck;\r\n public dropdownGridTemplateColumns?: string;\r\n public showDropdown = false;\r\n public elementUUID; // = 'sds-cp-' + crypto.randomUUID();\r\n\r\n public checkIcon = faCheck;\r\n\r\n private gridSize = 1;\r\n\r\n constructor() {\r\n this.selectedColorChange = new EventEmitter<string>();\r\n this.elementUUID = `sds-cp-${Math.ceil(Math.random() * 1000000)}`; \r\n\r\n // library.add(faCheck);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['colors']) {\r\n this.gridSize = Math.ceil(Math.sqrt(this.colors.length));\r\n this.dropdownGridTemplateColumns = `repeat(${this.gridSize}, 1fr)`;\r\n }\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n public selectColor(color: string): void {\r\n if (!this.disabled) {\r\n this.selectedColor = color;\r\n this.selectedColorChange.emit(color);\r\n this.showDropdown = false;\r\n }\r\n }\r\n\r\n public onKeyDown($event: KeyboardEvent) {\r\n\r\n if ($event.key === 'ArrowUp' || $event.key === 'ArrowDown') {\r\n $event.preventDefault();\r\n // const modifier = $event.key === 'ArrowUp' ? -this.gridSize : this.gridSize;\r\n // const color = this.selectedColor || this.defaultColor;\r\n // if (color) {\r\n // const colorIndex = this.colors.indexOf(color);\r\n // let nextColorIndex = (colorIndex + modifier) % this.colors.length;\r\n // if (nextColorIndex < 0) {\r\n // nextColorIndex = this.colors.length + modifier;\r\n // }\r\n // this.selectedColor = this.colors[nextColorIndex];\r\n\r\n // console.log(nextColorIndex);\r\n // } \r\n }\r\n\r\n if ($event.key === 'ArrowLeft' || $event.key === 'ArrowRight') {\r\n $event.preventDefault();\r\n // const modifier = $event.key === 'ArrowLeft' ? -1 : 1;\r\n // const color = this.selectedColor || this.defaultColor;\r\n // if (color) {\r\n // const colorIndex = this.colors.indexOf(color);\r\n // let nextColorIndex = (colorIndex + modifier) % this.colors.length;\r\n // if (nextColorIndex < 0) {\r\n // nextColorIndex = this.colors.length + modifier;\r\n // }\r\n // this.selectedColor = this.colors[nextColorIndex];\r\n\r\n // console.log(nextColorIndex);\r\n // } \r\n } \r\n }\r\n\r\n \r\n public toggleDropdown(){\r\n this.showDropdown = !this.showDropdown;\r\n\r\n }\r\n}\r\n","<div\r\n *ngIf=\"style === 'inline'\"\r\n class=\"color-tiles-container-inline\"\r\n>\r\n <div\r\n *ngFor=\"let color of colors\"\r\n [style.background-color]=\"color\"\r\n [style.border-color]=\"color\"\r\n class=\"color-tile\"\r\n [class.selected]=\"selectedColor === color\"\r\n (click)=\"selectColor(color)\"\r\n >\r\n <fa-icon\r\n *ngIf=\"selectedColor === color\"\r\n [icon]=\"['fas', 'check']\"\r\n >\r\n </fa-icon>\r\n </div>\r\n</div>\r\n\r\n\r\n<button\r\n *ngIf=\"style !== 'inline'\"\r\n [id]=\"elementUUID\"\r\n type=\"button\"\r\n class=\"btn d-flex align-items-center\"\r\n \r\n [class.dropdown-toggle]=\"style === 'input'\"\r\n [class.border]=\"style === 'input'\"\r\n \r\n [class.p-1]=\"style == 'plain'\"\r\n [class.rounded-circle]=\"style == 'plain'\"\r\n \r\n aria-controls=\"dropdown-basic\"\r\n (click)=\"toggleDropdown()\"\r\n (keydown)=\"onKeyDown($event)\"\r\n>\r\n\r\n <div\r\n class=\"color-tile color-tile-dropdown\"\r\n [class.color-tile-dropdown]=\"style === 'input'\"\r\n [style.background-color]=\"selectedColor || defaultColor\"\r\n [class.undefined-color]=\"!(selectedColor || defaultColor)\"\r\n >\r\n </div>\r\n <div \r\n *ngIf=\"style === 'input'\"\r\n class=\"caret ms-1\">\r\n </div>\r\n</button>\r\n\r\n<dx-popover\r\n target=\"#{{elementUUID}}\"\r\n position=\"bottom\"\r\n [(visible)]=\"showDropdown\"\r\n>\r\n <div\r\n class=\"color-tiles-container-square\"\r\n [ngStyle]=\"{ 'grid-template-columns': dropdownGridTemplateColumns}\"\r\n >\r\n <div\r\n *ngFor=\"let color of colors\"\r\n [style.background-color]=\"color\"\r\n class=\"color-tile color-tile-popover rounded-circle\"\r\n (click)=\"selectColor(color)\"\r\n >\r\n <fa-icon\r\n *ngIf=\"selectedColor === color || !selectedColor && defaultColor === color\"\r\n [icon]=\"checkIcon\"\r\n >\r\n </fa-icon>\r\n\r\n </div>\r\n </div>\r\n</dx-popover>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdsColorPickerComponent } from './color-picker.component';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { DxPopoverModule } from 'devextreme-angular/ui/popover';\r\n\r\n\r\nconst components = [SdsColorPickerComponent];\r\n@NgModule({\r\n declarations: [\r\n ...components\r\n ],\r\n imports: [\r\n CommonModule,\r\n FontAwesomeModule,\r\n DxPopoverModule,\r\n ],\r\n exports: [\r\n ...components\r\n ]\r\n})\r\nexport class SdsColorPickerModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spicainternational-ngx-sds-components-src-lib-color-picker.mjs","sources":["../../../projects/ngx-sds-components/src/lib/color-picker/color-picker.component.ts","../../../projects/ngx-sds-components/src/lib/color-picker/color-picker.component.html","../../../projects/ngx-sds-components/src/lib/color-picker/color-picker.module.ts","../../../projects/ngx-sds-components/src/lib/color-picker/spicainternational-ngx-sds-components-src-lib-color-picker.ts"],"sourcesContent":["import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { faCheck } from '@fortawesome/pro-solid-svg-icons';\r\n\r\n@Component({\r\n selector: 'sds-color-picker',\r\n templateUrl: './color-picker.component.html',\r\n styleUrls: ['./color-picker.component.scss'],\r\n})\r\nexport class SdsColorPickerComponent implements OnInit, OnChanges {\r\n @Input() colors: Array<string> = [];\r\n @Input() disabled: boolean = false;\r\n @Input() selectedColor?: string;\r\n @Input() defaultColor?: string;\r\n @Output() selectedColorChange: EventEmitter<string>;\r\n @Input() style: 'inline' | 'dropdown' = 'inline'\r\n @Input() showCaret: boolean = true;\r\n @Input() shape: 'circle' | 'square' = 'circle';\r\n\r\n // public checkIcon = faCheck;\r\n public dropdownGridTemplateColumns?: string;\r\n public showDropdown = false;\r\n public elementUUID; // = 'sds-cp-' + crypto.randomUUID();\r\n\r\n public checkIcon = faCheck;\r\n\r\n private gridSize = 1;\r\n\r\n public circleRadius = '100%';\r\n public squareRadius = '10%';\r\n\r\n constructor() {\r\n this.selectedColorChange = new EventEmitter<string>();\r\n this.elementUUID = `sds-cp-${Math.ceil(Math.random() * 1000000)}`; \r\n\r\n // library.add(faCheck);\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['colors']) {\r\n this.gridSize = Math.ceil(Math.sqrt(this.colors.length));\r\n this.dropdownGridTemplateColumns = `repeat(${this.gridSize}, 1fr)`;\r\n }\r\n }\r\n\r\n ngOnInit(): void {}\r\n\r\n public selectColor(color: string): void {\r\n if (!this.disabled) {\r\n this.selectedColor = color;\r\n this.selectedColorChange.emit(color);\r\n this.showDropdown = false;\r\n }\r\n }\r\n\r\n public onKeyDown($event: KeyboardEvent) {\r\n\r\n if ($event.key === 'ArrowUp' || $event.key === 'ArrowDown') {\r\n $event.preventDefault(); \r\n }\r\n\r\n if ($event.key === 'ArrowLeft' || $event.key === 'ArrowRight') {\r\n $event.preventDefault(); \r\n } \r\n }\r\n\r\n \r\n public toggleDropdown(){\r\n this.showDropdown = !this.showDropdown;\r\n\r\n }\r\n}\r\n","<div\r\n *ngIf=\"style === 'inline'\"\r\n class=\"color-tiles-container-inline\"\r\n [style.--sds-cp-radius]=\"shape === 'square' ? squareRadius : circleRadius\"\r\n>\r\n <div\r\n *ngFor=\"let color of colors\"\r\n [style.background-color]=\"color\"\r\n [style.border-color]=\"color\"\r\n class=\"color-tile\"\r\n [class.selected]=\"selectedColor === color\"\r\n (click)=\"selectColor(color)\"\r\n >\r\n <fa-icon\r\n *ngIf=\"selectedColor === color\"\r\n [icon]=\"['fas', 'check']\"\r\n >\r\n </fa-icon>\r\n </div>\r\n</div>\r\n\r\n\r\n<button\r\n *ngIf=\"style === 'dropdown'\"\r\n [id]=\"elementUUID\"\r\n type=\"button\"\r\n class=\"btn d-flex align-items-center\"\r\n [class.dropdown-toggle]=\"showCaret\"\r\n [style.--sds-cp-radius]=\"shape === 'square' ? squareRadius : circleRadius\"\r\n aria-controls=\"dropdown-basic\"\r\n (click)=\"toggleDropdown()\"\r\n (keydown)=\"onKeyDown($event)\"\r\n>\r\n\r\n <div\r\n class=\"color-tile color-tile-dropdown\"\r\n [style.background-color]=\"selectedColor || defaultColor\"\r\n [class.undefined-color]=\"!(selectedColor || defaultColor)\"\r\n >\r\n </div>\r\n</button>\r\n\r\n<dx-popover\r\n target=\"#{{elementUUID}}\"\r\n position=\"bottom\"\r\n [(visible)]=\"showDropdown\"\r\n>\r\n <div\r\n class=\"color-tiles-container-square\"\r\n [ngStyle]=\"{ 'grid-template-columns': dropdownGridTemplateColumns}\"\r\n [style.--sds-cp-radius]=\"shape === 'square' ? squareRadius : circleRadius\"\r\n >\r\n <div\r\n *ngFor=\"let color of colors\"\r\n [style.background-color]=\"color\"\r\n class=\"color-tile color-tile-popover\"\r\n (click)=\"selectColor(color)\"\r\n >\r\n <fa-icon\r\n *ngIf=\"selectedColor === color || !selectedColor && defaultColor === color\"\r\n [icon]=\"checkIcon\"\r\n >\r\n </fa-icon>\r\n\r\n </div>\r\n </div>\r\n</dx-popover>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { SdsColorPickerComponent } from './color-picker.component';\r\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\r\nimport { DxPopoverModule } from 'devextreme-angular/ui/popover';\r\n\r\n\r\nconst components = [SdsColorPickerComponent];\r\n@NgModule({\r\n declarations: [\r\n ...components\r\n ],\r\n imports: [\r\n CommonModule,\r\n FontAwesomeModule,\r\n DxPopoverModule,\r\n ],\r\n exports: [\r\n ...components\r\n ]\r\n})\r\nexport class SdsColorPickerModule { }\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|