@acorex/core 7.1.0 → 7.1.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/config/index.d.ts +5 -5
- package/config/public-api.d.ts +1 -1
- package/config/src/configs.d.ts +9 -9
- package/dateTime/index.d.ts +5 -5
- package/dateTime/public-api.d.ts +5 -5
- package/dateTime/src/datetime.class.d.ts +100 -100
- package/dateTime/src/datetime.module.d.ts +8 -8
- package/dateTime/src/datetime.pipe.d.ts +8 -8
- package/dateTime/src/georgian.calendar.d.ts +20 -20
- package/dateTime/src/jalali.calendar.d.ts +35 -35
- package/esm2022/acorex-core.mjs +4 -4
- package/esm2022/config/acorex-core-config.mjs +4 -4
- package/esm2022/config/public-api.mjs +1 -1
- package/esm2022/config/src/configs.mjs +25 -24
- package/esm2022/dateTime/acorex-core-dateTime.mjs +4 -4
- package/esm2022/dateTime/public-api.mjs +5 -5
- package/esm2022/dateTime/src/datetime.class.mjs +294 -294
- package/esm2022/dateTime/src/datetime.module.mjs +40 -39
- package/esm2022/dateTime/src/datetime.pipe.mjs +27 -26
- package/esm2022/dateTime/src/georgian.calendar.mjs +186 -186
- package/esm2022/dateTime/src/jalali.calendar.mjs +356 -356
- package/esm2022/events/acorex-core-events.mjs +4 -4
- package/esm2022/events/public-api.mjs +1 -1
- package/esm2022/events/src/event.service.mjs +35 -34
- package/esm2022/file/acorex-core-file.mjs +4 -4
- package/esm2022/file/public-api.mjs +4 -4
- package/esm2022/file/src/file-download-ref.class.mjs +12 -12
- package/esm2022/file/src/file-download-result.class.mjs +46 -46
- package/esm2022/file/src/file-upload-ref.class.mjs +12 -12
- package/esm2022/file/src/file.service.mjs +103 -102
- package/esm2022/http/acorex-core-http.mjs +4 -4
- package/esm2022/http/public-api.mjs +5 -5
- package/esm2022/http/src/http-error.class.mjs +1 -1
- package/esm2022/http/src/http-events.interceptor.mjs +2 -2
- package/esm2022/http/src/http-request.class.mjs +1 -1
- package/esm2022/http/src/http-result.class.mjs +24 -24
- package/esm2022/http/src/http.module.mjs +30 -29
- package/esm2022/http/src/http.service.mjs +152 -151
- package/esm2022/image/acorex-core-image.mjs +4 -4
- package/esm2022/image/public-api.mjs +1 -1
- package/esm2022/image/src/image.service.mjs +44 -43
- package/esm2022/pipes/acorex-core-pipes.mjs +4 -4
- package/esm2022/pipes/public-api.mjs +2 -2
- package/esm2022/pipes/src/pipes.module.mjs +20 -19
- package/esm2022/pipes/src/safe.pipe.mjs +32 -31
- package/esm2022/platform/acorex-core-platform.mjs +4 -4
- package/esm2022/platform/public-api.mjs +1 -1
- package/esm2022/platform/src/platform.service.mjs +152 -159
- package/esm2022/public-api.mjs +4 -4
- package/esm2022/translation/acorex-core-translation.mjs +4 -4
- package/esm2022/translation/public-api.mjs +3 -3
- package/esm2022/translation/src/translation.module.mjs +19 -18
- package/esm2022/translation/src/translator.mjs +44 -43
- package/esm2022/translation/src/translator.pipe.mjs +16 -15
- package/esm2022/utils/acorex-core-utils.mjs +4 -4
- package/esm2022/utils/public-api.mjs +5 -5
- package/esm2022/utils/src/color-util.mjs +114 -114
- package/esm2022/utils/src/drawing-util.mjs +29 -29
- package/esm2022/utils/src/html-util.mjs +15 -15
- package/esm2022/utils/src/object-util.mjs +38 -38
- package/esm2022/utils/src/string-util.mjs +18 -18
- package/events/index.d.ts +5 -5
- package/events/public-api.d.ts +1 -1
- package/events/src/event.service.d.ts +9 -9
- package/fesm2022/acorex-core-config.mjs +22 -22
- package/fesm2022/acorex-core-config.mjs.map +1 -1
- package/fesm2022/acorex-core-dateTime.mjs +882 -882
- package/fesm2022/acorex-core-dateTime.mjs.map +1 -1
- package/fesm2022/acorex-core-events.mjs +32 -32
- package/fesm2022/acorex-core-events.mjs.map +1 -1
- package/fesm2022/acorex-core-file.mjs +162 -162
- package/fesm2022/acorex-core-file.mjs.map +1 -1
- package/fesm2022/acorex-core-http.mjs +190 -190
- package/fesm2022/acorex-core-http.mjs.map +1 -1
- package/fesm2022/acorex-core-image.mjs +41 -41
- package/fesm2022/acorex-core-image.mjs.map +1 -1
- package/fesm2022/acorex-core-pipes.mjs +41 -41
- package/fesm2022/acorex-core-pipes.mjs.map +1 -1
- package/fesm2022/acorex-core-platform.mjs +147 -155
- package/fesm2022/acorex-core-platform.mjs.map +1 -1
- package/fesm2022/acorex-core-translation.mjs +63 -63
- package/fesm2022/acorex-core-translation.mjs.map +1 -1
- package/fesm2022/acorex-core-utils.mjs +209 -209
- package/fesm2022/acorex-core.mjs +5 -5
- package/file/index.d.ts +5 -5
- package/file/public-api.d.ts +4 -4
- package/file/src/file-download-ref.class.d.ts +6 -6
- package/file/src/file-download-result.class.d.ts +8 -8
- package/file/src/file-upload-ref.class.d.ts +5 -5
- package/file/src/file.service.d.ts +18 -18
- package/http/index.d.ts +5 -5
- package/http/public-api.d.ts +5 -5
- package/http/src/http-error.class.d.ts +7 -7
- package/http/src/http-events.interceptor.d.ts +10 -10
- package/http/src/http-request.class.d.ts +14 -14
- package/http/src/http-result.class.d.ts +11 -11
- package/http/src/http.module.d.ts +8 -8
- package/http/src/http.service.d.ts +23 -23
- package/image/index.d.ts +5 -5
- package/image/public-api.d.ts +1 -1
- package/image/src/image.service.d.ts +12 -12
- package/index.d.ts +5 -5
- package/package.json +7 -7
- package/pipes/index.d.ts +5 -5
- package/pipes/public-api.d.ts +2 -2
- package/pipes/src/pipes.module.d.ts +8 -8
- package/pipes/src/safe.pipe.d.ts +10 -10
- package/platform/index.d.ts +5 -5
- package/platform/public-api.d.ts +1 -1
- package/platform/src/platform.service.d.ts +26 -26
- package/public-api.d.ts +1 -1
- package/translation/index.d.ts +5 -5
- package/translation/public-api.d.ts +3 -3
- package/translation/src/translation.module.d.ts +7 -7
- package/translation/src/translator.d.ts +11 -11
- package/translation/src/translator.pipe.d.ts +7 -7
- package/utils/index.d.ts +5 -5
- package/utils/public-api.d.ts +5 -5
- package/utils/src/color-util.d.ts +23 -23
- package/utils/src/drawing-util.d.ts +18 -18
- package/utils/src/html-util.d.ts +4 -4
- package/utils/src/object-util.d.ts +4 -4
- package/utils/src/string-util.d.ts +6 -6
@@ -1,43 +1,44 @@
|
|
1
|
-
import { Subject } from 'rxjs';
|
2
|
-
import merge from 'lodash-es/merge';
|
3
|
-
import * as _ from 'lodash';
|
4
|
-
// @dynamic
|
5
|
-
|
6
|
-
static lang = 'en';
|
7
|
-
static dataChangeSubject = new Subject();
|
8
|
-
static _varsRegx = /((\$\{[a-zA-Z_0-9\.]+\})+)/gm;
|
9
|
-
static _varNameRegx = /[a-zA-Z_0-9\.]+/gm;
|
10
|
-
static get onChange() {
|
11
|
-
return AXTranslator.dataChangeSubject.asObservable();
|
12
|
-
}
|
13
|
-
static load(lang, value) {
|
14
|
-
if (typeof value === 'object') {
|
15
|
-
if (!AXTranslator[`__data__${lang}`]) {
|
16
|
-
AXTranslator[`__data__${lang}`] = {};
|
17
|
-
}
|
18
|
-
AXTranslator[`__data__${lang}`] = merge(AXTranslator[`__data__${lang}`], value);
|
19
|
-
}
|
20
|
-
}
|
21
|
-
static use(lang) {
|
22
|
-
AXTranslator.lang = lang;
|
23
|
-
}
|
24
|
-
static get(key, arg1, arg2) {
|
25
|
-
const lang = arg1 && typeof arg1 == 'string' ? arg1 : AXTranslator.lang;
|
26
|
-
const params = arg1 && typeof arg1 == 'object' ? arg1 : arg2;
|
27
|
-
let result = _.get(AXTranslator[`__data__${lang}`], key, key);
|
28
|
-
const vars = typeof (result) == 'string' ? result?.match(this._varsRegx) : [];
|
29
|
-
if (vars?.length) {
|
30
|
-
vars.forEach((v) => {
|
31
|
-
const varKey = v.match(this._varNameRegx)?.length ? v.match(this._varNameRegx)[0] : null;
|
32
|
-
if (varKey) {
|
33
|
-
const p = _.get(params, varKey) || this.get(varKey, lang);
|
34
|
-
if (p) {
|
35
|
-
result = result.replace(v, p);
|
36
|
-
}
|
37
|
-
}
|
38
|
-
});
|
39
|
-
}
|
40
|
-
return typeof (result) == 'string' ? result : JSON.stringify(result);
|
41
|
-
}
|
42
|
-
}
|
43
|
-
|
1
|
+
import { Subject } from 'rxjs';
|
2
|
+
import merge from 'lodash-es/merge';
|
3
|
+
import * as _ from 'lodash';
|
4
|
+
// @dynamic
|
5
|
+
class AXTranslator {
|
6
|
+
static lang = 'en';
|
7
|
+
static dataChangeSubject = new Subject();
|
8
|
+
static _varsRegx = /((\$\{[a-zA-Z_0-9\.]+\})+)/gm;
|
9
|
+
static _varNameRegx = /[a-zA-Z_0-9\.]+/gm;
|
10
|
+
static get onChange() {
|
11
|
+
return AXTranslator.dataChangeSubject.asObservable();
|
12
|
+
}
|
13
|
+
static load(lang, value) {
|
14
|
+
if (typeof value === 'object') {
|
15
|
+
if (!AXTranslator[`__data__${lang}`]) {
|
16
|
+
AXTranslator[`__data__${lang}`] = {};
|
17
|
+
}
|
18
|
+
AXTranslator[`__data__${lang}`] = merge(AXTranslator[`__data__${lang}`], value);
|
19
|
+
}
|
20
|
+
}
|
21
|
+
static use(lang) {
|
22
|
+
AXTranslator.lang = lang;
|
23
|
+
}
|
24
|
+
static get(key, arg1, arg2) {
|
25
|
+
const lang = arg1 && typeof arg1 == 'string' ? arg1 : AXTranslator.lang;
|
26
|
+
const params = arg1 && typeof arg1 == 'object' ? arg1 : arg2;
|
27
|
+
let result = _.get(AXTranslator[`__data__${lang}`], key, key);
|
28
|
+
const vars = typeof (result) == 'string' ? result?.match(this._varsRegx) : [];
|
29
|
+
if (vars?.length) {
|
30
|
+
vars.forEach((v) => {
|
31
|
+
const varKey = v.match(this._varNameRegx)?.length ? v.match(this._varNameRegx)[0] : null;
|
32
|
+
if (varKey) {
|
33
|
+
const p = _.get(params, varKey) || this.get(varKey, lang);
|
34
|
+
if (p) {
|
35
|
+
result = result.replace(v, p);
|
36
|
+
}
|
37
|
+
}
|
38
|
+
});
|
39
|
+
}
|
40
|
+
return typeof (result) == 'string' ? result : JSON.stringify(result);
|
41
|
+
}
|
42
|
+
}
|
43
|
+
export { AXTranslator };
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL3RyYW5zbGF0aW9uL3NyYy90cmFuc2xhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxLQUFLLE1BQU0saUJBQWlCLENBQUM7QUFDcEMsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFFNUIsV0FBVztBQUNYLE1BQWEsWUFBWTtJQUNiLE1BQU0sQ0FBQyxJQUFJLEdBQVcsSUFBSSxDQUFDO0lBQzNCLE1BQU0sQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLE9BQU8sRUFBTyxDQUFDO0lBQzlDLE1BQU0sQ0FBQyxTQUFTLEdBQUcsOEJBQThCLENBQUM7SUFDbEQsTUFBTSxDQUFDLFlBQVksR0FBRyxtQkFBbUIsQ0FBQztJQUdsRCxNQUFNLEtBQUssUUFBUTtRQUNmLE9BQU8sWUFBWSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pELENBQUM7SUFFTSxNQUFNLENBQUMsSUFBSSxDQUFDLElBQVksRUFBRSxLQUFVO1FBQ3ZDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxFQUFFO2dCQUNsQyxZQUFZLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQzthQUN4QztZQUNELFlBQVksQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLFlBQVksQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDbkY7SUFDTCxDQUFDO0lBRU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFZO1FBQzFCLFlBQVksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFTSxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQVcsRUFBRSxJQUFzQixFQUFFLElBQWE7UUFFaEUsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLE9BQU8sSUFBSSxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDO1FBQ3hFLE1BQU0sTUFBTSxHQUFHLElBQUksSUFBSSxPQUFPLElBQUksSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzdELElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDOUQsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM5RSxJQUFJLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBSyxFQUFFLEVBQUU7Z0JBQ25CLE1BQU0sTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDekYsSUFBSSxNQUFNLEVBQUU7b0JBQ1IsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7b0JBQzFELElBQUksQ0FBQyxFQUFFO3dCQUNILE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztxQkFDakM7aUJBQ0o7WUFDTCxDQUFDLENBQUMsQ0FBQTtTQUNMO1FBQ0QsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekUsQ0FBQzs7U0ExQ1EsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IG1lcmdlIGZyb20gJ2xvZGFzaC1lcy9tZXJnZSc7XHJcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcclxuXHJcbi8vIEBkeW5hbWljXHJcbmV4cG9ydCBjbGFzcyBBWFRyYW5zbGF0b3Ige1xyXG4gICAgcHJpdmF0ZSBzdGF0aWMgbGFuZzogc3RyaW5nID0gJ2VuJztcclxuICAgIHByaXZhdGUgc3RhdGljIGRhdGFDaGFuZ2VTdWJqZWN0ID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG4gICAgcHJpdmF0ZSBzdGF0aWMgX3ZhcnNSZWd4ID0gLygoXFwkXFx7W2EtekEtWl8wLTlcXC5dK1xcfSkrKS9nbTtcclxuICAgIHByaXZhdGUgc3RhdGljIF92YXJOYW1lUmVneCA9IC9bYS16QS1aXzAtOVxcLl0rL2dtO1xyXG5cclxuXHJcbiAgICBzdGF0aWMgZ2V0IG9uQ2hhbmdlKCk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICAgICAgcmV0dXJuIEFYVHJhbnNsYXRvci5kYXRhQ2hhbmdlU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIGxvYWQobGFuZzogc3RyaW5nLCB2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcclxuICAgICAgICAgICAgaWYgKCFBWFRyYW5zbGF0b3JbYF9fZGF0YV9fJHtsYW5nfWBdKSB7XHJcbiAgICAgICAgICAgICAgICBBWFRyYW5zbGF0b3JbYF9fZGF0YV9fJHtsYW5nfWBdID0ge307XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQVhUcmFuc2xhdG9yW2BfX2RhdGFfXyR7bGFuZ31gXSA9IG1lcmdlKEFYVHJhbnNsYXRvcltgX19kYXRhX18ke2xhbmd9YF0sIHZhbHVlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyB1c2UobGFuZzogc3RyaW5nKSB7XHJcbiAgICAgICAgQVhUcmFuc2xhdG9yLmxhbmcgPSBsYW5nO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0KGtleTogc3RyaW5nLCBhcmcxPzogb2JqZWN0IHwgc3RyaW5nLCBhcmcyPzogb2JqZWN0KTogc3RyaW5nIHtcclxuXHJcbiAgICAgICAgY29uc3QgbGFuZyA9IGFyZzEgJiYgdHlwZW9mIGFyZzEgPT0gJ3N0cmluZycgPyBhcmcxIDogQVhUcmFuc2xhdG9yLmxhbmc7XHJcbiAgICAgICAgY29uc3QgcGFyYW1zID0gYXJnMSAmJiB0eXBlb2YgYXJnMSA9PSAnb2JqZWN0JyA/IGFyZzEgOiBhcmcyO1xyXG4gICAgICAgIGxldCByZXN1bHQgPSBfLmdldChBWFRyYW5zbGF0b3JbYF9fZGF0YV9fJHtsYW5nfWBdLCBrZXksIGtleSk7XHJcbiAgICAgICAgY29uc3QgdmFycyA9IHR5cGVvZiAocmVzdWx0KSA9PSAnc3RyaW5nJyA/IHJlc3VsdD8ubWF0Y2godGhpcy5fdmFyc1JlZ3gpIDogW107XHJcbiAgICAgICAgaWYgKHZhcnM/Lmxlbmd0aCkge1xyXG4gICAgICAgICAgICB2YXJzLmZvckVhY2goKHY6YW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB2YXJLZXkgPSB2Lm1hdGNoKHRoaXMuX3Zhck5hbWVSZWd4KT8ubGVuZ3RoID8gdi5tYXRjaCh0aGlzLl92YXJOYW1lUmVneClbMF0gOiBudWxsO1xyXG4gICAgICAgICAgICAgICAgaWYgKHZhcktleSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHAgPSBfLmdldChwYXJhbXMsIHZhcktleSkgfHwgdGhpcy5nZXQodmFyS2V5LCBsYW5nKTtcclxuICAgICAgICAgICAgICAgICAgICBpZiAocCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSByZXN1bHQucmVwbGFjZSh2LCBwKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0eXBlb2YgKHJlc3VsdCkgPT0gJ3N0cmluZycgPyByZXN1bHQgOiBKU09OLnN0cmluZ2lmeShyZXN1bHQpO1xyXG4gICAgfVxyXG59Il19
|
@@ -1,15 +1,16 @@
|
|
1
|
-
import { Pipe } from '@angular/core';
|
2
|
-
import { AXTranslator } from './translator';
|
3
|
-
import * as i0 from "@angular/core";
|
4
|
-
|
5
|
-
transform(value, arg1, arg2) {
|
6
|
-
return AXTranslator.get(value, arg1, arg2);
|
7
|
-
}
|
8
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXTranslatorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
9
|
-
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: AXTranslatorPipe, name: "trans" });
|
10
|
-
}
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
1
|
+
import { Pipe } from '@angular/core';
|
2
|
+
import { AXTranslator } from './translator';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
class AXTranslatorPipe {
|
5
|
+
transform(value, arg1, arg2) {
|
6
|
+
return AXTranslator.get(value, arg1, arg2);
|
7
|
+
}
|
8
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXTranslatorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
9
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.0", ngImport: i0, type: AXTranslatorPipe, name: "trans" });
|
10
|
+
}
|
11
|
+
export { AXTranslatorPipe };
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: AXTranslatorPipe, decorators: [{
|
13
|
+
type: Pipe,
|
14
|
+
args: [{ name: 'trans', pure: true }]
|
15
|
+
}] });
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24vc3JjL3RyYW5zbGF0b3IucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUU1QyxNQUNhLGdCQUFnQjtJQUN6QixTQUFTLENBQUMsS0FBYSxFQUFFLElBQXNCLEVBQUUsSUFBYTtRQUMxRCxPQUFPLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvQyxDQUFDO3VHQUhRLGdCQUFnQjtxR0FBaEIsZ0JBQWdCOztTQUFoQixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFENUIsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQVhUcmFuc2xhdG9yIH0gZnJvbSAnLi90cmFuc2xhdG9yJztcclxuXHJcbkBQaXBlKHsgbmFtZTogJ3RyYW5zJywgcHVyZTogdHJ1ZSB9KVxyXG5leHBvcnQgY2xhc3MgQVhUcmFuc2xhdG9yUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgdHJhbnNmb3JtKHZhbHVlOiBzdHJpbmcsIGFyZzE/OiBvYmplY3QgfCBzdHJpbmcsIGFyZzI/OiBvYmplY3QpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiBBWFRyYW5zbGF0b3IuZ2V0KHZhbHVlLCBhcmcxLCBhcmcyKTtcclxuICAgIH1cclxufVxyXG4iXX0=
|
@@ -1,5 +1,5 @@
|
|
1
|
-
/**
|
2
|
-
* Generated bundle index. Do not edit.
|
3
|
-
*/
|
4
|
-
export * from './public-api';
|
1
|
+
/**
|
2
|
+
* Generated bundle index. Do not edit.
|
3
|
+
*/
|
4
|
+
export * from './public-api';
|
5
5
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvcmUtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS91dGlscy9hY29yZXgtY29yZS11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
@@ -1,6 +1,6 @@
|
|
1
|
-
export * from './src/object-util';
|
2
|
-
export * from './src/drawing-util';
|
3
|
-
export * from './src/string-util';
|
4
|
-
export * from './src/color-util';
|
5
|
-
export * from './src/html-util';
|
1
|
+
export * from './src/object-util';
|
2
|
+
export * from './src/drawing-util';
|
3
|
+
export * from './src/string-util';
|
4
|
+
export * from './src/color-util';
|
5
|
+
export * from './src/html-util';
|
6
6
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL3V0aWxzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMvb2JqZWN0LXV0aWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9kcmF3aW5nLXV0aWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9zdHJpbmctdXRpbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2NvbG9yLXV0aWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9odG1sLXV0aWwnOyJdfQ==
|
@@ -1,115 +1,115 @@
|
|
1
|
-
import tinycolor from 'tinycolor2';
|
2
|
-
import tinygradient from 'tinygradient';
|
3
|
-
export class AXColorUtil {
|
4
|
-
static to(color, mode) {
|
5
|
-
const _color = tinycolor(color);
|
6
|
-
switch (mode) {
|
7
|
-
case 'rgba':
|
8
|
-
;
|
9
|
-
return _color.toRgb();
|
10
|
-
case 'hsla':
|
11
|
-
return _color.toHsl();
|
12
|
-
case 'hsva':
|
13
|
-
return _color.toHsv();
|
14
|
-
default:
|
15
|
-
return _color.toHex();
|
16
|
-
}
|
17
|
-
}
|
18
|
-
;
|
19
|
-
static toString(color, mode = null) {
|
20
|
-
const _color = tinycolor(color);
|
21
|
-
switch (mode) {
|
22
|
-
case 'rgba':
|
23
|
-
return _color.toRgbString();
|
24
|
-
case 'hsla':
|
25
|
-
return _color.toHslString();
|
26
|
-
case 'hsva':
|
27
|
-
return _color.toHsvString();
|
28
|
-
case 'hsva':
|
29
|
-
return _color.toHsvString();
|
30
|
-
case 'hex':
|
31
|
-
{
|
32
|
-
const rgba = _color.toRgb();
|
33
|
-
return rgba.a != 1 ? _color.toHex8String() : _color.toHexString();
|
34
|
-
}
|
35
|
-
default:
|
36
|
-
{
|
37
|
-
if (typeof color == 'string') {
|
38
|
-
if (color.toLowerCase().startsWith("#"))
|
39
|
-
return this.toString(color, "hex");
|
40
|
-
else
|
41
|
-
return this.toString(color, "rgba");
|
42
|
-
}
|
43
|
-
else {
|
44
|
-
return this.toString(color, "rgba");
|
45
|
-
}
|
46
|
-
}
|
47
|
-
}
|
48
|
-
}
|
49
|
-
;
|
50
|
-
static isValid(color) {
|
51
|
-
const _color = tinycolor(color);
|
52
|
-
return _color.isValid();
|
53
|
-
}
|
54
|
-
;
|
55
|
-
static mix(baseColor, hex, percentage) {
|
56
|
-
return tinycolor.mix(baseColor, hex, percentage).toString('rgb');
|
57
|
-
}
|
58
|
-
static multiply(color1, color2) {
|
59
|
-
let rgb1 = tinycolor(color1).toRgb();
|
60
|
-
let rgb2 = tinycolor(color2).toRgb();
|
61
|
-
rgb1.b = Math.floor(rgb1.b * rgb2.b / 255);
|
62
|
-
rgb1.g = Math.floor(rgb1.g * rgb2.g / 255);
|
63
|
-
rgb1.r = Math.floor(rgb1.r * rgb2.r / 255);
|
64
|
-
return tinycolor('rgb ' + rgb1.r + ' ' + rgb1.g + ' ' + rgb1.b).toString('rgb');
|
65
|
-
}
|
66
|
-
static contrastToWhite(color) {
|
67
|
-
return tinycolor.readability("#fff", color);
|
68
|
-
}
|
69
|
-
;
|
70
|
-
static lighten(hex, percentage) {
|
71
|
-
return tinycolor(hex).lighten(percentage);
|
72
|
-
}
|
73
|
-
static darken(hex, percentage) {
|
74
|
-
return tinycolor(hex).darken(percentage);
|
75
|
-
}
|
76
|
-
static brighten(hex, percentage) {
|
77
|
-
return tinycolor(hex).brighten(percentage);
|
78
|
-
}
|
79
|
-
static saturate(hex, percentage) {
|
80
|
-
return tinycolor(hex).saturate(percentage);
|
81
|
-
}
|
82
|
-
static desaturate(hex, percentage) {
|
83
|
-
return tinycolor(hex).getLuminance();
|
84
|
-
}
|
85
|
-
static equal(color1, color2) {
|
86
|
-
return tinycolor.equals(color1, color2);
|
87
|
-
}
|
88
|
-
static gradient(values) {
|
89
|
-
return tinygradient([...values]);
|
90
|
-
}
|
91
|
-
static xyToRgb(vX, vY) {
|
92
|
-
vY = vY || 0.00000000001;
|
93
|
-
const Y = 1;
|
94
|
-
const X = (Y / vY) * vX;
|
95
|
-
const Z = (Y / vY) * (1 - vX - vY);
|
96
|
-
// Convert to RGB using Wide RGB D65 conversion.
|
97
|
-
let rgb = [
|
98
|
-
X * 1.656492 - Y * 0.354851 - Z * 0.255038,
|
99
|
-
-X * 0.707196 + Y * 1.655397 + Z * 0.036152,
|
100
|
-
X * 0.051713 - Y * 0.121364 + Z * 1.011530
|
101
|
-
];
|
102
|
-
// Apply reverse gamma correction.
|
103
|
-
rgb = rgb.map(x => x <= 0.0031308 ? 12.92 * x : (1.0 + 0.055) * Math.pow(x, 1.0 / 2.4) - 0.055);
|
104
|
-
// Bring all negative components to zero.
|
105
|
-
rgb = rgb.map(x => Math.max(0, x));
|
106
|
-
// If one component is greater than 1, weight components by that value.
|
107
|
-
const max = Math.max(...rgb);
|
108
|
-
if (max > 1) {
|
109
|
-
rgb = rgb.map(x => x / max);
|
110
|
-
}
|
111
|
-
rgb = rgb.map(x => Math.round(x * 255));
|
112
|
-
return 'rgb(' + rgb.join(',') + ')';
|
113
|
-
}
|
114
|
-
}
|
1
|
+
import tinycolor from 'tinycolor2';
|
2
|
+
import tinygradient from 'tinygradient';
|
3
|
+
export class AXColorUtil {
|
4
|
+
static to(color, mode) {
|
5
|
+
const _color = tinycolor(color);
|
6
|
+
switch (mode) {
|
7
|
+
case 'rgba':
|
8
|
+
;
|
9
|
+
return _color.toRgb();
|
10
|
+
case 'hsla':
|
11
|
+
return _color.toHsl();
|
12
|
+
case 'hsva':
|
13
|
+
return _color.toHsv();
|
14
|
+
default:
|
15
|
+
return _color.toHex();
|
16
|
+
}
|
17
|
+
}
|
18
|
+
;
|
19
|
+
static toString(color, mode = null) {
|
20
|
+
const _color = tinycolor(color);
|
21
|
+
switch (mode) {
|
22
|
+
case 'rgba':
|
23
|
+
return _color.toRgbString();
|
24
|
+
case 'hsla':
|
25
|
+
return _color.toHslString();
|
26
|
+
case 'hsva':
|
27
|
+
return _color.toHsvString();
|
28
|
+
case 'hsva':
|
29
|
+
return _color.toHsvString();
|
30
|
+
case 'hex':
|
31
|
+
{
|
32
|
+
const rgba = _color.toRgb();
|
33
|
+
return rgba.a != 1 ? _color.toHex8String() : _color.toHexString();
|
34
|
+
}
|
35
|
+
default:
|
36
|
+
{
|
37
|
+
if (typeof color == 'string') {
|
38
|
+
if (color.toLowerCase().startsWith("#"))
|
39
|
+
return this.toString(color, "hex");
|
40
|
+
else
|
41
|
+
return this.toString(color, "rgba");
|
42
|
+
}
|
43
|
+
else {
|
44
|
+
return this.toString(color, "rgba");
|
45
|
+
}
|
46
|
+
}
|
47
|
+
}
|
48
|
+
}
|
49
|
+
;
|
50
|
+
static isValid(color) {
|
51
|
+
const _color = tinycolor(color);
|
52
|
+
return _color.isValid();
|
53
|
+
}
|
54
|
+
;
|
55
|
+
static mix(baseColor, hex, percentage) {
|
56
|
+
return tinycolor.mix(baseColor, hex, percentage).toString('rgb');
|
57
|
+
}
|
58
|
+
static multiply(color1, color2) {
|
59
|
+
let rgb1 = tinycolor(color1).toRgb();
|
60
|
+
let rgb2 = tinycolor(color2).toRgb();
|
61
|
+
rgb1.b = Math.floor(rgb1.b * rgb2.b / 255);
|
62
|
+
rgb1.g = Math.floor(rgb1.g * rgb2.g / 255);
|
63
|
+
rgb1.r = Math.floor(rgb1.r * rgb2.r / 255);
|
64
|
+
return tinycolor('rgb ' + rgb1.r + ' ' + rgb1.g + ' ' + rgb1.b).toString('rgb');
|
65
|
+
}
|
66
|
+
static contrastToWhite(color) {
|
67
|
+
return tinycolor.readability("#fff", color);
|
68
|
+
}
|
69
|
+
;
|
70
|
+
static lighten(hex, percentage) {
|
71
|
+
return tinycolor(hex).lighten(percentage);
|
72
|
+
}
|
73
|
+
static darken(hex, percentage) {
|
74
|
+
return tinycolor(hex).darken(percentage);
|
75
|
+
}
|
76
|
+
static brighten(hex, percentage) {
|
77
|
+
return tinycolor(hex).brighten(percentage);
|
78
|
+
}
|
79
|
+
static saturate(hex, percentage) {
|
80
|
+
return tinycolor(hex).saturate(percentage);
|
81
|
+
}
|
82
|
+
static desaturate(hex, percentage) {
|
83
|
+
return tinycolor(hex).getLuminance();
|
84
|
+
}
|
85
|
+
static equal(color1, color2) {
|
86
|
+
return tinycolor.equals(color1, color2);
|
87
|
+
}
|
88
|
+
static gradient(values) {
|
89
|
+
return tinygradient([...values]);
|
90
|
+
}
|
91
|
+
static xyToRgb(vX, vY) {
|
92
|
+
vY = vY || 0.00000000001;
|
93
|
+
const Y = 1;
|
94
|
+
const X = (Y / vY) * vX;
|
95
|
+
const Z = (Y / vY) * (1 - vX - vY);
|
96
|
+
// Convert to RGB using Wide RGB D65 conversion.
|
97
|
+
let rgb = [
|
98
|
+
X * 1.656492 - Y * 0.354851 - Z * 0.255038,
|
99
|
+
-X * 0.707196 + Y * 1.655397 + Z * 0.036152,
|
100
|
+
X * 0.051713 - Y * 0.121364 + Z * 1.011530
|
101
|
+
];
|
102
|
+
// Apply reverse gamma correction.
|
103
|
+
rgb = rgb.map(x => x <= 0.0031308 ? 12.92 * x : (1.0 + 0.055) * Math.pow(x, 1.0 / 2.4) - 0.055);
|
104
|
+
// Bring all negative components to zero.
|
105
|
+
rgb = rgb.map(x => Math.max(0, x));
|
106
|
+
// If one component is greater than 1, weight components by that value.
|
107
|
+
const max = Math.max(...rgb);
|
108
|
+
if (max > 1) {
|
109
|
+
rgb = rgb.map(x => x / max);
|
110
|
+
}
|
111
|
+
rgb = rgb.map(x => Math.round(x * 255));
|
112
|
+
return 'rgb(' + rgb.join(',') + ')';
|
113
|
+
}
|
114
|
+
}
|
115
115
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Fjb3JleC9jb3JlL3V0aWxzL3NyYy9jb2xvci11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sU0FBeUIsTUFBTSxZQUFZLENBQUM7QUFDbkQsT0FBTyxZQUFZLE1BQU0sY0FBYyxDQUFBO0FBSXZDLE1BQU0sT0FBTyxXQUFXO0lBR3BCLE1BQU0sQ0FBQyxFQUFFLENBQUMsS0FBb0IsRUFBRSxJQUFpQjtRQUU3QyxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDL0IsUUFBUSxJQUFJLEVBQUU7WUFDVixLQUFLLE1BQU07Z0JBQUUsQ0FBQztnQkFDVixPQUFPLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMxQixLQUFLLE1BQU07Z0JBQ1AsT0FBTyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDMUIsS0FBSyxNQUFNO2dCQUNQLE9BQU8sTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzFCO2dCQUNJLE9BQU8sTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQzdCO0lBQ0wsQ0FBQztJQUFBLENBQUM7SUFFRixNQUFNLENBQUMsUUFBUSxDQUFDLEtBQW9CLEVBQUUsT0FBb0IsSUFBSTtRQUMxRCxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDL0IsUUFBUSxJQUFJLEVBQUU7WUFDVixLQUFLLE1BQU07Z0JBQ1AsT0FBTyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDaEMsS0FBSyxNQUFNO2dCQUNQLE9BQU8sTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2hDLEtBQUssTUFBTTtnQkFDUCxPQUFPLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNoQyxLQUFLLE1BQU07Z0JBQ1AsT0FBTyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDaEMsS0FBSyxLQUFLO2dCQUNOO29CQUNJLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDNUIsT0FBTyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7aUJBQ3JFO1lBQ0w7Z0JBQ0k7b0JBQ0ksSUFBSSxPQUFPLEtBQUssSUFBSSxRQUFRLEVBQUU7d0JBQzFCLElBQUksS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7NEJBQ25DLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7OzRCQUVuQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO3FCQUMzQzt5QkFDSTt3QkFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO3FCQUN2QztpQkFDSjtTQUNSO0lBQ0wsQ0FBQztJQUFBLENBQUM7SUFFRixNQUFNLENBQUMsT0FBTyxDQUFDLEtBQW9CO1FBQy9CLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUMvQixPQUFPLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBQUEsQ0FBQztJQUVGLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBd0IsRUFBRSxHQUFrQixFQUFFLFVBQWtCO1FBQ3ZFLE9BQU8sU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFxQixFQUFFLE1BQXFCO1FBQ3hELElBQUksSUFBSSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNyQyxJQUFJLElBQUksR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDM0MsT0FBTyxTQUFTLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEYsQ0FBQztJQUVELE1BQU0sQ0FBQyxlQUFlLENBQUMsS0FBb0I7UUFDdkMsT0FBTyxTQUFTLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBQUEsQ0FBQztJQUVGLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBa0IsRUFBRSxVQUFtQjtRQUNsRCxPQUFPLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDN0MsQ0FBQztJQUVELE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBa0IsRUFBRSxVQUFtQjtRQUNqRCxPQUFPLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDNUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBa0IsRUFBRSxVQUFtQjtRQUNuRCxPQUFPLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDOUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBa0IsRUFBRSxVQUFtQjtRQUNuRCxPQUFPLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDOUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBa0IsRUFBRSxVQUFtQjtRQUNyRCxPQUFPLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxZQUFZLEVBQUUsQ0FBQTtJQUN4QyxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFxQixFQUFFLE1BQXFCO1FBQ3JELE9BQU8sU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBNkM7UUFDekQsT0FBTyxZQUFZLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUE7SUFDcEMsQ0FBQztJQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUU7UUFDakIsRUFBRSxHQUFHLEVBQUUsSUFBSSxhQUFhLENBQUM7UUFDekIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ1osTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3hCLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUVuQyxnREFBZ0Q7UUFDaEQsSUFBSSxHQUFHLEdBQUc7WUFDTixDQUFDLEdBQUcsUUFBUSxHQUFHLENBQUMsR0FBRyxRQUFRLEdBQUcsQ0FBQyxHQUFHLFFBQVE7WUFDMUMsQ0FBQyxDQUFDLEdBQUcsUUFBUSxHQUFHLENBQUMsR0FBRyxRQUFRLEdBQUcsQ0FBQyxHQUFHLFFBQVE7WUFDM0MsQ0FBQyxHQUFHLFFBQVEsR0FBRyxDQUFDLEdBQUcsUUFBUSxHQUFHLENBQUMsR0FBRyxRQUFRO1NBQzdDLENBQUM7UUFFRixrQ0FBa0M7UUFDbEMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDZCxDQUFDLElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUM5RSxDQUFDO1FBRUYseUNBQXlDO1FBQ3pDLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVuQyx1RUFBdUU7UUFDdkUsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLElBQUksR0FBRyxHQUFHLENBQUMsRUFBRTtZQUNULEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1NBQy9CO1FBRUQsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRXhDLE9BQU8sTUFBTSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQ3hDLENBQUM7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEFYQ29sb3JNb2RlID0gJ3JnYmEnIHwgJ2hleCcgfCAnaHNsYScgfCAnaHN2YSc7XHJcblxyXG5pbXBvcnQgdGlueWNvbG9yLCB7IENvbG9ySW5wdXQgfSBmcm9tICd0aW55Y29sb3IyJztcclxuaW1wb3J0IHRpbnlncmFkaWVudCBmcm9tICd0aW55Z3JhZGllbnQnXHJcblxyXG5leHBvcnQgdHlwZSBBWENvbG9yRm9ybWF0ID0gQ29sb3JJbnB1dDtcclxuXHJcbmV4cG9ydCBjbGFzcyBBWENvbG9yVXRpbCB7XHJcblxyXG5cclxuICAgIHN0YXRpYyB0byhjb2xvcjogQVhDb2xvckZvcm1hdCwgbW9kZTogQVhDb2xvck1vZGUpOiBBWENvbG9yRm9ybWF0IHtcclxuXHJcbiAgICAgICAgY29uc3QgX2NvbG9yID0gdGlueWNvbG9yKGNvbG9yKVxyXG4gICAgICAgIHN3aXRjaCAobW9kZSkge1xyXG4gICAgICAgICAgICBjYXNlICdyZ2JhJzogO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9jb2xvci50b1JnYigpO1xyXG4gICAgICAgICAgICBjYXNlICdoc2xhJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiBfY29sb3IudG9Ic2woKTtcclxuICAgICAgICAgICAgY2FzZSAnaHN2YSc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbG9yLnRvSHN2KCk7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbG9yLnRvSGV4KCk7XHJcbiAgICAgICAgfVxyXG4gICAgfTtcclxuXHJcbiAgICBzdGF0aWMgdG9TdHJpbmcoY29sb3I6IEFYQ29sb3JGb3JtYXQsIG1vZGU6IEFYQ29sb3JNb2RlID0gbnVsbCk6IHN0cmluZyB7XHJcbiAgICAgICAgY29uc3QgX2NvbG9yID0gdGlueWNvbG9yKGNvbG9yKVxyXG4gICAgICAgIHN3aXRjaCAobW9kZSkge1xyXG4gICAgICAgICAgICBjYXNlICdyZ2JhJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiBfY29sb3IudG9SZ2JTdHJpbmcoKTtcclxuICAgICAgICAgICAgY2FzZSAnaHNsYSc6XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbG9yLnRvSHNsU3RyaW5nKCk7XHJcbiAgICAgICAgICAgIGNhc2UgJ2hzdmEnOlxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIF9jb2xvci50b0hzdlN0cmluZygpO1xyXG4gICAgICAgICAgICBjYXNlICdoc3ZhJzpcclxuICAgICAgICAgICAgICAgIHJldHVybiBfY29sb3IudG9Ic3ZTdHJpbmcoKTtcclxuICAgICAgICAgICAgY2FzZSAnaGV4JzpcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCByZ2JhID0gX2NvbG9yLnRvUmdiKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJnYmEuYSAhPSAxID8gX2NvbG9yLnRvSGV4OFN0cmluZygpIDogX2NvbG9yLnRvSGV4U3RyaW5nKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjb2xvciA9PSAnc3RyaW5nJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoY29sb3IudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKFwiI1wiKSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnRvU3RyaW5nKGNvbG9yLCBcImhleFwiKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudG9TdHJpbmcoY29sb3IsIFwicmdiYVwiKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnRvU3RyaW5nKGNvbG9yLCBcInJnYmFcIik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgc3RhdGljIGlzVmFsaWQoY29sb3I6IEFYQ29sb3JGb3JtYXQpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBfY29sb3IgPSB0aW55Y29sb3IoY29sb3IpXHJcbiAgICAgICAgcmV0dXJuIF9jb2xvci5pc1ZhbGlkKCk7XHJcbiAgICB9O1xyXG5cclxuICAgIHN0YXRpYyBtaXgoYmFzZUNvbG9yOiBBWENvbG9yRm9ybWF0LCBoZXg6IEFYQ29sb3JGb3JtYXQsIHBlcmNlbnRhZ2U6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRpbnljb2xvci5taXgoYmFzZUNvbG9yLCBoZXgsIHBlcmNlbnRhZ2UpLnRvU3RyaW5nKCdyZ2InKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgbXVsdGlwbHkoY29sb3IxOiBBWENvbG9yRm9ybWF0LCBjb2xvcjI6IEFYQ29sb3JGb3JtYXQpOiBzdHJpbmcge1xyXG4gICAgICAgIGxldCByZ2IxID0gdGlueWNvbG9yKGNvbG9yMSkudG9SZ2IoKTtcclxuICAgICAgICBsZXQgcmdiMiA9IHRpbnljb2xvcihjb2xvcjIpLnRvUmdiKCk7XHJcbiAgICAgICAgcmdiMS5iID0gTWF0aC5mbG9vcihyZ2IxLmIgKiByZ2IyLmIgLyAyNTUpO1xyXG4gICAgICAgIHJnYjEuZyA9IE1hdGguZmxvb3IocmdiMS5nICogcmdiMi5nIC8gMjU1KTtcclxuICAgICAgICByZ2IxLnIgPSBNYXRoLmZsb29yKHJnYjEuciAqIHJnYjIuciAvIDI1NSk7XHJcbiAgICAgICAgcmV0dXJuIHRpbnljb2xvcigncmdiICcgKyByZ2IxLnIgKyAnICcgKyByZ2IxLmcgKyAnICcgKyByZ2IxLmIpLnRvU3RyaW5nKCdyZ2InKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgY29udHJhc3RUb1doaXRlKGNvbG9yOiBBWENvbG9yRm9ybWF0KTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gdGlueWNvbG9yLnJlYWRhYmlsaXR5KFwiI2ZmZlwiLCBjb2xvcik7XHJcbiAgICB9O1xyXG5cclxuICAgIHN0YXRpYyBsaWdodGVuKGhleDogQVhDb2xvckZvcm1hdCwgcGVyY2VudGFnZT86IG51bWJlcikge1xyXG4gICAgICAgIHJldHVybiB0aW55Y29sb3IoaGV4KS5saWdodGVuKHBlcmNlbnRhZ2UpXHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGRhcmtlbihoZXg6IEFYQ29sb3JGb3JtYXQsIHBlcmNlbnRhZ2U/OiBudW1iZXIpIHtcclxuICAgICAgICByZXR1cm4gdGlueWNvbG9yKGhleCkuZGFya2VuKHBlcmNlbnRhZ2UpXHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGJyaWdodGVuKGhleDogQVhDb2xvckZvcm1hdCwgcGVyY2VudGFnZT86IG51bWJlcikge1xyXG4gICAgICAgIHJldHVybiB0aW55Y29sb3IoaGV4KS5icmlnaHRlbihwZXJjZW50YWdlKVxyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBzYXR1cmF0ZShoZXg6IEFYQ29sb3JGb3JtYXQsIHBlcmNlbnRhZ2U/OiBudW1iZXIpIHtcclxuICAgICAgICByZXR1cm4gdGlueWNvbG9yKGhleCkuc2F0dXJhdGUocGVyY2VudGFnZSlcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZGVzYXR1cmF0ZShoZXg6IEFYQ29sb3JGb3JtYXQsIHBlcmNlbnRhZ2U/OiBudW1iZXIpIHtcclxuICAgICAgICByZXR1cm4gdGlueWNvbG9yKGhleCkuZ2V0THVtaW5hbmNlKClcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgZXF1YWwoY29sb3IxOiBBWENvbG9yRm9ybWF0LCBjb2xvcjI6IEFYQ29sb3JGb3JtYXQpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGlueWNvbG9yLmVxdWFscyhjb2xvcjEsIGNvbG9yMik7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGdyYWRpZW50KHZhbHVlczogYW55W10gfCB7IGNvbG9yOiBhbnksIHBvczogbnVtYmVyIH1bXSk6IHRpbnlncmFkaWVudC5JbnN0YW5jZSB7XHJcbiAgICAgICAgcmV0dXJuIHRpbnlncmFkaWVudChbLi4udmFsdWVzXSlcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgeHlUb1JnYih2WCwgdlkpOiBzdHJpbmcge1xyXG4gICAgICAgIHZZID0gdlkgfHwgMC4wMDAwMDAwMDAwMTtcclxuICAgICAgICBjb25zdCBZID0gMTtcclxuICAgICAgICBjb25zdCBYID0gKFkgLyB2WSkgKiB2WDtcclxuICAgICAgICBjb25zdCBaID0gKFkgLyB2WSkgKiAoMSAtIHZYIC0gdlkpO1xyXG5cclxuICAgICAgICAvLyBDb252ZXJ0IHRvIFJHQiB1c2luZyBXaWRlIFJHQiBENjUgY29udmVyc2lvbi5cclxuICAgICAgICBsZXQgcmdiID0gW1xyXG4gICAgICAgICAgICBYICogMS42NTY0OTIgLSBZICogMC4zNTQ4NTEgLSBaICogMC4yNTUwMzgsXHJcbiAgICAgICAgICAgIC1YICogMC43MDcxOTYgKyBZICogMS42NTUzOTcgKyBaICogMC4wMzYxNTIsXHJcbiAgICAgICAgICAgIFggKiAwLjA1MTcxMyAtIFkgKiAwLjEyMTM2NCArIFogKiAxLjAxMTUzMFxyXG4gICAgICAgIF07XHJcblxyXG4gICAgICAgIC8vIEFwcGx5IHJldmVyc2UgZ2FtbWEgY29ycmVjdGlvbi5cclxuICAgICAgICByZ2IgPSByZ2IubWFwKHggPT5cclxuICAgICAgICAgICAgeCA8PSAwLjAwMzEzMDggPyAxMi45MiAqIHggOiAoMS4wICsgMC4wNTUpICogTWF0aC5wb3coeCwgMS4wIC8gMi40KSAtIDAuMDU1XHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgLy8gQnJpbmcgYWxsIG5lZ2F0aXZlIGNvbXBvbmVudHMgdG8gemVyby5cclxuICAgICAgICByZ2IgPSByZ2IubWFwKHggPT4gTWF0aC5tYXgoMCwgeCkpO1xyXG5cclxuICAgICAgICAvLyBJZiBvbmUgY29tcG9uZW50IGlzIGdyZWF0ZXIgdGhhbiAxLCB3ZWlnaHQgY29tcG9uZW50cyBieSB0aGF0IHZhbHVlLlxyXG4gICAgICAgIGNvbnN0IG1heCA9IE1hdGgubWF4KC4uLnJnYik7XHJcbiAgICAgICAgaWYgKG1heCA+IDEpIHtcclxuICAgICAgICAgICAgcmdiID0gcmdiLm1hcCh4ID0+IHggLyBtYXgpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmdiID0gcmdiLm1hcCh4ID0+IE1hdGgucm91bmQoeCAqIDI1NSkpO1xyXG5cclxuICAgICAgICByZXR1cm4gJ3JnYignICsgcmdiLmpvaW4oJywnKSArICcpJztcclxuICAgIH1cclxuXHJcbn0iXX0=
|
@@ -1,30 +1,30 @@
|
|
1
|
-
// @dynamic
|
2
|
-
export class AXDrawingUtil {
|
3
|
-
static collision(a, b) {
|
4
|
-
const ac = a.getBoundingClientRect();
|
5
|
-
const bc = b.getBoundingClientRect();
|
6
|
-
if (ac.left < bc.left + bc.width && ac.left + ac.width > bc.left &&
|
7
|
-
ac.top < bc.top + bc.height && ac.top + ac.height > bc.top) {
|
8
|
-
return true;
|
9
|
-
}
|
10
|
-
else {
|
11
|
-
return false;
|
12
|
-
}
|
13
|
-
}
|
14
|
-
static isInElementBound(pos, element) {
|
15
|
-
const elBound = element.getBoundingClientRect();
|
16
|
-
return AXDrawingUtil.isInRecPoint(pos, {
|
17
|
-
left: elBound.x,
|
18
|
-
width: elBound.width,
|
19
|
-
top: elBound.y,
|
20
|
-
height: elBound.height
|
21
|
-
});
|
22
|
-
}
|
23
|
-
static isInRecPoint(pos, rec) {
|
24
|
-
return pos.x >= rec.left && pos.x <= (rec.left + rec.width) && pos.y >= rec.top && (pos.y <= (rec.top + rec.height));
|
25
|
-
}
|
26
|
-
static convertRemToPixels(rem) {
|
27
|
-
return rem * parseFloat(getComputedStyle(document.documentElement).fontSize);
|
28
|
-
}
|
29
|
-
}
|
1
|
+
// @dynamic
|
2
|
+
export class AXDrawingUtil {
|
3
|
+
static collision(a, b) {
|
4
|
+
const ac = a.getBoundingClientRect();
|
5
|
+
const bc = b.getBoundingClientRect();
|
6
|
+
if (ac.left < bc.left + bc.width && ac.left + ac.width > bc.left &&
|
7
|
+
ac.top < bc.top + bc.height && ac.top + ac.height > bc.top) {
|
8
|
+
return true;
|
9
|
+
}
|
10
|
+
else {
|
11
|
+
return false;
|
12
|
+
}
|
13
|
+
}
|
14
|
+
static isInElementBound(pos, element) {
|
15
|
+
const elBound = element.getBoundingClientRect();
|
16
|
+
return AXDrawingUtil.isInRecPoint(pos, {
|
17
|
+
left: elBound.x,
|
18
|
+
width: elBound.width,
|
19
|
+
top: elBound.y,
|
20
|
+
height: elBound.height
|
21
|
+
});
|
22
|
+
}
|
23
|
+
static isInRecPoint(pos, rec) {
|
24
|
+
return pos.x >= rec.left && pos.x <= (rec.left + rec.width) && pos.y >= rec.top && (pos.y <= (rec.top + rec.height));
|
25
|
+
}
|
26
|
+
static convertRemToPixels(rem) {
|
27
|
+
return rem * parseFloat(getComputedStyle(document.documentElement).fontSize);
|
28
|
+
}
|
29
|
+
}
|
30
30
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2luZy11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvdXRpbHMvc3JjL2RyYXdpbmctdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFhQSxXQUFXO0FBQ1gsTUFBTSxPQUFPLGFBQWE7SUFDdEIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFjLEVBQUUsQ0FBYztRQUMzQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNyQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUVyQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsSUFBSTtZQUM1RCxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRTtZQUM1RCxPQUFPLElBQUksQ0FBQztTQUNmO2FBQ0k7WUFDRCxPQUFPLEtBQUssQ0FBQztTQUNoQjtJQUNMLENBQUM7SUFFRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsR0FBWSxFQUFFLE9BQW9CO1FBQ3RELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ2hELE9BQU8sYUFBYSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUU7WUFDbkMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ2YsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1lBQ3BCLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNkLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtTQUN6QixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFZLEVBQUUsR0FBK0I7UUFDN0QsT0FBTyxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3pILENBQUM7SUFFRCxNQUFNLENBQUMsa0JBQWtCLENBQUMsR0FBVztRQUNqQyxPQUFPLEdBQUcsR0FBRyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pGLENBQUM7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQVhQb2ludCB7XHJcbiAgICB4OiBudW1iZXI7XHJcbiAgICB5OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQVhCb3VuZGluZ0NsaWVudFJlY3Qge1xyXG4gICAgbGVmdD86IG51bWJlcjtcclxuICAgIHRvcD86IG51bWJlcjtcclxuICAgIHdpZHRoPzogbnVtYmVyO1xyXG4gICAgaGVpZ2h0PzogbnVtYmVyO1xyXG4gICAgYm90dG9tPzogbnVtYmVyO1xyXG4gICAgcmlnaHQ/OiBudW1iZXI7XHJcbn1cclxuLy8gQGR5bmFtaWNcclxuZXhwb3J0IGNsYXNzIEFYRHJhd2luZ1V0aWwge1xyXG4gICAgc3RhdGljIGNvbGxpc2lvbihhOiBIVE1MRWxlbWVudCwgYjogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBhYyA9IGEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICAgICAgY29uc3QgYmMgPSBiLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG5cclxuICAgICAgICBpZiAoYWMubGVmdCA8IGJjLmxlZnQgKyBiYy53aWR0aCAmJiBhYy5sZWZ0ICsgYWMud2lkdGggPiBiYy5sZWZ0ICYmXHJcbiAgICAgICAgICAgIGFjLnRvcCA8IGJjLnRvcCArIGJjLmhlaWdodCAmJiBhYy50b3AgKyBhYy5oZWlnaHQgPiBiYy50b3ApIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBpc0luRWxlbWVudEJvdW5kKHBvczogQVhQb2ludCwgZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBlbEJvdW5kID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgICAgICByZXR1cm4gQVhEcmF3aW5nVXRpbC5pc0luUmVjUG9pbnQocG9zLCB7XHJcbiAgICAgICAgICAgIGxlZnQ6IGVsQm91bmQueCxcclxuICAgICAgICAgICAgd2lkdGg6IGVsQm91bmQud2lkdGgsXHJcbiAgICAgICAgICAgIHRvcDogZWxCb3VuZC55LFxyXG4gICAgICAgICAgICBoZWlnaHQ6IGVsQm91bmQuaGVpZ2h0XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgc3RhdGljIGlzSW5SZWNQb2ludChwb3M6IEFYUG9pbnQsIHJlYzogQVhCb3VuZGluZ0NsaWVudFJlY3QgfCBhbnkpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gcG9zLnggPj0gcmVjLmxlZnQgJiYgcG9zLnggPD0gKHJlYy5sZWZ0ICsgcmVjLndpZHRoKSAmJiBwb3MueSA+PSByZWMudG9wICYmIChwb3MueSA8PSAocmVjLnRvcCArIHJlYy5oZWlnaHQpKTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgY29udmVydFJlbVRvUGl4ZWxzKHJlbTogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgICAgICByZXR1cm4gcmVtICogcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuZm9udFNpemUpO1xyXG4gICAgfVxyXG5cclxufSJdfQ==
|
@@ -1,16 +1,16 @@
|
|
1
|
-
// @dynamic
|
2
|
-
export class AXHtmlUtil {
|
3
|
-
static focusElement(element) {
|
4
|
-
const list = ['button', 'input', '[href]', 'select', 'textarea', '[tabindex]'].map(c => c + ':not([tabindex="-1"])');
|
5
|
-
const focusable = element.querySelector(list.join(', '));
|
6
|
-
if (focusable) {
|
7
|
-
focusable.focus();
|
8
|
-
return focusable;
|
9
|
-
}
|
10
|
-
return null;
|
11
|
-
}
|
12
|
-
static hasFocus(element) {
|
13
|
-
return element.matches(':focus-within') || element.matches(':focus');
|
14
|
-
}
|
15
|
-
}
|
1
|
+
// @dynamic
|
2
|
+
export class AXHtmlUtil {
|
3
|
+
static focusElement(element) {
|
4
|
+
const list = ['button', 'input', '[href]', 'select', 'textarea', '[tabindex]'].map(c => c + ':not([tabindex="-1"])');
|
5
|
+
const focusable = element.querySelector(list.join(', '));
|
6
|
+
if (focusable) {
|
7
|
+
focusable.focus();
|
8
|
+
return focusable;
|
9
|
+
}
|
10
|
+
return null;
|
11
|
+
}
|
12
|
+
static hasFocus(element) {
|
13
|
+
return element.matches(':focus-within') || element.matches(':focus');
|
14
|
+
}
|
15
|
+
}
|
16
16
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWNvcmV4L2NvcmUvdXRpbHMvc3JjL2h0bWwtdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxXQUFXO0FBQ1gsTUFBTSxPQUFPLFVBQVU7SUFDbkIsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFvQjtRQUNwQyxNQUFNLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsWUFBWSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLHVCQUF1QixDQUFDLENBQUM7UUFDckgsTUFBTSxTQUFTLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBYyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDdEUsSUFBSSxTQUFTLEVBQUU7WUFDWCxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbEIsT0FBTyxTQUFTLENBQUM7U0FDcEI7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBR0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFvQjtRQUVoQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6RSxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAZHluYW1pY1xyXG5leHBvcnQgY2xhc3MgQVhIdG1sVXRpbCB7XHJcbiAgICBzdGF0aWMgZm9jdXNFbGVtZW50KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogSFRNTEVsZW1lbnQge1xyXG4gICAgICAgIGNvbnN0IGxpc3QgPSBbJ2J1dHRvbicsICdpbnB1dCcsICdbaHJlZl0nLCAnc2VsZWN0JywgJ3RleHRhcmVhJywgJ1t0YWJpbmRleF0nXS5tYXAoYyA9PiBjICsgJzpub3QoW3RhYmluZGV4PVwiLTFcIl0pJyk7XHJcbiAgICAgICAgY29uc3QgZm9jdXNhYmxlID0gZWxlbWVudC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PihsaXN0LmpvaW4oJywgJykpO1xyXG4gICAgICAgIGlmIChmb2N1c2FibGUpIHtcclxuICAgICAgICAgICAgZm9jdXNhYmxlLmZvY3VzKCk7XHJcbiAgICAgICAgICAgIHJldHVybiBmb2N1c2FibGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICBzdGF0aWMgaGFzRm9jdXMoZWxlbWVudDogSFRNTEVsZW1lbnQpXHJcbiAgICB7XHJcbiAgICAgICAgcmV0dXJuIGVsZW1lbnQubWF0Y2hlcygnOmZvY3VzLXdpdGhpbicpIHx8IGVsZW1lbnQubWF0Y2hlcygnOmZvY3VzJyk7XHJcbiAgICB9XHJcbn0iXX0=
|
@@ -1,39 +1,39 @@
|
|
1
|
-
// @dynamic
|
2
|
-
export class AXObjectUtil {
|
3
|
-
static deepJSONClone(obj) {
|
4
|
-
return obj ? JSON.parse(JSON.stringify(obj)) : null;
|
5
|
-
}
|
6
|
-
static deepCopy(obj) {
|
7
|
-
let copy;
|
8
|
-
// Handle the 3 simple types, and null or undefined
|
9
|
-
if (null == obj || 'object' !== typeof obj) {
|
10
|
-
return obj;
|
11
|
-
}
|
12
|
-
// Handle Date
|
13
|
-
if (obj instanceof Date) {
|
14
|
-
copy = new Date();
|
15
|
-
copy.setTime(obj.getTime());
|
16
|
-
return copy;
|
17
|
-
}
|
18
|
-
// Handle Array
|
19
|
-
if (obj instanceof Array) {
|
20
|
-
copy = [];
|
21
|
-
for (let i = 0, len = obj.length; i < len; i++) {
|
22
|
-
copy[i] = AXObjectUtil.deepCopy(obj[i]);
|
23
|
-
}
|
24
|
-
return copy;
|
25
|
-
}
|
26
|
-
// Handle Object
|
27
|
-
if (obj instanceof Object) {
|
28
|
-
copy = {};
|
29
|
-
for (const attr in obj) {
|
30
|
-
if (obj.hasOwnProperty(attr)) {
|
31
|
-
copy[attr] = AXObjectUtil.deepCopy(obj[attr]);
|
32
|
-
}
|
33
|
-
}
|
34
|
-
return copy;
|
35
|
-
}
|
36
|
-
throw new Error('Unable to copy obj! Its type isn\'t supported.');
|
37
|
-
}
|
38
|
-
}
|
1
|
+
// @dynamic
|
2
|
+
export class AXObjectUtil {
|
3
|
+
static deepJSONClone(obj) {
|
4
|
+
return obj ? JSON.parse(JSON.stringify(obj)) : null;
|
5
|
+
}
|
6
|
+
static deepCopy(obj) {
|
7
|
+
let copy;
|
8
|
+
// Handle the 3 simple types, and null or undefined
|
9
|
+
if (null == obj || 'object' !== typeof obj) {
|
10
|
+
return obj;
|
11
|
+
}
|
12
|
+
// Handle Date
|
13
|
+
if (obj instanceof Date) {
|
14
|
+
copy = new Date();
|
15
|
+
copy.setTime(obj.getTime());
|
16
|
+
return copy;
|
17
|
+
}
|
18
|
+
// Handle Array
|
19
|
+
if (obj instanceof Array) {
|
20
|
+
copy = [];
|
21
|
+
for (let i = 0, len = obj.length; i < len; i++) {
|
22
|
+
copy[i] = AXObjectUtil.deepCopy(obj[i]);
|
23
|
+
}
|
24
|
+
return copy;
|
25
|
+
}
|
26
|
+
// Handle Object
|
27
|
+
if (obj instanceof Object) {
|
28
|
+
copy = {};
|
29
|
+
for (const attr in obj) {
|
30
|
+
if (obj.hasOwnProperty(attr)) {
|
31
|
+
copy[attr] = AXObjectUtil.deepCopy(obj[attr]);
|
32
|
+
}
|
33
|
+
}
|
34
|
+
return copy;
|
35
|
+
}
|
36
|
+
throw new Error('Unable to copy obj! Its type isn\'t supported.');
|
37
|
+
}
|
38
|
+
}
|
39
39
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JqZWN0LXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS91dGlscy9zcmMvb2JqZWN0LXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsV0FBVztBQUNYLE1BQU0sT0FBTyxZQUFZO0lBQ3JCLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBUTtRQUN6QixPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN4RCxDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHO1FBQ2YsSUFBSSxJQUFJLENBQUM7UUFDVCxtREFBbUQ7UUFDbkQsSUFBSSxJQUFJLElBQUksR0FBRyxJQUFJLFFBQVEsS0FBSyxPQUFPLEdBQUcsRUFBRTtZQUFFLE9BQU8sR0FBRyxDQUFDO1NBQUU7UUFDM0QsY0FBYztRQUNkLElBQUksR0FBRyxZQUFZLElBQUksRUFBRTtZQUNyQixJQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQzVCLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFDRCxlQUFlO1FBQ2YsSUFBSSxHQUFHLFlBQVksS0FBSyxFQUFFO1lBQ3RCLElBQUksR0FBRyxFQUFFLENBQUM7WUFDVixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEdBQUcsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUM1QyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMzQztZQUNELE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFDRCxnQkFBZ0I7UUFDaEIsSUFBSSxHQUFHLFlBQVksTUFBTSxFQUFFO1lBQ3ZCLElBQUksR0FBRyxFQUFFLENBQUM7WUFDVixLQUFLLE1BQU0sSUFBSSxJQUFJLEdBQUcsRUFBRTtnQkFDcEIsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxZQUFZLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2lCQUFFO2FBQ25GO1lBQ0QsT0FBTyxJQUFJLENBQUM7U0FDZjtRQUNELE1BQU0sSUFBSSxLQUFLLENBQUMsZ0RBQWdELENBQUMsQ0FBQztJQUN0RSxDQUFDO0NBZ0RKIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQGR5bmFtaWNcclxuZXhwb3J0IGNsYXNzIEFYT2JqZWN0VXRpbCB7XHJcbiAgICBzdGF0aWMgZGVlcEpTT05DbG9uZShvYmo6IGFueSk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIG9iaiA/IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkob2JqKSkgOiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBkZWVwQ29weShvYmopIHtcclxuICAgICAgICBsZXQgY29weTtcclxuICAgICAgICAvLyBIYW5kbGUgdGhlIDMgc2ltcGxlIHR5cGVzLCBhbmQgbnVsbCBvciB1bmRlZmluZWRcclxuICAgICAgICBpZiAobnVsbCA9PSBvYmogfHwgJ29iamVjdCcgIT09IHR5cGVvZiBvYmopIHsgcmV0dXJuIG9iajsgfVxyXG4gICAgICAgIC8vIEhhbmRsZSBEYXRlXHJcbiAgICAgICAgaWYgKG9iaiBpbnN0YW5jZW9mIERhdGUpIHtcclxuICAgICAgICAgICAgY29weSA9IG5ldyBEYXRlKCk7XHJcbiAgICAgICAgICAgIGNvcHkuc2V0VGltZShvYmouZ2V0VGltZSgpKTtcclxuICAgICAgICAgICAgcmV0dXJuIGNvcHk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEhhbmRsZSBBcnJheVxyXG4gICAgICAgIGlmIChvYmogaW5zdGFuY2VvZiBBcnJheSkge1xyXG4gICAgICAgICAgICBjb3B5ID0gW107XHJcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSBvYmoubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcclxuICAgICAgICAgICAgICAgIGNvcHlbaV0gPSBBWE9iamVjdFV0aWwuZGVlcENvcHkob2JqW2ldKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gY29weTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gSGFuZGxlIE9iamVjdFxyXG4gICAgICAgIGlmIChvYmogaW5zdGFuY2VvZiBPYmplY3QpIHtcclxuICAgICAgICAgICAgY29weSA9IHt9O1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGF0dHIgaW4gb2JqKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAob2JqLmhhc093blByb3BlcnR5KGF0dHIpKSB7IGNvcHlbYXR0cl0gPSBBWE9iamVjdFV0aWwuZGVlcENvcHkob2JqW2F0dHJdKTsgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBjb3B5O1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1VuYWJsZSB0byBjb3B5IG9iaiEgSXRzIHR5cGUgaXNuXFwndCBzdXBwb3J0ZWQuJyk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gc3RhdGljIGZldGNoUHJvcChvYmosIHByb3A6IHN0cmluZykge1xyXG4gICAgLy8gICAgIGlmICh0eXBlb2Ygb2JqID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgLy8gICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICAgIGNvbnN0IGluZGV4ID0gcHJvcC5pbmRleE9mKCcuJyk7XHJcblxyXG4gICAgLy8gICAgIGlmIChpbmRleCA+IC0xKSB7XHJcbiAgICAvLyAgICAgICAgIHJldHVybiBBWE9iamVjdFV0aWwuZmV0Y2hQcm9wKG9ialtwcm9wLnN1YnN0cmluZygwLCBpbmRleCldLCBwcm9wLnN1YnN0cihpbmRleCArIDEpKTtcclxuICAgIC8vICAgICB9XHJcblxyXG4gICAgLy8gICAgIHJldHVybiBvYmpbcHJvcF07XHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy8gc3RhdGljIGdldFByb3BCeVBhdGgob2JqLCBwYXRoLCBkZWZhdWx0VmFsPykge1xyXG4gICAgLy8gICAgIHBhdGggPSBwYXRoXHJcbiAgICAvLyAgICAgICAgIC5yZXBsYWNlKC9cXFsvZywgJy4nKVxyXG4gICAgLy8gICAgICAgICAucmVwbGFjZSgvXS9nLCAnJylcclxuICAgIC8vICAgICAgICAgLnNwbGl0KCcuJyk7XHJcblxyXG4gICAgLy8gICAgIHBhdGguZm9yRWFjaCgobGV2ZWwpID0+IHtcclxuICAgIC8vICAgICAgICAgaWYgKG9iaikge1xyXG4gICAgLy8gICAgICAgICAgICAgb2JqID0gb2JqW2xldmVsXTtcclxuICAgIC8vICAgICAgICAgfVxyXG4gICAgLy8gICAgIH0pO1xyXG5cclxuICAgIC8vICAgICBpZiAob2JqID09PSB1bmRlZmluZWQpIHtcclxuICAgIC8vICAgICAgICAgcmV0dXJuIGRlZmF1bHRWYWw7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICAgIHJldHVybiBvYmo7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgLy8gc3RhdGljIHNldFByb3BCeVBhdGgob2JqLCBwYXRoLCB2YWx1ZSkge1xyXG4gICAgLy8gICAgIGlmIChPYmplY3Qob2JqKSAhPT0gb2JqKSB7IHJldHVybiBvYmo7IH0gLy8gV2hlbiBvYmogaXMgbm90IGFuIG9iamVjdFxyXG4gICAgLy8gICAgIC8vIElmIG5vdCB5ZXQgYW4gYXJyYXksIGdldCB0aGUga2V5cyBmcm9tIHRoZSBzdHJpbmctcGF0aFxyXG4gICAgLy8gICAgIGlmICghQXJyYXkuaXNBcnJheShwYXRoKSkgeyBwYXRoID0gcGF0aC50b1N0cmluZygpLm1hdGNoKC9bXi5bXFxdXSsvZykgfHwgW107IH1cclxuICAgIC8vICAgICBwYXRoLnNsaWNlKDAsIC0xKS5yZWR1Y2UoKGEsIGMsIGkpID0+IC8vIEl0ZXJhdGUgYWxsIG9mIHRoZW0gZXhjZXB0IHRoZSBsYXN0IG9uZVxyXG4gICAgLy8gICAgICAgICBPYmplY3QoYVtjXSkgPT09IGFbY10gLy8gRG9lcyB0aGUga2V5IGV4aXN0IGFuZCBpcyBpdHMgdmFsdWUgYW4gb2JqZWN0P1xyXG4gICAgLy8gICAgICAgICAgICAgLy8gWWVzOiB0aGVuIGZvbGxvdyB0aGF0IHBhdGhcclxuICAgIC8vICAgICAgICAgICAgID8gYVtjXVxyXG4gICAgLy8gICAgICAgICAgICAgLy8gTm86IGNyZWF0ZSB0aGUga2V5LiBJcyB0aGUgbmV4dCBrZXkgYSBwb3RlbnRpYWwgYXJyYXktaW5kZXg/XHJcbiAgICAvLyAgICAgICAgICAgICA6IGFbY10gPSBNYXRoLmFicyhwYXRoW2kgKyAxXSkgPj4gMCA9PT0gK3BhdGhbaSArIDFdXHJcbiAgICAvLyAgICAgICAgICAgICAgICAgPyBbXSAvLyBZZXM6IGFzc2lnbiBhIG5ldyBhcnJheSBvYmplY3RcclxuICAgIC8vICAgICAgICAgICAgICAgICA6IHt9LCAvLyBObzogYXNzaWduIGEgbmV3IHBsYWluIG9iamVjdFxyXG4gICAgLy8gICAgICAgICBvYmopW3BhdGhbcGF0aC5sZW5ndGggLSAxXV0gPSB2YWx1ZTsgLy8gRmluYWxseSBhc3NpZ24gdGhlIHZhbHVlIHRvIHRoZSBsYXN0IGtleVxyXG4gICAgLy8gICAgIHJldHVybiBvYmo7IC8vIFJldHVybiB0aGUgdG9wLWxldmVsIG9iamVjdCB0byBhbGxvdyBjaGFpbmluZ1xyXG4gICAgLy8gfVxyXG59Il19
|