@odx/angular 2.3.1 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +33 -0
- package/charts-config/README.md +3 -0
- package/charts-config/index.d.ts +3 -0
- package/charts-config/lib/charts-theme.directive.d.ts +10 -0
- package/charts-config/lib/charts-theme.module.d.ts +8 -0
- package/charts-config/lib/charts-theme.service.d.ts +60 -0
- package/components/rich-list/README.md +3 -0
- package/components/rich-list/index.d.ts +4 -0
- package/components/rich-list/lib/components/index.d.ts +1 -0
- package/components/rich-list/lib/components/rich-list-item/rich-list-item.component.d.ts +13 -0
- package/components/rich-list/lib/directives/index.d.ts +1 -0
- package/components/rich-list/lib/directives/rich-list-item-title.d.ts +5 -0
- package/components/rich-list/lib/rich-list.component.d.ts +8 -0
- package/components/rich-list/lib/rich-list.module.d.ts +10 -0
- package/esm2020/charts-config/index.mjs +4 -0
- package/esm2020/charts-config/lib/charts-theme.directive.mjs +27 -0
- package/esm2020/charts-config/lib/charts-theme.module.mjs +33 -0
- package/esm2020/charts-config/lib/charts-theme.service.mjs +114 -0
- package/esm2020/charts-config/odx-angular-charts-config.mjs +5 -0
- package/esm2020/components/rich-list/index.mjs +5 -0
- package/esm2020/components/rich-list/lib/components/index.mjs +2 -0
- package/esm2020/components/rich-list/lib/components/rich-list-item/rich-list-item.component.mjs +46 -0
- package/esm2020/components/rich-list/lib/directives/index.mjs +2 -0
- package/esm2020/components/rich-list/lib/directives/rich-list-item-title.mjs +14 -0
- package/esm2020/components/rich-list/lib/rich-list.component.mjs +25 -0
- package/esm2020/components/rich-list/lib/rich-list.module.mjs +20 -0
- package/esm2020/components/rich-list/odx-angular-components-rich-list.mjs +5 -0
- package/esm2020/lib/services/window-ref.mjs +25 -2
- package/esm2020/utils/lib/helpers/dom.mjs +13 -1
- package/fesm2015/odx-angular-charts-config.mjs +171 -0
- package/fesm2015/odx-angular-charts-config.mjs.map +1 -0
- package/fesm2015/odx-angular-components-rich-list.mjs +96 -0
- package/fesm2015/odx-angular-components-rich-list.mjs.map +1 -0
- package/fesm2015/odx-angular-utils.mjs +13 -1
- package/fesm2015/odx-angular-utils.mjs.map +1 -1
- package/fesm2015/odx-angular.mjs +24 -1
- package/fesm2015/odx-angular.mjs.map +1 -1
- package/fesm2020/odx-angular-charts-config.mjs +171 -0
- package/fesm2020/odx-angular-charts-config.mjs.map +1 -0
- package/fesm2020/odx-angular-components-rich-list.mjs +96 -0
- package/fesm2020/odx-angular-components-rich-list.mjs.map +1 -0
- package/fesm2020/odx-angular-utils.mjs +13 -1
- package/fesm2020/odx-angular-utils.mjs.map +1 -1
- package/fesm2020/odx-angular.mjs +24 -1
- package/fesm2020/odx-angular.mjs.map +1 -1
- package/lib/services/window-ref.d.ts +3 -0
- package/package.json +25 -3
- package/utils/lib/helpers/dom.d.ts +2 -0
|
@@ -8,7 +8,8 @@ import * as i0 from "@angular/core";
|
|
|
8
8
|
export class WindowRef {
|
|
9
9
|
constructor() {
|
|
10
10
|
this.title = inject(Title);
|
|
11
|
-
this.
|
|
11
|
+
this.document = inject(DOCUMENT);
|
|
12
|
+
this.nativeWindow = this.document.defaultView ?? window;
|
|
12
13
|
this.isOnline$ = fromEvents(this.nativeWindow, 'offline', 'online').pipe(startWith(null), map(() => this.isOnline()), distinctUntilChanged(), shareReplay({ refCount: true }));
|
|
13
14
|
this.pageTitle$ = (inject(Router, { optional: true })?.events ?? EMPTY).pipe(filter((event) => event instanceof NavigationEnd), startWith(null), debounceTime(0), map(() => this.title.getTitle()), shareReplay({ refCount: true }));
|
|
14
15
|
}
|
|
@@ -34,6 +35,28 @@ export class WindowRef {
|
|
|
34
35
|
const componentType = reflectComponentType(type);
|
|
35
36
|
return componentType ? this.nativeWindow.document.querySelector(componentType.selector) : null;
|
|
36
37
|
}
|
|
38
|
+
getCSSVariable(name, element = this.document.body) {
|
|
39
|
+
return this.nativeWindow.getComputedStyle(element).getPropertyValue(`--${name}`).trim();
|
|
40
|
+
}
|
|
41
|
+
getCSSColorStyles(filter, selector = 'body') {
|
|
42
|
+
const selectorFilter = new RegExp(`^${selector}$`);
|
|
43
|
+
const nameFilter = new RegExp(`^--${filter}`);
|
|
44
|
+
const arr = Array.from(this.document.styleSheets)
|
|
45
|
+
.filter(({ href }) => !href || href.startsWith(this.nativeWindow.location.origin))
|
|
46
|
+
.map(({ cssRules }) => Array.from(cssRules)[0])
|
|
47
|
+
.filter((rule) => rule instanceof CSSStyleRule && selectorFilter.test(rule.selectorText.trim()))
|
|
48
|
+
.reduce((colors, rule) => {
|
|
49
|
+
Object.values(rule.style)
|
|
50
|
+
.map((style) => style.toString().trim())
|
|
51
|
+
.filter((name) => Boolean(name) && nameFilter.test(name))
|
|
52
|
+
.forEach((name) => {
|
|
53
|
+
const key = name.replace('--', '');
|
|
54
|
+
colors[key] = this.getCSSVariable(key);
|
|
55
|
+
});
|
|
56
|
+
return colors;
|
|
57
|
+
}, {});
|
|
58
|
+
return arr;
|
|
59
|
+
}
|
|
37
60
|
}
|
|
38
61
|
WindowRef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: WindowRef, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
39
62
|
WindowRef.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: WindowRef, providedIn: 'root' });
|
|
@@ -43,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
|
|
|
43
66
|
providedIn: 'root',
|
|
44
67
|
}]
|
|
45
68
|
}] });
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZG93LXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL3dpbmRvdy1yZWYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLG9CQUFvQixFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7O0FBS3RHLE1BQU0sT0FBTyxTQUFTO0lBSHRCO1FBSW1CLFVBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixpQkFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxJQUFJLE1BQU0sQ0FBQztRQUNuRCxjQUFTLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FDakYsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUNmLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsRUFDMUIsb0JBQW9CLEVBQUUsRUFDdEIsV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQ2hDLENBQUM7UUFD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O1lBQy9DLE1BQU0sQ0FBQyxNQUFNLENBQUUsSUFBcUIsQ0FBQyxLQUFLLENBQUM7aUJBQ3hDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDO2lCQUN2QyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUN4RCxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDaEIsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ25DLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3pDLENBQUMsQ0FBQyxDQUFDO1lBQ0wsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ1QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDOztzR0F0RVUsU0FBUzswR0FBVCxTQUFTLGNBRlIsTUFBTTsyRkFFUCxTQUFTO2tCQUhyQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSwgcmVmbGVjdENvbXBvbmVudFR5cGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgZnJvbUV2ZW50cyB9IGZyb20gJ0BvZHgvYW5ndWxhci9yeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIEVNUFRZLCBmaWx0ZXIsIG1hcCwgc2hhcmVSZXBsYXksIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgV2luZG93UmVmIHtcbiAgcHJpdmF0ZSByZWFkb25seSB0aXRsZSA9IGluamVjdChUaXRsZSk7XG4gIHB1YmxpYyByZWFkb25seSBkb2N1bWVudCA9IGluamVjdChET0NVTUVOVCk7XG4gIHB1YmxpYyByZWFkb25seSBuYXRpdmVXaW5kb3cgPSB0aGlzLmRvY3VtZW50LmRlZmF1bHRWaWV3ID8/IHdpbmRvdztcbiAgcHVibGljIHJlYWRvbmx5IGlzT25saW5lJCA9IGZyb21FdmVudHModGhpcy5uYXRpdmVXaW5kb3csICdvZmZsaW5lJywgJ29ubGluZScpLnBpcGUoXG4gICAgc3RhcnRXaXRoKG51bGwpLFxuICAgIG1hcCgoKSA9PiB0aGlzLmlzT25saW5lKCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoeyByZWZDb3VudDogdHJ1ZSB9KVxuICApO1xuICBwdWJsaWMgcmVhZG9ubHkgcGFnZVRpdGxlJCA9IChpbmplY3QoUm91dGVyLCB7IG9wdGlvbmFsOiB0cnVlIH0pPy5ldmVudHMgPz8gRU1QVFkpLnBpcGUoXG4gICAgZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSxcbiAgICBzdGFydFdpdGgobnVsbCksXG4gICAgZGVib3VuY2VUaW1lKDApLFxuICAgIG1hcCgoKSA9PiB0aGlzLnRpdGxlLmdldFRpdGxlKCkpLFxuICAgIHNoYXJlUmVwbGF5KHsgcmVmQ291bnQ6IHRydWUgfSlcbiAgKTtcblxuICBwdWJsaWMgZ2V0IGxvY2F0aW9uKCk6IExvY2F0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5uYXRpdmVXaW5kb3cubG9jYXRpb247XG4gIH1cblxuICBwdWJsaWMgaXNPbmxpbmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubmF0aXZlV2luZG93Lm5hdmlnYXRvci5vbkxpbmU7XG4gIH1cblxuICBwdWJsaWMgZ2V0TGFuZ3VhZ2UoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5uYXRpdmVXaW5kb3cubmF2aWdhdG9yLmxhbmd1YWdlO1xuICB9XG5cbiAgcHVibGljIGdldExhbmd1YWdlQ29kZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldExhbmd1YWdlKCkuc3BsaXQoLy18Xy8pWzBdLnRvTG93ZXJDYXNlKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0T3JpZ2luKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMubG9jYXRpb24ub3JpZ2luO1xuICB9XG5cbiAgcHVibGljIHJlbG9hZFBhZ2UoKTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMubG9jYXRpb24ucmVsb2FkKCk7XG4gIH1cblxuICBwdWJsaWMgcXVlcnlCeUNvbXBvbmVudDxUPih0eXBlOiBUeXBlPFQ+KTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICBjb25zdCBjb21wb25lbnRUeXBlID0gcmVmbGVjdENvbXBvbmVudFR5cGUodHlwZSk7XG5cbiAgICByZXR1cm4gY29tcG9uZW50VHlwZSA/IHRoaXMubmF0aXZlV2luZG93LmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoY29tcG9uZW50VHlwZS5zZWxlY3RvcikgOiBudWxsO1xuICB9XG5cbiAgcHVibGljIGdldENTU1ZhcmlhYmxlKG5hbWU6IHN0cmluZywgZWxlbWVudDogSFRNTEVsZW1lbnQgPSB0aGlzLmRvY3VtZW50LmJvZHkpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLm5hdGl2ZVdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQpLmdldFByb3BlcnR5VmFsdWUoYC0tJHtuYW1lfWApLnRyaW0oKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRDU1NDb2xvclN0eWxlcyhmaWx0ZXI6IHN0cmluZywgc2VsZWN0b3IgPSAnYm9keScpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgICBjb25zdCBzZWxlY3RvckZpbHRlciA9IG5ldyBSZWdFeHAoYF4ke3NlbGVjdG9yfSRgKTtcbiAgICBjb25zdCBuYW1lRmlsdGVyID0gbmV3IFJlZ0V4cChgXi0tJHtmaWx0ZXJ9YCk7XG4gICAgY29uc3QgYXJyID0gQXJyYXkuZnJvbSh0aGlzLmRvY3VtZW50LnN0eWxlU2hlZXRzKVxuICAgICAgLmZpbHRlcigoeyBocmVmIH0pID0+ICFocmVmIHx8IGhyZWYuc3RhcnRzV2l0aCh0aGlzLm5hdGl2ZVdpbmRvdy5sb2NhdGlvbi5vcmlnaW4pKVxuICAgICAgLm1hcCgoeyBjc3NSdWxlcyB9KSA9PiBBcnJheS5mcm9tKGNzc1J1bGVzKVswXSlcbiAgICAgIC5maWx0ZXIoKHJ1bGUpID0+IHJ1bGUgaW5zdGFuY2VvZiBDU1NTdHlsZVJ1bGUgJiYgc2VsZWN0b3JGaWx0ZXIudGVzdChydWxlLnNlbGVjdG9yVGV4dC50cmltKCkpKVxuICAgICAgLnJlZHVjZSgoY29sb3JzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+LCBydWxlKSA9PiB7XG4gICAgICAgIE9iamVjdC52YWx1ZXMoKHJ1bGUgYXMgQ1NTU3R5bGVSdWxlKS5zdHlsZSlcbiAgICAgICAgICAubWFwKChzdHlsZSkgPT4gc3R5bGUudG9TdHJpbmcoKS50cmltKCkpXG4gICAgICAgICAgLmZpbHRlcigobmFtZSkgPT4gQm9vbGVhbihuYW1lKSAmJiBuYW1lRmlsdGVyLnRlc3QobmFtZSkpXG4gICAgICAgICAgLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IG5hbWUucmVwbGFjZSgnLS0nLCAnJyk7XG4gICAgICAgICAgICBjb2xvcnNba2V5XSA9IHRoaXMuZ2V0Q1NTVmFyaWFibGUoa2V5KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGNvbG9ycztcbiAgICAgIH0sIHt9KTtcbiAgICByZXR1cm4gYXJyO1xuICB9XG59XG4iXX0=
|
|
@@ -42,6 +42,18 @@ export function createResizeObserver(callback) {
|
|
|
42
42
|
return { observe: () => void 0, disconnect: () => void 0, unobserve: () => void 0 };
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
+
export function createMutationObserver(observer, callback) {
|
|
46
|
+
try {
|
|
47
|
+
return new MutationObserver((mutations) => {
|
|
48
|
+
if (callback(mutations)) {
|
|
49
|
+
observer.next(mutations[0]);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
catch (error) {
|
|
54
|
+
return { disconnect: () => void 0, observe: () => void 0, takeRecords: () => [] };
|
|
55
|
+
}
|
|
56
|
+
}
|
|
45
57
|
export function containsElement(parent, other, inclusive = true) {
|
|
46
58
|
if (!parent || !other)
|
|
47
59
|
return false;
|
|
@@ -49,4 +61,4 @@ export function containsElement(parent, other, inclusive = true) {
|
|
|
49
61
|
return false;
|
|
50
62
|
return parent.contains(other);
|
|
51
63
|
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3V0aWxzL3NyYy9saWIvaGVscGVycy9kb20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxPQUFvQixFQUFFLE1BQXVGO0lBQ3ZJLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztBQUN2QyxDQUFDO0FBRUQsTUFBTSxVQUFVLHdCQUF3QixDQUFDLEtBQWM7SUFDckQsT0FBTyxnQ0FBZ0MsQ0FBQyxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUM7QUFDNUQsQ0FBQztBQUVELE1BQU0sVUFBVSxnQ0FBZ0MsQ0FBQyxLQUFjO0lBQzdELE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztBQUMvQixDQUFDO0FBRUQsTUFBTSxVQUFVLEVBQUUsQ0FBQyxLQUFjO0lBQy9CLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7QUFDaEQsQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsQ0FBYSxFQUFFLENBQWE7SUFDdkQsT0FBTyxlQUFlLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztBQUN0QyxDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUFDLE9BQW9CLEVBQUUsUUFBaUI7SUFDM0UsSUFBSSxRQUFRLEVBQUU7UUFDWixXQUFXLENBQUMsT0FBTyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7S0FDOUM7U0FBTTtRQUNMLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNCLFdBQVcsQ0FBQyxPQUFPLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztLQUM1QztBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsT0FBb0I7SUFDcEQsT0FBTyxDQUFDLFlBQVksQ0FBQztBQUN2QixDQUFDO0FBRUQsTUFBTSxVQUFVLFlBQVksQ0FBQyxPQUFvQixFQUFFLFNBQWlCLEVBQUUsS0FBZTtJQUNuRixJQUFJLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRTtRQUNuQixPQUFPLENBQUMsWUFBWSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztLQUN4QztTQUFNO1FBQ0wsT0FBTyxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQzdDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxRQUFnQztJQUNuRSxJQUFJO1FBQ0YsT0FBTyxJQUFJLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUNyQztJQUFDLE1BQU07UUFDTixPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztLQUNyRjtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsUUFBb0MsRUFBRSxRQUFrRDtJQUM3SCxJQUFJO1FBQ0YsT0FBTyxJQUFJLGdCQUFnQixDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDeEMsSUFBSSxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQ3ZCLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDN0I7UUFDSCxDQUFDLENBQUMsQ0FBQztLQUNKO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDZCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7S0FDbkY7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLGVBQWUsQ0FBQyxNQUF1QixFQUFFLEtBQXNCLEVBQUUsU0FBUyxHQUFHLElBQUk7SUFDL0YsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLEtBQUs7UUFBRSxPQUFPLEtBQUssQ0FBQztJQUNwQyxJQUFJLENBQUMsU0FBUyxJQUFJLE1BQU0sS0FBSyxLQUFLO1FBQUUsT0FBTyxLQUFLLENBQUM7SUFDakQsT0FBTyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpc051bWJlciwgaXNTdHJpbmcgfSBmcm9tICcuL3R5cGUtZ3VhcmRzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGFwcGx5U3R5bGVzKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBzdHlsZXM6IFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbiB8IFJlY29yZDxrZXlvZiBDU1NTdHlsZURlY2xhcmF0aW9uLCBzdHJpbmcgfCBudWxsPj4pOiB2b2lkIHtcbiAgT2JqZWN0LmFzc2lnbihlbGVtZW50LnN0eWxlLCBzdHlsZXMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYm9vbGVhblRvQXR0cmlidXRlU3RyaW5nKHN0YXRlOiBib29sZWFuKTogc3RyaW5nIHtcbiAgcmV0dXJuIGJvb2xlYW5Ub09wdGlvbmFsQXR0cmlidXRlU3RyaW5nKHN0YXRlKSA/PyAnZmFsc2UnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYm9vbGVhblRvT3B0aW9uYWxBdHRyaWJ1dGVTdHJpbmcoc3RhdGU6IGJvb2xlYW4pOiBzdHJpbmcgfCBudWxsIHtcbiAgcmV0dXJuIHN0YXRlID8gJ3RydWUnIDogbnVsbDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHB4KHZhbHVlOiB1bmtub3duKTogYCR7bnVtYmVyfXB4YCB7XG4gIHJldHVybiBpc051bWJlcih2YWx1ZSkgPyBgJHt2YWx1ZX1weGAgOiAnMHB4Jztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNzc1RyYW5zbGF0ZSh4OiBzdHJpbmcgfCAwLCB5OiBzdHJpbmcgfCAwKTogYHRyYW5zbGF0ZTNkKCR7c3RyaW5nIHwgMH0sICR7c3RyaW5nIHwgMH0sIDApYCB7XG4gIHJldHVybiBgdHJhbnNsYXRlM2QoJHt4fSwgJHt5fSwgMClgO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGlzYWJsZUNTU1RyYW5zaXRpb25zKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBkaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICBpZiAoZGlzYWJsZWQpIHtcbiAgICBhcHBseVN0eWxlcyhlbGVtZW50LCB7IHRyYW5zaXRpb246ICdub25lJyB9KTtcbiAgfSBlbHNlIHtcbiAgICBmb3JjZUxheW91dFJlZmxvdyhlbGVtZW50KTtcbiAgICBhcHBseVN0eWxlcyhlbGVtZW50LCB7IHRyYW5zaXRpb246IG51bGwgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcmNlTGF5b3V0UmVmbG93KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gIGVsZW1lbnQub2Zmc2V0SGVpZ2h0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0QXR0cmlidXRlKGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU/OiB1bmtub3duKSB7XG4gIGlmIChpc1N0cmluZyh2YWx1ZSkpIHtcbiAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShhdHRyaWJ1dGUsIHZhbHVlKTtcbiAgfSBlbHNlIHtcbiAgICBlbGVtZW50LnRvZ2dsZUF0dHJpYnV0ZShhdHRyaWJ1dGUsICEhdmFsdWUpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVSZXNpemVPYnNlcnZlcihjYWxsYmFjazogUmVzaXplT2JzZXJ2ZXJDYWxsYmFjayk6IFJlc2l6ZU9ic2VydmVyIHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gbmV3IFJlc2l6ZU9ic2VydmVyKGNhbGxiYWNrKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIHsgb2JzZXJ2ZTogKCkgPT4gdm9pZCAwLCBkaXNjb25uZWN0OiAoKSA9PiB2b2lkIDAsIHVub2JzZXJ2ZTogKCkgPT4gdm9pZCAwIH07XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU11dGF0aW9uT2JzZXJ2ZXIob2JzZXJ2ZXI6IFN1YnNjcmliZXI8TXV0YXRpb25SZWNvcmQ+LCBjYWxsYmFjazogKG11dGF0aW9uczogTXV0YXRpb25SZWNvcmRbXSkgPT4gYm9vbGVhbik6IE11dGF0aW9uT2JzZXJ2ZXIge1xuICB0cnkge1xuICAgIHJldHVybiBuZXcgTXV0YXRpb25PYnNlcnZlcigobXV0YXRpb25zKSA9PiB7XG4gICAgICBpZiAoY2FsbGJhY2sobXV0YXRpb25zKSkge1xuICAgICAgICBvYnNlcnZlci5uZXh0KG11dGF0aW9uc1swXSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgcmV0dXJuIHsgZGlzY29ubmVjdDogKCkgPT4gdm9pZCAwLCBvYnNlcnZlOiAoKSA9PiB2b2lkIDAsIHRha2VSZWNvcmRzOiAoKSA9PiBbXSB9O1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb250YWluc0VsZW1lbnQocGFyZW50PzogRWxlbWVudCB8IG51bGwsIG90aGVyPzogRWxlbWVudCB8IG51bGwsIGluY2x1c2l2ZSA9IHRydWUpOiBib29sZWFuIHtcbiAgaWYgKCFwYXJlbnQgfHwgIW90aGVyKSByZXR1cm4gZmFsc2U7XG4gIGlmICghaW5jbHVzaXZlICYmIHBhcmVudCA9PT0gb3RoZXIpIHJldHVybiBmYWxzZTtcbiAgcmV0dXJuIHBhcmVudC5jb250YWlucyhvdGhlcik7XG59XG4iXX0=
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, Injectable, Directive, NgModule } from '@angular/core';
|
|
3
|
+
import * as i1 from 'ng2-charts';
|
|
4
|
+
import { ThemeService, BaseChartDirective, NgChartsModule, NgChartsConfiguration } from 'ng2-charts';
|
|
5
|
+
import { createMutationObserver, untilDestroyed } from '@odx/angular/utils';
|
|
6
|
+
import { DOCUMENT } from '@angular/common';
|
|
7
|
+
import { WindowRef } from '@odx/angular';
|
|
8
|
+
import { ThemingService } from '@odx/angular/theming';
|
|
9
|
+
import { distinctUntilChanged, Observable } from 'rxjs';
|
|
10
|
+
|
|
11
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
12
|
+
class ChartsThemeServise {
|
|
13
|
+
constructor() {
|
|
14
|
+
this.coreChartThemeService = inject(ThemeService);
|
|
15
|
+
this.document = inject(DOCUMENT);
|
|
16
|
+
this.windowRef = inject(WindowRef);
|
|
17
|
+
this.themingService = inject(ThemingService);
|
|
18
|
+
this.getOverrides = {
|
|
19
|
+
borderColor: this.windowRef.getCSSVariable('gray-200'),
|
|
20
|
+
backgroundColor: 'rgba(0,0,0,0)',
|
|
21
|
+
color: this.windowRef.getCSSVariable('blue-700'),
|
|
22
|
+
font: {
|
|
23
|
+
family: 'Pangea',
|
|
24
|
+
size: 13.333,
|
|
25
|
+
},
|
|
26
|
+
plugins: {
|
|
27
|
+
colors: { enabled: false },
|
|
28
|
+
tooltip: {
|
|
29
|
+
backgroundColor: this.windowRef.getCSSVariable('blue-800'),
|
|
30
|
+
cornerRadius: 3,
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
datasets: {
|
|
34
|
+
line: {
|
|
35
|
+
backgroundColor: (context) => `${this.seriesColors[context.datasetIndex]}66`,
|
|
36
|
+
borderColor: (context) => `${this.seriesColors[context.datasetIndex]}`,
|
|
37
|
+
pointBackgroundColor: (context) => `${this.seriesColors[context.datasetIndex]}`,
|
|
38
|
+
pointBorderColor: '#fff',
|
|
39
|
+
},
|
|
40
|
+
bar: {
|
|
41
|
+
backgroundColor: (context) => `${this.seriesColors[context.datasetIndex]}99`,
|
|
42
|
+
borderColor: (context) => `${this.seriesColors[context.datasetIndex]}`,
|
|
43
|
+
},
|
|
44
|
+
doughnut: {
|
|
45
|
+
backgroundColor: (context) => `${this.seriesColors[context.dataIndex]}`,
|
|
46
|
+
borderColor: this.windowRef.getCSSVariable('gray-200'),
|
|
47
|
+
},
|
|
48
|
+
polarArea: {
|
|
49
|
+
backgroundColor: (context) => `${this.seriesColors[context.dataIndex]}99`,
|
|
50
|
+
borderColor: (context) => `${this.seriesColors[context.dataIndex]}`,
|
|
51
|
+
},
|
|
52
|
+
get pie() {
|
|
53
|
+
return this.doughnut;
|
|
54
|
+
},
|
|
55
|
+
get bubble() {
|
|
56
|
+
return this.doughnut;
|
|
57
|
+
},
|
|
58
|
+
get scatter() {
|
|
59
|
+
return this.doughnut;
|
|
60
|
+
},
|
|
61
|
+
get area() {
|
|
62
|
+
return this.polarArea;
|
|
63
|
+
},
|
|
64
|
+
get radar() {
|
|
65
|
+
return this.line;
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
this.seriesColors = Object.values(this.windowRef.getCSSColorStyles('charts-series'));
|
|
70
|
+
this.observeThemeChanging$ = this.document.body.className.includes('sb-')
|
|
71
|
+
? this.buildBodyObserver().pipe(distinctUntilChanged())
|
|
72
|
+
: this.themingService.theme$;
|
|
73
|
+
}
|
|
74
|
+
setTheme(chartConf) {
|
|
75
|
+
const type = (chartConf && chartConf['type']) || 'bar';
|
|
76
|
+
this.coreChartThemeService.setColorschemesOptions(this.themeColorsOverrides(type));
|
|
77
|
+
}
|
|
78
|
+
themeColorsOverrides(type) {
|
|
79
|
+
const scales = type === 'pie' || type === 'doughnut'
|
|
80
|
+
? undefined
|
|
81
|
+
: {
|
|
82
|
+
x: {
|
|
83
|
+
ticks: { color: this.windowRef.getCSSVariable('blue-700') },
|
|
84
|
+
grid: { color: this.windowRef.getCSSVariable('gray-200') },
|
|
85
|
+
},
|
|
86
|
+
y: {
|
|
87
|
+
ticks: { color: this.windowRef.getCSSVariable('blue-700') },
|
|
88
|
+
grid: { color: this.windowRef.getCSSVariable('gray-200') },
|
|
89
|
+
},
|
|
90
|
+
};
|
|
91
|
+
return {
|
|
92
|
+
color: this.windowRef.getCSSVariable('blue-700'),
|
|
93
|
+
scales,
|
|
94
|
+
plugins: {
|
|
95
|
+
colors: {
|
|
96
|
+
forceOverride: true,
|
|
97
|
+
},
|
|
98
|
+
legend: {},
|
|
99
|
+
},
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
buildBodyObserver() {
|
|
103
|
+
return new Observable((observer) => {
|
|
104
|
+
const mutation = createMutationObserver(observer, (mutations) => mutations.some(({ type }) => type === 'attributes'));
|
|
105
|
+
mutation.observe(this.document.body, { attributes: true });
|
|
106
|
+
return () => mutation.disconnect();
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
ChartsThemeServise.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ChartsThemeServise, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
111
|
+
ChartsThemeServise.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ChartsThemeServise, providedIn: 'root' });
|
|
112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ChartsThemeServise, decorators: [{
|
|
113
|
+
type: Injectable,
|
|
114
|
+
args: [{ providedIn: 'root' }]
|
|
115
|
+
}] });
|
|
116
|
+
|
|
117
|
+
class ChartThemeDirective extends BaseChartDirective {
|
|
118
|
+
constructor(element, ngzone, parentThemeService) {
|
|
119
|
+
super(element, ngzone, parentThemeService);
|
|
120
|
+
this.chartsThemeServise = inject(ChartsThemeServise);
|
|
121
|
+
this.takeUntilDestroyed = untilDestroyed();
|
|
122
|
+
this.chartsThemeServise.observeThemeChanging$
|
|
123
|
+
.pipe(this.takeUntilDestroyed())
|
|
124
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
125
|
+
.subscribe(() => { var _a; return this.chartsThemeServise.setTheme((_a = this.chart) === null || _a === void 0 ? void 0 : _a.config); });
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
ChartThemeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ChartThemeDirective, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: i1.ThemeService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
129
|
+
ChartThemeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: ChartThemeDirective, isStandalone: true, selector: "canvas[odxChart]", usesInheritance: true, ngImport: i0 });
|
|
130
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ChartThemeDirective, decorators: [{
|
|
131
|
+
type: Directive,
|
|
132
|
+
args: [{
|
|
133
|
+
selector: 'canvas[odxChart]',
|
|
134
|
+
standalone: true,
|
|
135
|
+
}]
|
|
136
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.NgZone }, { type: i1.ThemeService }]; } });
|
|
137
|
+
|
|
138
|
+
class ChartThemeModule {
|
|
139
|
+
}
|
|
140
|
+
ChartThemeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ChartThemeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
141
|
+
ChartThemeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: ChartThemeModule, imports: [NgChartsModule, ChartThemeDirective], exports: [NgChartsModule, ChartThemeDirective] });
|
|
142
|
+
ChartThemeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ChartThemeModule, providers: [
|
|
143
|
+
{
|
|
144
|
+
provide: NgChartsConfiguration,
|
|
145
|
+
useFactory: (service) => ({ defaults: service.getOverrides, generateColors: false }),
|
|
146
|
+
deps: [ChartsThemeServise],
|
|
147
|
+
},
|
|
148
|
+
BaseChartDirective,
|
|
149
|
+
], imports: [NgChartsModule, NgChartsModule] });
|
|
150
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ChartThemeModule, decorators: [{
|
|
151
|
+
type: NgModule,
|
|
152
|
+
args: [{
|
|
153
|
+
imports: [NgChartsModule, ChartThemeDirective],
|
|
154
|
+
providers: [
|
|
155
|
+
{
|
|
156
|
+
provide: NgChartsConfiguration,
|
|
157
|
+
useFactory: (service) => ({ defaults: service.getOverrides, generateColors: false }),
|
|
158
|
+
deps: [ChartsThemeServise],
|
|
159
|
+
},
|
|
160
|
+
BaseChartDirective,
|
|
161
|
+
],
|
|
162
|
+
exports: [NgChartsModule, ChartThemeDirective],
|
|
163
|
+
}]
|
|
164
|
+
}] });
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Generated bundle index. Do not edit.
|
|
168
|
+
*/
|
|
169
|
+
|
|
170
|
+
export { ChartThemeDirective, ChartThemeModule, ChartsThemeServise };
|
|
171
|
+
//# sourceMappingURL=odx-angular-charts-config.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"odx-angular-charts-config.mjs","sources":["../../../../libs/angular/charts-config/src/lib/charts-theme.service.ts","../../../../libs/angular/charts-config/src/lib/charts-theme.directive.ts","../../../../libs/angular/charts-config/src/lib/charts-theme.module.ts","../../../../libs/angular/charts-config/src/odx-angular-charts-config.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { DOCUMENT } from '@angular/common';\nimport { inject, Injectable } from '@angular/core';\nimport { WindowRef } from '@odx/angular';\nimport { Theme, ThemingService } from '@odx/angular/theming';\nimport { createMutationObserver } from '@odx/angular/utils';\nimport { ChartConfiguration, ChartType, Color } from 'chart.js';\nimport { ThemeService } from 'ng2-charts';\nimport { distinctUntilChanged, Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class ChartsThemeServise {\n private readonly coreChartThemeService = inject(ThemeService);\n private readonly document = inject(DOCUMENT);\n private readonly windowRef = inject(WindowRef);\n private readonly themingService = inject(ThemingService);\n\n public getOverrides = {\n borderColor: this.windowRef.getCSSVariable('gray-200'),\n backgroundColor: 'rgba(0,0,0,0)',\n color: this.windowRef.getCSSVariable('blue-700'),\n font: {\n family: 'Pangea',\n size: 13.333,\n },\n plugins: {\n colors: { enabled: false },\n tooltip: {\n backgroundColor: this.windowRef.getCSSVariable('blue-800'),\n cornerRadius: 3,\n },\n },\n datasets: {\n line: {\n backgroundColor: (context: any) => `${this.seriesColors[context.datasetIndex]}66`,\n borderColor: (context: any) => `${this.seriesColors[context.datasetIndex]}`,\n pointBackgroundColor: (context: any) => `${this.seriesColors[context.datasetIndex]}`,\n pointBorderColor: '#fff',\n },\n bar: {\n backgroundColor: (context: any) => `${this.seriesColors[context.datasetIndex]}99`,\n borderColor: (context: any) => `${this.seriesColors[context.datasetIndex]}`,\n },\n doughnut: {\n backgroundColor: (context: any) => `${this.seriesColors[context.dataIndex]}`,\n borderColor: this.windowRef.getCSSVariable('gray-200'),\n },\n polarArea: {\n backgroundColor: (context: any) => `${this.seriesColors[context.dataIndex]}99`,\n borderColor: (context: any) => `${this.seriesColors[context.dataIndex]}`,\n },\n get pie(): Record<string, ((context: any) => Color) | Color> {\n return this.doughnut;\n },\n get bubble(): Record<string, ((context: any) => Color) | Color> {\n return this.doughnut;\n },\n get scatter(): Record<string, ((context: any) => Color) | Color> {\n return this.doughnut;\n },\n get area(): Record<string, ((context: any) => Color) | Color> {\n return this.polarArea;\n },\n get radar(): Record<string, ((context: any) => Color) | Color> {\n return this.line;\n },\n },\n };\n\n public seriesColors = Object.values(this.windowRef.getCSSColorStyles('charts-series'));\n public observeThemeChanging$: Observable<MutationRecord | Theme> = this.document.body.className.includes('sb-')\n ? this.buildBodyObserver().pipe(distinctUntilChanged())\n : this.themingService.theme$;\n\n public setTheme(chartConf: ChartConfiguration) {\n const type: ChartType = (chartConf && chartConf['type']) || 'bar';\n this.coreChartThemeService.setColorschemesOptions(this.themeColorsOverrides(type));\n }\n\n private themeColorsOverrides(type?: ChartType): ChartConfiguration['options'] {\n const scales =\n type === 'pie' || type === 'doughnut'\n ? undefined\n : {\n x: {\n ticks: { color: this.windowRef.getCSSVariable('blue-700') },\n grid: { color: this.windowRef.getCSSVariable('gray-200') },\n },\n y: {\n ticks: { color: this.windowRef.getCSSVariable('blue-700') },\n grid: { color: this.windowRef.getCSSVariable('gray-200') },\n },\n };\n return {\n color: this.windowRef.getCSSVariable('blue-700'),\n scales,\n plugins: {\n colors: {\n forceOverride: true,\n },\n legend: {},\n },\n };\n }\n\n private buildBodyObserver(): Observable<MutationRecord> {\n return new Observable((observer) => {\n const mutation: MutationObserver = createMutationObserver(observer, (mutations) => mutations.some(({ type }) => type === 'attributes'));\n mutation.observe(this.document.body, { attributes: true });\n return () => mutation.disconnect();\n });\n }\n}\n","import { Directive, ElementRef, inject, NgZone } from '@angular/core';\nimport { untilDestroyed } from '@odx/angular/utils';\nimport { BaseChartDirective, ThemeService } from 'ng2-charts';\nimport { ChartsThemeServise } from './charts-theme.service';\n\n@Directive({\n selector: 'canvas[odxChart]',\n standalone: true,\n})\nexport class ChartThemeDirective extends BaseChartDirective {\n private readonly chartsThemeServise = inject(ChartsThemeServise);\n private readonly takeUntilDestroyed = untilDestroyed();\n\n constructor(element: ElementRef, ngzone: NgZone, parentThemeService: ThemeService) {\n super(element, ngzone, parentThemeService);\n this.chartsThemeServise.observeThemeChanging$\n .pipe(this.takeUntilDestroyed())\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n .subscribe(() => this.chartsThemeServise.setTheme(this.chart?.config as any));\n }\n}\n","import { NgModule } from '@angular/core';\nimport { BaseChartDirective, NgChartsConfiguration, NgChartsModule } from 'ng2-charts';\nimport { ChartThemeDirective } from './charts-theme.directive';\nimport { ChartsThemeServise } from './charts-theme.service';\n\n@NgModule({\n imports: [NgChartsModule, ChartThemeDirective],\n providers: [\n {\n provide: NgChartsConfiguration,\n useFactory: (service: ChartsThemeServise) => ({ defaults: service.getOverrides, generateColors: false }),\n deps: [ChartsThemeServise],\n },\n BaseChartDirective,\n ],\n exports: [NgChartsModule, ChartThemeDirective],\n})\nexport class ChartThemeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { __decorate } from 'tslib';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { forwardRef, Component, ChangeDetectionStrategy, ViewEncapsulation, EventEmitter, Output, Directive, NgModule } from '@angular/core';
|
|
4
|
+
import { ExpandableContainerDirective, EXPANDABLE_CONTAINER, ExpandableItemDirective } from '@odx/angular/cdk/expandable';
|
|
5
|
+
import { CSSComponent } from '@odx/angular/internal';
|
|
6
|
+
import { injectElement, getUniqueId } from '@odx/angular/utils';
|
|
7
|
+
import { CoreModule } from '@odx/angular';
|
|
8
|
+
import { trigger, transition, useAnimation } from '@angular/animations';
|
|
9
|
+
import { expand, collapse } from '@odx/angular/animations';
|
|
10
|
+
import * as i2 from '@odx/angular/cdk/a11y';
|
|
11
|
+
import { A11yModule } from '@odx/angular/cdk/a11y';
|
|
12
|
+
import { IconComponent } from '@odx/angular/components/icon';
|
|
13
|
+
import * as i1 from '@angular/common';
|
|
14
|
+
|
|
15
|
+
var RichListComponent_1;
|
|
16
|
+
let RichListComponent = RichListComponent_1 = class RichListComponent extends ExpandableContainerDirective {
|
|
17
|
+
constructor() {
|
|
18
|
+
super(...arguments);
|
|
19
|
+
this.multiple = true;
|
|
20
|
+
this.element = injectElement();
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
RichListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RichListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
24
|
+
RichListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: RichListComponent, isStandalone: true, selector: "odx-rich-list", providers: [{ provide: EXPANDABLE_CONTAINER, useExisting: forwardRef(() => RichListComponent_1) }], usesInheritance: true, ngImport: i0, template: "<ng-content select=\"odx-rich-list-item\"></ng-content>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
25
|
+
RichListComponent = RichListComponent_1 = __decorate([
|
|
26
|
+
CSSComponent('rich-list')
|
|
27
|
+
], RichListComponent);
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RichListComponent, decorators: [{
|
|
29
|
+
type: Component,
|
|
30
|
+
args: [{ selector: 'odx-rich-list', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: EXPANDABLE_CONTAINER, useExisting: forwardRef(() => RichListComponent) }], template: "<ng-content select=\"odx-rich-list-item\"></ng-content>\n" }]
|
|
31
|
+
}] });
|
|
32
|
+
|
|
33
|
+
let RichListItemComponent = class RichListItemComponent extends ExpandableItemDirective {
|
|
34
|
+
constructor() {
|
|
35
|
+
super(...arguments);
|
|
36
|
+
this.element = injectElement();
|
|
37
|
+
this.id = getUniqueId('odx-rich-list-item');
|
|
38
|
+
this.expandedChange = new EventEmitter();
|
|
39
|
+
}
|
|
40
|
+
get titleId() {
|
|
41
|
+
return `${this.id}-title`;
|
|
42
|
+
}
|
|
43
|
+
get slotId() {
|
|
44
|
+
return `${this.id}-slot`;
|
|
45
|
+
}
|
|
46
|
+
onAnimationEnd() {
|
|
47
|
+
this.expandedChange.emit(this.expanded);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
RichListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RichListItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
51
|
+
RichListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: RichListItemComponent, isStandalone: true, selector: "odx-rich-list-item", outputs: { expandedChange: "expandedChange" }, host: { properties: { "class.odx-rich-list-item--expanded": "expanded", "attr.id": "id" } }, usesInheritance: true, ngImport: i0, template: "<div\n class=\"odx-rich-list-item__panel\"\n [attr.id]=\"titleId\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-controls]=\"slotId\"\n (odxCdkInteractive)=\"toggle()\"\n>\n <odx-icon class=\"odx-rich-list-item__icon\" name=\"chevron-right\" iconSet=\"core\"></odx-icon>\n <ng-content select=\"odx-rich-list-item-title\"></ng-content>\n</div>\n<div\n class=\"odx-rich-list-item__slot\"\n [attr.id]=\"slotId\"\n [attr.aria-labelledby]=\"titleId\"\n @expandSlotAnimation\n (@expandSlotAnimation.done)=\"onAnimationEnd()\"\n *ngIf=\"expanded\"\n>\n <ng-content></ng-content>\n</div>\n", dependencies: [{ kind: "ngmodule", type: A11yModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.InteractiveDirective, selector: "[odxCdkInteractive]", outputs: ["odxCdkInteractive"] }, { kind: "ngmodule", type: CoreModule }, { kind: "component", type: IconComponent, selector: "odx-icon", inputs: ["inline", "size", "name", "iconSet"] }], animations: [trigger('expandSlotAnimation', [transition(':enter', [useAnimation(expand)]), transition(':leave', [useAnimation(collapse)])])], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
52
|
+
RichListItemComponent = __decorate([
|
|
53
|
+
CSSComponent('rich-list-item')
|
|
54
|
+
], RichListItemComponent);
|
|
55
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RichListItemComponent, decorators: [{
|
|
56
|
+
type: Component,
|
|
57
|
+
args: [{ selector: 'odx-rich-list-item', standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [A11yModule, CoreModule, IconComponent], host: {
|
|
58
|
+
'[class.odx-rich-list-item--expanded]': 'expanded',
|
|
59
|
+
'[attr.id]': 'id',
|
|
60
|
+
}, animations: [trigger('expandSlotAnimation', [transition(':enter', [useAnimation(expand)]), transition(':leave', [useAnimation(collapse)])])], template: "<div\n class=\"odx-rich-list-item__panel\"\n [attr.id]=\"titleId\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-controls]=\"slotId\"\n (odxCdkInteractive)=\"toggle()\"\n>\n <odx-icon class=\"odx-rich-list-item__icon\" name=\"chevron-right\" iconSet=\"core\"></odx-icon>\n <ng-content select=\"odx-rich-list-item-title\"></ng-content>\n</div>\n<div\n class=\"odx-rich-list-item__slot\"\n [attr.id]=\"slotId\"\n [attr.aria-labelledby]=\"titleId\"\n @expandSlotAnimation\n (@expandSlotAnimation.done)=\"onAnimationEnd()\"\n *ngIf=\"expanded\"\n>\n <ng-content></ng-content>\n</div>\n" }]
|
|
61
|
+
}], propDecorators: { expandedChange: [{
|
|
62
|
+
type: Output
|
|
63
|
+
}] } });
|
|
64
|
+
|
|
65
|
+
class RichListItemTitleDirective {
|
|
66
|
+
}
|
|
67
|
+
RichListItemTitleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RichListItemTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
68
|
+
RichListItemTitleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: RichListItemTitleDirective, isStandalone: true, selector: "odx-rich-list-item-title", ngImport: i0 });
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RichListItemTitleDirective, decorators: [{
|
|
70
|
+
type: Directive,
|
|
71
|
+
args: [{
|
|
72
|
+
standalone: true,
|
|
73
|
+
selector: 'odx-rich-list-item-title',
|
|
74
|
+
}]
|
|
75
|
+
}] });
|
|
76
|
+
|
|
77
|
+
const modules = [RichListComponent, RichListItemComponent, RichListItemTitleDirective];
|
|
78
|
+
class RichListModule {
|
|
79
|
+
}
|
|
80
|
+
RichListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RichListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
81
|
+
RichListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: RichListModule, imports: [RichListComponent, RichListItemComponent, RichListItemTitleDirective], exports: [CoreModule, RichListComponent, RichListItemComponent, RichListItemTitleDirective] });
|
|
82
|
+
RichListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RichListModule, imports: [RichListComponent, RichListItemComponent, CoreModule] });
|
|
83
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: RichListModule, decorators: [{
|
|
84
|
+
type: NgModule,
|
|
85
|
+
args: [{
|
|
86
|
+
imports: modules,
|
|
87
|
+
exports: [CoreModule, ...modules],
|
|
88
|
+
}]
|
|
89
|
+
}] });
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Generated bundle index. Do not edit.
|
|
93
|
+
*/
|
|
94
|
+
|
|
95
|
+
export { RichListComponent, RichListItemComponent, RichListItemTitleDirective, RichListModule };
|
|
96
|
+
//# sourceMappingURL=odx-angular-components-rich-list.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"odx-angular-components-rich-list.mjs","sources":["../../../../libs/angular/components/rich-list/src/lib/rich-list.component.ts","../../../../libs/angular/components/rich-list/src/lib/rich-list.component.html","../../../../libs/angular/components/rich-list/src/lib/components/rich-list-item/rich-list-item.component.ts","../../../../libs/angular/components/rich-list/src/lib/components/rich-list-item/rich-list-item.component.html","../../../../libs/angular/components/rich-list/src/lib/directives/rich-list-item-title.ts","../../../../libs/angular/components/rich-list/src/lib/rich-list.module.ts","../../../../libs/angular/components/rich-list/src/odx-angular-components-rich-list.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, forwardRef, ViewEncapsulation } from '@angular/core';\nimport { ExpandableContainerDirective, EXPANDABLE_CONTAINER } from '@odx/angular/cdk/expandable';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { injectElement } from '@odx/angular/utils';\n\n@CSSComponent('rich-list')\n@Component({\n selector: 'odx-rich-list',\n templateUrl: './rich-list.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: EXPANDABLE_CONTAINER, useExisting: forwardRef(() => RichListComponent) }],\n})\nexport class RichListComponent extends ExpandableContainerDirective {\n public override multiple = true;\n public readonly element = injectElement();\n}\n","<ng-content select=\"odx-rich-list-item\"></ng-content>\n","import { transition, trigger, useAnimation } from '@angular/animations';\nimport { ChangeDetectionStrategy, Component, EventEmitter, Output, ViewEncapsulation } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { collapse, expand } from '@odx/angular/animations';\nimport { A11yModule } from '@odx/angular/cdk/a11y';\nimport { ExpandableItemDirective } from '@odx/angular/cdk/expandable';\nimport { IconComponent } from '@odx/angular/components/icon';\nimport { CSSComponent } from '@odx/angular/internal';\nimport { getUniqueId, injectElement } from '@odx/angular/utils';\n\n@CSSComponent('rich-list-item')\n@Component({\n selector: 'odx-rich-list-item',\n templateUrl: './rich-list-item.component.html',\n standalone: true,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [A11yModule, CoreModule, IconComponent],\n host: {\n '[class.odx-rich-list-item--expanded]': 'expanded',\n '[attr.id]': 'id',\n },\n animations: [trigger('expandSlotAnimation', [transition(':enter', [useAnimation(expand)]), transition(':leave', [useAnimation(collapse)])])],\n})\nexport class RichListItemComponent extends ExpandableItemDirective {\n public readonly element = injectElement();\n public override readonly id = getUniqueId('odx-rich-list-item');\n\n @Output()\n public expandedChange: EventEmitter<boolean> = new EventEmitter();\n\n public get titleId(): string {\n return `${this.id}-title`;\n }\n\n public get slotId(): string {\n return `${this.id}-slot`;\n }\n\n public onAnimationEnd(): void {\n this.expandedChange.emit(this.expanded);\n }\n}\n","<div\n class=\"odx-rich-list-item__panel\"\n [attr.id]=\"titleId\"\n [attr.aria-expanded]=\"expanded\"\n [attr.aria-controls]=\"slotId\"\n (odxCdkInteractive)=\"toggle()\"\n>\n <odx-icon class=\"odx-rich-list-item__icon\" name=\"chevron-right\" iconSet=\"core\"></odx-icon>\n <ng-content select=\"odx-rich-list-item-title\"></ng-content>\n</div>\n<div\n class=\"odx-rich-list-item__slot\"\n [attr.id]=\"slotId\"\n [attr.aria-labelledby]=\"titleId\"\n @expandSlotAnimation\n (@expandSlotAnimation.done)=\"onAnimationEnd()\"\n *ngIf=\"expanded\"\n>\n <ng-content></ng-content>\n</div>\n","import { Directive } from '@angular/core';\n\n@Directive({\n standalone: true,\n selector: 'odx-rich-list-item-title',\n})\nexport class RichListItemTitleDirective {}\n","import { NgModule } from '@angular/core';\nimport { CoreModule } from '@odx/angular';\nimport { RichListComponent } from './rich-list.component';\nimport { RichListItemComponent } from './components';\nimport { RichListItemTitleDirective } from './directives';\n\nconst modules = [RichListComponent, RichListItemComponent, RichListItemTitleDirective];\n\n@NgModule({\n imports: modules,\n exports: [CoreModule, ...modules],\n})\nexport class RichListModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -126,6 +126,18 @@ function createResizeObserver(callback) {
|
|
|
126
126
|
return { observe: () => void 0, disconnect: () => void 0, unobserve: () => void 0 };
|
|
127
127
|
}
|
|
128
128
|
}
|
|
129
|
+
function createMutationObserver(observer, callback) {
|
|
130
|
+
try {
|
|
131
|
+
return new MutationObserver((mutations) => {
|
|
132
|
+
if (callback(mutations)) {
|
|
133
|
+
observer.next(mutations[0]);
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
catch (error) {
|
|
138
|
+
return { disconnect: () => void 0, observe: () => void 0, takeRecords: () => [] };
|
|
139
|
+
}
|
|
140
|
+
}
|
|
129
141
|
function containsElement(parent, other, inclusive = true) {
|
|
130
142
|
if (!parent || !other)
|
|
131
143
|
return false;
|
|
@@ -393,5 +405,5 @@ function debounce(func, delay, immediate = false) {
|
|
|
393
405
|
* Generated bundle index. Do not edit.
|
|
394
406
|
*/
|
|
395
407
|
|
|
396
|
-
export { Axis, EventManager, Position, Pure, Queue, Side, Transform, applyStyles, booleanToAttributeString, booleanToOptionalAttributeString, buildUrl, clearUniqueIdCache, containsElement, createConfigTokens, createResizeObserver, cssTranslate, debounce, deferFn, disableCSSTransitions, forceLayoutReflow, getAxis, getInjector, getOppositeSide, getSide, getUniqueId, hasChanged, injectElement, isBoolean, isComponent, isFunction, isNonEmptyString, isNumber, isPresent, isString, isTemplateRef, isViewContainer, pluckFromArray, provideConfig, px, reactiveAttributeBinding, reactiveClassBinding, setAttribute, untilDestroyed };
|
|
408
|
+
export { Axis, EventManager, Position, Pure, Queue, Side, Transform, applyStyles, booleanToAttributeString, booleanToOptionalAttributeString, buildUrl, clearUniqueIdCache, containsElement, createConfigTokens, createMutationObserver, createResizeObserver, cssTranslate, debounce, deferFn, disableCSSTransitions, forceLayoutReflow, getAxis, getInjector, getOppositeSide, getSide, getUniqueId, hasChanged, injectElement, isBoolean, isComponent, isFunction, isNonEmptyString, isNumber, isPresent, isString, isTemplateRef, isViewContainer, pluckFromArray, provideConfig, px, reactiveAttributeBinding, reactiveClassBinding, setAttribute, untilDestroyed };
|
|
397
409
|
//# sourceMappingURL=odx-angular-utils.mjs.map
|