@delon/theme 18.3.0 → 19.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/compact.css +882 -63
- package/compact.min.css +1 -1
- package/dark.css +882 -63
- package/dark.min.css +1 -1
- package/default.css +882 -63
- package/default.min.css +1 -1
- package/fesm2022/layout-default.mjs +118 -119
- package/fesm2022/layout-default.mjs.map +1 -1
- package/fesm2022/setting-drawer.mjs +59 -94
- package/fesm2022/setting-drawer.mjs.map +1 -1
- package/fesm2022/theme-btn.mjs +27 -29
- package/fesm2022/theme-btn.mjs.map +1 -1
- package/fesm2022/theme.mjs +168 -163
- package/fesm2022/theme.mjs.map +1 -1
- package/layout-default/layout.module.d.ts +2 -3
- package/layout-default/layout.service.d.ts +3 -0
- package/package.json +6 -16
- package/setting-drawer/setting-drawer-item.component.d.ts +1 -1
- package/setting-drawer/setting-drawer.component.d.ts +1 -1
- package/setting-drawer/setting-drawer.module.d.ts +1 -13
- package/src/services/menu/menu.service.d.ts +8 -0
- package/system/ng/_drag.less +9 -0
- package/system/ng/index.less +1 -0
- package/variable.css +882 -63
- package/variable.min.css +1 -1
- package/esm2022/layout-blank/layout-blank.mjs +0 -5
- package/esm2022/layout-blank/public_api.mjs +0 -3
- package/esm2022/layout-default/layout-default.mjs +0 -5
- package/esm2022/layout-default/layout-header-item-trigger.directive.mjs +0 -16
- package/esm2022/layout-default/layout-header-item.component.mjs +0 -33
- package/esm2022/layout-default/layout-header.component.mjs +0 -138
- package/esm2022/layout-default/layout-nav.component.mjs +0 -280
- package/esm2022/layout-default/layout-top-menu-item.mjs +0 -33
- package/esm2022/layout-default/layout.component.mjs +0 -196
- package/esm2022/layout-default/layout.module.mjs +0 -71
- package/esm2022/layout-default/layout.service.mjs +0 -65
- package/esm2022/layout-default/public_api.mjs +0 -10
- package/esm2022/layout-default/types.mjs +0 -2
- package/esm2022/public_api.mjs +0 -9
- package/esm2022/setting-drawer/public_api.mjs +0 -4
- package/esm2022/setting-drawer/setting-drawer-item.component.mjs +0 -34
- package/esm2022/setting-drawer/setting-drawer.component.mjs +0 -183
- package/esm2022/setting-drawer/setting-drawer.mjs +0 -5
- package/esm2022/setting-drawer/setting-drawer.module.mjs +0 -66
- package/esm2022/setting-drawer/setting-drawer.types.mjs +0 -193
- package/esm2022/src/config.mjs +0 -2
- package/esm2022/src/locale/index.mjs +0 -2
- package/esm2022/src/locale/languages/ar-SA.mjs +0 -83
- package/esm2022/src/locale/languages/el-GR.mjs +0 -83
- package/esm2022/src/locale/languages/en-US.mjs +0 -83
- package/esm2022/src/locale/languages/es-ES.mjs +0 -83
- package/esm2022/src/locale/languages/fr-FR.mjs +0 -83
- package/esm2022/src/locale/languages/hr-HR.mjs +0 -47
- package/esm2022/src/locale/languages/it-IT.mjs +0 -83
- package/esm2022/src/locale/languages/ja-JP.mjs +0 -83
- package/esm2022/src/locale/languages/ko-KR.mjs +0 -83
- package/esm2022/src/locale/languages/pl-PL.mjs +0 -83
- package/esm2022/src/locale/languages/sl-SI.mjs +0 -82
- package/esm2022/src/locale/languages/tr-TR.mjs +0 -83
- package/esm2022/src/locale/languages/vi-VI.mjs +0 -83
- package/esm2022/src/locale/languages/zh-CN.mjs +0 -83
- package/esm2022/src/locale/languages/zh-TW.mjs +0 -83
- package/esm2022/src/locale/locale.module.mjs +0 -17
- package/esm2022/src/locale/locale.service.mjs +0 -45
- package/esm2022/src/locale/locale.tokens.mjs +0 -3
- package/esm2022/src/locale/locale.types.mjs +0 -2
- package/esm2022/src/locale/public_api.mjs +0 -20
- package/esm2022/src/pipes/date/date.pipe.mjs +0 -25
- package/esm2022/src/pipes/index.mjs +0 -6
- package/esm2022/src/pipes/keys/keys.pipe.mjs +0 -21
- package/esm2022/src/pipes/safe/html.pipe.mjs +0 -18
- package/esm2022/src/pipes/safe/url.pipe.mjs +0 -18
- package/esm2022/src/pipes/yn/yn.pipe.mjs +0 -43
- package/esm2022/src/provide.mjs +0 -51
- package/esm2022/src/router/optional-preloader.mjs +0 -21
- package/esm2022/src/services/drawer/drawer.helper.mjs +0 -110
- package/esm2022/src/services/http/http.client.mjs +0 -154
- package/esm2022/src/services/http/http.decorator.mjs +0 -212
- package/esm2022/src/services/http/http.token.mjs +0 -38
- package/esm2022/src/services/http/index.mjs +0 -4
- package/esm2022/src/services/i18n/i18n-url.guard.mjs +0 -51
- package/esm2022/src/services/i18n/i18n.mjs +0 -100
- package/esm2022/src/services/i18n/i18n.pipe.mjs +0 -18
- package/esm2022/src/services/i18n/index.mjs +0 -4
- package/esm2022/src/services/index.mjs +0 -11
- package/esm2022/src/services/menu/index.mjs +0 -3
- package/esm2022/src/services/menu/interface.mjs +0 -2
- package/esm2022/src/services/menu/menu.service.mjs +0 -297
- package/esm2022/src/services/modal/modal.helper.mjs +0 -167
- package/esm2022/src/services/preloader/preloader.mjs +0 -27
- package/esm2022/src/services/responsive/responsive.mjs +0 -53
- package/esm2022/src/services/rtl/rtl.service.mjs +0 -98
- package/esm2022/src/services/settings/index.mjs +0 -3
- package/esm2022/src/services/settings/settings.service.mjs +0 -105
- package/esm2022/src/services/settings/types.mjs +0 -2
- package/esm2022/src/services/title/title.service.mjs +0 -137
- package/esm2022/src/theme.module.mjs +0 -57
- package/esm2022/src/version.mjs +0 -3
- package/esm2022/theme-btn/public_api.mjs +0 -3
- package/esm2022/theme-btn/theme-btn.component.mjs +0 -100
- package/esm2022/theme-btn/theme-btn.mjs +0 -5
- package/esm2022/theme-btn/theme-btn.module.mjs +0 -20
- package/esm2022/theme.mjs +0 -5
|
@@ -1,167 +0,0 @@
|
|
|
1
|
-
import { DragDrop } from '@angular/cdk/drag-drop';
|
|
2
|
-
import { DOCUMENT } from '@angular/common';
|
|
3
|
-
import { Injectable, inject } from '@angular/core';
|
|
4
|
-
import { Observable, delay, filter, take, tap } from 'rxjs';
|
|
5
|
-
import { deepMerge } from '@delon/util/other';
|
|
6
|
-
import { NzModalService } from 'ng-zorro-antd/modal';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
const CLS_DRAG = 'MODAL-DRAG';
|
|
9
|
-
/**
|
|
10
|
-
* 对话框辅助类
|
|
11
|
-
*/
|
|
12
|
-
export class ModalHelper {
|
|
13
|
-
constructor() {
|
|
14
|
-
this.srv = inject(NzModalService);
|
|
15
|
-
this.drag = inject(DragDrop);
|
|
16
|
-
this.doc = inject(DOCUMENT);
|
|
17
|
-
}
|
|
18
|
-
createDragRef(options, wrapCls) {
|
|
19
|
-
const wrapEl = this.doc.querySelector(wrapCls);
|
|
20
|
-
const modalEl = wrapEl.firstChild;
|
|
21
|
-
const handelEl = options.handleCls ? wrapEl.querySelector(options.handleCls) : null;
|
|
22
|
-
if (handelEl) {
|
|
23
|
-
handelEl.classList.add(`${CLS_DRAG}-HANDLE`);
|
|
24
|
-
}
|
|
25
|
-
return this.drag
|
|
26
|
-
.createDrag(handelEl ?? modalEl)
|
|
27
|
-
.withHandles([handelEl ?? modalEl])
|
|
28
|
-
.withBoundaryElement(wrapEl)
|
|
29
|
-
.withRootElement(modalEl);
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* 构建一个对话框
|
|
33
|
-
*
|
|
34
|
-
* @param comp 组件
|
|
35
|
-
* @param params 组件参数
|
|
36
|
-
* @param options 额外参数
|
|
37
|
-
*
|
|
38
|
-
* @example
|
|
39
|
-
* this.modalHelper.create(FormEditComponent, { i }).subscribe(res => this.load());
|
|
40
|
-
* // 对于组件的成功&关闭的处理说明
|
|
41
|
-
* // 成功,其中 `nzModalRef` 指目标组件在构造函数 `NzModalRef` 变量名
|
|
42
|
-
* this.nzModalRef.close(data);
|
|
43
|
-
* this.nzModalRef.close();
|
|
44
|
-
* // 关闭
|
|
45
|
-
* this.nzModalRef.destroy();
|
|
46
|
-
*/
|
|
47
|
-
create(comp, params, options) {
|
|
48
|
-
const isBuildIn = typeof comp === 'string';
|
|
49
|
-
options = deepMerge({
|
|
50
|
-
size: 'lg',
|
|
51
|
-
exact: true,
|
|
52
|
-
includeTabs: false
|
|
53
|
-
}, isBuildIn && arguments.length === 2 ? params : options);
|
|
54
|
-
return new Observable((observer) => {
|
|
55
|
-
const { size, includeTabs, modalOptions, drag, useNzData, focus } = options;
|
|
56
|
-
let cls = [];
|
|
57
|
-
let width = '';
|
|
58
|
-
if (size) {
|
|
59
|
-
if (typeof size === 'number') {
|
|
60
|
-
width = `${size}px`;
|
|
61
|
-
}
|
|
62
|
-
else if (['sm', 'md', 'lg', 'xl'].includes(size)) {
|
|
63
|
-
cls.push(`modal-${size}`);
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
width = size;
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
if (includeTabs) {
|
|
70
|
-
cls.push(`modal-include-tabs`);
|
|
71
|
-
}
|
|
72
|
-
if (modalOptions && modalOptions.nzWrapClassName) {
|
|
73
|
-
cls.push(modalOptions.nzWrapClassName);
|
|
74
|
-
delete modalOptions.nzWrapClassName;
|
|
75
|
-
}
|
|
76
|
-
let dragOptions;
|
|
77
|
-
let dragWrapCls = `${CLS_DRAG}-${+new Date()}`;
|
|
78
|
-
let dragRef;
|
|
79
|
-
if (drag != null && drag !== false) {
|
|
80
|
-
dragOptions = {
|
|
81
|
-
handleCls: `.modal-header, .ant-modal-title`,
|
|
82
|
-
...(typeof drag === 'object' ? drag : {})
|
|
83
|
-
};
|
|
84
|
-
cls.push(CLS_DRAG, dragWrapCls);
|
|
85
|
-
}
|
|
86
|
-
const mth = isBuildIn ? this.srv[comp] : this.srv.create;
|
|
87
|
-
const subject = mth.call(this.srv, {
|
|
88
|
-
nzWrapClassName: cls.join(' '),
|
|
89
|
-
nzContent: isBuildIn ? undefined : comp,
|
|
90
|
-
nzWidth: width ? width : undefined,
|
|
91
|
-
nzFooter: null,
|
|
92
|
-
nzData: params,
|
|
93
|
-
...modalOptions
|
|
94
|
-
});
|
|
95
|
-
// 保留 nzComponentParams 原有风格,但依然可以通过 @Inject(NZ_MODAL_DATA) 获取
|
|
96
|
-
if (subject.componentInstance != null && useNzData !== true) {
|
|
97
|
-
Object.assign(subject.componentInstance, params);
|
|
98
|
-
}
|
|
99
|
-
subject.afterOpen
|
|
100
|
-
.pipe(take(1), tap(() => {
|
|
101
|
-
if (dragOptions != null) {
|
|
102
|
-
dragRef = this.createDragRef(dragOptions, `.${dragWrapCls}`);
|
|
103
|
-
}
|
|
104
|
-
}), filter(() => focus != null), delay(modalOptions?.nzNoAnimation ? 10 : 241))
|
|
105
|
-
.subscribe(() => {
|
|
106
|
-
const btns = subject
|
|
107
|
-
.getElement()
|
|
108
|
-
.querySelector('.ant-modal-confirm-btns, .modal-footer')
|
|
109
|
-
?.querySelectorAll('.ant-btn');
|
|
110
|
-
const btnSize = btns?.length ?? 0;
|
|
111
|
-
let el = null;
|
|
112
|
-
if (btnSize === 1) {
|
|
113
|
-
el = btns[0];
|
|
114
|
-
}
|
|
115
|
-
else if (btnSize > 1) {
|
|
116
|
-
el = btns[focus === 'ok' ? 1 : 0];
|
|
117
|
-
}
|
|
118
|
-
if (el != null) {
|
|
119
|
-
el.focus();
|
|
120
|
-
el.dataset.focused = focus;
|
|
121
|
-
}
|
|
122
|
-
});
|
|
123
|
-
subject.afterClose.pipe(take(1)).subscribe((res) => {
|
|
124
|
-
if (options.exact === true) {
|
|
125
|
-
if (res != null) {
|
|
126
|
-
observer.next(res);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
else {
|
|
130
|
-
observer.next(res);
|
|
131
|
-
}
|
|
132
|
-
observer.complete();
|
|
133
|
-
dragRef?.dispose();
|
|
134
|
-
});
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* 构建静态框,点击蒙层不允许关闭
|
|
139
|
-
*
|
|
140
|
-
* @param comp 组件
|
|
141
|
-
* @param params 组件参数
|
|
142
|
-
* @param options 额外参数
|
|
143
|
-
*
|
|
144
|
-
* @example
|
|
145
|
-
* this.modalHelper.open(FormEditComponent, { i }).subscribe(res => this.load());
|
|
146
|
-
* // 对于组件的成功&关闭的处理说明
|
|
147
|
-
* // 成功,其中 `nzModalRef` 指目标组件在构造函数 `NzModalRef` 变量名
|
|
148
|
-
* this.nzModalRef.close(data);
|
|
149
|
-
* this.nzModalRef.close();
|
|
150
|
-
* // 关闭
|
|
151
|
-
* this.nzModalRef.destroy();
|
|
152
|
-
*/
|
|
153
|
-
createStatic(comp, params, options) {
|
|
154
|
-
const modalOptions = {
|
|
155
|
-
nzMaskClosable: false,
|
|
156
|
-
...(options && options.modalOptions)
|
|
157
|
-
};
|
|
158
|
-
return this.create(comp, params, { ...options, modalOptions });
|
|
159
|
-
}
|
|
160
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ModalHelper, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
161
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ModalHelper, providedIn: 'root' }); }
|
|
162
|
-
}
|
|
163
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ModalHelper, decorators: [{
|
|
164
|
-
type: Injectable,
|
|
165
|
-
args: [{ providedIn: 'root' }]
|
|
166
|
-
}] });
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUvc3JjL3NlcnZpY2VzL21vZGFsL21vZGFsLmhlbHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFXLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsVUFBVSxFQUFZLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFOUMsT0FBTyxFQUE0QixjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFFL0UsTUFBTSxRQUFRLEdBQUcsWUFBWSxDQUFDO0FBaUM5Qjs7R0FFRztBQUVILE1BQU0sT0FBTyxXQUFXO0lBRHhCO1FBRW1CLFFBQUcsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDN0IsU0FBSSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QixRQUFHLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBK0p6QztJQTdKUyxhQUFhLENBQUMsT0FBK0IsRUFBRSxPQUFlO1FBQ3BFLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBbUIsQ0FBQztRQUNqRSxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsVUFBNEIsQ0FBQztRQUNwRCxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFpQixPQUFPLENBQUMsU0FBUyxDQUFD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QUM7WUFDckIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7O09BZUc7SUFDSCxZQUFZLENBQ1YsSUFBOEMsRUFDOUMsTUFBa0IsRUFDbEIsT0FBNEI7UUFFNUIsTUFBTSxZQUFZLEdBQUc7WUFDbkIsY0FBYyxFQUFFLEtBQUs7WUFDckIsR0FBRyxDQUFDLE9BQU8sSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDO1NBQ3JDLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFLEdBQUcsT0FBTyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDakUsQ0FBQzs4R0FqS1UsV0FBVztrSEFBWCxXQUFXLGNBREUsTUFBTTs7MkZBQ25CLFdBQVc7a0JBRHZCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRHJhZ0Ryb3AsIERyYWdSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdGFibGUsIFRlbXBsYXRlUmVmLCBUeXBlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIE9ic2VydmVyLCBkZWxheSwgZmlsdGVyLCB0YWtlLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgZGVlcE1lcmdlIH0gZnJvbSAnQGRlbG9uL3V0aWwvb3RoZXInO1xuaW1wb3J0IHR5cGUgeyBOelNhZmVBbnkgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHsgTW9kYWxPcHRpb25zLCBOek1vZGFsUmVmLCBOek1vZGFsU2VydmljZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvbW9kYWwnO1xuXG5jb25zdCBDTFNfRFJBRyA9ICdNT0RBTC1EUkFHJztcblxuZXhwb3J0IGludGVyZmFjZSBNb2RhbEhlbHBlck9wdGlvbnMge1xuICAvKiog5aSn5bCP77yb5L6L5aaC77yabGfjgIE2MDDjgIE4MCXvvIzpu5jorqTvvJpgbGdgICovXG4gIHNpemU/OiAnc20nIHwgJ21kJyB8ICdsZycgfCAneGwnIHwgJycgfCBudW1iZXIgfCBzdHJpbmc7XG4gIC8qKiDlr7nor53moYYgW01vZGFsT3B0aW9uc10oaHR0cHM6Ly9naXRodWIuY29tL05HLVpPUlJPL25nLXpvcnJvLWFudGQvYmxvYi9tYXN0ZXIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC10eXBlcy50cykg5Y+C5pWwICovXG4gIG1vZGFsT3B0aW9ucz86IE1vZGFsT3B0aW9ucztcbiAgLyoqIOaYr+WQpueyvuWHhu+8iOm7mOiupO+8mmB0cnVlYO+8ie+8jOiLpei/lOWbnuWAvOmdnuepuuWAvO+8iGBudWxsYOaIlmB1bmRlZmluZWRg77yJ6KeG5Li65oiQ5Yqf77yM5ZCm5YiZ6KeG5Li66ZSZ6K+vICovXG4gIGV4YWN0PzogYm9vbGVhbjtcbiAgLyoqIOaYr+WQpuWMheijueagh+etvumhte+8jOS/ruWkjeaooeaAgeWMheWQq+agh+etvumXtOi3nemXrumimCAqL1xuICBpbmNsdWRlVGFicz86IGJvb2xlYW47XG4gIC8qKlxuICAgKiDmmK/lkKbmlK/mjIHmi5bliqjvvIzpu5jorqTmmK/pgJrov4fmoIfpopjmnaXop6blj5FcbiAgICovXG4gIGRyYWc/OiBNb2RhbEhlbHBlckRyYWdPcHRpb25zIHwgYm9vbGVhbjtcbiAgLyoqXG4gICAqIOaYr+WQpuW8uuWItuS9v+eUqCBgbnpEYXRhYCDkvKDpgJLlj4LmlbDvvIzoi6XkuLogYGZhbHNlYCDooajnpLrlj4LmlbDkvJrnm7TmjqXmmKDlsITliLDnu4Tku7blrp7kvovkuK3vvIzlhbbku5blgLzlj6rog73pgJrov4cgYE5aX01PREFMX0RBVEFgIOeahOaWueW8j+adpeiOt+WPluWPguaVsO+8jOm7mOiupO+8mmBmYWxzZWBcbiAgICovXG4gIHVzZU56RGF0YT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIOiuvue9rueEpueCueaMiemSrlxuICAgKi9cbiAgZm9jdXM/OiAnb2snIHwgJ2NhbmNlbCc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kYWxIZWxwZXJEcmFnT3B0aW9ucyB7XG4gIC8qKlxuICAgKiDmjIflrprmi5blnLDljLrln5/nmoTnsbvlkI3vvIzoi6XmjIflrprkuLogYG51bGxgIOaXtuihqOekuuaVtOS4quWvueivneahhu+8jOm7mOiupO+8mmAubW9kYWwtaGVhZGVyLCAuYW50LW1vZGFsLXRpdGxlYFxuICAgKi9cbiAgaGFuZGxlQ2xzPzogc3RyaW5nIHwgbnVsbDtcbn1cblxuLyoqXG4gKiDlr7nor53moYbovoXliqnnsbtcbiAqL1xuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBNb2RhbEhlbHBlciB7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3J2ID0gaW5qZWN0KE56TW9kYWxTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkcmFnID0gaW5qZWN0KERyYWdEcm9wKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2MgPSBpbmplY3QoRE9DVU1FTlQpO1xuXG4gIHByaXZhdGUgY3JlYXRlRHJhZ1JlZihvcHRpb25zOiBNb2RhbEhlbHBlckRyYWdPcHRpb25zLCB3cmFwQ2xzOiBzdHJpbmcpOiBEcmFnUmVmIHtcbiAgICBjb25zdCB3cmFwRWwgPSB0aGlzLmRvYy5xdWVyeVNlbGVjdG9yKHdyYXBDbHMpIGFzIEhUTUxEaXZFbGVtZW50O1xuICAgIGNvbnN0IG1vZGFsRWwgPSB3cmFwRWwuZmlyc3RDaGlsZCBhcyBIVE1MRGl2RWxlbWVudDtcbiAgICBjb25zdCBoYW5kZWxFbCA9IG9wdGlvbnMuaGFuZGxlQ2xzID8gd3JhcEVsLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KG9wdGlvbnMuaGFuZGxlQ2xzKSA6IG51bGw7XG4gICAgaWYgKGhhbmRlbEVsKSB7XG4gICAgICBoYW5kZWxFbC5jbGFzc0xpc3QuYWRkKGAke0NMU19EUkFHfS1IQU5ETEVgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5kcmFnXG4gICAgICAuY3JlYXRlRHJhZyhoYW5kZWxFbCA/PyBtb2RhbEVsKVxuICAgICAgLndpdGhIYW5kbGVzKFtoYW5kZWxFbCA/PyBtb2RhbEVsXSlcbiAgICAgIC53aXRoQm91bmRhcnlFbGVtZW50KHdyYXBFbClcbiAgICAgIC53aXRoUm9vdEVsZW1lbnQobW9kYWxFbCk7XG4gIH1cblxuICAvKipcbiAgICog5p6E5bu65LiA5Liq5a+56K+d5qGGXG4gICAqXG4gICAqIEBwYXJhbSBjb21wIOe7hOS7tlxuICAgKiBAcGFyYW0gcGFyYW1zIOe7hOS7tuWPguaVsFxuICAgKiBAcGFyYW0gb3B0aW9ucyDpop3lpJblj4LmlbBcbiAgICpcbiAgICogQGV4YW1wbGVcbiAgICogdGhpcy5tb2RhbEhlbHBlci5jcmVhdGUoRm9ybUVkaXRDb21wb25lbnQsIHsgaSB9KS5zdWJzY3JpYmUocmVzID0+IHRoaXMubG9hZCgpKTtcbiAgICogLy8g5a+55LqO57uE5Lu255qE5oiQ5YqfJuWFs+mXreeahOWkhOeQhuivtOaYjlxuICAgKiAvLyDmiJDlip/vvIzlhbbkuK0gYG56TW9kYWxSZWZgIOaMh+ebruagh+e7hOS7tuWcqOaehOmAoOWHveaVsCBgTnpNb2RhbFJlZmAg5Y+Y6YeP5ZCNXG4gICAqIHRoaXMubnpNb2RhbFJlZi5jbG9zZShkYXRhKTtcbiAgICogdGhpcy5uek1vZGFsUmVmLmNsb3NlKCk7XG4gICAqIC8vIOWFs+mXrVxuICAgKiB0aGlzLm56TW9kYWxSZWYuZGVzdHJveSgpO1xuICAgKi9cbiAgY3JlYXRlKFxuICAgIGNvbXA/OiBUZW1wbGF0ZVJlZjxOelNhZmVBbnk+IHwgVHlwZTxOelNhZmVBbnk+IHwgJ2NvbmZpcm0nIHwgJ2luZm8nIHwgJ3N1Y2Nlc3MnIHwgJ2Vycm9yJyB8ICd3YXJuaW5nJyxcbiAgICBwYXJhbXM/OiBOelNhZmVBbnkgfCBNb2RhbEhlbHBlck9wdGlvbnMgfCBudWxsLFxuICAgIG9wdGlvbnM/OiBNb2RhbEhlbHBlck9wdGlvbnNcbiAgKTogT2JzZXJ2YWJsZTxOelNhZmVBbnk+IHtcbiAgICBjb25zdCBpc0J1aWxkSW4gPSB0eXBlb2YgY29tcCA9PT0gJ3N0cmluZyc7XG4gICAgb3B0aW9ucyA9IGRlZXBNZXJnZShcbiAgICAgIHtcbiAgICAgICAgc2l6ZTogJ2xnJyxcbiAgICAgICAgZXhhY3Q6IHRydWUsXG4gICAgICAgIGluY2x1ZGVUYWJzOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIGlzQnVpbGRJbiAmJiBhcmd1bWVudHMubGVuZ3RoID09PSAyID8gcGFyYW1zIDogb3B0aW9uc1xuICAgICk7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChvYnNlcnZlcjogT2JzZXJ2ZXI8TnpTYWZlQW55PikgPT4ge1xuICAgICAgY29uc3QgeyBzaXplLCBpbmNsdWRlVGFicywgbW9kYWxPcHRpb25zLCBkcmFnLCB1c2VOekRhdGEsIGZvY3VzIH0gPSBvcHRpb25zIGFzIE1vZGFsSGVscGVyT3B0aW9ucztcbiAgICAgIGxldCBjbHM6IHN0cmluZ1tdID0gW107XG4gICAgICBsZXQgd2lkdGggPSAnJztcbiAgICAgIGlmIChzaXplKSB7XG4gICAgICAgIGlmICh0eXBlb2Ygc2l6ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICB3aWR0aCA9IGAke3NpemV9cHhgO1xuICAgICAgICB9IGVsc2UgaWYgKFsnc20nLCAnbWQnLCAnbGcnLCAneGwnXS5pbmNsdWRlcyhzaXplKSkge1xuICAgICAgICAgIGNscy5wdXNoKGBtb2RhbC0ke3NpemV9YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgd2lkdGggPSBzaXplO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoaW5jbHVkZVRhYnMpIHtcbiAgICAgICAgY2xzLnB1c2goYG1vZGFsLWluY2x1ZGUtdGFic2ApO1xuICAgICAgfVxuICAgICAgaWYgKG1vZGFsT3B0aW9ucyAmJiBtb2RhbE9wdGlvbnMubnpXcmFwQ2xhc3NOYW1lKSB7XG4gICAgICAgIGNscy5wdXNoKG1vZGFsT3B0aW9ucy5ueldyYXBDbGFzc05hbWUpO1xuICAgICAgICBkZWxldGUgbW9kYWxPcHRpb25zLm56V3JhcENsYXNzTmFtZTtcbiAgICAgIH1cbiAgICAgIGxldCBkcmFnT3B0aW9uczogTW9kYWxIZWxwZXJEcmFnT3B0aW9ucyB8IG51bGw7XG4gICAgICBsZXQgZHJhZ1dyYXBDbHMgPSBgJHtDTFNfRFJBR30tJHsrbmV3IERhdGUoKX1gO1xuICAgICAgbGV0IGRyYWdSZWY6IERyYWdSZWYgfCBudWxsO1xuICAgICAgaWYgKGRyYWcgIT0gbnVsbCAmJiBkcmFnICE9PSBmYWxzZSkge1xuICAgICAgICBkcmFnT3B0aW9ucyA9IHtcbiAgICAgICAgICBoYW5kbGVDbHM6IGAubW9kYWwtaGVhZGVyLCAuYW50LW1vZGFsLXRpdGxlYCxcbiAgICAgICAgICAuLi4odHlwZW9mIGRyYWcgPT09ICdvYmplY3QnID8gZHJhZyA6IHt9KVxuICAgICAgICB9O1xuICAgICAgICBjbHMucHVzaChDTFNfRFJBRywgZHJhZ1dyYXBDbHMpO1xuICAgICAgfVxuICAgICAgY29uc3QgbXRoID0gaXNCdWlsZEluID8gdGhpcy5zcnZbY29tcF0gOiB0aGlzLnNydi5jcmVhdGU7XG4gICAgICBjb25zdCBzdWJqZWN0OiBOek1vZGFsUmVmPE56U2FmZUFueSwgTnpTYWZlQW55PiA9IG10aC5jYWxsKHRoaXMuc3J2LCB7XG4gICAgICAgIG56V3JhcENsYXNzTmFtZTogY2xzLmpvaW4oJyAnKSxcbiAgICAgICAgbnpDb250ZW50OiBpc0J1aWxkSW4gPyB1bmRlZmluZWQgOiBjb21wLFxuICAgICAgICBueldpZHRoOiB3aWR0aCA/IHdpZHRoIDogdW5kZWZpbmVkLFxuICAgICAgICBuekZvb3RlcjogbnVsbCxcbiAgICAgICAgbnpEYXRhOiBwYXJhbXMsXG4gICAgICAgIC4uLm1vZGFsT3B0aW9uc1xuICAgICAgfSBhcyBNb2RhbE9wdGlvbnMpO1xuICAgICAgLy8g5L+d55WZIG56Q29tcG9uZW50UGFyYW1zIOWOn+aciemjjuagvO+8jOS9huS+neeEtuWPr+S7pemAmui/hyBASW5qZWN0KE5aX01PREFMX0RBVEEpIOiOt+WPllxuICAgICAgaWYgKHN1YmplY3QuY29tcG9uZW50SW5zdGFuY2UgIT0gbnVsbCAmJiB1c2VOekRhdGEgIT09IHRydWUpIHtcbiAgICAgICAgT2JqZWN0LmFzc2lnbihzdWJqZWN0LmNvbXBvbmVudEluc3RhbmNlLCBwYXJhbXMpO1xuICAgICAgfVxuICAgICAgc3ViamVjdC5hZnRlck9wZW5cbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFrZSgxKSxcbiAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKGRyYWdPcHRpb25zICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgZHJhZ1JlZiA9IHRoaXMuY3JlYXRlRHJhZ1JlZihkcmFnT3B0aW9ucywgYC4ke2RyYWdXcmFwQ2xzfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGZpbHRlcigoKSA9PiBmb2N1cyAhPSBudWxsKSxcbiAgICAgICAgICBkZWxheShtb2RhbE9wdGlvbnM/Lm56Tm9BbmltYXRpb24gPyAxMCA6IDI0MSlcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICBjb25zdCBidG5zID0gc3ViamVjdFxuICAgICAgICAgICAgLmdldEVsZW1lbnQoKVxuICAgICAgICAgICAgLnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KCcuYW50LW1vZGFsLWNvbmZpcm0tYnRucywgLm1vZGFsLWZvb3RlcicpXG4gICAgICAgICAgICA/LnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTEJ1dHRvbkVsZW1lbnQ+KCcuYW50LWJ0bicpO1xuICAgICAgICAgIGNvbnN0IGJ0blNpemUgPSBidG5zPy5sZW5ndGggPz8gMDtcbiAgICAgICAgICBsZXQgZWw6IEhUTUxCdXR0b25FbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gICAgICAgICAgaWYgKGJ0blNpemUgPT09IDEpIHtcbiAgICAgICAgICAgIGVsID0gYnRucyFbMF07XG4gICAgICAgICAgfSBlbHNlIGlmIChidG5TaXplID4gMSkge1xuICAgICAgICAgICAgZWwgPSBidG5zIVtmb2N1cyA9PT0gJ29rJyA/IDEgOiAwXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGVsICE9IG51bGwpIHtcbiAgICAgICAgICAgIGVsLmZvY3VzKCk7XG4gICAgICAgICAgICBlbC5kYXRhc2V0LmZvY3VzZWQgPSBmb2N1cztcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgc3ViamVjdC5hZnRlckNsb3NlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKChyZXM6IE56U2FmZUFueSkgPT4ge1xuICAgICAgICBpZiAob3B0aW9ucyEuZXhhY3QgPT09IHRydWUpIHtcbiAgICAgICAgICBpZiAocmVzICE9IG51bGwpIHtcbiAgICAgICAgICAgIG9ic2VydmVyLm5leHQocmVzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb2JzZXJ2ZXIubmV4dChyZXMpO1xuICAgICAgICB9XG4gICAgICAgIG9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICAgIGRyYWdSZWY/LmRpc3Bvc2UoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIOaehOW7uumdmeaAgeahhu+8jOeCueWHu+iSmeWxguS4jeWFgeiuuOWFs+mXrVxuICAgKlxuICAgKiBAcGFyYW0gY29tcCDnu4Tku7ZcbiAgICogQHBhcmFtIHBhcmFtcyDnu4Tku7blj4LmlbBcbiAgICogQHBhcmFtIG9wdGlvbnMg6aKd5aSW5Y+C5pWwXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIHRoaXMubW9kYWxIZWxwZXIub3BlbihGb3JtRWRpdENvbXBvbmVudCwgeyBpIH0pLnN1YnNjcmliZShyZXMgPT4gdGhpcy5sb2FkKCkpO1xuICAgKiAvLyDlr7nkuo7nu4Tku7bnmoTmiJDlip8m5YWz6Zet55qE5aSE55CG6K+05piOXG4gICAqIC8vIOaIkOWKn++8jOWFtuS4rSBgbnpNb2RhbFJlZmAg5oyH55uu5qCH57uE5Lu25Zyo5p6E6YCg5Ye95pWwIGBOek1vZGFsUmVmYCDlj5jph4/lkI1cbiAgICogdGhpcy5uek1vZGFsUmVmLmNsb3NlKGRhdGEpO1xuICAgKiB0aGlzLm56TW9kYWxSZWYuY2xvc2UoKTtcbiAgICogLy8g5YWz6ZetXG4gICAqIHRoaXMubnpNb2RhbFJlZi5kZXN0cm95KCk7XG4gICAqL1xuICBjcmVhdGVTdGF0aWMoXG4gICAgY29tcDogVGVtcGxhdGVSZWY8TnpTYWZlQW55PiB8IFR5cGU8TnpTYWZlQW55PixcbiAgICBwYXJhbXM/OiBOelNhZmVBbnksXG4gICAgb3B0aW9ucz86IE1vZGFsSGVscGVyT3B0aW9uc1xuICApOiBPYnNlcnZhYmxlPE56U2FmZUFueT4ge1xuICAgIGNvbnN0IG1vZGFsT3B0aW9ucyA9IHtcbiAgICAgIG56TWFza0Nsb3NhYmxlOiBmYWxzZSxcbiAgICAgIC4uLihvcHRpb25zICYmIG9wdGlvbnMubW9kYWxPcHRpb25zKVxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlKGNvbXAsIHBhcmFtcywgeyAuLi5vcHRpb25zLCBtb2RhbE9wdGlvbnMgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { DOCUMENT, isPlatformServer } from '@angular/common';
|
|
2
|
-
import { PLATFORM_ID, inject } from '@angular/core';
|
|
3
|
-
export function stepPreloader() {
|
|
4
|
-
const doc = inject(DOCUMENT);
|
|
5
|
-
const ssr = isPlatformServer(inject(PLATFORM_ID));
|
|
6
|
-
if (ssr) {
|
|
7
|
-
return () => { };
|
|
8
|
-
}
|
|
9
|
-
const body = doc.querySelector('body');
|
|
10
|
-
body.style.overflow = 'hidden';
|
|
11
|
-
let done = false;
|
|
12
|
-
return () => {
|
|
13
|
-
if (done)
|
|
14
|
-
return;
|
|
15
|
-
done = true;
|
|
16
|
-
const preloader = doc.querySelector('.preloader');
|
|
17
|
-
if (preloader == null)
|
|
18
|
-
return;
|
|
19
|
-
const CLS = 'preloader-hidden';
|
|
20
|
-
preloader.addEventListener('transitionend', () => {
|
|
21
|
-
preloader.className = CLS;
|
|
22
|
-
});
|
|
23
|
-
preloader.className += ` ${CLS}-add ${CLS}-add-active`;
|
|
24
|
-
body.style.overflow = '';
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlbG9hZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUvc3JjL3NlcnZpY2VzL3ByZWxvYWRlci9wcmVsb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBELE1BQU0sVUFBVSxhQUFhO0lBQzNCLE1BQU0sR0FBRyxHQUFhLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2QyxNQUFNLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNsRCxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1IsT0FBTyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUNELE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQWtCLE1BQU0sQ0FBRSxDQUFDO0lBQ3pELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMvQixJQUFJLElBQUksR0FBRyxLQUFLLENBQUM7SUFFakIsT0FBTyxHQUFHLEVBQUU7UUFDVixJQUFJLElBQUk7WUFBRSxPQUFPO1FBRWpCLElBQUksR0FBRyxJQUFJLENBQUM7UUFDWixNQUFNLFNBQVMsR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFjLFlBQVksQ0FBQyxDQUFDO1FBQy9ELElBQUksU0FBUyxJQUFJLElBQUk7WUFBRSxPQUFPO1FBRTlCLE1BQU0sR0FBRyxHQUFHLGtCQUFrQixDQUFDO1FBQy9CLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFO1lBQy9DLFNBQVMsQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLFNBQVMsSUFBSSxJQUFJLEdBQUcsUUFBUSxHQUFHLGFBQWEsQ0FBQztRQUN2RCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDM0IsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5ULCBpc1BsYXRmb3JtU2VydmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFBMQVRGT1JNX0lELCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGZ1bmN0aW9uIHN0ZXBQcmVsb2FkZXIoKTogKCkgPT4gdm9pZCB7XG4gIGNvbnN0IGRvYzogRG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuICBjb25zdCBzc3IgPSBpc1BsYXRmb3JtU2VydmVyKGluamVjdChQTEFURk9STV9JRCkpO1xuICBpZiAoc3NyKSB7XG4gICAgcmV0dXJuICgpID0+IHt9O1xuICB9XG4gIGNvbnN0IGJvZHkgPSBkb2MucXVlcnlTZWxlY3RvcjxIVE1MQm9keUVsZW1lbnQ+KCdib2R5JykhO1xuICBib2R5LnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbic7XG4gIGxldCBkb25lID0gZmFsc2U7XG5cbiAgcmV0dXJuICgpID0+IHtcbiAgICBpZiAoZG9uZSkgcmV0dXJuO1xuXG4gICAgZG9uZSA9IHRydWU7XG4gICAgY29uc3QgcHJlbG9hZGVyID0gZG9jLnF1ZXJ5U2VsZWN0b3I8SFRNTEVsZW1lbnQ+KCcucHJlbG9hZGVyJyk7XG4gICAgaWYgKHByZWxvYWRlciA9PSBudWxsKSByZXR1cm47XG5cbiAgICBjb25zdCBDTFMgPSAncHJlbG9hZGVyLWhpZGRlbic7XG4gICAgcHJlbG9hZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ3RyYW5zaXRpb25lbmQnLCAoKSA9PiB7XG4gICAgICBwcmVsb2FkZXIuY2xhc3NOYW1lID0gQ0xTO1xuICAgIH0pO1xuICAgIHByZWxvYWRlci5jbGFzc05hbWUgKz0gYCAke0NMU30tYWRkICR7Q0xTfS1hZGQtYWN0aXZlYDtcbiAgICBib2R5LnN0eWxlLm92ZXJmbG93ID0gJyc7XG4gIH07XG59XG4iXX0=
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@delon/util/config";
|
|
4
|
-
export const REP_MAX = 6;
|
|
5
|
-
export const SPAN_MAX = 24;
|
|
6
|
-
export class ResponsiveService {
|
|
7
|
-
constructor(cogSrv) {
|
|
8
|
-
this.cog = cogSrv.merge('themeResponsive', {
|
|
9
|
-
rules: {
|
|
10
|
-
1: { xs: 24 },
|
|
11
|
-
2: { xs: 24, sm: 12 },
|
|
12
|
-
3: { xs: 24, sm: 12, md: 8 },
|
|
13
|
-
4: { xs: 24, sm: 12, md: 8, lg: 6 },
|
|
14
|
-
5: { xs: 24, sm: 12, md: 8, lg: 6, xl: 4 },
|
|
15
|
-
6: { xs: 24, sm: 12, md: 8, lg: 6, xl: 4, xxl: 2 }
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
if (Object.keys(this.cog.rules)
|
|
19
|
-
.map(i => +i)
|
|
20
|
-
.some((i) => i < 1 || i > REP_MAX)) {
|
|
21
|
-
throw new Error(`[theme] the responseive rule index value range must be 1-${REP_MAX}`);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
genCls(count, defaultCol = 1) {
|
|
25
|
-
const rule = { ...this.cog.rules[count > REP_MAX ? REP_MAX : Math.max(count, 1)] };
|
|
26
|
-
const antColClass = 'ant-col';
|
|
27
|
-
const itemMaxSpan = SPAN_MAX / defaultCol;
|
|
28
|
-
const paddingSpan = (value) => {
|
|
29
|
-
if (value == null || defaultCol <= 1 || count >= defaultCol)
|
|
30
|
-
return value;
|
|
31
|
-
return Math.max(value, count * itemMaxSpan);
|
|
32
|
-
};
|
|
33
|
-
const clsMap = [`${antColClass}-xs-${paddingSpan(rule.xs)}`];
|
|
34
|
-
if (rule.sm)
|
|
35
|
-
clsMap.push(`${antColClass}-sm-${paddingSpan(rule.sm)}`);
|
|
36
|
-
if (rule.md)
|
|
37
|
-
clsMap.push(`${antColClass}-md-${paddingSpan(rule.md)}`);
|
|
38
|
-
if (rule.lg)
|
|
39
|
-
clsMap.push(`${antColClass}-lg-${paddingSpan(rule.lg)}`);
|
|
40
|
-
if (rule.xl)
|
|
41
|
-
clsMap.push(`${antColClass}-xl-${paddingSpan(rule.xl)}`);
|
|
42
|
-
if (rule.xxl)
|
|
43
|
-
clsMap.push(`${antColClass}-xxl-${paddingSpan(rule.xxl)}`);
|
|
44
|
-
return clsMap;
|
|
45
|
-
}
|
|
46
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ResponsiveService, deps: [{ token: i1.AlainConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
47
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ResponsiveService, providedIn: 'root' }); }
|
|
48
|
-
}
|
|
49
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ResponsiveService, decorators: [{
|
|
50
|
-
type: Injectable,
|
|
51
|
-
args: [{ providedIn: 'root' }]
|
|
52
|
-
}], ctorParameters: () => [{ type: i1.AlainConfigService }] });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzcG9uc2l2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lL3NyYy9zZXJ2aWNlcy9yZXNwb25zaXZlL3Jlc3BvbnNpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBSTNDLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUM7QUFDekIsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQztBQUszQixNQUFNLE9BQU8saUJBQWlCO0lBRTVCLFlBQVksTUFBMEI7UUFDcEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFO1lBQ3pDLEtBQUssRUFBRTtnQkFDTCxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFO2dCQUNiLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRTtnQkFDckIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7Z0JBQzVCLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7Z0JBQ25DLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTtnQkFDMUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUU7YUFDbkQ7U0FDRixDQUFFLENBQUM7UUFDSixJQUNFLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUM7YUFDeEIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDWixJQUFJLENBQUMsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxFQUM1QyxDQUFDO1lBQ0QsTUFBTSxJQUFJLEtBQUssQ0FBQyw0REFBNEQsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN6RixDQUFDO0lBQ0gsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFhLEVBQUUsYUFBcUIsQ0FBQztRQUMxQyxNQUFNLElBQUksR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbkYsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDO1FBRTlCLE1BQU0sV0FBVyxHQUFHLFFBQVEsR0FBRyxVQUFVLENBQUM7UUFDMUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUF5QixFQUFzQixFQUFFO1lBQ3BFLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxVQUFVLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxVQUFVO2dCQUFFLE9BQU8sS0FBSyxDQUFDO1lBQzFFLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxHQUFHLFdBQVcsQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FBQztRQUNGLE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBRyxXQUFXLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0QsSUFBSSxJQUFJLENBQUMsRUFBRTtZQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxXQUFXLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEUsSUFBSSxJQUFJLENBQUMsRUFBRTtZQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxXQUFXLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEUsSUFBSSxJQUFJLENBQUMsRUFBRTtZQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxXQUFXLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEUsSUFBSSxJQUFJLENBQUMsRUFBRTtZQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxXQUFXLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDdEUsSUFBSSxJQUFJLENBQUMsR0FBRztZQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxXQUFXLFFBQVEsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekUsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQzs4R0F0Q1UsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FESixNQUFNOzsyRkFDbkIsaUJBQWlCO2tCQUQ3QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQWxhaW5Db25maWdTZXJ2aWNlLCBBbGFpblRoZW1lUmVzcG9uc2l2ZUNvbmZpZyB9IGZyb20gJ0BkZWxvbi91dGlsL2NvbmZpZyc7XG5cbmV4cG9ydCBjb25zdCBSRVBfTUFYID0gNjtcbmV4cG9ydCBjb25zdCBTUEFOX01BWCA9IDI0O1xuXG5leHBvcnQgdHlwZSBSRVBfVFlQRSA9IDEgfCAyIHwgMyB8IDQgfCA1IHwgNjtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBSZXNwb25zaXZlU2VydmljZSB7XG4gIHByaXZhdGUgY29nOiBBbGFpblRoZW1lUmVzcG9uc2l2ZUNvbmZpZztcbiAgY29uc3RydWN0b3IoY29nU3J2OiBBbGFpbkNvbmZpZ1NlcnZpY2UpIHtcbiAgICB0aGlzLmNvZyA9IGNvZ1Nydi5tZXJnZSgndGhlbWVSZXNwb25zaXZlJywge1xuICAgICAgcnVsZXM6IHtcbiAgICAgICAgMTogeyB4czogMjQgfSxcbiAgICAgICAgMjogeyB4czogMjQsIHNtOiAxMiB9LFxuICAgICAgICAzOiB7IHhzOiAyNCwgc206IDEyLCBtZDogOCB9LFxuICAgICAgICA0OiB7IHhzOiAyNCwgc206IDEyLCBtZDogOCwgbGc6IDYgfSxcbiAgICAgICAgNTogeyB4czogMjQsIHNtOiAxMiwgbWQ6IDgsIGxnOiA2LCB4bDogNCB9LFxuICAgICAgICA2OiB7IHhzOiAyNCwgc206IDEyLCBtZDogOCwgbGc6IDYsIHhsOiA0LCB4eGw6IDIgfVxuICAgICAgfVxuICAgIH0pITtcbiAgICBpZiAoXG4gICAgICBPYmplY3Qua2V5cyh0aGlzLmNvZy5ydWxlcylcbiAgICAgICAgLm1hcChpID0+ICtpKVxuICAgICAgICAuc29tZSgoaTogbnVtYmVyKSA9PiBpIDwgMSB8fCBpID4gUkVQX01BWClcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgW3RoZW1lXSB0aGUgcmVzcG9uc2VpdmUgcnVsZSBpbmRleCB2YWx1ZSByYW5nZSBtdXN0IGJlIDEtJHtSRVBfTUFYfWApO1xuICAgIH1cbiAgfVxuXG4gIGdlbkNscyhjb3VudDogbnVtYmVyLCBkZWZhdWx0Q29sOiBudW1iZXIgPSAxKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IHJ1bGUgPSB7IC4uLnRoaXMuY29nLnJ1bGVzW2NvdW50ID4gUkVQX01BWCA/IFJFUF9NQVggOiBNYXRoLm1heChjb3VudCwgMSldIH07XG4gICAgY29uc3QgYW50Q29sQ2xhc3MgPSAnYW50LWNvbCc7XG5cbiAgICBjb25zdCBpdGVtTWF4U3BhbiA9IFNQQU5fTUFYIC8gZGVmYXVsdENvbDtcbiAgICBjb25zdCBwYWRkaW5nU3BhbiA9ICh2YWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkKTogbnVtYmVyIHwgdW5kZWZpbmVkID0+IHtcbiAgICAgIGlmICh2YWx1ZSA9PSBudWxsIHx8IGRlZmF1bHRDb2wgPD0gMSB8fCBjb3VudCA+PSBkZWZhdWx0Q29sKSByZXR1cm4gdmFsdWU7XG4gICAgICByZXR1cm4gTWF0aC5tYXgodmFsdWUsIGNvdW50ICogaXRlbU1heFNwYW4pO1xuICAgIH07XG4gICAgY29uc3QgY2xzTWFwID0gW2Ake2FudENvbENsYXNzfS14cy0ke3BhZGRpbmdTcGFuKHJ1bGUueHMpfWBdO1xuICAgIGlmIChydWxlLnNtKSBjbHNNYXAucHVzaChgJHthbnRDb2xDbGFzc30tc20tJHtwYWRkaW5nU3BhbihydWxlLnNtKX1gKTtcbiAgICBpZiAocnVsZS5tZCkgY2xzTWFwLnB1c2goYCR7YW50Q29sQ2xhc3N9LW1kLSR7cGFkZGluZ1NwYW4ocnVsZS5tZCl9YCk7XG4gICAgaWYgKHJ1bGUubGcpIGNsc01hcC5wdXNoKGAke2FudENvbENsYXNzfS1sZy0ke3BhZGRpbmdTcGFuKHJ1bGUubGcpfWApO1xuICAgIGlmIChydWxlLnhsKSBjbHNNYXAucHVzaChgJHthbnRDb2xDbGFzc30teGwtJHtwYWRkaW5nU3BhbihydWxlLnhsKX1gKTtcbiAgICBpZiAocnVsZS54eGwpIGNsc01hcC5wdXNoKGAke2FudENvbENsYXNzfS14eGwtJHtwYWRkaW5nU3BhbihydWxlLnh4bCl9YCk7XG4gICAgcmV0dXJuIGNsc01hcDtcbiAgfVxufVxuIl19
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { Directionality } from '@angular/cdk/bidi';
|
|
2
|
-
import { Platform } from '@angular/cdk/platform';
|
|
3
|
-
import { DOCUMENT } from '@angular/common';
|
|
4
|
-
import { Injectable, inject } from '@angular/core';
|
|
5
|
-
import { filter, map } from 'rxjs';
|
|
6
|
-
import { AlainConfigService } from '@delon/util/config';
|
|
7
|
-
import { NzConfigService } from 'ng-zorro-antd/core/config';
|
|
8
|
-
import { SettingsService } from '../settings/settings.service';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
export const HTML_DIR = 'dir';
|
|
11
|
-
export const RTL_DIRECTION = 'direction';
|
|
12
|
-
export const RTL_NZ_COMPONENTS = ['modal', 'drawer', 'message', 'notification', 'image'];
|
|
13
|
-
export const RTL_DELON_COMPONENTS = ['loading', 'onboarding'];
|
|
14
|
-
export const LTR = 'ltr';
|
|
15
|
-
export const RTL = 'rtl';
|
|
16
|
-
export class RTLService {
|
|
17
|
-
/**
|
|
18
|
-
* Get or Set the current text direction
|
|
19
|
-
*
|
|
20
|
-
* 获取或设置当前文字方向
|
|
21
|
-
*/
|
|
22
|
-
get dir() {
|
|
23
|
-
return this._dir;
|
|
24
|
-
}
|
|
25
|
-
set dir(value) {
|
|
26
|
-
this._dir = value;
|
|
27
|
-
this.updateLibConfig();
|
|
28
|
-
this.updateHtml();
|
|
29
|
-
// Should be wait inited
|
|
30
|
-
Promise.resolve().then(() => {
|
|
31
|
-
this.d.value = value;
|
|
32
|
-
this.d.change.emit(value);
|
|
33
|
-
this.srv.setLayout(RTL_DIRECTION, value);
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Get the next text direction
|
|
38
|
-
*
|
|
39
|
-
* 获取下一次文字方向
|
|
40
|
-
*/
|
|
41
|
-
get nextDir() {
|
|
42
|
-
return this.dir === LTR ? RTL : LTR;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Subscription change notification
|
|
46
|
-
*
|
|
47
|
-
* 订阅变更通知
|
|
48
|
-
*/
|
|
49
|
-
get change() {
|
|
50
|
-
return this.srv.notify.pipe(filter(w => w.name === RTL_DIRECTION), map(v => v.value));
|
|
51
|
-
}
|
|
52
|
-
constructor() {
|
|
53
|
-
this.d = inject(Directionality);
|
|
54
|
-
this.nz = inject(NzConfigService);
|
|
55
|
-
this.delon = inject(AlainConfigService);
|
|
56
|
-
this.platform = inject(Platform);
|
|
57
|
-
this.doc = inject(DOCUMENT);
|
|
58
|
-
this.srv = inject(SettingsService);
|
|
59
|
-
this._dir = LTR;
|
|
60
|
-
this.dir = this.srv.layout.direction === RTL ? RTL : LTR;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Toggle text direction
|
|
64
|
-
*
|
|
65
|
-
* 切换文字方向
|
|
66
|
-
*/
|
|
67
|
-
toggle() {
|
|
68
|
-
this.dir = this.nextDir;
|
|
69
|
-
}
|
|
70
|
-
updateHtml() {
|
|
71
|
-
if (!this.platform.isBrowser) {
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
const htmlEl = this.doc.querySelector('html');
|
|
75
|
-
if (htmlEl) {
|
|
76
|
-
const dir = this.dir;
|
|
77
|
-
htmlEl.style.direction = dir;
|
|
78
|
-
htmlEl.classList.remove(RTL, LTR);
|
|
79
|
-
htmlEl.classList.add(dir);
|
|
80
|
-
htmlEl.setAttribute(HTML_DIR, dir);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
updateLibConfig() {
|
|
84
|
-
RTL_NZ_COMPONENTS.forEach(name => {
|
|
85
|
-
this.nz.set(name, { nzDirection: this.dir });
|
|
86
|
-
});
|
|
87
|
-
RTL_DELON_COMPONENTS.forEach(name => {
|
|
88
|
-
this.delon.set(name, { direction: this.dir });
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RTLService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
92
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RTLService, providedIn: 'root' }); }
|
|
93
|
-
}
|
|
94
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RTLService, decorators: [{
|
|
95
|
-
type: Injectable,
|
|
96
|
-
args: [{ providedIn: 'root' }]
|
|
97
|
-
}], ctorParameters: () => [] });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnRsLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS9zcmMvc2VydmljZXMvcnRsL3J0bC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBYyxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUc1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7O0FBRS9ELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUM7QUFDOUIsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFdBQVcsQ0FBQztBQUN6QyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUN6RixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFNBQVMsRUFBRSxZQUFZLENBQUMsQ0FBQztBQUM5RCxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDO0FBQ3pCLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUM7QUFHekIsTUFBTSxPQUFPLFVBQVU7SUFTckI7Ozs7T0FJRztJQUNILElBQUksR0FBRztRQUNMLE9BQU8s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QUFJLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztRQUNILG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFpQixFQUFFLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzdELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FwRlUsVUFBVTtrSEFBVixVQUFVLGNBREcsTUFBTTs7MkZBQ25CLFVBQVU7a0JBRHRCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aW9uLCBEaXJlY3Rpb25hbGl0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgQWxhaW5Db25maWdTZXJ2aWNlIH0gZnJvbSAnQGRlbG9uL3V0aWwvY29uZmlnJztcbmltcG9ydCB7IE56Q29uZmlnU2VydmljZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvY29yZS9jb25maWcnO1xuaW1wb3J0IHR5cGUgeyBOelNhZmVBbnkgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xuXG5pbXBvcnQgeyBTZXR0aW5nc1NlcnZpY2UgfSBmcm9tICcuLi9zZXR0aW5ncy9zZXR0aW5ncy5zZXJ2aWNlJztcblxuZXhwb3J0IGNvbnN0IEhUTUxfRElSID0gJ2Rpcic7XG5leHBvcnQgY29uc3QgUlRMX0RJUkVDVElPTiA9ICdkaXJlY3Rpb24nO1xuZXhwb3J0IGNvbnN0IFJUTF9OWl9DT01QT05FTlRTID0gWydtb2RhbCcsICdkcmF3ZXInLCAnbWVzc2FnZScsICdub3RpZmljYXRpb24nLCAnaW1hZ2UnXTtcbmV4cG9ydCBjb25zdCBSVExfREVMT05fQ09NUE9ORU5UUyA9IFsnbG9hZGluZycsICdvbmJvYXJkaW5nJ107XG5leHBvcnQgY29uc3QgTFRSID0gJ2x0cic7XG5leHBvcnQgY29uc3QgUlRMID0gJ3J0bCc7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgUlRMU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZCA9IGluamVjdChEaXJlY3Rpb25hbGl0eSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgbnogPSBpbmplY3QoTnpDb25maWdTZXJ2aWNlKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkZWxvbiA9IGluamVjdChBbGFpbkNvbmZpZ1NlcnZpY2UpO1xuICBwcml2YXRlIHJlYWRvbmx5IHBsYXRmb3JtID0gaW5qZWN0KFBsYXRmb3JtKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkb2MgPSBpbmplY3QoRE9DVU1FTlQpO1xuICBwcml2YXRlIHJlYWRvbmx5IHNydiA9IGluamVjdChTZXR0aW5nc1NlcnZpY2UpO1xuXG4gIHByaXZhdGUgX2RpcjogRGlyZWN0aW9uID0gTFRSO1xuICAvKipcbiAgICogR2V0IG9yIFNldCB0aGUgY3VycmVudCB0ZXh0IGRpcmVjdGlvblxuICAgKlxuICAgKiDojrflj5bmiJborr7nva7lvZPliY3mloflrZfmlrnlkJFcbiAgICovXG4gIGdldCBkaXIoKTogRGlyZWN0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5fZGlyO1xuICB9XG4gIHNldCBkaXIodmFsdWU6IERpcmVjdGlvbikge1xuICAgIHRoaXMuX2RpciA9IHZhbHVlO1xuICAgIHRoaXMudXBkYXRlTGliQ29uZmlnKCk7XG4gICAgdGhpcy51cGRhdGVIdG1sKCk7XG4gICAgLy8gU2hvdWxkIGJlIHdhaXQgaW5pdGVkXG4gICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAodGhpcy5kIGFzIE56U2FmZUFueSkudmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMuZC5jaGFuZ2UuZW1pdCh2YWx1ZSk7XG4gICAgICB0aGlzLnNydi5zZXRMYXlvdXQoUlRMX0RJUkVDVElPTiwgdmFsdWUpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbmV4dCB0ZXh0IGRpcmVjdGlvblxuICAgKlxuICAgKiDojrflj5bkuIvkuIDmrKHmloflrZfmlrnlkJFcbiAgICovXG4gIGdldCBuZXh0RGlyKCk6IERpcmVjdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuZGlyID09PSBMVFIgPyBSVEwgOiBMVFI7XG4gIH1cblxuICAvKipcbiAgICogU3Vic2NyaXB0aW9uIGNoYW5nZSBub3RpZmljYXRpb25cbiAgICpcbiAgICog6K6i6ZiF5Y+Y5pu06YCa55+lXG4gICAqL1xuICBnZXQgY2hhbmdlKCk6IE9ic2VydmFibGU8RGlyZWN0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuc3J2Lm5vdGlmeS5waXBlKFxuICAgICAgZmlsdGVyKHcgPT4gdy5uYW1lID09PSBSVExfRElSRUNUSU9OKSxcbiAgICAgIG1hcCh2ID0+IHYudmFsdWUpXG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZGlyID0gdGhpcy5zcnYubGF5b3V0LmRpcmVjdGlvbiA9PT0gUlRMID8gUlRMIDogTFRSO1xuICB9XG5cbiAgLyoqXG4gICAqIFRvZ2dsZSB0ZXh0IGRpcmVjdGlvblxuICAgKlxuICAgKiDliIfmjaLmloflrZfmlrnlkJFcbiAgICovXG4gIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRpciA9IHRoaXMubmV4dERpcjtcbiAgfVxuXG4gIHByaXZhdGUgdXBkYXRlSHRtbCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMucGxhdGZvcm0uaXNCcm93c2VyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGh0bWxFbCA9IHRoaXMuZG9jLnF1ZXJ5U2VsZWN0b3IoJ2h0bWwnKSBhcyBIVE1MRWxlbWVudDtcbiAgICBpZiAoaHRtbEVsKSB7XG4gICAgICBjb25zdCBkaXIgPSB0aGlzLmRpcjtcbiAgICAgIGh0bWxFbC5zdHlsZS5kaXJlY3Rpb24gPSBkaXI7XG4gICAgICBodG1sRWwuY2xhc3NMaXN0LnJlbW92ZShSVEwsIExUUik7XG4gICAgICBodG1sRWwuY2xhc3NMaXN0LmFkZChkaXIpO1xuICAgICAgaHRtbEVsLnNldEF0dHJpYnV0ZShIVE1MX0RJUiwgZGlyKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZUxpYkNvbmZpZygpOiB2b2lkIHtcbiAgICBSVExfTlpfQ09NUE9ORU5UUy5mb3JFYWNoKG5hbWUgPT4ge1xuICAgICAgdGhpcy5uei5zZXQobmFtZSBhcyBOelNhZmVBbnksIHsgbnpEaXJlY3Rpb246IHRoaXMuZGlyIH0pO1xuICAgIH0pO1xuICAgIFJUTF9ERUxPTl9DT01QT05FTlRTLmZvckVhY2gobmFtZSA9PiB7XG4gICAgICB0aGlzLmRlbG9uLnNldChuYW1lIGFzIE56U2FmZUFueSwgeyBkaXJlY3Rpb246IHRoaXMuZGlyIH0pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './types';
|
|
2
|
-
export * from './settings.service';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS9zcmMvc2VydmljZXMvc2V0dGluZ3MvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxTQUFTLENBQUM7QUFDeEIsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXR0aW5ncy5zZXJ2aWNlJztcbiJdfQ==
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { Platform } from '@angular/cdk/platform';
|
|
2
|
-
import { Injectable, InjectionToken, inject } from '@angular/core';
|
|
3
|
-
import { Subject } from 'rxjs';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export const ALAIN_SETTING_KEYS = new InjectionToken('ALAIN_SETTING_KEYS');
|
|
6
|
-
export const ALAIN_SETTING_DEFAULT = {
|
|
7
|
-
provide: ALAIN_SETTING_KEYS,
|
|
8
|
-
useValue: {
|
|
9
|
-
layout: 'layout',
|
|
10
|
-
user: 'user',
|
|
11
|
-
app: 'app'
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
export class SettingsService {
|
|
15
|
-
constructor() {
|
|
16
|
-
this.KEYS = inject(ALAIN_SETTING_KEYS);
|
|
17
|
-
this.platform = inject(Platform);
|
|
18
|
-
this.notify$ = new Subject();
|
|
19
|
-
this._app = null;
|
|
20
|
-
this._user = null;
|
|
21
|
-
this._layout = null;
|
|
22
|
-
}
|
|
23
|
-
getData(key) {
|
|
24
|
-
if (!this.platform.isBrowser) {
|
|
25
|
-
return null;
|
|
26
|
-
}
|
|
27
|
-
return JSON.parse(localStorage.getItem(key) || 'null') || null;
|
|
28
|
-
}
|
|
29
|
-
setData(key, value) {
|
|
30
|
-
if (!this.platform.isBrowser) {
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
localStorage.setItem(key, JSON.stringify(value));
|
|
34
|
-
}
|
|
35
|
-
get layout() {
|
|
36
|
-
if (!this._layout) {
|
|
37
|
-
this._layout = {
|
|
38
|
-
fixed: true,
|
|
39
|
-
collapsed: false,
|
|
40
|
-
boxed: false,
|
|
41
|
-
lang: null,
|
|
42
|
-
...this.getData(this.KEYS.layout)
|
|
43
|
-
};
|
|
44
|
-
this.setData(this.KEYS.layout, this._layout);
|
|
45
|
-
}
|
|
46
|
-
return this._layout;
|
|
47
|
-
}
|
|
48
|
-
get app() {
|
|
49
|
-
if (!this._app) {
|
|
50
|
-
this._app = {
|
|
51
|
-
year: new Date().getFullYear(),
|
|
52
|
-
...this.getData(this.KEYS.app)
|
|
53
|
-
};
|
|
54
|
-
this.setData(this.KEYS.app, this._app);
|
|
55
|
-
}
|
|
56
|
-
return this._app;
|
|
57
|
-
}
|
|
58
|
-
get user() {
|
|
59
|
-
if (!this._user) {
|
|
60
|
-
this._user = { ...this.getData(this.KEYS.user) };
|
|
61
|
-
this.setData(this.KEYS.user, this._user);
|
|
62
|
-
}
|
|
63
|
-
return this._user;
|
|
64
|
-
}
|
|
65
|
-
get notify() {
|
|
66
|
-
return this.notify$.asObservable();
|
|
67
|
-
}
|
|
68
|
-
setLayout(name, value) {
|
|
69
|
-
if (typeof name === 'string') {
|
|
70
|
-
this.layout[name] = value;
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
this._layout = name;
|
|
74
|
-
}
|
|
75
|
-
this.setData(this.KEYS.layout, this._layout);
|
|
76
|
-
this.notify$.next({ type: 'layout', name, value });
|
|
77
|
-
return true;
|
|
78
|
-
}
|
|
79
|
-
getLayout() {
|
|
80
|
-
return this._layout;
|
|
81
|
-
}
|
|
82
|
-
setApp(value) {
|
|
83
|
-
this._app = value;
|
|
84
|
-
this.setData(this.KEYS.app, value);
|
|
85
|
-
this.notify$.next({ type: 'app', value });
|
|
86
|
-
}
|
|
87
|
-
getApp() {
|
|
88
|
-
return this._app;
|
|
89
|
-
}
|
|
90
|
-
setUser(value) {
|
|
91
|
-
this._user = value;
|
|
92
|
-
this.setData(this.KEYS.user, value);
|
|
93
|
-
this.notify$.next({ type: 'user', value });
|
|
94
|
-
}
|
|
95
|
-
getUser() {
|
|
96
|
-
return this._user;
|
|
97
|
-
}
|
|
98
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SettingsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
99
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SettingsService, providedIn: 'root' }); }
|
|
100
|
-
}
|
|
101
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SettingsService, decorators: [{
|
|
102
|
-
type: Injectable,
|
|
103
|
-
args: [{ providedIn: 'root' }]
|
|
104
|
-
}] });
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lL3NyYy9zZXJ2aWNlcy9zZXR0aW5ncy9zZXR0aW5ncy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBWSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFlM0MsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxjQUFjLENBQWUsb0JBQW9CLENBQUMsQ0FBQztBQUN6RixNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBYTtJQUM3QyxPQUFPLEVBQUUsa0JBQWtCO0lBQzNCLFFBQVEsRUFBRTtRQUNSLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLElBQUksRUFBRSxNQUFNO1FBQ1osR0FBRyxFQUFFLEtBQUs7S0FDWDtDQUNGLENBQUM7QUFHRixNQUFNLE9BQU8sZUFBZTtJQUQ1QjtRQUVtQixTQUFJLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDbEMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVyQyxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQWtCLENBQUM7UUFDeEMsU0FBSSxHQUFhLElBQUksQ0FBQztRQUN0QixVQUFLLEdBQWEsSUFBSSxDQUFDO1FBQ3ZCLFlBQU8sR0FBYSxJQUFJLENBQUM7S0EwRmxDO0lBeEZDLE9BQU8sQ0FBQyxHQUFXO1FBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzdCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZ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QUcsS0FBSyxDQUFDO1FBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUNELE1BQU07UUFDSixPQUFPLElBQUksQ0FBQyxJQUFvQixDQUFDO0lBQ25DLENBQUM7SUFJRCxPQUFPLENBQUMsS0FBUTtRQUNkLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUNELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxLQUFxQixDQUFDO0lBQ3BDLENBQUM7OEdBaEdVLGVBQWU7a0hBQWYsZUFBZSxjQURGLE1BQU07OzJGQUNuQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7IEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBQcm92aWRlciwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB0eXBlIHsgTnpTYWZlQW55IH0gZnJvbSAnbmctem9ycm8tYW50ZC9jb3JlL3R5cGVzJztcblxuaW1wb3J0IHsgQXBwLCBMYXlvdXQsIFNldHRpbmdzTm90aWZ5LCBVc2VyIH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2V0dGluZ3NLZXlzIHtcbiAgLyoqIExheW91dCBkYXRhIHNwZWNpZmllcyB0aGUgc3RvcmVkIGtleSwgIGRlZmF1bHQ6IGBsYXlvdXRgICovXG4gIGxheW91dDogc3RyaW5nO1xuICAvKiogVXNlciBkYXRhIHNwZWNpZmllcyB0aGUgc3RvcmVkIGtleSwgIGRlZmF1bHQ6IGB1c2VyYCAqL1xuICB1c2VyOiBzdHJpbmc7XG4gIC8qKiBBcHAgZGF0YSBzcGVjaWZpZXMgdGhlIHN0b3JlZCBrZXksICBkZWZhdWx0OiBgYXBwYCAqL1xuICBhcHA6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IEFMQUlOX1NFVFRJTkdfS0VZUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTZXR0aW5nc0tleXM+KCdBTEFJTl9TRVRUSU5HX0tFWVMnKTtcbmV4cG9ydCBjb25zdCBBTEFJTl9TRVRUSU5HX0RFRkFVTFQ6IFByb3ZpZGVyID0ge1xuICBwcm92aWRlOiBBTEFJTl9TRVRUSU5HX0tFWVMsXG4gIHVzZVZhbHVlOiB7XG4gICAgbGF5b3V0OiAnbGF5b3V0JyxcbiAgICB1c2VyOiAndXNlcicsXG4gICAgYXBwOiAnYXBwJ1xuICB9XG59O1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFNldHRpbmdzU2VydmljZTxMIGV4dGVuZHMgTGF5b3V0ID0gTGF5b3V0LCBVIGV4dGVuZHMgVXNlciA9IFVzZXIsIEEgZXh0ZW5kcyBBcHAgPSBBcHA+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBLRVlTID0gaW5qZWN0KEFMQUlOX1NFVFRJTkdfS0VZUyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGxhdGZvcm0gPSBpbmplY3QoUGxhdGZvcm0pO1xuXG4gIHByaXZhdGUgbm90aWZ5JCA9IG5ldyBTdWJqZWN0PFNldHRpbmdzTm90aWZ5PigpO1xuICBwcml2YXRlIF9hcHA6IEEgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBfdXNlcjogVSB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9sYXlvdXQ6IEwgfCBudWxsID0gbnVsbDtcblxuICBnZXREYXRhKGtleTogc3RyaW5nKTogTnpTYWZlQW55IHtcbiAgICBpZiAoIXRoaXMucGxhdGZvcm0uaXNCcm93c2VyKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KSB8fCAnbnVsbCcpIHx8IG51bGw7XG4gIH1cblxuICBzZXREYXRhKGtleTogc3RyaW5nLCB2YWx1ZTogTnpTYWZlQW55KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnBsYXRmb3JtLmlzQnJvd3Nlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KHZhbHVlKSk7XG4gIH1cblxuICBnZXQgbGF5b3V0KCk6IEwge1xuICAgIGlmICghdGhpcy5fbGF5b3V0KSB7XG4gICAgICB0aGlzLl9sYXlvdXQgPSB7XG4gICAgICAgIGZpeGVkOiB0cnVlLFxuICAgICAgICBjb2xsYXBzZWQ6IGZhbHNlLFxuICAgICAgICBib3hlZDogZmFsc2UsXG4gICAgICAgIGxhbmc6IG51bGwsXG4gICAgICAgIC4uLnRoaXMuZ2V0RGF0YSh0aGlzLktFWVMubGF5b3V0KVxuICAgICAgfTtcbiAgICAgIHRoaXMuc2V0RGF0YSh0aGlzLktFWVMubGF5b3V0LCB0aGlzLl9sYXlvdXQpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fbGF5b3V0IGFzIEw7XG4gIH1cblxuICBnZXQgYXBwKCk6IEEge1xuICAgIGlmICghdGhpcy5fYXBwKSB7XG4gICAgICB0aGlzLl9hcHAgPSB7XG4gICAgICAgIHllYXI6IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSxcbiAgICAgICAgLi4udGhpcy5nZXREYXRhKHRoaXMuS0VZUy5hcHApXG4gICAgICB9O1xuICAgICAgdGhpcy5zZXREYXRhKHRoaXMuS0VZUy5hcHAsIHRoaXMuX2FwcCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9hcHAgYXMgQTtcbiAgfVxuXG4gIGdldCB1c2VyKCk6IFUge1xuICAgIGlmICghdGhpcy5fdXNlcikge1xuICAgICAgdGhpcy5fdXNlciA9IHsgLi4udGhpcy5nZXREYXRhKHRoaXMuS0VZUy51c2VyKSB9O1xuICAgICAgdGhpcy5zZXREYXRhKHRoaXMuS0VZUy51c2VyLCB0aGlzLl91c2VyKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX3VzZXIgYXMgVTtcbiAgfVxuXG4gIGdldCBub3RpZnkoKTogT2JzZXJ2YWJsZTxTZXR0aW5nc05vdGlmeT4ge1xuICAgIHJldHVybiB0aGlzLm5vdGlmeSQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBzZXRMYXlvdXQ8VCBleHRlbmRzIExheW91dCA9IExheW91dD4obmFtZTogVCwgdmFsdWU/OiBOelNhZmVBbnkpOiBib29sZWFuO1xuICBzZXRMYXlvdXQobmFtZTogc3RyaW5nIHwgTCwgdmFsdWU/OiBOelNhZmVBbnkpOiBib29sZWFuO1xuICBzZXRMYXlvdXQobmFtZTogc3RyaW5nIHwgTCwgdmFsdWU/OiBOelNhZmVBbnkpOiBib29sZWFuIHtcbiAgICBpZiAodHlwZW9mIG5hbWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICAodGhpcy5sYXlvdXQgYXMgTGF5b3V0KVtuYW1lXSA9IHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9sYXlvdXQgPSBuYW1lO1xuICAgIH1cbiAgICB0aGlzLnNldERhdGEodGhpcy5LRVlTLmxheW91dCwgdGhpcy5fbGF5b3V0KTtcbiAgICB0aGlzLm5vdGlmeSQubmV4dCh7IHR5cGU6ICdsYXlvdXQnLCBuYW1lLCB2YWx1ZSB9IGFzIE56U2FmZUFueSk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgZ2V0TGF5b3V0PFQ+KCk6IFQge1xuICAgIHJldHVybiB0aGlzLl9sYXlvdXQgYXMgdW5rbm93biBhcyBUO1xuICB9XG5cbiAgc2V0QXBwPFQgZXh0ZW5kcyBBcHAgPSBBcHA+KHZhbHVlOiBUKTogdm9pZDtcbiAgc2V0QXBwKHZhbHVlOiBBKTogdm9pZDtcbiAgc2V0QXBwKHZhbHVlOiBBKTogdm9pZCB7XG4gICAgdGhpcy5fYXBwID0gdmFsdWU7XG4gICAgdGhpcy5zZXREYXRhKHRoaXMuS0VZUy5hcHAsIHZhbHVlKTtcbiAgICB0aGlzLm5vdGlmeSQubmV4dCh7IHR5cGU6ICdhcHAnLCB2YWx1ZSB9KTtcbiAgfVxuICBnZXRBcHA8VD4oKTogVCB7XG4gICAgcmV0dXJuIHRoaXMuX2FwcCBhcyB1bmtub3duIGFzIFQ7XG4gIH1cblxuICBzZXRVc2VyPFQgZXh0ZW5kcyBVc2VyID0gVXNlcj4odmFsdWU6IFQpOiB2b2lkO1xuICBzZXRVc2VyKHZhbHVlOiBVKTogdm9pZDtcbiAgc2V0VXNlcih2YWx1ZTogVSk6IHZvaWQge1xuICAgIHRoaXMuX3VzZXIgPSB2YWx1ZTtcbiAgICB0aGlzLnNldERhdGEodGhpcy5LRVlTLnVzZXIsIHZhbHVlKTtcbiAgICB0aGlzLm5vdGlmeSQubmV4dCh7IHR5cGU6ICd1c2VyJywgdmFsdWUgfSk7XG4gIH1cbiAgZ2V0VXNlcjxUPigpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5fdXNlciBhcyB1bmtub3duIGFzIFQ7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS9zcmMvc2VydmljZXMvc2V0dGluZ3MvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcblxuaW1wb3J0IHR5cGUgeyBOelNhZmVBbnkgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFwcCB7XG4gIFtrZXk6IHN0cmluZ106IE56U2FmZUFueTtcbiAgLyoqIE5hbWUgZm9yIGFwcCAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKiogRGVzY3JpcHRpb24gZm9yIGFwcCAqL1xuICBkZXNjcmlwdGlvbj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyIHtcbiAgW2tleTogc3RyaW5nXTogTnpTYWZlQW55O1xuICAvKiogTmFtZSBmb3IgY3VycmVudCB1c2VyICovXG4gIG5hbWU/OiBzdHJpbmc7XG4gIC8qKiBBdmF0YXIgZm9yIGN1cnJlbnQgdXNlciAqL1xuICBhdmF0YXI/OiBzdHJpbmc7XG4gIC8qKiBFbWFpbCBmb3IgY3VycmVudCB1c2VyICovXG4gIGVtYWlsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheW91dCB7XG4gIFtrZXk6IHN0cmluZ106IE56U2FmZUFueTtcbiAgLyoqIFdoZXRoZXIgdG8gZm9sZCBtZW51ICovXG4gIGNvbGxhcHNlZDogYm9vbGVhbjtcbiAgLyoqIEN1cnJlbnQgbGFuZ3VhZ2UgKi9cbiAgbGFuZzogc3RyaW5nO1xuICAvKiogQ29sb3Igd2VhayAqL1xuICBjb2xvcldlYWs6IGJvb2xlYW47XG4gIC8qKiBEaXJlY3Rpb24gb2YgdGhlIHRleHQgKi9cbiAgZGlyZWN0aW9uOiBEaXJlY3Rpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2V0dGluZ3NOb3RpZnkge1xuICB0eXBlOiAnbGF5b3V0JyB8ICdhcHAnIHwgJ3VzZXInO1xuICAvKiogVXBkYXRlIGBrZXlgIG5hbWUsIGxpbWl0ZWQgYGxheW91dGAgdHlwZSAqL1xuICBuYW1lPzogc3RyaW5nO1xuICB2YWx1ZTogTnpTYWZlQW55O1xufVxuIl19
|