@design.estate/dees-catalog 3.55.2 → 3.55.4

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.
Files changed (113) hide show
  1. package/dist_bundle/bundle.js +2527 -1286
  2. package/dist_ts_web/00_commitinfo_data.js +1 -1
  3. package/dist_ts_web/elements/00group-chart/dees-chart-area/styles.js +12 -10
  4. package/dist_ts_web/elements/00group-chart/dees-chart-bar/component.d.ts +26 -0
  5. package/dist_ts_web/elements/00group-chart/dees-chart-bar/component.js +200 -0
  6. package/dist_ts_web/elements/00group-chart/dees-chart-bar/demo.d.ts +3 -0
  7. package/dist_ts_web/elements/00group-chart/dees-chart-bar/demo.js +116 -0
  8. package/dist_ts_web/elements/00group-chart/dees-chart-bar/index.d.ts +1 -0
  9. package/dist_ts_web/elements/00group-chart/dees-chart-bar/index.js +2 -0
  10. package/dist_ts_web/elements/00group-chart/dees-chart-bar/styles.d.ts +1 -0
  11. package/dist_ts_web/elements/00group-chart/dees-chart-bar/styles.js +7 -0
  12. package/dist_ts_web/elements/00group-chart/dees-chart-bar/template.d.ts +3 -0
  13. package/dist_ts_web/elements/00group-chart/dees-chart-bar/template.js +12 -0
  14. package/dist_ts_web/elements/00group-chart/dees-chart-donut/component.d.ts +25 -0
  15. package/dist_ts_web/elements/00group-chart/dees-chart-donut/component.js +188 -0
  16. package/dist_ts_web/elements/00group-chart/dees-chart-donut/demo.d.ts +3 -0
  17. package/dist_ts_web/elements/00group-chart/dees-chart-donut/demo.js +122 -0
  18. package/dist_ts_web/elements/00group-chart/dees-chart-donut/index.d.ts +1 -0
  19. package/dist_ts_web/elements/00group-chart/dees-chart-donut/index.js +2 -0
  20. package/dist_ts_web/elements/00group-chart/dees-chart-donut/styles.d.ts +1 -0
  21. package/dist_ts_web/elements/00group-chart/dees-chart-donut/styles.js +11 -0
  22. package/dist_ts_web/elements/00group-chart/dees-chart-donut/template.d.ts +3 -0
  23. package/dist_ts_web/elements/00group-chart/dees-chart-donut/template.js +12 -0
  24. package/dist_ts_web/elements/00group-chart/dees-chart-echarts-base.d.ts +22 -0
  25. package/dist_ts_web/elements/00group-chart/dees-chart-echarts-base.js +140 -0
  26. package/dist_ts_web/elements/00group-chart/dees-chart-echarts-styles.d.ts +1 -0
  27. package/dist_ts_web/elements/00group-chart/dees-chart-echarts-styles.js +36 -0
  28. package/dist_ts_web/elements/00group-chart/dees-chart-echarts-theme.d.ts +15 -0
  29. package/dist_ts_web/elements/00group-chart/dees-chart-echarts-theme.js +67 -0
  30. package/dist_ts_web/elements/00group-chart/dees-chart-gauge/component.d.ts +25 -0
  31. package/dist_ts_web/elements/00group-chart/dees-chart-gauge/component.js +224 -0
  32. package/dist_ts_web/elements/00group-chart/dees-chart-gauge/demo.d.ts +3 -0
  33. package/dist_ts_web/elements/00group-chart/dees-chart-gauge/demo.js +124 -0
  34. package/dist_ts_web/elements/00group-chart/dees-chart-gauge/index.d.ts +1 -0
  35. package/dist_ts_web/elements/00group-chart/dees-chart-gauge/index.js +2 -0
  36. package/dist_ts_web/elements/00group-chart/dees-chart-gauge/styles.d.ts +1 -0
  37. package/dist_ts_web/elements/00group-chart/dees-chart-gauge/styles.js +11 -0
  38. package/dist_ts_web/elements/00group-chart/dees-chart-gauge/template.d.ts +3 -0
  39. package/dist_ts_web/elements/00group-chart/dees-chart-gauge/template.js +12 -0
  40. package/dist_ts_web/elements/00group-chart/dees-chart-log/dees-chart-log.js +25 -25
  41. package/dist_ts_web/elements/00group-chart/dees-chart-radar/component.d.ts +28 -0
  42. package/dist_ts_web/elements/00group-chart/dees-chart-radar/component.js +176 -0
  43. package/dist_ts_web/elements/00group-chart/dees-chart-radar/demo.d.ts +3 -0
  44. package/dist_ts_web/elements/00group-chart/dees-chart-radar/demo.js +113 -0
  45. package/dist_ts_web/elements/00group-chart/dees-chart-radar/index.d.ts +1 -0
  46. package/dist_ts_web/elements/00group-chart/dees-chart-radar/index.js +2 -0
  47. package/dist_ts_web/elements/00group-chart/dees-chart-radar/styles.d.ts +1 -0
  48. package/dist_ts_web/elements/00group-chart/dees-chart-radar/styles.js +7 -0
  49. package/dist_ts_web/elements/00group-chart/dees-chart-radar/template.d.ts +3 -0
  50. package/dist_ts_web/elements/00group-chart/dees-chart-radar/template.js +12 -0
  51. package/dist_ts_web/elements/00group-chart/index.d.ts +4 -0
  52. package/dist_ts_web/elements/00group-chart/index.js +5 -1
  53. package/dist_ts_web/elements/00group-dataview/dees-dataview-codebox/dees-dataview-codebox.d.ts +1 -0
  54. package/dist_ts_web/elements/00group-dataview/dees-dataview-codebox/dees-dataview-codebox.js +12 -7
  55. package/dist_ts_web/elements/00group-dataview/dees-dataview-statusobject/dees-dataview-statusobject.js +12 -12
  56. package/dist_ts_web/elements/00group-dataview/dees-statsgrid/dees-statsgrid.js +19 -19
  57. package/dist_ts_web/elements/00group-dataview/dees-table/styles.js +27 -27
  58. package/dist_ts_web/elements/00group-input/dees-input-code/dees-input-code.js +16 -16
  59. package/dist_ts_web/elements/00group-input/dees-input-richtext/styles.js +23 -21
  60. package/dist_ts_web/elements/00group-layout/dees-tile/dees-tile.js +7 -7
  61. package/dist_ts_web/elements/00group-media/dees-pdf-viewer/styles.js +5 -3
  62. package/dist_ts_web/elements/00group-overlay/dees-modal/dees-modal.js +11 -11
  63. package/dist_ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.js +4 -4
  64. package/dist_ts_web/elements/00group-workspace/dees-workspace-terminal-preview/dees-workspace-terminal-preview.js +6 -6
  65. package/dist_ts_web/services/DeesServiceLibLoader.d.ts +31 -1
  66. package/dist_ts_web/services/DeesServiceLibLoader.js +31 -1
  67. package/dist_ts_web/services/index.d.ts +1 -1
  68. package/dist_ts_web/services/versions.d.ts +1 -0
  69. package/dist_ts_web/services/versions.js +2 -1
  70. package/dist_watch/bundle.js +2527 -1286
  71. package/dist_watch/bundle.js.map +4 -4
  72. package/package.json +2 -1
  73. package/ts_web/00_commitinfo_data.ts +1 -1
  74. package/ts_web/elements/00group-chart/dees-chart-area/styles.ts +11 -9
  75. package/ts_web/elements/00group-chart/dees-chart-bar/component.ts +142 -0
  76. package/ts_web/elements/00group-chart/dees-chart-bar/demo.ts +120 -0
  77. package/ts_web/elements/00group-chart/dees-chart-bar/index.ts +1 -0
  78. package/ts_web/elements/00group-chart/dees-chart-bar/styles.ts +7 -0
  79. package/ts_web/elements/00group-chart/dees-chart-bar/template.ts +13 -0
  80. package/ts_web/elements/00group-chart/dees-chart-donut/component.ts +132 -0
  81. package/ts_web/elements/00group-chart/dees-chart-donut/demo.ts +127 -0
  82. package/ts_web/elements/00group-chart/dees-chart-donut/index.ts +1 -0
  83. package/ts_web/elements/00group-chart/dees-chart-donut/styles.ts +11 -0
  84. package/ts_web/elements/00group-chart/dees-chart-donut/template.ts +13 -0
  85. package/ts_web/elements/00group-chart/dees-chart-echarts-base.ts +107 -0
  86. package/ts_web/elements/00group-chart/dees-chart-echarts-styles.ts +36 -0
  87. package/ts_web/elements/00group-chart/dees-chart-echarts-theme.ts +72 -0
  88. package/ts_web/elements/00group-chart/dees-chart-gauge/component.ts +161 -0
  89. package/ts_web/elements/00group-chart/dees-chart-gauge/demo.ts +125 -0
  90. package/ts_web/elements/00group-chart/dees-chart-gauge/index.ts +1 -0
  91. package/ts_web/elements/00group-chart/dees-chart-gauge/styles.ts +11 -0
  92. package/ts_web/elements/00group-chart/dees-chart-gauge/template.ts +13 -0
  93. package/ts_web/elements/00group-chart/dees-chart-log/dees-chart-log.ts +24 -24
  94. package/ts_web/elements/00group-chart/dees-chart-radar/component.ts +130 -0
  95. package/ts_web/elements/00group-chart/dees-chart-radar/demo.ts +119 -0
  96. package/ts_web/elements/00group-chart/dees-chart-radar/index.ts +1 -0
  97. package/ts_web/elements/00group-chart/dees-chart-radar/styles.ts +7 -0
  98. package/ts_web/elements/00group-chart/dees-chart-radar/template.ts +13 -0
  99. package/ts_web/elements/00group-chart/index.ts +4 -0
  100. package/ts_web/elements/00group-dataview/dees-dataview-codebox/dees-dataview-codebox.ts +12 -5
  101. package/ts_web/elements/00group-dataview/dees-dataview-statusobject/dees-dataview-statusobject.ts +11 -11
  102. package/ts_web/elements/00group-dataview/dees-statsgrid/dees-statsgrid.ts +18 -18
  103. package/ts_web/elements/00group-dataview/dees-table/styles.ts +26 -26
  104. package/ts_web/elements/00group-input/dees-input-code/dees-input-code.ts +15 -15
  105. package/ts_web/elements/00group-input/dees-input-richtext/styles.ts +22 -20
  106. package/ts_web/elements/00group-layout/dees-tile/dees-tile.ts +6 -6
  107. package/ts_web/elements/00group-media/dees-pdf-viewer/styles.ts +4 -2
  108. package/ts_web/elements/00group-overlay/dees-modal/dees-modal.ts +10 -10
  109. package/ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.ts +3 -3
  110. package/ts_web/elements/00group-workspace/dees-workspace-terminal-preview/dees-workspace-terminal-preview.ts +5 -5
  111. package/ts_web/services/DeesServiceLibLoader.ts +58 -1
  112. package/ts_web/services/index.ts +1 -1
  113. package/ts_web/services/versions.ts +1 -0
@@ -0,0 +1,188 @@
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
27
+ };
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
34
+ };
35
+ import { customElement, property, } from '@design.estate/dees-element';
36
+ import { DeesChartEchartsBase } from '../dees-chart-echarts-base.js';
37
+ import { demoFunc } from './demo.js';
38
+ import { donutStyles } from './styles.js';
39
+ import { renderChartDonut } from './template.js';
40
+ import { getEchartsSeriesColors, getThemeColors } from '../dees-chart-echarts-theme.js';
41
+ let DeesChartDonut = (() => {
42
+ let _classDecorators = [customElement('dees-chart-donut')];
43
+ let _classDescriptor;
44
+ let _classExtraInitializers = [];
45
+ let _classThis;
46
+ let _classSuper = DeesChartEchartsBase;
47
+ let _data_decorators;
48
+ let _data_initializers = [];
49
+ let _data_extraInitializers = [];
50
+ let _showLegend_decorators;
51
+ let _showLegend_initializers = [];
52
+ let _showLegend_extraInitializers = [];
53
+ let _showLabels_decorators;
54
+ let _showLabels_initializers = [];
55
+ let _showLabels_extraInitializers = [];
56
+ let _innerRadiusPercent_decorators;
57
+ let _innerRadiusPercent_initializers = [];
58
+ let _innerRadiusPercent_extraInitializers = [];
59
+ let _valueFormatter_decorators;
60
+ let _valueFormatter_initializers = [];
61
+ let _valueFormatter_extraInitializers = [];
62
+ var DeesChartDonut = class extends _classSuper {
63
+ static { _classThis = this; }
64
+ static {
65
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
66
+ _data_decorators = [property({ type: Array })];
67
+ _showLegend_decorators = [property({ type: Boolean })];
68
+ _showLabels_decorators = [property({ type: Boolean })];
69
+ _innerRadiusPercent_decorators = [property({ type: String })];
70
+ _valueFormatter_decorators = [property({ attribute: false })];
71
+ __esDecorate(this, null, _data_decorators, { kind: "accessor", name: "data", static: false, private: false, access: { has: obj => "data" in obj, get: obj => obj.data, set: (obj, value) => { obj.data = value; } }, metadata: _metadata }, _data_initializers, _data_extraInitializers);
72
+ __esDecorate(this, null, _showLegend_decorators, { kind: "accessor", name: "showLegend", static: false, private: false, access: { has: obj => "showLegend" in obj, get: obj => obj.showLegend, set: (obj, value) => { obj.showLegend = value; } }, metadata: _metadata }, _showLegend_initializers, _showLegend_extraInitializers);
73
+ __esDecorate(this, null, _showLabels_decorators, { kind: "accessor", name: "showLabels", static: false, private: false, access: { has: obj => "showLabels" in obj, get: obj => obj.showLabels, set: (obj, value) => { obj.showLabels = value; } }, metadata: _metadata }, _showLabels_initializers, _showLabels_extraInitializers);
74
+ __esDecorate(this, null, _innerRadiusPercent_decorators, { kind: "accessor", name: "innerRadiusPercent", static: false, private: false, access: { has: obj => "innerRadiusPercent" in obj, get: obj => obj.innerRadiusPercent, set: (obj, value) => { obj.innerRadiusPercent = value; } }, metadata: _metadata }, _innerRadiusPercent_initializers, _innerRadiusPercent_extraInitializers);
75
+ __esDecorate(this, null, _valueFormatter_decorators, { kind: "accessor", name: "valueFormatter", static: false, private: false, access: { has: obj => "valueFormatter" in obj, get: obj => obj.valueFormatter, set: (obj, value) => { obj.valueFormatter = value; } }, metadata: _metadata }, _valueFormatter_initializers, _valueFormatter_extraInitializers);
76
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
77
+ DeesChartDonut = _classThis = _classDescriptor.value;
78
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
79
+ }
80
+ static demo = demoFunc;
81
+ static demoGroups = ['Chart'];
82
+ #data_accessor_storage = __runInitializers(this, _data_initializers, []);
83
+ get data() { return this.#data_accessor_storage; }
84
+ set data(value) { this.#data_accessor_storage = value; }
85
+ #showLegend_accessor_storage = (__runInitializers(this, _data_extraInitializers), __runInitializers(this, _showLegend_initializers, true));
86
+ get showLegend() { return this.#showLegend_accessor_storage; }
87
+ set showLegend(value) { this.#showLegend_accessor_storage = value; }
88
+ #showLabels_accessor_storage = (__runInitializers(this, _showLegend_extraInitializers), __runInitializers(this, _showLabels_initializers, true));
89
+ get showLabels() { return this.#showLabels_accessor_storage; }
90
+ set showLabels(value) { this.#showLabels_accessor_storage = value; }
91
+ #innerRadiusPercent_accessor_storage = (__runInitializers(this, _showLabels_extraInitializers), __runInitializers(this, _innerRadiusPercent_initializers, '55%'));
92
+ get innerRadiusPercent() { return this.#innerRadiusPercent_accessor_storage; }
93
+ set innerRadiusPercent(value) { this.#innerRadiusPercent_accessor_storage = value; }
94
+ #valueFormatter_accessor_storage = (__runInitializers(this, _innerRadiusPercent_extraInitializers), __runInitializers(this, _valueFormatter_initializers, (val) => `${val}`));
95
+ get valueFormatter() { return this.#valueFormatter_accessor_storage; }
96
+ set valueFormatter(value) { this.#valueFormatter_accessor_storage = value; }
97
+ static styles = donutStyles;
98
+ render() {
99
+ return renderChartDonut(this);
100
+ }
101
+ async updated(changedProperties) {
102
+ super.updated(changedProperties);
103
+ if (this.chartInstance &&
104
+ (changedProperties.has('data') ||
105
+ changedProperties.has('showLegend') ||
106
+ changedProperties.has('showLabels') ||
107
+ changedProperties.has('innerRadiusPercent'))) {
108
+ this.updateChart();
109
+ }
110
+ }
111
+ buildOption() {
112
+ const colors = getThemeColors(this.goBright);
113
+ const seriesColors = getEchartsSeriesColors(this.goBright);
114
+ const data = this.data.map((item, index) => ({
115
+ name: item.name,
116
+ value: item.value,
117
+ itemStyle: item.color ? { color: item.color } : { color: seriesColors[index % seriesColors.length] },
118
+ }));
119
+ const formatter = this.valueFormatter;
120
+ return {
121
+ tooltip: {
122
+ trigger: 'item',
123
+ formatter: (params) => {
124
+ return `${params.marker} ${params.name}: <strong>${formatter(params.value)}</strong> (${params.percent}%)`;
125
+ },
126
+ },
127
+ legend: this.showLegend
128
+ ? {
129
+ orient: 'vertical',
130
+ right: 16,
131
+ top: 'center',
132
+ itemWidth: 10,
133
+ itemHeight: 10,
134
+ itemGap: 12,
135
+ formatter: (name) => {
136
+ const item = this.data.find((d) => d.name === name);
137
+ return item ? `${name} ${formatter(item.value)}` : name;
138
+ },
139
+ }
140
+ : { show: false },
141
+ series: [
142
+ {
143
+ type: 'pie',
144
+ radius: [this.innerRadiusPercent, '85%'],
145
+ center: this.showLegend ? ['35%', '50%'] : ['50%', '50%'],
146
+ avoidLabelOverlap: true,
147
+ itemStyle: {
148
+ borderRadius: 4,
149
+ borderColor: 'transparent',
150
+ borderWidth: 2,
151
+ },
152
+ label: this.showLabels
153
+ ? {
154
+ show: true,
155
+ formatter: '{b}: {d}%',
156
+ fontSize: 11,
157
+ color: colors.textSecondary,
158
+ textBorderColor: 'transparent',
159
+ }
160
+ : { show: false },
161
+ emphasis: {
162
+ itemStyle: {
163
+ shadowBlur: 10,
164
+ shadowOffsetX: 0,
165
+ shadowColor: 'rgba(0, 0, 0, 0.2)',
166
+ },
167
+ label: {
168
+ show: true,
169
+ fontWeight: 'bold',
170
+ },
171
+ },
172
+ data,
173
+ },
174
+ ],
175
+ };
176
+ }
177
+ constructor() {
178
+ super(...arguments);
179
+ __runInitializers(this, _valueFormatter_extraInitializers);
180
+ }
181
+ static {
182
+ __runInitializers(_classThis, _classExtraInitializers);
183
+ }
184
+ };
185
+ return DeesChartDonut = _classThis;
186
+ })();
187
+ export { DeesChartDonut };
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtY2hhcnQvZGVlcy1jaGFydC1kb251dC9jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxhQUFhLEVBQ2IsUUFBUSxHQUVULE1BQU0sNkJBQTZCLENBQUM7QUFFckMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDckUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNyQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7SUFlM0UsY0FBYzs0QkFEMUIsYUFBYSxDQUFDLGtCQUFrQixDQUFDOzs7O3NCQUNFLG9CQUFvQjs7Ozs7Ozs7Ozs7Ozs7Ozs4QkFBNUIsU0FBUSxXQUFvQjs7OztnQ0FJckQsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDO3NDQUd6QixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7c0NBRzNCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQzs4Q0FHM0IsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDOzBDQUcxQixRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFYL0IsaUtBQVMsSUFBSSw2QkFBSixJQUFJLG1GQUF3QjtZQUdyQyxtTEFBUyxVQUFVLDZCQUFWLFVBQVUsK0ZBQWlCO1lBR3BDLG1MQUFTLFVBQVUsNkJBQVYsVUFBVSwrRkFB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
@@ -0,0 +1,3 @@
1
+ import '@design.estate/dees-wcctools/demotools';
2
+ import './component.js';
3
+ export declare const demoFunc: () => import("@design.estate/dees-element").TemplateResult<1>;
@@ -0,0 +1,122 @@
1
+ import { html, css, cssManager } from '@design.estate/dees-element';
2
+ import '@design.estate/dees-wcctools/demotools';
3
+ import './component.js';
4
+ export const demoFunc = () => {
5
+ const diskData = [
6
+ { name: 'Documents', value: 42 },
7
+ { name: 'Media', value: 28 },
8
+ { name: 'Applications', value: 15 },
9
+ { name: 'System', value: 10 },
10
+ { name: 'Other', value: 5 },
11
+ ];
12
+ const statusData = [
13
+ { name: 'Healthy', value: 156 },
14
+ { name: 'Warning', value: 23 },
15
+ { name: 'Critical', value: 8 },
16
+ { name: 'Unknown', value: 3 },
17
+ ];
18
+ const trafficData = [
19
+ { name: 'API', value: 45200 },
20
+ { name: 'Static Assets', value: 23100 },
21
+ { name: 'WebSocket', value: 12800 },
22
+ { name: 'GraphQL', value: 8900 },
23
+ ];
24
+ return html `
25
+ <dees-demowrapper .runAfterRender=${async (elementArg) => {
26
+ const diskChart = elementArg.querySelector('#disk-chart');
27
+ const statusChart = elementArg.querySelector('#status-chart');
28
+ const trafficChart = elementArg.querySelector('#traffic-chart');
29
+ // Wire up buttons
30
+ const buttons = elementArg.querySelectorAll('dees-button');
31
+ buttons.forEach((button) => {
32
+ const text = button.text?.trim();
33
+ if (text === 'Randomize') {
34
+ button.addEventListener('click', () => {
35
+ diskChart.data = diskData.map((d) => ({
36
+ ...d,
37
+ value: Math.round(d.value * (0.5 + Math.random())),
38
+ }));
39
+ statusChart.data = statusData.map((d) => ({
40
+ ...d,
41
+ value: Math.round(d.value * (0.3 + Math.random() * 1.4)),
42
+ }));
43
+ trafficChart.data = trafficData.map((d) => ({
44
+ ...d,
45
+ value: Math.round(d.value * (0.5 + Math.random())),
46
+ }));
47
+ });
48
+ }
49
+ });
50
+ }}>
51
+ <style>
52
+ ${css `
53
+ .demoBox {
54
+ position: relative;
55
+ background: ${cssManager.bdTheme('hsl(0 0% 95%)', 'hsl(0 0% 9%)')};
56
+ height: 100%;
57
+ width: 100%;
58
+ padding: 40px;
59
+ box-sizing: border-box;
60
+ display: flex;
61
+ flex-direction: column;
62
+ gap: 24px;
63
+ }
64
+ .chartRow {
65
+ display: grid;
66
+ grid-template-columns: 1fr 1fr;
67
+ gap: 24px;
68
+ }
69
+ .controls {
70
+ display: flex;
71
+ gap: 12px;
72
+ margin-bottom: 8px;
73
+ }
74
+ .info {
75
+ color: ${cssManager.bdTheme('hsl(215.4 16.3% 56.9%)', 'hsl(215 20.2% 55.1%)')};
76
+ font-size: 12px;
77
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Geist Sans', sans-serif;
78
+ text-align: center;
79
+ margin-top: 8px;
80
+ }
81
+ `}
82
+ </style>
83
+ <div class="demoBox">
84
+ <div class="controls">
85
+ <dees-button-group label="Actions:">
86
+ <dees-button>Randomize</dees-button>
87
+ </dees-button-group>
88
+ </div>
89
+
90
+ <div class="chartRow">
91
+ <dees-chart-donut
92
+ id="disk-chart"
93
+ .label=${'Disk Usage (GB)'}
94
+ .data=${diskData}
95
+ .valueFormatter=${(val) => `${val} GB`}
96
+ ></dees-chart-donut>
97
+
98
+ <dees-chart-donut
99
+ id="status-chart"
100
+ .label=${'Service Status'}
101
+ .data=${statusData}
102
+ .valueFormatter=${(val) => `${val} services`}
103
+ .innerRadiusPercent=${'0%'}
104
+ ></dees-chart-donut>
105
+ </div>
106
+
107
+ <dees-chart-donut
108
+ id="traffic-chart"
109
+ .label=${'Traffic Distribution'}
110
+ .data=${trafficData}
111
+ .valueFormatter=${(val) => `${(val / 1000).toFixed(1)}k req`}
112
+ ></dees-chart-donut>
113
+
114
+ <div class="info">
115
+ Donut chart with configurable inner radius (set to 0% for full pie) •
116
+ Click 'Randomize' to update data with animation
117
+ </div>
118
+ </div>
119
+ </dees-demowrapper>
120
+ `;
121
+ };
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVtby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWNoYXJ0L2RlZXMtY2hhcnQtZG9udXQvZGVtby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUVwRSxPQUFPLHdDQUF3QyxDQUFDO0FBQ2hELE9BQU8sZ0JBQWdCLENBQUM7QUFFeEIsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLEdBQUcsRUFBRTtJQUMzQixNQUFNLFFBQVEsR0FBRztRQUNmLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1FBQ2hDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1FBQzVCLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1FBQ25DLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1FBQzdCLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO0tBQzVCLENBQUM7SUFFRixNQUFNLFVBQVUsR0FBRztRQUNqQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRTtRQUMvQixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtRQUM5QixFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtRQUM5QixFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtLQUM5QixDQUFDO0lBRUYsTUFBTSxXQUFXLEdBQUc7UUFDbEIsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUU7UUFDN0IsRUFB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
@@ -0,0 +1 @@
1
+ export * from './component.js';
@@ -0,0 +1,2 @@
1
+ export * from './component.js';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1jaGFydC9kZWVzLWNoYXJ0LWRvbnV0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUMifQ==
@@ -0,0 +1 @@
1
+ export declare const donutStyles: import("@design.estate/dees-element").CSSResult[];
@@ -0,0 +1,11 @@
1
+ import { css, cssManager } from '@design.estate/dees-element';
2
+ import { echartsBaseStyles } from '../dees-chart-echarts-styles.js';
3
+ export const donutStyles = [
4
+ ...echartsBaseStyles,
5
+ css `
6
+ :host {
7
+ height: 360px;
8
+ }
9
+ `,
10
+ ];
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtY2hhcnQvZGVlcy1jaGFydC1kb251dC9zdHlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUVwRSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUc7SUFDekIsR0FBRyxpQkFBaUI7SUFDcEIsR0FBRyxDQUFBOzs7O0dBSUY7Q0FDRixDQUFDIn0=
@@ -0,0 +1,3 @@
1
+ import { type TemplateResult } from '@design.estate/dees-element';
2
+ import type { DeesChartDonut } from './component.js';
3
+ export declare const renderChartDonut: (component: DeesChartDonut) => TemplateResult;
@@ -0,0 +1,12 @@
1
+ import { html } from '@design.estate/dees-element';
2
+ export const renderChartDonut = (component) => {
3
+ return html `
4
+ <dees-tile>
5
+ <div slot="header" class="chartHeader">
6
+ <span class="chartLabel">${component.label}</span>
7
+ </div>
8
+ <div class="chartContainer"></div>
9
+ </dees-tile>
10
+ `;
11
+ };
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1jaGFydC9kZWVzLWNoYXJ0LWRvbnV0L3RlbXBsYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQXVCLE1BQU0sNkJBQTZCLENBQUM7QUFHeEUsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxTQUF5QixFQUFrQixFQUFFO0lBQzVFLE9BQU8sSUFBSSxDQUFBOzs7bUNBR3NCLFNBQVMsQ0FBQyxLQUFLOzs7O0dBSS9DLENBQUM7QUFDSixDQUFDLENBQUMifQ==
@@ -0,0 +1,22 @@
1
+ import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
2
+ import { type IEchartsBundle, type IEchartsInstance } from '../../services/index.js';
3
+ import '../00group-layout/dees-tile/dees-tile.js';
4
+ /**
5
+ * Abstract base class for ECharts-based chart components.
6
+ * Handles library loading, chart lifecycle, resize observation, and theme switching.
7
+ * Subclasses implement `buildOption()` to define their chart configuration.
8
+ */
9
+ export declare abstract class DeesChartEchartsBase extends DeesElement {
10
+ accessor label: string;
11
+ protected chartInstance: IEchartsInstance | null;
12
+ protected echartsBundle: IEchartsBundle | null;
13
+ private resizeObserver;
14
+ constructor();
15
+ render(): TemplateResult;
16
+ firstUpdated(): Promise<void>;
17
+ updated(changedProperties: Map<string, any>): Promise<void>;
18
+ protected abstract buildOption(): Record<string, any>;
19
+ protected updateChart(): void;
20
+ protected applyTheme(): void;
21
+ forceResize(): Promise<void>;
22
+ }
@@ -0,0 +1,140 @@
1
+ var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
2
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
3
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
4
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
5
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
6
+ var _, done = false;
7
+ for (var i = decorators.length - 1; i >= 0; i--) {
8
+ var context = {};
9
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
10
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
11
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
12
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
13
+ if (kind === "accessor") {
14
+ if (result === void 0) continue;
15
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
16
+ if (_ = accept(result.get)) descriptor.get = _;
17
+ if (_ = accept(result.set)) descriptor.set = _;
18
+ if (_ = accept(result.init)) initializers.unshift(_);
19
+ }
20
+ else if (_ = accept(result)) {
21
+ if (kind === "field") initializers.unshift(_);
22
+ else descriptor[key] = _;
23
+ }
24
+ }
25
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
26
+ done = true;
27
+ };
28
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
29
+ var useValue = arguments.length > 2;
30
+ for (var i = 0; i < initializers.length; i++) {
31
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
32
+ }
33
+ return useValue ? value : void 0;
34
+ };
35
+ import { DeesElement, property, html, } from '@design.estate/dees-element';
36
+ import * as domtools from '@design.estate/dees-domtools';
37
+ import { DeesServiceLibLoader } from '../../services/index.js';
38
+ import { getEchartsThemeOptions } from './dees-chart-echarts-theme.js';
39
+ import '../00group-layout/dees-tile/dees-tile.js';
40
+ /**
41
+ * Abstract base class for ECharts-based chart components.
42
+ * Handles library loading, chart lifecycle, resize observation, and theme switching.
43
+ * Subclasses implement `buildOption()` to define their chart configuration.
44
+ */
45
+ let DeesChartEchartsBase = (() => {
46
+ let _classSuper = DeesElement;
47
+ let _label_decorators;
48
+ let _label_initializers = [];
49
+ let _label_extraInitializers = [];
50
+ return class DeesChartEchartsBase extends _classSuper {
51
+ static {
52
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
53
+ _label_decorators = [property()];
54
+ __esDecorate(this, null, _label_decorators, { kind: "accessor", name: "label", static: false, private: false, access: { has: obj => "label" in obj, get: obj => obj.label, set: (obj, value) => { obj.label = value; } }, metadata: _metadata }, _label_initializers, _label_extraInitializers);
55
+ if (_metadata) Object.defineProperty(this, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
56
+ }
57
+ #label_accessor_storage = __runInitializers(this, _label_initializers, 'Untitled Chart');
58
+ get label() { return this.#label_accessor_storage; }
59
+ set label(value) { this.#label_accessor_storage = value; }
60
+ chartInstance = (__runInitializers(this, _label_extraInitializers), null);
61
+ echartsBundle = null;
62
+ resizeObserver = null;
63
+ constructor() {
64
+ super();
65
+ domtools.elementBasic.setup();
66
+ this.registerGarbageFunction(async () => {
67
+ if (this.resizeObserver) {
68
+ this.resizeObserver.disconnect();
69
+ this.resizeObserver = null;
70
+ }
71
+ if (this.chartInstance) {
72
+ try {
73
+ this.chartInstance.dispose();
74
+ this.chartInstance = null;
75
+ }
76
+ catch (e) {
77
+ console.error('Error disposing ECharts instance:', e);
78
+ }
79
+ }
80
+ });
81
+ }
82
+ render() {
83
+ return html `
84
+ <dees-tile>
85
+ <div slot="header" class="chartHeader">
86
+ <span class="chartLabel">${this.label}</span>
87
+ </div>
88
+ <div class="chartContainer"></div>
89
+ </dees-tile>
90
+ `;
91
+ }
92
+ async firstUpdated() {
93
+ await this.domtoolsPromise;
94
+ this.echartsBundle = await DeesServiceLibLoader.getInstance().loadEcharts();
95
+ await new Promise(resolve => requestAnimationFrame(resolve));
96
+ const chartContainer = this.shadowRoot.querySelector('.chartContainer');
97
+ if (!chartContainer)
98
+ return;
99
+ try {
100
+ this.chartInstance = this.echartsBundle.init(chartContainer);
101
+ this.updateChart();
102
+ this.resizeObserver = new ResizeObserver(() => {
103
+ this.chartInstance?.resize();
104
+ });
105
+ this.resizeObserver.observe(chartContainer);
106
+ }
107
+ catch (error) {
108
+ console.error('Failed to initialize ECharts:', error);
109
+ }
110
+ }
111
+ async updated(changedProperties) {
112
+ super.updated(changedProperties);
113
+ if (changedProperties.has('goBright') && this.chartInstance) {
114
+ this.applyTheme();
115
+ }
116
+ }
117
+ updateChart() {
118
+ if (!this.chartInstance)
119
+ return;
120
+ const themeOptions = getEchartsThemeOptions(this.goBright);
121
+ const chartOption = this.buildOption();
122
+ // Merge theme defaults with chart-specific options
123
+ const merged = {
124
+ ...themeOptions,
125
+ ...chartOption,
126
+ textStyle: { ...themeOptions.textStyle, ...(chartOption.textStyle || {}) },
127
+ tooltip: { ...themeOptions.tooltip, ...(chartOption.tooltip || {}) },
128
+ };
129
+ this.chartInstance.setOption(merged, true);
130
+ }
131
+ applyTheme() {
132
+ this.updateChart();
133
+ }
134
+ async forceResize() {
135
+ this.chartInstance?.resize();
136
+ }
137
+ };
138
+ })();
139
+ export { DeesChartEchartsBase };
140
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1jaGFydC1lY2hhcnRzLWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1jaGFydC9kZWVzLWNoYXJ0LWVjaGFydHMtYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLFdBQVcsRUFDWCxRQUFRLEVBQ1IsSUFBSSxHQUVMLE1BQU0sNkJBQTZCLENBQUM7QUFFckMsT0FBTyxLQUFLLFFBQVEsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsb0JBQW9CLEVBQThDLE1BQU0seUJBQXlCLENBQUM7QUFDM0csT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkUsT0FBTywwQ0FBMEMsQ0FBQztBQUVsRDs7OztHQUlHO0lBQ21CLG9CQUFvQjtzQkFBUyxXQUFXOzs7O2lCQUF4QyxvQkFBcUIsU0FBUSxXQUFXOzs7aUNBQzNELFFBQVEsRUFBRTtZQUNYLG9LQUFTLEtBQUssNkJBQUwsS0FBSyxxRkFBNEI7OztRQUExQyx1RUFBeUIsZ0JBQWdCLEVBQUM7UUFBMUMsSUFBUyxLQUFLLDJDQUE0QjtRQUExQyxJQUFTLEtBQUssaURBQTRCO1FBRWhDLGFBQWEsdURBQTRCLElBQUksRUFBQztRQUM5QyxhQUFhLEdBQTBCLElBQUksQ0FBQztRQUM5QyxjQUFjLEdBQTBCLElBQUksQ0FBQztRQUVyRDtZQUNFLEtBQUssRUFBRSxDQUFDO1lBQ1IsUUFBUSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsdUJBQXVCLENBQUMsS0FBSyxJQUFJLEVBQUU7Z0JBQ3RDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxDQUFDO29CQUNqQyxJQUFJLENBQUMsY0FBYyxH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
@@ -0,0 +1 @@
1
+ export declare const echartsBaseStyles: import("@design.estate/dees-element").CSSResult[];
@@ -0,0 +1,36 @@
1
+ import { css, cssManager } from '@design.estate/dees-element';
2
+ import { themeDefaultStyles } from '../00theme.js';
3
+ export const echartsBaseStyles = [
4
+ themeDefaultStyles,
5
+ cssManager.defaultStyles,
6
+ css `
7
+ :host {
8
+ display: block;
9
+ height: 400px;
10
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
11
+ color: var(--dees-color-text-primary);
12
+ font-size: 14px;
13
+ }
14
+ dees-tile {
15
+ height: 100%;
16
+ }
17
+ .chartHeader {
18
+ display: flex;
19
+ align-items: center;
20
+ height: 32px;
21
+ padding: 0 8px 0 16px;
22
+ }
23
+ .chartLabel {
24
+ flex: 1;
25
+ font-size: 14px;
26
+ font-weight: 500;
27
+ letter-spacing: -0.01em;
28
+ color: var(--dees-color-text-secondary);
29
+ }
30
+ .chartContainer {
31
+ position: absolute;
32
+ inset: 0;
33
+ }
34
+ `,
35
+ ];
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1jaGFydC1lY2hhcnRzLXN0eWxlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWNoYXJ0L2RlZXMtY2hhcnQtZWNoYXJ0cy1zdHlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUc7SUFDL0Isa0JBQWtCO0lBQ2xCLFVBQVUsQ0FBQyxhQUFhO0lBQ3hCLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTRCRjtDQUNGLENBQUMifQ==
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Shared theme utilities for ECharts-based chart components.
3
+ * Uses the centralized themeDefaults tokens so chart colors stay in sync
4
+ * with the rest of the dees-catalog design system.
5
+ *
6
+ * ECharts renders on <canvas> and cannot read CSS custom properties,
7
+ * so we reference the TypeScript source-of-truth (themeDefaults) directly.
8
+ */
9
+ export declare function getEchartsSeriesColors(goBright: boolean): string[];
10
+ export declare function getEchartsThemeOptions(goBright: boolean): Record<string, any>;
11
+ /**
12
+ * Helper to get the resolved theme colors object for use in buildOption().
13
+ * Components can use this instead of hardcoding dark/light color values.
14
+ */
15
+ export declare function getThemeColors(goBright: boolean): import("../00theme.js").IThemeColors;