@bryntum/chart-angular-thin 7.2.4 → 7.3.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/bundles/bryntum-chart-angular-thin.umd.js +150 -29
- package/bundles/bryntum-chart-angular-thin.umd.js.map +1 -1
- package/esm2015/lib/bryntum-chart.component.js +61 -21
- package/esm2015/lib/chart.module.js +5 -4
- package/esm2015/lib/shadowdom.helper.js +82 -0
- package/fesm2015/bryntum-chart-angular-thin.js +145 -24
- package/fesm2015/bryntum-chart-angular-thin.js.map +1 -1
- package/lib/bryntum-chart.component.d.ts +91 -147
- package/lib/chart.module.d.ts +2 -1
- package/lib/shadowdom.helper.d.ts +3 -0
- package/package.json +1 -1
- package/src/lib/bryntum-chart.component.ts +148 -156
- package/src/lib/bryntum-theme-combo.component.ts +127 -0
- package/src/lib/chart.module.ts +2 -1
- package/src/lib/shadowdom.helper.ts +91 -0
|
@@ -1,24 +1,25 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Angular Bryntum Chart Shared module
|
|
3
3
|
*/
|
|
4
|
+
import { CommonModule } from '@angular/common';
|
|
4
5
|
import { NgModule } from '@angular/core';
|
|
5
6
|
import { BryntumChartComponent } from './bryntum-chart.component';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export class BryntumChartModule {
|
|
8
9
|
}
|
|
9
10
|
BryntumChartModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumChartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
-
BryntumChartModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumChartModule, declarations: [BryntumChartComponent], exports: [BryntumChartComponent] });
|
|
11
|
-
BryntumChartModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumChartModule, imports: [[]] });
|
|
11
|
+
BryntumChartModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumChartModule, declarations: [BryntumChartComponent], imports: [CommonModule], exports: [BryntumChartComponent] });
|
|
12
|
+
BryntumChartModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumChartModule, imports: [[CommonModule]] });
|
|
12
13
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumChartModule, decorators: [{
|
|
13
14
|
type: NgModule,
|
|
14
15
|
args: [{
|
|
15
16
|
declarations: [
|
|
16
17
|
BryntumChartComponent
|
|
17
18
|
],
|
|
18
|
-
imports: [],
|
|
19
|
+
imports: [CommonModule],
|
|
19
20
|
exports: [
|
|
20
21
|
BryntumChartComponent
|
|
21
22
|
]
|
|
22
23
|
}]
|
|
23
24
|
}] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhcnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vY29tcG9uZW50L3NyYy9saWIvY2hhcnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztFQUVFO0FBQ0YsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBYWxFLE1BQU0sT0FBTyxrQkFBa0I7OytHQUFsQixrQkFBa0I7Z0hBQWxCLGtCQUFrQixpQkFSdkIscUJBQXFCLGFBRWQsWUFBWSxhQUduQixxQkFBcUI7Z0hBR2hCLGtCQUFrQixZQU5qQixDQUFDLFlBQVksQ0FBQzsyRkFNZixrQkFBa0I7a0JBWDlCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFHO3dCQUVYLHFCQUFxQjtxQkFDeEI7b0JBQ0QsT0FBTyxFQUFHLENBQUMsWUFBWSxDQUFDO29CQUN4QixPQUFPLEVBQUc7d0JBRU4scUJBQXFCO3FCQUN4QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuKiBBbmd1bGFyIEJyeW50dW0gQ2hhcnQgU2hhcmVkIG1vZHVsZVxuKi9cbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBCcnludHVtQ2hhcnRDb21wb25lbnQgfSBmcm9tICcuL2JyeW50dW0tY2hhcnQuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnMgOiBbXG5cbiAgICAgICAgQnJ5bnR1bUNoYXJ0Q29tcG9uZW50XG4gICAgXSxcbiAgICBpbXBvcnRzIDogW0NvbW1vbk1vZHVsZV0sXG4gICAgZXhwb3J0cyA6IFtcblxuICAgICAgICBCcnludHVtQ2hhcnRDb21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIEJyeW50dW1DaGFydE1vZHVsZSB7IH1cbiJdfQ==
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { GlobalEvents } from '@bryntum/core-thin';
|
|
2
|
+
// Module-level registry of all open shadow roots that host Bryntum widgets.
|
|
3
|
+
// Populated lazily by collectOpenShadowRoots() the first time it is called, and
|
|
4
|
+
// kept up to date via registerShadowRoot / unregisterShadowRoot.
|
|
5
|
+
const openShadowRoots = new Set();
|
|
6
|
+
// Walks the DOM tree starting from `root` and collects every open shadow root found.
|
|
7
|
+
// Results are cached in openShadowRoots after the first traversal so subsequent calls
|
|
8
|
+
// are O(1). Recursive so nested shadow roots are also discovered.
|
|
9
|
+
function collectOpenShadowRoots(root = document) {
|
|
10
|
+
if (openShadowRoots.size > 0) {
|
|
11
|
+
return Array.from(openShadowRoots);
|
|
12
|
+
}
|
|
13
|
+
const roots = [];
|
|
14
|
+
Array.from(root.querySelectorAll('*')).forEach(el => {
|
|
15
|
+
if (el.shadowRoot) {
|
|
16
|
+
roots.push(el.shadowRoot);
|
|
17
|
+
roots.push(...collectOpenShadowRoots(el.shadowRoot));
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
roots.forEach(r => openShadowRoots.add(r));
|
|
21
|
+
return roots;
|
|
22
|
+
}
|
|
23
|
+
// Updates the href and data-bryntum-theme attribute of every theme <link> inside all
|
|
24
|
+
// registered shadow roots to mirror the new head link after a theme change.
|
|
25
|
+
function syncThemeToShadowRoots(headLink) {
|
|
26
|
+
var _a;
|
|
27
|
+
const href = headLink.href;
|
|
28
|
+
const themeAttr = (_a = headLink.getAttribute('data-bryntum-theme')) !== null && _a !== void 0 ? _a : '';
|
|
29
|
+
collectOpenShadowRoots().forEach(shadowRoot => {
|
|
30
|
+
Array.from(shadowRoot.querySelectorAll('link[data-bryntum-theme]')).forEach(link => {
|
|
31
|
+
link.setAttribute('data-bryntum-theme', themeAttr);
|
|
32
|
+
link.href = href;
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
// Adds a shadow root to the registry so it is included in theme sync operations.
|
|
37
|
+
// Called by BryntumThemeComboComponent.ngOnInit when it detects it is inside a shadow root.
|
|
38
|
+
export function registerShadowRoot(shadowRoot) {
|
|
39
|
+
openShadowRoots.add(shadowRoot);
|
|
40
|
+
}
|
|
41
|
+
// Removes a shadow root from the registry.
|
|
42
|
+
// Called by BryntumThemeComboComponent.ngOnDestroy to clean up on component teardown.
|
|
43
|
+
export function unregisterShadowRoot(shadowRoot) {
|
|
44
|
+
openShadowRoots.delete(shadowRoot);
|
|
45
|
+
}
|
|
46
|
+
// Injects a clone of each document.head theme <link> into every registered shadow root
|
|
47
|
+
// that does not already have one. This is required because CSS from document.head does
|
|
48
|
+
// not cascade into shadow DOM, so Bryntum theme styles would be absent without this.
|
|
49
|
+
// Safe to call multiple times — the presence check prevents duplicate injection.
|
|
50
|
+
export function initThemeInShadowRoots() {
|
|
51
|
+
const headThemeLinks = Array.from(document.head.querySelectorAll('link[data-bryntum-theme]'));
|
|
52
|
+
if (!headThemeLinks.length) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
collectOpenShadowRoots().forEach(shadowRoot => {
|
|
56
|
+
if (shadowRoot.querySelector('link[data-bryntum-theme]')) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
headThemeLinks.forEach(headLink => {
|
|
60
|
+
if (!headLink.href) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
// Clone the head link to preserve all attributes, then ensure absolute href
|
|
64
|
+
const clone = headLink.cloneNode();
|
|
65
|
+
clone.href = headLink.href;
|
|
66
|
+
shadowRoot.appendChild(clone);
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
// Listens for Bryntum's internal theme-change event and keeps every shadow root's
|
|
71
|
+
// theme link in sync with the new document.head link. Fires after the old <link>s
|
|
72
|
+
// are removed and the new one is fully loaded in document.head.
|
|
73
|
+
// @ts-ignore - ion() is public but not present on GlobalEventsSingleton typings
|
|
74
|
+
GlobalEvents.ion({
|
|
75
|
+
theme() {
|
|
76
|
+
const link = document.head.querySelector('link[data-bryntum-theme]');
|
|
77
|
+
if (link === null || link === void 0 ? void 0 : link.href) {
|
|
78
|
+
syncThemeToShadowRoots(link);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hhZG93ZG9tLmhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2NvbXBvbmVudC9zcmMvbGliL3NoYWRvd2RvbS5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWxELDRFQUE0RTtBQUM1RSxnRkFBZ0Y7QUFDaEYsaUVBQWlFO0FBQ2pFLE1BQU0sZUFBZSxHQUFHLElBQUksR0FBRyxFQUFjLENBQUM7QUFFOUMscUZBQXFGO0FBQ3JGLHNGQUFzRjtBQUN0RixrRUFBa0U7QUFDbEUsU0FBUyxzQkFBc0IsQ0FBQyxPQUErQixRQUFRO0lBQ25FLElBQUksZUFBZSxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUU7UUFDMUIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0tBQ3RDO0lBQ0QsTUFBTSxLQUFLLEdBQWtCLEVBQUUsQ0FBQztJQUNoQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRTtRQUNoRCxJQUFLLEVBQTZDLENBQUMsVUFBVSxFQUFFO1lBQzNELEtBQUssQ0FBQyxJQUFJLENBQUUsRUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ25DLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxzQkFBc0IsQ0FBRSxFQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztTQUNqRTtJQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMzQyxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDO0FBRUQscUZBQXFGO0FBQ3JGLDRFQUE0RTtBQUM1RSxTQUFTLHNCQUFzQixDQUFDLFFBQTBCOztJQUN0RCxNQUFNLElBQUksR0FBUyxRQUFRLENBQUMsSUFBSSxDQUFDO0lBQ2pDLE1BQU0sU0FBUyxHQUFJLE1BQUEsUUFBUSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxtQ0FBSSxFQUFFLENBQUM7SUFFckUsc0JBQXNCLEVBQUUsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEVBQUU7UUFDMUMsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsZ0JBQWdCLENBQWtCLDBCQUEwQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDaEcsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQztBQUVELGlGQUFpRjtBQUNqRiw0RkFBNEY7QUFDNUYsTUFBTSxVQUFVLGtCQUFrQixDQUFDLFVBQXVCO0lBQ3RELGVBQWUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDcEMsQ0FBQztBQUVELDJDQUEyQztBQUMzQyxzRkFBc0Y7QUFDdEYsTUFBTSxVQUFVLG9CQUFvQixDQUFDLFVBQXVCO0lBQ3hELGVBQWUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDdkMsQ0FBQztBQUVELHVGQUF1RjtBQUN2Rix1RkFBdUY7QUFDdkYscUZBQXFGO0FBQ3JGLGlGQUFpRjtBQUNqRixNQUFNLFVBQVUsc0JBQXNCO0lBQ2xDLE1BQU0sY0FBYyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBa0IsMEJBQTBCLENBQUMsQ0FBQyxDQUFDO0lBRS9HLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFO1FBQ3hCLE9BQU87S0FDVjtJQUVELHNCQUFzQixFQUFFLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1FBQzFDLElBQUksVUFBVSxDQUFDLGFBQWEsQ0FBQywwQkFBMEIsQ0FBQyxFQUFFO1lBQ3RELE9BQU87U0FDVjtRQUVELGNBQWMsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDOUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUU7Z0JBQ2hCLE9BQU87YUFDVjtZQUNELDRFQUE0RTtZQUM1RSxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsU0FBUyxFQUFxQixDQUFDO1lBQ3RELEtBQUssQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztZQUMzQixVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBRUQsa0ZBQWtGO0FBQ2xGLGtGQUFrRjtBQUNsRixnRUFBZ0U7QUFDaEUsZ0ZBQWdGO0FBQ2hGLFlBQVksQ0FBQyxHQUFHLENBQUM7SUFDYixLQUFLO1FBQ0QsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQWtCLDBCQUEwQixDQUFDLENBQUM7UUFDdEYsSUFBSSxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsSUFBSSxFQUFFO1lBQ1osc0JBQXNCLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDaEM7SUFDTCxDQUFDO0NBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2xvYmFsRXZlbnRzIH0gZnJvbSAnQGJyeW50dW0vY29yZS10aGluJztcblxuLy8gTW9kdWxlLWxldmVsIHJlZ2lzdHJ5IG9mIGFsbCBvcGVuIHNoYWRvdyByb290cyB0aGF0IGhvc3QgQnJ5bnR1bSB3aWRnZXRzLlxuLy8gUG9wdWxhdGVkIGxhemlseSBieSBjb2xsZWN0T3BlblNoYWRvd1Jvb3RzKCkgdGhlIGZpcnN0IHRpbWUgaXQgaXMgY2FsbGVkLCBhbmRcbi8vIGtlcHQgdXAgdG8gZGF0ZSB2aWEgcmVnaXN0ZXJTaGFkb3dSb290IC8gdW5yZWdpc3RlclNoYWRvd1Jvb3QuXG5jb25zdCBvcGVuU2hhZG93Um9vdHMgPSBuZXcgU2V0PFNoYWRvd1Jvb3Q+KCk7XG5cbi8vIFdhbGtzIHRoZSBET00gdHJlZSBzdGFydGluZyBmcm9tIGByb290YCBhbmQgY29sbGVjdHMgZXZlcnkgb3BlbiBzaGFkb3cgcm9vdCBmb3VuZC5cbi8vIFJlc3VsdHMgYXJlIGNhY2hlZCBpbiBvcGVuU2hhZG93Um9vdHMgYWZ0ZXIgdGhlIGZpcnN0IHRyYXZlcnNhbCBzbyBzdWJzZXF1ZW50IGNhbGxzXG4vLyBhcmUgTygxKS4gUmVjdXJzaXZlIHNvIG5lc3RlZCBzaGFkb3cgcm9vdHMgYXJlIGFsc28gZGlzY292ZXJlZC5cbmZ1bmN0aW9uIGNvbGxlY3RPcGVuU2hhZG93Um9vdHMocm9vdCA6IERvY3VtZW50IHwgU2hhZG93Um9vdCA9IGRvY3VtZW50KSA6IFNoYWRvd1Jvb3RbXSB7XG4gICAgaWYgKG9wZW5TaGFkb3dSb290cy5zaXplID4gMCkge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbShvcGVuU2hhZG93Um9vdHMpO1xuICAgIH1cbiAgICBjb25zdCByb290cyA6IFNoYWRvd1Jvb3RbXSA9IFtdO1xuICAgIEFycmF5LmZyb20ocm9vdC5xdWVyeVNlbGVjdG9yQWxsKCcqJykpLmZvckVhY2goZWwgPT4ge1xuICAgICAgICBpZiAoKGVsIGFzIEVsZW1lbnQgJiB7IHNoYWRvd1Jvb3Q/IDogU2hhZG93Um9vdCB9KS5zaGFkb3dSb290KSB7XG4gICAgICAgICAgICByb290cy5wdXNoKChlbCBhcyBhbnkpLnNoYWRvd1Jvb3QpO1xuICAgICAgICAgICAgcm9vdHMucHVzaCguLi5jb2xsZWN0T3BlblNoYWRvd1Jvb3RzKChlbCBhcyBhbnkpLnNoYWRvd1Jvb3QpKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJvb3RzLmZvckVhY2gociA9PiBvcGVuU2hhZG93Um9vdHMuYWRkKHIpKTtcbiAgICByZXR1cm4gcm9vdHM7XG59XG5cbi8vIFVwZGF0ZXMgdGhlIGhyZWYgYW5kIGRhdGEtYnJ5bnR1bS10aGVtZSBhdHRyaWJ1dGUgb2YgZXZlcnkgdGhlbWUgPGxpbms+IGluc2lkZSBhbGxcbi8vIHJlZ2lzdGVyZWQgc2hhZG93IHJvb3RzIHRvIG1pcnJvciB0aGUgbmV3IGhlYWQgbGluayBhZnRlciBhIHRoZW1lIGNoYW5nZS5cbmZ1bmN0aW9uIHN5bmNUaGVtZVRvU2hhZG93Um9vdHMoaGVhZExpbmsgOiBIVE1MTGlua0VsZW1lbnQpIDogdm9pZCB7XG4gICAgY29uc3QgaHJlZiAgICAgICA9IGhlYWRMaW5rLmhyZWY7XG4gICAgY29uc3QgdGhlbWVBdHRyICA9IGhlYWRMaW5rLmdldEF0dHJpYnV0ZSgnZGF0YS1icnludHVtLXRoZW1lJykgPz8gJyc7XG5cbiAgICBjb2xsZWN0T3BlblNoYWRvd1Jvb3RzKCkuZm9yRWFjaChzaGFkb3dSb290ID0+IHtcbiAgICAgICAgQXJyYXkuZnJvbShzaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3JBbGw8SFRNTExpbmtFbGVtZW50PignbGlua1tkYXRhLWJyeW50dW0tdGhlbWVdJykpLmZvckVhY2gobGluayA9PiB7XG4gICAgICAgICAgICBsaW5rLnNldEF0dHJpYnV0ZSgnZGF0YS1icnludHVtLXRoZW1lJywgdGhlbWVBdHRyKTtcbiAgICAgICAgICAgIGxpbmsuaHJlZiA9IGhyZWY7XG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxuXG4vLyBBZGRzIGEgc2hhZG93IHJvb3QgdG8gdGhlIHJlZ2lzdHJ5IHNvIGl0IGlzIGluY2x1ZGVkIGluIHRoZW1lIHN5bmMgb3BlcmF0aW9ucy5cbi8vIENhbGxlZCBieSBCcnludHVtVGhlbWVDb21ib0NvbXBvbmVudC5uZ09uSW5pdCB3aGVuIGl0IGRldGVjdHMgaXQgaXMgaW5zaWRlIGEgc2hhZG93IHJvb3QuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJTaGFkb3dSb290KHNoYWRvd1Jvb3QgOiBTaGFkb3dSb290KSA6IHZvaWQge1xuICAgIG9wZW5TaGFkb3dSb290cy5hZGQoc2hhZG93Um9vdCk7XG59XG5cbi8vIFJlbW92ZXMgYSBzaGFkb3cgcm9vdCBmcm9tIHRoZSByZWdpc3RyeS5cbi8vIENhbGxlZCBieSBCcnludHVtVGhlbWVDb21ib0NvbXBvbmVudC5uZ09uRGVzdHJveSB0byBjbGVhbiB1cCBvbiBjb21wb25lbnQgdGVhcmRvd24uXG5leHBvcnQgZnVuY3Rpb24gdW5yZWdpc3RlclNoYWRvd1Jvb3Qoc2hhZG93Um9vdCA6IFNoYWRvd1Jvb3QpIDogdm9pZCB7XG4gICAgb3BlblNoYWRvd1Jvb3RzLmRlbGV0ZShzaGFkb3dSb290KTtcbn1cblxuLy8gSW5qZWN0cyBhIGNsb25lIG9mIGVhY2ggZG9jdW1lbnQuaGVhZCB0aGVtZSA8bGluaz4gaW50byBldmVyeSByZWdpc3RlcmVkIHNoYWRvdyByb290XG4vLyB0aGF0IGRvZXMgbm90IGFscmVhZHkgaGF2ZSBvbmUuIFRoaXMgaXMgcmVxdWlyZWQgYmVjYXVzZSBDU1MgZnJvbSBkb2N1bWVudC5oZWFkIGRvZXNcbi8vIG5vdCBjYXNjYWRlIGludG8gc2hhZG93IERPTSwgc28gQnJ5bnR1bSB0aGVtZSBzdHlsZXMgd291bGQgYmUgYWJzZW50IHdpdGhvdXQgdGhpcy5cbi8vIFNhZmUgdG8gY2FsbCBtdWx0aXBsZSB0aW1lcyDigJQgdGhlIHByZXNlbmNlIGNoZWNrIHByZXZlbnRzIGR1cGxpY2F0ZSBpbmplY3Rpb24uXG5leHBvcnQgZnVuY3Rpb24gaW5pdFRoZW1lSW5TaGFkb3dSb290cygpIDogdm9pZCB7XG4gICAgY29uc3QgaGVhZFRoZW1lTGlua3MgPSBBcnJheS5mcm9tKGRvY3VtZW50LmhlYWQucXVlcnlTZWxlY3RvckFsbDxIVE1MTGlua0VsZW1lbnQ+KCdsaW5rW2RhdGEtYnJ5bnR1bS10aGVtZV0nKSk7XG5cbiAgICBpZiAoIWhlYWRUaGVtZUxpbmtzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29sbGVjdE9wZW5TaGFkb3dSb290cygpLmZvckVhY2goc2hhZG93Um9vdCA9PiB7XG4gICAgICAgIGlmIChzaGFkb3dSb290LnF1ZXJ5U2VsZWN0b3IoJ2xpbmtbZGF0YS1icnludHVtLXRoZW1lXScpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBoZWFkVGhlbWVMaW5rcy5mb3JFYWNoKGhlYWRMaW5rID0+IHtcbiAgICAgICAgICAgIGlmICghaGVhZExpbmsuaHJlZikge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIENsb25lIHRoZSBoZWFkIGxpbmsgdG8gcHJlc2VydmUgYWxsIGF0dHJpYnV0ZXMsIHRoZW4gZW5zdXJlIGFic29sdXRlIGhyZWZcbiAgICAgICAgICAgIGNvbnN0IGNsb25lID0gaGVhZExpbmsuY2xvbmVOb2RlKCkgYXMgSFRNTExpbmtFbGVtZW50O1xuICAgICAgICAgICAgY2xvbmUuaHJlZiA9IGhlYWRMaW5rLmhyZWY7XG4gICAgICAgICAgICBzaGFkb3dSb290LmFwcGVuZENoaWxkKGNsb25lKTtcbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG5cbi8vIExpc3RlbnMgZm9yIEJyeW50dW0ncyBpbnRlcm5hbCB0aGVtZS1jaGFuZ2UgZXZlbnQgYW5kIGtlZXBzIGV2ZXJ5IHNoYWRvdyByb290J3Ncbi8vIHRoZW1lIGxpbmsgaW4gc3luYyB3aXRoIHRoZSBuZXcgZG9jdW1lbnQuaGVhZCBsaW5rLiBGaXJlcyBhZnRlciB0aGUgb2xkIDxsaW5rPnNcbi8vIGFyZSByZW1vdmVkIGFuZCB0aGUgbmV3IG9uZSBpcyBmdWxseSBsb2FkZWQgaW4gZG9jdW1lbnQuaGVhZC5cbi8vIEB0cy1pZ25vcmUgLSBpb24oKSBpcyBwdWJsaWMgYnV0IG5vdCBwcmVzZW50IG9uIEdsb2JhbEV2ZW50c1NpbmdsZXRvbiB0eXBpbmdzXG5HbG9iYWxFdmVudHMuaW9uKHtcbiAgICB0aGVtZSgpIDogdm9pZCB7XG4gICAgICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5oZWFkLnF1ZXJ5U2VsZWN0b3I8SFRNTExpbmtFbGVtZW50PignbGlua1tkYXRhLWJyeW50dW0tdGhlbWVdJyk7XG4gICAgICAgIGlmIChsaW5rPy5ocmVmKSB7XG4gICAgICAgICAgICBzeW5jVGhlbWVUb1NoYWRvd1Jvb3RzKGxpbmspO1xuICAgICAgICB9XG4gICAgfVxufSk7XG4iXX0=
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
1
2
|
import * as i0 from '@angular/core';
|
|
2
3
|
import { isDevMode, EventEmitter, Component, Input, Output, NgModule } from '@angular/core';
|
|
3
|
-
import { Widget } from '@bryntum/core-thin';
|
|
4
|
+
import { GlobalEvents, Widget } from '@bryntum/core-thin';
|
|
4
5
|
import { Chart } from '@bryntum/chart-thin';
|
|
5
6
|
|
|
6
7
|
class WrapperHelper {
|
|
@@ -76,6 +77,87 @@ class WrapperHelper {
|
|
|
76
77
|
}
|
|
77
78
|
}
|
|
78
79
|
|
|
80
|
+
// Module-level registry of all open shadow roots that host Bryntum widgets.
|
|
81
|
+
// Populated lazily by collectOpenShadowRoots() the first time it is called, and
|
|
82
|
+
// kept up to date via registerShadowRoot / unregisterShadowRoot.
|
|
83
|
+
const openShadowRoots = new Set();
|
|
84
|
+
// Walks the DOM tree starting from `root` and collects every open shadow root found.
|
|
85
|
+
// Results are cached in openShadowRoots after the first traversal so subsequent calls
|
|
86
|
+
// are O(1). Recursive so nested shadow roots are also discovered.
|
|
87
|
+
function collectOpenShadowRoots(root = document) {
|
|
88
|
+
if (openShadowRoots.size > 0) {
|
|
89
|
+
return Array.from(openShadowRoots);
|
|
90
|
+
}
|
|
91
|
+
const roots = [];
|
|
92
|
+
Array.from(root.querySelectorAll('*')).forEach(el => {
|
|
93
|
+
if (el.shadowRoot) {
|
|
94
|
+
roots.push(el.shadowRoot);
|
|
95
|
+
roots.push(...collectOpenShadowRoots(el.shadowRoot));
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
roots.forEach(r => openShadowRoots.add(r));
|
|
99
|
+
return roots;
|
|
100
|
+
}
|
|
101
|
+
// Updates the href and data-bryntum-theme attribute of every theme <link> inside all
|
|
102
|
+
// registered shadow roots to mirror the new head link after a theme change.
|
|
103
|
+
function syncThemeToShadowRoots(headLink) {
|
|
104
|
+
var _a;
|
|
105
|
+
const href = headLink.href;
|
|
106
|
+
const themeAttr = (_a = headLink.getAttribute('data-bryntum-theme')) !== null && _a !== void 0 ? _a : '';
|
|
107
|
+
collectOpenShadowRoots().forEach(shadowRoot => {
|
|
108
|
+
Array.from(shadowRoot.querySelectorAll('link[data-bryntum-theme]')).forEach(link => {
|
|
109
|
+
link.setAttribute('data-bryntum-theme', themeAttr);
|
|
110
|
+
link.href = href;
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
// Adds a shadow root to the registry so it is included in theme sync operations.
|
|
115
|
+
// Called by BryntumThemeComboComponent.ngOnInit when it detects it is inside a shadow root.
|
|
116
|
+
function registerShadowRoot(shadowRoot) {
|
|
117
|
+
openShadowRoots.add(shadowRoot);
|
|
118
|
+
}
|
|
119
|
+
// Removes a shadow root from the registry.
|
|
120
|
+
// Called by BryntumThemeComboComponent.ngOnDestroy to clean up on component teardown.
|
|
121
|
+
function unregisterShadowRoot(shadowRoot) {
|
|
122
|
+
openShadowRoots.delete(shadowRoot);
|
|
123
|
+
}
|
|
124
|
+
// Injects a clone of each document.head theme <link> into every registered shadow root
|
|
125
|
+
// that does not already have one. This is required because CSS from document.head does
|
|
126
|
+
// not cascade into shadow DOM, so Bryntum theme styles would be absent without this.
|
|
127
|
+
// Safe to call multiple times — the presence check prevents duplicate injection.
|
|
128
|
+
function initThemeInShadowRoots() {
|
|
129
|
+
const headThemeLinks = Array.from(document.head.querySelectorAll('link[data-bryntum-theme]'));
|
|
130
|
+
if (!headThemeLinks.length) {
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
collectOpenShadowRoots().forEach(shadowRoot => {
|
|
134
|
+
if (shadowRoot.querySelector('link[data-bryntum-theme]')) {
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
headThemeLinks.forEach(headLink => {
|
|
138
|
+
if (!headLink.href) {
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
// Clone the head link to preserve all attributes, then ensure absolute href
|
|
142
|
+
const clone = headLink.cloneNode();
|
|
143
|
+
clone.href = headLink.href;
|
|
144
|
+
shadowRoot.appendChild(clone);
|
|
145
|
+
});
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
// Listens for Bryntum's internal theme-change event and keeps every shadow root's
|
|
149
|
+
// theme link in sync with the new document.head link. Fires after the old <link>s
|
|
150
|
+
// are removed and the new one is fully loaded in document.head.
|
|
151
|
+
// @ts-ignore - ion() is public but not present on GlobalEventsSingleton typings
|
|
152
|
+
GlobalEvents.ion({
|
|
153
|
+
theme() {
|
|
154
|
+
const link = document.head.querySelector('link[data-bryntum-theme]');
|
|
155
|
+
if (link === null || link === void 0 ? void 0 : link.href) {
|
|
156
|
+
syncThemeToShadowRoots(link);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
|
|
79
161
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
80
162
|
class BryntumChartComponent {
|
|
81
163
|
constructor(element) {
|
|
@@ -116,8 +198,7 @@ class BryntumChartComponent {
|
|
|
116
198
|
this.onBeforeShow = new EventEmitter();
|
|
117
199
|
/**
|
|
118
200
|
* Fires when any other event is fired from the object.
|
|
119
|
-
* ...
|
|
120
|
-
* [View online docs...](https://bryntum.com/products/chart/docs/api/Chart/widget/Chart#event-catchAll)
|
|
201
|
+
* [More...](https://bryntum.com/products/chart/docs/api/Chart/widget/Chart#event-catchAll)
|
|
121
202
|
* @param {object} event Event object
|
|
122
203
|
* @param {{[key: string]: any, type: string}} event.event The Object that contains event details
|
|
123
204
|
* @param {string} event.event.type The type of the event which is caught by the listener
|
|
@@ -175,8 +256,7 @@ class BryntumChartComponent {
|
|
|
175
256
|
/**
|
|
176
257
|
* Triggered when a widget which had been in a non-visible state for any reason
|
|
177
258
|
* achieves visibility.
|
|
178
|
-
* ...
|
|
179
|
-
* [View online docs...](https://bryntum.com/products/chart/docs/api/Chart/widget/Chart#event-paint)
|
|
259
|
+
* [More...](https://bryntum.com/products/chart/docs/api/Chart/widget/Chart#event-paint)
|
|
180
260
|
* @param {object} event Event object
|
|
181
261
|
* @param {Core.widget.Widget} event.source The widget being painted.
|
|
182
262
|
* @param {boolean} event.firstPaint `true` if this is the first paint.
|
|
@@ -255,9 +335,61 @@ class BryntumChartComponent {
|
|
|
255
335
|
else {
|
|
256
336
|
WrapperHelper.devWarningContainer(instanceName, containerParam);
|
|
257
337
|
}
|
|
338
|
+
// In shadow DOM (e.g. Angular ViewEncapsulation.ShadowDom), theme CSS from document.head
|
|
339
|
+
// does not cascade into the shadow root. Inject a matching <link> so Bryntum's CSS check
|
|
340
|
+
// finds the theme. The @font-face rules from component styles are also extracted to
|
|
341
|
+
// document scope so document.fonts detects them (shadow-root @font-face is not reliably
|
|
342
|
+
// included in document.fonts across all browsers).
|
|
343
|
+
const shadowRoot = elementRef.nativeElement.getRootNode();
|
|
344
|
+
if (shadowRoot instanceof ShadowRoot) {
|
|
345
|
+
initThemeInShadowRoots();
|
|
346
|
+
BryntumChartComponent.ensureFontsInDocument(shadowRoot);
|
|
347
|
+
}
|
|
258
348
|
// @ts-ignore
|
|
259
349
|
me.instance = instanceName === 'Widget' ? Widget.create(bryntumConfig) : new instanceClass(bryntumConfig);
|
|
260
350
|
}
|
|
351
|
+
/**
|
|
352
|
+
* Extracts all @font-face declarations from a shadow root's stylesheets and adds them to
|
|
353
|
+
* document.head as a single <style> element. This is needed because @font-face rules inside
|
|
354
|
+
* a shadow root are not reliably included in document.fonts across all browsers, causing
|
|
355
|
+
* Bryntum's CSS compatibility check to incorrectly report missing fonts.
|
|
356
|
+
* Safe to call multiple times — the extraction runs only once per page.
|
|
357
|
+
*/
|
|
358
|
+
static ensureFontsInDocument(shadowRoot) {
|
|
359
|
+
var _a;
|
|
360
|
+
if (document.querySelector('#b-shadow-root-fonts')) {
|
|
361
|
+
return;
|
|
362
|
+
}
|
|
363
|
+
const fontFaceRules = [];
|
|
364
|
+
const extractFromSheet = (sheet) => {
|
|
365
|
+
try {
|
|
366
|
+
const rules = sheet.cssRules;
|
|
367
|
+
for (let i = 0; i < rules.length; i++) {
|
|
368
|
+
if (rules[i].type === CSSRule.FONT_FACE_RULE) {
|
|
369
|
+
fontFaceRules.push(rules[i].cssText);
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
catch (_e) {
|
|
374
|
+
// Cross-origin access may throw; silently skip
|
|
375
|
+
}
|
|
376
|
+
};
|
|
377
|
+
// adoptedStyleSheets (Angular 14+ / modern browsers)
|
|
378
|
+
const adoptedSheets = (_a = shadowRoot.adoptedStyleSheets) !== null && _a !== void 0 ? _a : [];
|
|
379
|
+
adoptedSheets.forEach(sheet => extractFromSheet(sheet));
|
|
380
|
+
// <style> elements (older Angular or fallback)
|
|
381
|
+
shadowRoot.querySelectorAll('style').forEach(el => {
|
|
382
|
+
if (el.sheet) {
|
|
383
|
+
extractFromSheet(el.sheet);
|
|
384
|
+
}
|
|
385
|
+
});
|
|
386
|
+
if (fontFaceRules.length > 0) {
|
|
387
|
+
const style = document.createElement('style');
|
|
388
|
+
style.id = 'b-shadow-root-fonts';
|
|
389
|
+
style.textContent = fontFaceRules.join('\n');
|
|
390
|
+
document.head.appendChild(style);
|
|
391
|
+
}
|
|
392
|
+
}
|
|
261
393
|
/**
|
|
262
394
|
* Watch for changes
|
|
263
395
|
* @param changes
|
|
@@ -377,6 +509,7 @@ BryntumChartComponent.bryntumConfigs = BryntumChartComponent.bryntumFeatureNames
|
|
|
377
509
|
'label',
|
|
378
510
|
'labelPosition',
|
|
379
511
|
'labels',
|
|
512
|
+
'labelWidth',
|
|
380
513
|
'layout',
|
|
381
514
|
'layoutStyle',
|
|
382
515
|
'lazyItems',
|
|
@@ -505,7 +638,6 @@ BryntumChartComponent.bryntumConfigsOnly = [
|
|
|
505
638
|
];
|
|
506
639
|
BryntumChartComponent.bryntumProps = BryntumChartComponent.bryntumFeatureNames.concat([
|
|
507
640
|
'alignSelf',
|
|
508
|
-
'anchorSize',
|
|
509
641
|
'animate',
|
|
510
642
|
'animationDuration',
|
|
511
643
|
'appendTo',
|
|
@@ -531,9 +663,7 @@ BryntumChartComponent.bryntumProps = BryntumChartComponent.bryntumFeatureNames.c
|
|
|
531
663
|
'field',
|
|
532
664
|
'fillColorField',
|
|
533
665
|
'flex',
|
|
534
|
-
'focusVisible',
|
|
535
666
|
'gridColor',
|
|
536
|
-
'hasChanges',
|
|
537
667
|
'height',
|
|
538
668
|
'hidden',
|
|
539
669
|
'html',
|
|
@@ -542,13 +672,12 @@ BryntumChartComponent.bryntumProps = BryntumChartComponent.bryntumFeatureNames.c
|
|
|
542
672
|
'insertBefore',
|
|
543
673
|
'insertFirst',
|
|
544
674
|
'interactive',
|
|
545
|
-
'isSettingValues',
|
|
546
|
-
'isValid',
|
|
547
675
|
'items',
|
|
548
676
|
'keyMap',
|
|
549
677
|
'label',
|
|
550
678
|
'labelPosition',
|
|
551
679
|
'labels',
|
|
680
|
+
'labelWidth',
|
|
552
681
|
'layout',
|
|
553
682
|
'layoutStyle',
|
|
554
683
|
'legendPosition',
|
|
@@ -599,7 +728,7 @@ BryntumChartComponent.bryntumProps = BryntumChartComponent.bryntumFeatureNames.c
|
|
|
599
728
|
'y'
|
|
600
729
|
]);
|
|
601
730
|
BryntumChartComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumChartComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
602
|
-
BryntumChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: BryntumChartComponent, selector: "bryntum-chart", inputs: { adopt: "adopt", align: "align", anchor: "anchor", ariaDescription: "ariaDescription", ariaLabel: "ariaLabel", autoUpdateRecord: "autoUpdateRecord", border: "border", bubbleEvents: "bubbleEvents", centered: "centered", color: "color", config: "config", constrainTo: "constrainTo", contentElementCls: "contentElementCls", dataField: "dataField", defaultBindProperty: "defaultBindProperty", defaultFocus: "defaultFocus", defaults: "defaults", detectCSSCompatibilityIssues: "detectCSSCompatibilityIssues", dock: "dock", draggable: "draggable", elementAttributes: "elementAttributes", floating: "floating", hideAnimation: "hideAnimation", hideWhenEmpty: "hideWhenEmpty", htmlCls: "htmlCls", ignoreParentReadOnly: "ignoreParentReadOnly", itemCls: "itemCls", lazyItems: "lazyItems", listeners: "listeners", localeClass: "localeClass", localizable: "localizable", localizableProperties: "localizableProperties", maskDefaults: "maskDefaults", masked: "masked", monitorResize: "monitorResize", namedItems: "namedItems", positioned: "positioned", preventTooltipOnTouch: "preventTooltipOnTouch", relayStoreEvents: "relayStoreEvents", ripple: "ripple", rootElement: "rootElement", scrollAction: "scrollAction", showAnimation: "showAnimation", showTooltipWhenDisabled: "showTooltipWhenDisabled", tab: "tab", tabBarItems: "tabBarItems", tag: "tag", textAlign: "textAlign", textContent: "textContent", type: "type", ui: "ui", weight: "weight", alignSelf: "alignSelf", animate: "animate", animationDuration: "animationDuration", appendTo: "appendTo", axisColor: "axisColor", axisLabelColor: "axisLabelColor", background: "background", barDirection: "barDirection", barWidth: "barWidth", bubbleScaleFactor: "bubbleScaleFactor", callOnFunctions: "callOnFunctions", catchEventHandlerExceptions: "catchEventHandlerExceptions", chartPadding: "chartPadding", chartTooltip: "chartTooltip", chartType: "chartType", cls: "cls", column: "column", content: "content", data: "data", dataPointShape: "dataPointShape", dataset: "dataset", disabled: "disabled", extraData: "extraData", field: "field", fillColorField: "fillColorField", flex: "flex", gridColor: "gridColor", height: "height", hidden: "hidden", html: "html", id: "id", inputFieldAlign: "inputFieldAlign", insertBefore: "insertBefore", insertFirst: "insertFirst", interactive: "interactive", items: "items", keyMap: "keyMap", label: "label", labelPosition: "labelPosition", labels: "labels", layout: "layout", layoutStyle: "layoutStyle", legendPosition: "legendPosition", legendScale: "legendScale", margin: "margin", max: "max", maxHeight: "maxHeight", maximizeOnMobile: "maximizeOnMobile", maxTickLabelRotation: "maxTickLabelRotation", maxWidth: "maxWidth", min: "min", minHeight: "minHeight", minTickLabelRotation: "minTickLabelRotation", minWidth: "minWidth", pointSize: "pointSize", readOnly: "readOnly", record: "record", rendition: "rendition", role: "role", rtl: "rtl", scrollable: "scrollable", series: "series", seriesLineDash: "seriesLineDash", seriesLineOpacity: "seriesLineOpacity", seriesLineThickness: "seriesLineThickness", showControls: "showControls", showLegend: "showLegend", showPoints: "showPoints", showSubtitle: "showSubtitle", showTicks: "showTicks", showTitle: "showTitle", showTooltips: "showTooltips", span: "span", strictRecordMapping: "strictRecordMapping", subtitle: "subtitle", subtitleFont: "subtitleFont", subtitlePadding: "subtitlePadding", tickFont: "tickFont", tickMarkColor: "tickMarkColor", title: "title", titleFont: "titleFont", titlePadding: "titlePadding", tooltip: "tooltip", width: "width", x: "x", y: "y",
|
|
731
|
+
BryntumChartComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.0", type: BryntumChartComponent, selector: "bryntum-chart", inputs: { adopt: "adopt", align: "align", anchor: "anchor", ariaDescription: "ariaDescription", ariaLabel: "ariaLabel", autoUpdateRecord: "autoUpdateRecord", border: "border", bubbleEvents: "bubbleEvents", centered: "centered", color: "color", config: "config", constrainTo: "constrainTo", contentElementCls: "contentElementCls", dataField: "dataField", defaultBindProperty: "defaultBindProperty", defaultFocus: "defaultFocus", defaults: "defaults", detectCSSCompatibilityIssues: "detectCSSCompatibilityIssues", dock: "dock", draggable: "draggable", elementAttributes: "elementAttributes", floating: "floating", hideAnimation: "hideAnimation", hideWhenEmpty: "hideWhenEmpty", htmlCls: "htmlCls", ignoreParentReadOnly: "ignoreParentReadOnly", itemCls: "itemCls", lazyItems: "lazyItems", listeners: "listeners", localeClass: "localeClass", localizable: "localizable", localizableProperties: "localizableProperties", maskDefaults: "maskDefaults", masked: "masked", monitorResize: "monitorResize", namedItems: "namedItems", positioned: "positioned", preventTooltipOnTouch: "preventTooltipOnTouch", relayStoreEvents: "relayStoreEvents", ripple: "ripple", rootElement: "rootElement", scrollAction: "scrollAction", showAnimation: "showAnimation", showTooltipWhenDisabled: "showTooltipWhenDisabled", tab: "tab", tabBarItems: "tabBarItems", tag: "tag", textAlign: "textAlign", textContent: "textContent", type: "type", ui: "ui", weight: "weight", alignSelf: "alignSelf", animate: "animate", animationDuration: "animationDuration", appendTo: "appendTo", axisColor: "axisColor", axisLabelColor: "axisLabelColor", background: "background", barDirection: "barDirection", barWidth: "barWidth", bubbleScaleFactor: "bubbleScaleFactor", callOnFunctions: "callOnFunctions", catchEventHandlerExceptions: "catchEventHandlerExceptions", chartPadding: "chartPadding", chartTooltip: "chartTooltip", chartType: "chartType", cls: "cls", column: "column", content: "content", data: "data", dataPointShape: "dataPointShape", dataset: "dataset", disabled: "disabled", extraData: "extraData", field: "field", fillColorField: "fillColorField", flex: "flex", gridColor: "gridColor", height: "height", hidden: "hidden", html: "html", id: "id", inputFieldAlign: "inputFieldAlign", insertBefore: "insertBefore", insertFirst: "insertFirst", interactive: "interactive", items: "items", keyMap: "keyMap", label: "label", labelPosition: "labelPosition", labels: "labels", labelWidth: "labelWidth", layout: "layout", layoutStyle: "layoutStyle", legendPosition: "legendPosition", legendScale: "legendScale", margin: "margin", max: "max", maxHeight: "maxHeight", maximizeOnMobile: "maximizeOnMobile", maxTickLabelRotation: "maxTickLabelRotation", maxWidth: "maxWidth", min: "min", minHeight: "minHeight", minTickLabelRotation: "minTickLabelRotation", minWidth: "minWidth", pointSize: "pointSize", readOnly: "readOnly", record: "record", rendition: "rendition", role: "role", rtl: "rtl", scrollable: "scrollable", series: "series", seriesLineDash: "seriesLineDash", seriesLineOpacity: "seriesLineOpacity", seriesLineThickness: "seriesLineThickness", showControls: "showControls", showLegend: "showLegend", showPoints: "showPoints", showSubtitle: "showSubtitle", showTicks: "showTicks", showTitle: "showTitle", showTooltips: "showTooltips", span: "span", strictRecordMapping: "strictRecordMapping", subtitle: "subtitle", subtitleFont: "subtitleFont", subtitlePadding: "subtitlePadding", tickFont: "tickFont", tickMarkColor: "tickMarkColor", title: "title", titleFont: "titleFont", titlePadding: "titlePadding", tooltip: "tooltip", width: "width", x: "x", y: "y", parent: "parent", values: "values" }, outputs: { onBeforeDestroy: "onBeforeDestroy", onBeforeHide: "onBeforeHide", onBeforeSetRecord: "onBeforeSetRecord", onBeforeShow: "onBeforeShow", onCatchAll: "onCatchAll", onDestroy: "onDestroy", onDirtyStateChange: "onDirtyStateChange", onElementCreated: "onElementCreated", onFocusIn: "onFocusIn", onFocusOut: "onFocusOut", onHide: "onHide", onPaint: "onPaint", onReadOnly: "onReadOnly", onRecompose: "onRecompose", onResize: "onResize", onShow: "onShow" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true });
|
|
603
732
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumChartComponent, decorators: [{
|
|
604
733
|
type: Component,
|
|
605
734
|
args: [{
|
|
@@ -790,6 +919,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
|
|
|
790
919
|
type: Input
|
|
791
920
|
}], labels: [{
|
|
792
921
|
type: Input
|
|
922
|
+
}], labelWidth: [{
|
|
923
|
+
type: Input
|
|
793
924
|
}], layout: [{
|
|
794
925
|
type: Input
|
|
795
926
|
}], layoutStyle: [{
|
|
@@ -882,16 +1013,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
|
|
|
882
1013
|
type: Input
|
|
883
1014
|
}], y: [{
|
|
884
1015
|
type: Input
|
|
885
|
-
}], anchorSize: [{
|
|
886
|
-
type: Input
|
|
887
|
-
}], focusVisible: [{
|
|
888
|
-
type: Input
|
|
889
|
-
}], hasChanges: [{
|
|
890
|
-
type: Input
|
|
891
|
-
}], isSettingValues: [{
|
|
892
|
-
type: Input
|
|
893
|
-
}], isValid: [{
|
|
894
|
-
type: Input
|
|
895
1016
|
}], parent: [{
|
|
896
1017
|
type: Input
|
|
897
1018
|
}], values: [{
|
|
@@ -936,15 +1057,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImpor
|
|
|
936
1057
|
class BryntumChartModule {
|
|
937
1058
|
}
|
|
938
1059
|
BryntumChartModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumChartModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
939
|
-
BryntumChartModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumChartModule, declarations: [BryntumChartComponent], exports: [BryntumChartComponent] });
|
|
940
|
-
BryntumChartModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumChartModule, imports: [[]] });
|
|
1060
|
+
BryntumChartModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumChartModule, declarations: [BryntumChartComponent], imports: [CommonModule], exports: [BryntumChartComponent] });
|
|
1061
|
+
BryntumChartModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumChartModule, imports: [[CommonModule]] });
|
|
941
1062
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.0", ngImport: i0, type: BryntumChartModule, decorators: [{
|
|
942
1063
|
type: NgModule,
|
|
943
1064
|
args: [{
|
|
944
1065
|
declarations: [
|
|
945
1066
|
BryntumChartComponent
|
|
946
1067
|
],
|
|
947
|
-
imports: [],
|
|
1068
|
+
imports: [CommonModule],
|
|
948
1069
|
exports: [
|
|
949
1070
|
BryntumChartComponent
|
|
950
1071
|
]
|