@dhtmlx/chart 9.3.3

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 (180) hide show
  1. package/README.md +216 -0
  2. package/codebase/chart.d.ts +3 -0
  3. package/codebase/chart.min.css +1 -0
  4. package/codebase/chart.min.js +21 -0
  5. package/codebase/chart.min.js.map +1 -0
  6. package/codebase/fonts/roboto-bold-webfont.woff +0 -0
  7. package/codebase/fonts/roboto-bold-webfont.woff2 +0 -0
  8. package/codebase/fonts/roboto-medium-webfont.woff +0 -0
  9. package/codebase/fonts/roboto-medium-webfont.woff2 +0 -0
  10. package/codebase/fonts/roboto-regular-webfont.woff +0 -0
  11. package/codebase/fonts/roboto-regular-webfont.woff2 +0 -0
  12. package/codebase/types/ts-calendar/index.d.ts +2 -0
  13. package/codebase/types/ts-calendar/sources/Calendar.d.ts +37 -0
  14. package/codebase/types/ts-calendar/sources/helper.d.ts +1 -0
  15. package/codebase/types/ts-calendar/sources/types.d.ts +64 -0
  16. package/codebase/types/ts-chart/sources/AxisCreator.d.ts +11 -0
  17. package/codebase/types/ts-chart/sources/Chart.d.ts +28 -0
  18. package/codebase/types/ts-chart/sources/ComposeLayer.d.ts +10 -0
  19. package/codebase/types/ts-chart/sources/Export.d.ts +12 -0
  20. package/codebase/types/ts-chart/sources/Filters.d.ts +2 -0
  21. package/codebase/types/ts-chart/sources/Legend.d.ts +15 -0
  22. package/codebase/types/ts-chart/sources/Tooltip.d.ts +13 -0
  23. package/codebase/types/ts-chart/sources/entry.d.ts +8 -0
  24. package/codebase/types/ts-chart/sources/helpers/circle.d.ts +9 -0
  25. package/codebase/types/ts-chart/sources/helpers/common.d.ts +45 -0
  26. package/codebase/types/ts-chart/sources/helpers/spline.d.ts +2 -0
  27. package/codebase/types/ts-chart/sources/scales/RadialScale.d.ts +8 -0
  28. package/codebase/types/ts-chart/sources/scales/Scale.d.ts +22 -0
  29. package/codebase/types/ts-chart/sources/scales/SvgScales.d.ts +12 -0
  30. package/codebase/types/ts-chart/sources/scales/TextScale.d.ts +11 -0
  31. package/codebase/types/ts-chart/sources/scales/index.d.ts +9 -0
  32. package/codebase/types/ts-chart/sources/series/Area.d.ts +9 -0
  33. package/codebase/types/ts-chart/sources/series/Bar.d.ts +22 -0
  34. package/codebase/types/ts-chart/sources/series/BarX.d.ts +18 -0
  35. package/codebase/types/ts-chart/sources/series/BaseSeria.d.ts +31 -0
  36. package/codebase/types/ts-chart/sources/series/CalendarHeatMap.d.ts +20 -0
  37. package/codebase/types/ts-chart/sources/series/Donut.d.ts +5 -0
  38. package/codebase/types/ts-chart/sources/series/Line.d.ts +7 -0
  39. package/codebase/types/ts-chart/sources/series/NoScaleSeria.d.ts +22 -0
  40. package/codebase/types/ts-chart/sources/series/Pie.d.ts +5 -0
  41. package/codebase/types/ts-chart/sources/series/Pie3D.d.ts +5 -0
  42. package/codebase/types/ts-chart/sources/series/Radar.d.ts +16 -0
  43. package/codebase/types/ts-chart/sources/series/ScaleSeria.d.ts +15 -0
  44. package/codebase/types/ts-chart/sources/series/Scatter.d.ts +6 -0
  45. package/codebase/types/ts-chart/sources/series/Spline.d.ts +5 -0
  46. package/codebase/types/ts-chart/sources/series/SplineArea.d.ts +5 -0
  47. package/codebase/types/ts-chart/sources/series/Stacker.d.ts +9 -0
  48. package/codebase/types/ts-chart/sources/series/TreeMap.d.ts +30 -0
  49. package/codebase/types/ts-chart/sources/series/index.d.ts +29 -0
  50. package/codebase/types/ts-chart/sources/shapes/legend.d.ts +2 -0
  51. package/codebase/types/ts-chart/sources/shapes/line.d.ts +7 -0
  52. package/codebase/types/ts-chart/sources/types.d.ts +301 -0
  53. package/codebase/types/ts-combobox/index.d.ts +3 -0
  54. package/codebase/types/ts-combobox/sources/Combobox.d.ts +53 -0
  55. package/codebase/types/ts-combobox/sources/ProCombobox.d.ts +6 -0
  56. package/codebase/types/ts-combobox/sources/helper.d.ts +4 -0
  57. package/codebase/types/ts-combobox/sources/keyListener.d.ts +14 -0
  58. package/codebase/types/ts-combobox/sources/locales/en.d.ts +8 -0
  59. package/codebase/types/ts-combobox/sources/types.d.ts +95 -0
  60. package/codebase/types/ts-common/FocusManager.d.ts +15 -0
  61. package/codebase/types/ts-common/KeyManager.d.ts +19 -0
  62. package/codebase/types/ts-common/ScrollView.d.ts +40 -0
  63. package/codebase/types/ts-common/core.d.ts +40 -0
  64. package/codebase/types/ts-common/date.d.ts +34 -0
  65. package/codebase/types/ts-common/dom.d.ts +24 -0
  66. package/codebase/types/ts-common/events.d.ts +35 -0
  67. package/codebase/types/ts-common/html.d.ts +74 -0
  68. package/codebase/types/ts-common/input.d.ts +24 -0
  69. package/codebase/types/ts-common/keycodes.d.ts +9 -0
  70. package/codebase/types/ts-common/polyfills/array.d.ts +0 -0
  71. package/codebase/types/ts-common/polyfills/element.d.ts +0 -0
  72. package/codebase/types/ts-common/polyfills/fetch.d.ts +0 -0
  73. package/codebase/types/ts-common/polyfills/math.d.ts +0 -0
  74. package/codebase/types/ts-common/polyfills/object.d.ts +0 -0
  75. package/codebase/types/ts-common/polyfills/string.d.ts +0 -0
  76. package/codebase/types/ts-common/types.d.ts +76 -0
  77. package/codebase/types/ts-common/view.d.ts +27 -0
  78. package/codebase/types/ts-data/index.d.ts +13 -0
  79. package/codebase/types/ts-data/sources/CollectionStore.d.ts +7 -0
  80. package/codebase/types/ts-data/sources/DragManager.d.ts +19 -0
  81. package/codebase/types/ts-data/sources/ajax.d.ts +2 -0
  82. package/codebase/types/ts-data/sources/datacollection/group.d.ts +43 -0
  83. package/codebase/types/ts-data/sources/datacollection/loader.d.ts +16 -0
  84. package/codebase/types/ts-data/sources/datacollection/sort.d.ts +7 -0
  85. package/codebase/types/ts-data/sources/datacollection.d.ts +101 -0
  86. package/codebase/types/ts-data/sources/dataproxy.d.ts +10 -0
  87. package/codebase/types/ts-data/sources/drivers/CsvDriver.d.ts +16 -0
  88. package/codebase/types/ts-data/sources/drivers/JsonDriver.d.ts +10 -0
  89. package/codebase/types/ts-data/sources/drivers/XMLDriver.d.ts +18 -0
  90. package/codebase/types/ts-data/sources/drivers/drivers.d.ts +12 -0
  91. package/codebase/types/ts-data/sources/helpers.d.ts +17 -0
  92. package/codebase/types/ts-data/sources/lazydataproxy.d.ts +9 -0
  93. package/codebase/types/ts-data/sources/methods.d.ts +11 -0
  94. package/codebase/types/ts-data/sources/selection.d.ts +17 -0
  95. package/codebase/types/ts-data/sources/serializers/xml.d.ts +2 -0
  96. package/codebase/types/ts-data/sources/treecollection.d.ts +72 -0
  97. package/codebase/types/ts-data/sources/types.d.ts +340 -0
  98. package/codebase/types/ts-grid/index.d.ts +7 -0
  99. package/codebase/types/ts-grid/sources/ExtendedGrid.d.ts +47 -0
  100. package/codebase/types/ts-grid/sources/Grid.d.ts +114 -0
  101. package/codebase/types/ts-grid/sources/ProGrid.d.ts +67 -0
  102. package/codebase/types/ts-grid/sources/helpers/cells.d.ts +9 -0
  103. package/codebase/types/ts-grid/sources/helpers/data.d.ts +36 -0
  104. package/codebase/types/ts-grid/sources/helpers/default.d.ts +6 -0
  105. package/codebase/types/ts-grid/sources/helpers/dom.d.ts +3 -0
  106. package/codebase/types/ts-grid/sources/helpers/keys.d.ts +27 -0
  107. package/codebase/types/ts-grid/sources/helpers/main.d.ts +23 -0
  108. package/codebase/types/ts-grid/sources/locales/en.d.ts +7 -0
  109. package/codebase/types/ts-grid/sources/modules/BlockSelection.d.ts +122 -0
  110. package/codebase/types/ts-grid/sources/modules/Clipboard.d.ts +55 -0
  111. package/codebase/types/ts-grid/sources/modules/DropManager.d.ts +21 -0
  112. package/codebase/types/ts-grid/sources/modules/Exporter.d.ts +80 -0
  113. package/codebase/types/ts-grid/sources/modules/History.d.ts +72 -0
  114. package/codebase/types/ts-grid/sources/modules/Range.d.ts +71 -0
  115. package/codebase/types/ts-grid/sources/modules/Resizer.d.ts +2 -0
  116. package/codebase/types/ts-grid/sources/modules/Selection.d.ts +58 -0
  117. package/codebase/types/ts-grid/sources/types.d.ts +660 -0
  118. package/codebase/types/ts-grid/sources/ui/FixedCols.d.ts +3 -0
  119. package/codebase/types/ts-grid/sources/ui/FixedRows.d.ts +5 -0
  120. package/codebase/types/ts-grid/sources/ui/cells.d.ts +34 -0
  121. package/codebase/types/ts-grid/sources/ui/common.d.ts +8 -0
  122. package/codebase/types/ts-grid/sources/ui/components/dragPanel.d.ts +7 -0
  123. package/codebase/types/ts-grid/sources/ui/components/groupPanel.d.ts +13 -0
  124. package/codebase/types/ts-grid/sources/ui/components/subRow.d.ts +4 -0
  125. package/codebase/types/ts-grid/sources/ui/content/ComboFilter.d.ts +35 -0
  126. package/codebase/types/ts-grid/sources/ui/content/DateFilter.d.ts +42 -0
  127. package/codebase/types/ts-grid/sources/ui/content/InputFilter.d.ts +32 -0
  128. package/codebase/types/ts-grid/sources/ui/content/SelectFilter.d.ts +28 -0
  129. package/codebase/types/ts-grid/sources/ui/content.d.ts +55 -0
  130. package/codebase/types/ts-grid/sources/ui/editors/CheckboxEditor.d.ts +18 -0
  131. package/codebase/types/ts-grid/sources/ui/editors/ComboboxEditor.d.ts +18 -0
  132. package/codebase/types/ts-grid/sources/ui/editors/DateEditor.d.ts +37 -0
  133. package/codebase/types/ts-grid/sources/ui/editors/InputEditor.d.ts +22 -0
  134. package/codebase/types/ts-grid/sources/ui/editors/SelectEditor.d.ts +16 -0
  135. package/codebase/types/ts-grid/sources/ui/editors/TextAreaEditor.d.ts +27 -0
  136. package/codebase/types/ts-grid/sources/ui/editors/editors.d.ts +2 -0
  137. package/codebase/types/ts-grid/sources/ui/proContent.d.ts +37 -0
  138. package/codebase/types/ts-grid/sources/ui/render.d.ts +9 -0
  139. package/codebase/types/ts-layout/index.d.ts +3 -0
  140. package/codebase/types/ts-layout/sources/Cell.d.ts +60 -0
  141. package/codebase/types/ts-layout/sources/Layout.d.ts +29 -0
  142. package/codebase/types/ts-layout/sources/ProCell.d.ts +9 -0
  143. package/codebase/types/ts-layout/sources/ProLayout.d.ts +6 -0
  144. package/codebase/types/ts-layout/sources/helpers.d.ts +6 -0
  145. package/codebase/types/ts-layout/sources/types.d.ts +129 -0
  146. package/codebase/types/ts-list/index.d.ts +4 -0
  147. package/codebase/types/ts-list/sources/List.d.ts +56 -0
  148. package/codebase/types/ts-list/sources/ProList.d.ts +11 -0
  149. package/codebase/types/ts-list/sources/Selection.d.ts +24 -0
  150. package/codebase/types/ts-list/sources/editors/InputEditor.d.ts +16 -0
  151. package/codebase/types/ts-list/sources/editors/editors.d.ts +4 -0
  152. package/codebase/types/ts-list/sources/types.d.ts +98 -0
  153. package/codebase/types/ts-message/index.d.ts +5 -0
  154. package/codebase/types/ts-message/sources/alert.d.ts +2 -0
  155. package/codebase/types/ts-message/sources/common.d.ts +1 -0
  156. package/codebase/types/ts-message/sources/confirm.d.ts +2 -0
  157. package/codebase/types/ts-message/sources/locales/en.d.ts +5 -0
  158. package/codebase/types/ts-message/sources/message.d.ts +4 -0
  159. package/codebase/types/ts-message/sources/tooltip.d.ts +6 -0
  160. package/codebase/types/ts-message/sources/types.d.ts +79 -0
  161. package/codebase/types/ts-popup/index.d.ts +2 -0
  162. package/codebase/types/ts-popup/sources/Popup.d.ts +29 -0
  163. package/codebase/types/ts-popup/sources/types.d.ts +42 -0
  164. package/codebase/types/ts-slider/index.d.ts +2 -0
  165. package/codebase/types/ts-slider/sources/Slider.d.ts +55 -0
  166. package/codebase/types/ts-slider/sources/types.d.ts +60 -0
  167. package/codebase/types/ts-timepicker/index.d.ts +2 -0
  168. package/codebase/types/ts-timepicker/sources/Timepicker.d.ts +28 -0
  169. package/codebase/types/ts-timepicker/sources/helper.d.ts +4 -0
  170. package/codebase/types/ts-timepicker/sources/locales/en.d.ts +6 -0
  171. package/codebase/types/ts-timepicker/sources/types.d.ts +52 -0
  172. package/codebase/types/ts-treegrid/index.d.ts +3 -0
  173. package/codebase/types/ts-treegrid/sources/TreeGrid.d.ts +26 -0
  174. package/codebase/types/ts-treegrid/sources/TreeGridCollection.d.ts +21 -0
  175. package/codebase/types/ts-treegrid/sources/types.d.ts +17 -0
  176. package/dhtmlx_chart.png +0 -0
  177. package/dhtmlx_logo.svg +4 -0
  178. package/license.md +360 -0
  179. package/package.json +13 -0
  180. package/whatsnew.txt +582 -0
package/README.md ADDED
@@ -0,0 +1,216 @@
1
+ # DHTMLX Chart — JavaScript Chart Library (GPL Edition)
2
+
3
+ ![](dhtmlx_logo.svg)
4
+
5
+ **npm** · [License: GPL v2](license.md) · [made by DHTMLX](https://dhtmlx.com/)
6
+
7
+ `@dhtmlx/chart` is a JavaScript chart library for visualizing data in web applications with 12 chart types including line, bar, area, pie, donut, scatter, radar, treemap, and heatmap charts, with full support for mixed chart types, real-time data updates, and deep customization.
8
+
9
+ It is a framework-agnostic charting component that works with plain JavaScript and integrates with React, Angular, Vue, and Svelte.
10
+
11
+ It is ideal for prototyping data visualizations, embedding charts in open-source projects, and evaluating DHTMLX Chart's core features under the GPL v2 license.
12
+
13
+ ![DHTMLX Chart screenshot](dhtmlx_chart.png)
14
+
15
+ ---
16
+
17
+ ## License
18
+
19
+ **This edition of DHTMLX Chart** is licensed under the GNU General Public License v2.0 (GPL v2).
20
+
21
+ You can redistribute this package and/or modify it under the terms of the GPL v2.
22
+
23
+ GPL v2 requires that any project using this package also be open source under a GPL-compatible license.
24
+
25
+ **You may NOT use this package in closed-source, proprietary, or commercial applications** without a separate commercial license. For commercial use, please obtain a commercial license of DHTMLX Chart (PRO edition).
26
+
27
+ This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GPL v2 for more details.
28
+
29
+ ### Using DHTMLX Chart in a commercial or closed-source project?
30
+
31
+ You need a commercial license. DHTMLX offers Individual, Commercial, Enterprise, and Ultimate license tiers.
32
+
33
+ - [Compare licenses and pricing](https://dhtmlx.com/docs/products/licenses.shtml)
34
+ - [Download a free 30-day trial of DHTMLX Chart](https://dhtmlx.com/docs/products/dhtmlxChart/download.shtml)
35
+ - [Download 30-day trial versions of all DHTMLX components](https://dhtmlx.com/docs/download/)
36
+ - Contact us regarding licensing: [info@dhtmlx.com](mailto:info@dhtmlx.com)
37
+
38
+ Copyright © 2026 XB Software Ltd.
39
+
40
+ ---
41
+
42
+ ## What is DHTMLX Chart
43
+
44
+ **DHTMLX Chart** is a JavaScript data visualization component for rendering interactive charts in web applications. It supports 11 chart types – line, spline, area, bar, pie, donut, scatter, radar, treemap, and their combinations – and allows multiple series to be plotted on a single chart. Developers can configure scales, legends, tooltips, and series individually, apply CSS-based theming, and update chart data or configuration at runtime without re-initializing.
45
+
46
+ This is the **GPL (open source) edition** of DHTMLX Chart, distributed as the `@dhtmlx/chart` npm package. It is part of the DHTMLX Suite family of UI components and can be used standalone or alongside other Suite widgets such as DHTMLX Grid, which can share and synchronize data with Chart directly.
47
+
48
+ Use this GPL edition when you want to prototype data visualizations, integrate charts into an open-source project, or evaluate DHTMLX Chart's core features before obtaining a commercial license.
49
+
50
+ ---
51
+
52
+ ## Quick Start
53
+
54
+ Install the package, import the styles, and initialize a chart in a container element.
55
+
56
+ ### Install
57
+
58
+ ```bash
59
+ npm install @dhtmlx/chart
60
+ ```
61
+
62
+ ### Include in your project
63
+
64
+ ```js
65
+ import { Chart } from "@dhtmlx/chart";
66
+ import "@dhtmlx/chart/chart.css";
67
+ ```
68
+
69
+ Or via CDN as part of DHTMLX Suite:
70
+
71
+ ```html
72
+ <link rel="stylesheet" href="https://cdn.dhtmlx.com/suite/edge/suite.css" />
73
+ <script type="text/javascript" src="https://cdn.dhtmlx.com/suite/edge/suite.js"></script>
74
+ ```
75
+
76
+ Or with script tags pointing to local files:
77
+
78
+ ```html
79
+ <script src="path/to/chart.js"></script>
80
+ <link rel="stylesheet" href="path/to/chart.css">
81
+ ```
82
+
83
+ The CSS import is required for default chart styling and layout.
84
+
85
+ ### Initialize
86
+
87
+ ```js
88
+ import { Chart } from "@dhtmlx/chart";
89
+ import "@dhtmlx/chart/chart.css";
90
+
91
+ const chart = new Chart("chart_container", {
92
+ type: "bar",
93
+ scales: {
94
+ bottom: { text: "month" },
95
+ left: { maxTicks: 10, max: 100, min: 0 }
96
+ },
97
+ series: [
98
+ { id: "revenue", value: "revenue", color: "#5E83BA", fill: "#5E83BA" }
99
+ ],
100
+ data: [
101
+ { month: "Jan", revenue: 60 },
102
+ { month: "Feb", revenue: 75 },
103
+ { month: "Mar", revenue: 55 }
104
+ ]
105
+ });
106
+ ```
107
+
108
+ Add a container element to your HTML:
109
+
110
+ ```html
111
+ <div id="chart_container" style="width: 100%; height: 400px;"></div>
112
+ ```
113
+
114
+ [See a live demo](https://snippet.dhtmlx.com/bo82km4n?tag=chart)
115
+
116
+ ---
117
+
118
+ ## Basic Usage — DHTMLX Chart
119
+
120
+ Initialize a mixed line and bar chart with tooltips and a legend:
121
+
122
+ ```js
123
+ import { Chart } from "@dhtmlx/chart";
124
+ import "@dhtmlx/chart/chart.css";
125
+
126
+ const chart = new Chart("chart_container", {
127
+ type: "bar",
128
+ scales: {
129
+ bottom: { text: "month" },
130
+ left: { maxTicks: 10, max: 100, min: 0 }
131
+ },
132
+ legend: {
133
+ series: ["revenue", "expenses"],
134
+ halign: "right",
135
+ valign: "top"
136
+ },
137
+ series: [
138
+ {
139
+ id: "revenue",
140
+ value: "revenue",
141
+ type: "line", // overlay a line on the bar chart
142
+ color: "#5E83BA",
143
+ strokeWidth: 2,
144
+ tooltip: { template: d => `Revenue: $${d.revenue}k` }
145
+ },
146
+ {
147
+ id: "expenses",
148
+ value: "expenses",
149
+ type: "bar",
150
+ color: "#E9C934",
151
+ fill: "#E9C934",
152
+ tooltip: { template: d => `Expenses: $${d.expenses}k` }
153
+ }
154
+ ],
155
+ data: [
156
+ { month: "Jan", revenue: 60, expenses: 40 },
157
+ { month: "Feb", revenue: 75, expenses: 50 },
158
+ { month: "Mar", revenue: 55, expenses: 35 }
159
+ ]
160
+ });
161
+ ```
162
+
163
+ The `type` field can be set globally on the chart and overridden per series – this is how DHTMLX Chart supports mixed chart types on a single figure. The `tooltip.template` function receives the data item and returns an HTML string for the tooltip content.
164
+
165
+ ---
166
+
167
+ ## DHTMLX Chart Features
168
+
169
+ DHTMLX Chart includes the following main features in the GPL edition, with additional PRO-only capabilities marked accordingly.
170
+
171
+ | Feature | Details |
172
+ | :---- | :---- |
173
+ | 11 chart types | Line and spline, area and spline area, bar and x-bar, pie (2D/3D), donut, scatter, radar, treemap |
174
+ | Mixed chart types | Combine multiple chart types on a single figure (e.g. line overlaid on bar) |
175
+ | Multiple data series | Render several data properties on the same chart with independent configuration |
176
+ | Configurable scales | Set min/max values, tick count, logarithmic scale, label rotation, gridline style |
177
+ | Configurable legend | Set position, alignment, marker shape, and padding between legend items |
178
+ | Tooltips | Custom HTML tooltip templates per series via `tooltip.template` function |
179
+ | Threshold and baseline lines | Add reference lines at any value on the scale |
180
+ | Real-time data updates | Add, remove, or update data items at runtime without re-initializing the chart |
181
+ | Runtime config changes | Swap chart type, scales, or series at runtime via `setConfig()` |
182
+ | Data export | Export charts to PDF and PNG via the DHTMLX export service or a local module |
183
+ | Full CSS customization | Control padding, margin, colors, gradients, and point types via CSS and API |
184
+ | Themes | Multiple built-in themes; switch theme at runtime |
185
+ | Accessibility | Keyboard navigation support |
186
+ | Event system | Rich API events for series interaction, data changes, and more |
187
+ | DHTMLX Grid integration | Synchronize chart data directly with a DHTMLX Grid instance |
188
+ | DataCollection API | Use the shared DHTMLX DataCollection API to load, filter, and manipulate data |
189
+ | Heatmap | **PRO only** |
190
+
191
+ This table highlights key features. For the complete and up-to-date feature list, see the [DHTMLX Chart documentation](https://docs.dhtmlx.com/suite/chart/features/).
192
+
193
+ ---
194
+
195
+ ## Framework Integration
196
+
197
+ DHTMLX Chart works with popular front-end frameworks including React, Angular, Vue, and Svelte. These integration guides apply to both the GPL edition and the commercial editions of DHTMLX Chart.
198
+
199
+ - [React integration guide](https://docs.dhtmlx.com/suite/integration/suite_and_react/)
200
+ - [Angular integration guide](https://docs.dhtmlx.com/suite/integration/suite_and_angular/)
201
+ - [Vue.js integration guide](https://docs.dhtmlx.com/suite/integration/suite_and_vue/)
202
+ - [Svelte integration guide](https://docs.dhtmlx.com/suite/integration/suite_and_svelte/)
203
+
204
+ ---
205
+
206
+ ## Documentation and Resources
207
+
208
+ - [Product page](https://dhtmlx.com/docs/products/dhtmlxChart/) – overview, screenshots, and key features.
209
+ - [Documentation](https://docs.dhtmlx.com/suite/chart/) – getting started, guides, and configuration options.
210
+ - [API reference](https://docs.dhtmlx.com/suite/chart/api/api_overview/) – full JavaScript API.
211
+ - [Live demos and samples](https://snippet.dhtmlx.com/bo82km4n?tag=chart) – interactive examples of DHTMLX Chart features.
212
+ - [Support forum](https://forum.dhtmlx.com/c/suite) – community Q\&A and discussions for DHTMLX Suite.
213
+
214
+ ---
215
+
216
+ **npm short description:** `DHTMLX Chart – JavaScript chart library with 11 chart types, mixed charts, real-time updates, and deep customization – GPL v2 open source edition.`
@@ -0,0 +1,3 @@
1
+ export as namespace dhx;
2
+
3
+ export * from "./types/ts-chart/sources/entry";
@@ -0,0 +1 @@
1
+ @import url(https://cdn.dhtmlx.com/fonts/dxi/dhx-icons.css);:root,[data-dhx-theme]{--dhx-step-size:4px;--dhx-color-white:#fff;--dhx-color-gray-100:#e6e6e6;--dhx-color-gray-200:#ccc;--dhx-color-gray-300:#b3b3b3;--dhx-color-gray-400:#999;--dhx-color-gray-500:grey;--dhx-color-gray-600:#666;--dhx-color-gray-700:#4d4d4d;--dhx-color-gray-800:#333;--dhx-color-gray-900:#1a1a1a;--dhx-color-black:#000;--dhx-font-family:"Roboto",Arial,Tahoma,Verdana,sans-serif;--dhx-font-weight-regular:400;--dhx-font-weight-medium:500;--dhx-font-weight-bold:700;--dhx-font-size-small:calc(var(--dhx-step-size)*3);--dhx-font-size-normal:calc(var(--dhx-step-size)*3.5);--dhx-font-size-large:calc(var(--dhx-step-size)*4);--dhx-line-height-small:calc(var(--dhx-step-size)*4);--dhx-line-height-normal:calc(var(--dhx-step-size)*5);--dhx-line-height-large:calc(var(--dhx-step-size)*6);--dhx-font-color-primary:rgba(0,0,0,.7);--dhx-font-color-secondary:rgba(0,0,0,.5);--dhx-font-color-additional:rgba(0,0,0,.3);--dhx-font-color-disabled:rgba(0,0,0,.3);--dhx-font-color-contrast:var(--dhx-color-white);--dhx-font-color-contrast-disabled:var(--dhx-color-white);--dhx-icon-size-small:calc(var(--dhx-step-size)*4);--dhx-icon-size-normal:calc(var(--dhx-step-size)*5);--dhx-icon-size-large:calc(var(--dhx-step-size)*6);--dhx-border-width:1px;--dhx-border-radius:2px;--dhx-border-color:rgba(0,0,0,.1);--dhx-border-color-focused:rgba(0,0,0,.2);--dhx-border:var(--dhx-border-width) solid var(--dhx-border-color);--dhx-border-shadow-small:0 2px 4px rgba(0,0,0,.15);--dhx-border-shadow-normal:0 2px 5px rgba(0,0,0,.3);--dhx-border-shadow-large:0px 1px 6px rgba(0,0,0,.1),0px 10px 20px rgba(0,0,0,.1);--dhx-shadow-input-size:inset 0px 0px 0px var(--dhx-border-width);--dhx-transition-time:0.2s;--dhx-transition-in:ease-in;--dhx-transition-out:ease-out;--dhx-z-index-up:1;--dhx-z-index-force-up:10;--dhx-z-index-overlay:999;--dhx-z-index-overlay-total:10000000;--dhx-l-contrast-offset:0%;--dhx-l-h-offset:10%;--dhx-s-d-offset:30%;--dhx-l-d:70%;--dhx-a-l-h:.15;--dhx-a-l-a:.3;--dhx-h-primary:200;--dhx-s-primary:98%;--dhx-l-primary:40%;--dhx-h-secondary:0;--dhx-s-secondary:0%;--dhx-l-secondary:30%;--dhx-h-danger:0;--dhx-s-danger:100%;--dhx-l-danger:60%;--dhx-h-success:154;--dhx-s-success:89%;--dhx-l-success:37%;--dhx-h-background:0;--dhx-s-background:0%;--dhx-l-background:100%;--dhx-a-background:0.5;--dhx-background-primary:hsl(var(--dhx-h-background),var(--dhx-s-background),var(--dhx-l-background));--dhx-background-secondary:hsl(var(--dhx-h-background),var(--dhx-s-background),calc(var(--dhx-l-background) - 3%));--dhx-background-additional:hsl(var(--dhx-h-background),var(--dhx-s-background),calc(var(--dhx-l-background) - 10%));--dhx-background-overlay:hsla(var(--dhx-h-background),var(--dhx-s-background),calc(var(--dhx-l-background)*-1),var(--dhx-a-background));--dhx-background-overlay-light:hsla(0,0%,100%,.5);--dhx-tooltip-background-dark:var(--dhx-color-gray-800);--dhx-tooltip-background-light:var(--dhx-color-white);--dhx-color-focused:hsl(calc(var(--dhx-h-primary) + 10),var(--dhx-s-primary),var(--dhx-l-primary));--dhx-color-primary:hsl(var(--dhx-h-primary),var(--dhx-s-primary),calc(var(--dhx-l-primary) - var(--dhx-l-contrast-offset)));--dhx-color-primary-hover:hsl(var(--dhx-h-primary),var(--dhx-s-primary),calc(var(--dhx-l-primary) + var(--dhx-l-h-offset) - var(--dhx-l-contrast-offset)));--dhx-color-primary-active:var(--dhx-color-primary);--dhx-color-primary-disabled:hsl(var(--dhx-h-primary),calc(var(--dhx-s-primary) - var(--dhx-s-d-offset)),var(--dhx-l-d));--dhx-color-primary-light-hover:hsla(var(--dhx-h-primary),var(--dhx-s-primary),calc(var(--dhx-l-primary) - var(--dhx-l-contrast-offset)),var(--dhx-a-l-h));--dhx-color-primary-light-active:hsla(var(--dhx-h-primary),var(--dhx-s-primary),calc(var(--dhx-l-primary) - var(--dhx-l-contrast-offset)),var(--dhx-a-l-a));--dhx-color-secondary:hsl(var(--dhx-h-secondary),var(--dhx-s-secondary),calc(var(--dhx-l-secondary) - var(--dhx-l-contrast-offset)));--dhx-color-secondary-hover:hsl(var(--dhx-h-secondary),var(--dhx-s-secondary),calc(var(--dhx-l-secondary) + var(--dhx-l-h-offset) - var(--dhx-l-contrast-offset)));--dhx-color-secondary-active:var(--dhx-color-secondary);--dhx-color-secondary-disabled:hsl(var(--dhx-h-secondary),calc(var(--dhx-s-secondary) - var(--dhx-s-d-offset)),var(--dhx-l-d));--dhx-color-secondary-light-hover:hsla(var(--dhx-h-secondary),var(--dhx-s-secondary),calc(var(--dhx-l-secondary) - var(--dhx-l-contrast-offset)),var(--dhx-a-l-h));--dhx-color-secondary-light-active:hsla(var(--dhx-h-secondary),var(--dhx-s-secondary),calc(var(--dhx-l-secondary) - var(--dhx-l-contrast-offset)),var(--dhx-a-l-a));--dhx-color-danger:hsl(var(--dhx-h-danger),var(--dhx-s-danger),calc(var(--dhx-l-danger) - var(--dhx-l-contrast-offset)));--dhx-color-danger-hover:hsl(var(--dhx-h-danger),var(--dhx-s-danger),calc(var(--dhx-l-danger) + var(--dhx-l-h-offset) - var(--dhx-l-contrast-offset)));--dhx-color-danger-active:var(--dhx-color-danger);--dhx-color-danger-disabled:hsl(var(--dhx-h-danger),calc(var(--dhx-s-danger) - var(--dhx-s-d-offset)),var(--dhx-l-d));--dhx-color-danger-light-hover:hsla(var(--dhx-h-danger),var(--dhx-s-danger),calc(var(--dhx-l-danger) - var(--dhx-l-contrast-offset)),var(--dhx-a-l-h));--dhx-color-danger-light-active:hsla(var(--dhx-h-danger),var(--dhx-s-danger),calc(var(--dhx-l-danger) - var(--dhx-l-contrast-offset)),var(--dhx-a-l-a));--dhx-color-success:hsl(var(--dhx-h-success),var(--dhx-s-success),calc(var(--dhx-l-success) - var(--dhx-l-contrast-offset)));--dhx-color-success-hover:hsl(var(--dhx-h-success),var(--dhx-s-success),calc(var(--dhx-l-success) + var(--dhx-l-h-offset) - var(--dhx-l-contrast-offset)));--dhx-color-success-active:var(--dhx-color-success);--dhx-color-success-disabled:hsl(var(--dhx-h-success),calc(var(--dhx-s-success) - var(--dhx-s-d-offset)),var(--dhx-l-d));--dhx-color-success-light-hover:hsla(var(--dhx-h-success),var(--dhx-s-success),calc(var(--dhx-l-success) - var(--dhx-l-contrast-offset)),var(--dhx-a-l-h));--dhx-color-success-light-active:hsla(var(--dhx-h-success),var(--dhx-s-success),calc(var(--dhx-l-success) - var(--dhx-l-contrast-offset)),var(--dhx-a-l-a));--dhx-s-toolbar-background:var(--dhx-background-primary);--dhx-s-toolbar-button-background-hover:rgba(0,0,0,.07);--dhx-s-toolbar-button-background-active:rgba(0,0,0,.15);--dhx-s-grid-header-background:var(--dhx-background-secondary);--dhx-s-grid-selection-background:var(--dhx-color-gray-700);--dhx-s-calendar-muffled:.6;--dhx-s-tick-font-size:calc(var(--dhx-font-size-small)/1.2)}.dhx_checkbox__input,.dhx_radiobutton__input,.dhx_simplevault__input,.dhx_visually-hidden{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}.dhx_no-select{-webkit-user-select:none;user-select:none}.dhx_no-select:not(.dhx_no-select--resize):not(.dhx_no-select--pointer) *{cursor:move!important}.dhx_no-select--pointer{cursor:pointer}.dhx_drop-area--not-allowed,.dhx_no-select--pointer{-webkit-user-select:none;user-select:none}.dhx_drop-area--not-allowed,.dhx_drop-area--not-allowed:not(.dhx_no-select--resize):not(.dhx_no-select--pointer) *{cursor:not-allowed!important}.dhx_no-select--resize{-webkit-user-select:none;user-select:none}.dhx_no-select--resize iframe{pointer-events:none!important}.dhx-resize-observer{position:absolute;left:0;top:-100%;width:100%;height:100%;margin:1px 0 0;border:none;opacity:0;visibility:hidden;pointer-events:none}.dhx_widget,.dhx_widget *{-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-text-size-adjust:none;-moz-text-size-adjust:none;-ms-text-size-adjust:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-moz-osx-font-smoothing:grayscale;font-feature-settings:"liga"}.dhx_widget,.dhx_widget *,.dhx_widget:after,.dhx_widget :after,.dhx_widget:before,.dhx_widget :before{box-sizing:border-box}.dhx_widget * :not(output):-moz-ui-invalid,.dhx_widget :not(output):-moz-ui-invalid{box-shadow:none}.dhx_widget{font-family:var(--dhx-font-family);font-weight:var(--dhx-font-weight-regular);font-size:var(--dhx-font-size-normal);line-height:var(--dhx-line-height-normal);color:var(--dhx-font-color-primary)}.dhx_widget--bordered{border:var(--dhx-border)}.dhx_widget--border_top{border-top:var(--dhx-border)}.dhx_widget--border_bottom{border-bottom:var(--dhx-border)}.dhx_widget--border_left{border-left:var(--dhx-border)}.dhx_widget--border_right{border-right:var(--dhx-border)}.dhx_widget--border-shadow{border:0;box-shadow:var(--dhx-border-shadow-small)}.dhx_widget--no-border{border:0}.dhx_widget--no-border_top{border-top:0}.dhx_widget--no-border_bottom{border-bottom:0}.dhx_widget--no-border_left{border-left:0}.dhx_widget--no-border_right{border-right:0}.dhx_widget.dhx_widget--bg_white{background-color:var(--dhx-color-white)}.dhx_widget.dhx_widget--bg_gray{background-color:#f7f7f7}.dhx_drag-ghost{position:absolute;-webkit-user-select:none;user-select:none;pointer-events:none;z-index:calc(var(--dhx-z-index-overlay-total) + 1);opacity:.6}.dhx_drag-ghost *{box-sizing:border-box}.dhx_drag-ghost .dhx_list-item{list-style-type:none;color:var(--dhx-font-color-primary)}.dhx_drag-ghost .dhx_list-item--selected{background-color:var(--dhx-background-primary);box-shadow:inset 0 0 0 0 var(--dhx-color-primary)}.dhx_drag-ghost .dhx_list-item--focus,.dhx_drag-ghost .dhx_list-item--selected:hover,.dhx_drag-ghost .dhx_list-item:hover{background-color:var(--dhx-background-additional);transition:background-color var(--dhx-transition-time) var(--dhx-transition-out)}.dhx_drag-ghost .dhx_dataview-item{color:var(--dhx-font-color-primary)}.dhx_drag-ghost .dhx_tree-list-item__icon{position:relative;display:inline;vertical-align:middle;color:var(--dhx-font-color-additional);font-size:var(--dhx-icon-size-normal);top:2px}.dhx_drag-ghost .dhx_tree-list-item__text{font-family:var(--dhx-font-family);font-size:var(--dhx-font-size-normal);vertical-align:middle;line-height:var(--dhx-line-height-normal);color:var(--dhx-font-color-primary)}.dhx_drag-ghost .dhx_dataview-item,.dhx_drag-ghost .dhx_grid-cell,.dhx_drag-ghost .dhx_list-item{background-color:var(--dhx-background-primary);border:var(--dhx-border)!important}@font-face{font-family:Roboto;src:url(fonts/roboto-regular-webfont.woff2) format("woff2"),url(fonts/roboto-regular-webfont.woff) format("woff");font-weight:400;font-style:normal;font-display:fallback}@font-face{font-family:Roboto;src:url(fonts/roboto-medium-webfont.woff2) format("woff2"),url(fonts/roboto-medium-webfont.woff) format("woff");font-weight:500;font-style:normal;font-display:fallback}@font-face{font-family:Roboto;src:url(fonts/roboto-bold-webfont.woff2) format("woff2"),url(fonts/roboto-bold-webfont.woff) format("woff");font-weight:700;font-style:normal;font-display:fallback}.dxi{display:inline-block;text-rendering:auto;line-height:0;font-size:0}.dxi:before{font-size:var(--dhx-icon-size-normal)}.dxi--small:before{font-size:var(--dhx-icon-size-small)}.dxi--medium:before{font-size:var(--dhx-icon-size-normal)}.dxi--large:before{font-size:var(--dhx-icon-size-large)}@keyframes button-loading{0%{transform:rotate(0deg);transform-origin:center center}to{transform:rotate(1439deg);transform-origin:center center}}.scroll-view-wrapper{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden;position:relative}.scroll-view-wrapper:hover .scroll-runner{opacity:1!important}.scroll-view-wrapper .scroll-view{width:100%;height:100%;overflow:scroll;-ms-overflow-style:scrollbar}.scroll-view-wrapper .scroll-view--overlay{scrollbar-width:none}.scroll-view-wrapper .x-scroll,.scroll-view-wrapper .y-scroll{z-index:1000;background-color:transparent;transition:all .3s}.scroll-view-wrapper .x-scroll .scroll-runner,.scroll-view-wrapper .y-scroll .scroll-runner{position:absolute;background:#999;border-radius:6px;z-index:1}.scroll-view-wrapper .x-scroll:hover{transition:height .5s;height:10px!important}.scroll-view-wrapper .x-scroll .scroll-runner{height:100%}.scroll-view-wrapper .y-scroll:hover{transition:width .5s;width:10px!important}.scroll-view-wrapper .y-scroll .scroll-runner{width:100%}.dhx_button{overflow:visible;position:relative;text-decoration:none;background-image:none;border:0;touch-action:manipulation;-webkit-user-select:none;user-select:none;white-space:nowrap;cursor:pointer}.dhx_button:active,.dhx_button:focus-visible{outline:none}.dhx_button__icon,.dhx_button__text{pointer-events:none}.dhx_button__icon{line-height:0}.dhx_button__icon:before{display:inline-block}.dhx_button__icon+.dhx_button__text{margin-left:var(--dhx-step-size)}.dhx_button__loading{display:none;position:absolute;left:0;top:0;right:0;bottom:0;justify-content:center;align-items:center}.dhx_button__loading-icon{animation:button-loading 3s linear infinite}.dhx_button--width_full{width:100%}.dhx_button--justify_between{justify-content:space-between}.dhx_button--circle.dhx_button--size_small{border-radius:calc(var(--dhx-line-height-normal) + var(--dhx-step-size)*2)}.dhx_button--circle.dhx_button--size_medium{border-radius:calc(var(--dhx-line-height-normal) + var(--dhx-step-size)*3)}.dhx_button--disabled,.dhx_button:disabled{pointer-events:none}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full){border-radius:50%}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full).dhx_button--size_medium{padding-left:calc(var(--dhx-step-size)*1.5);padding-right:calc(var(--dhx-step-size)*1.5)}.dhx_button--icon.dhx_button--circle:not(.dhx_button--width_full).dhx_button--size_small{padding-left:var(--dhx-step-size);padding-right:var(--dhx-step-size)}.dhx_button--loading{position:relative}.dhx_button--loading .dhx_button__loading{display:flex}.dhx_button--loading .dhx_button__icon,.dhx_button--loading .dhx_button__text{visibility:hidden}.dhx_button--size_small{padding:var(--dhx-step-size) calc(var(--dhx-step-size)*3);font-size:var(--dhx-font-size-normal);line-height:var(--dhx-line-height-normal)}.dhx_button--size_small .dhx_button__icon:before{font-size:var(--dhx-icon-size-small);line-height:var(--dhx-line-height-small)}.dhx_button--size_small.dhx_button--loading-icon:before{font-size:var(--dhx-icon-size-small);margin-top:calc(var(--dhx-icon-size-small)/2*-1);margin-left:calc(var(--dhx-icon-size-small)/2*-1)}.dhx_button--size_medium{padding:calc(var(--dhx-step-size)*1.5) calc(var(--dhx-step-size)*4);text-transform:uppercase;line-height:var(--dhx-line-height-normal)}.dhx_button--size_medium .dhx_button__icon:before{font-size:var(--dhx-icon-size-normal);line-height:var(--dhx-line-height-normal)}.dhx_button--size_medium.dhx_button--loading-icon:before{font-size:var(--dhx-line-height-normal);margin-top:calc(var(--dhx-line-height-normal)/2*-1);margin-left:calc(var(--dhx-line-height-normal)/2*-1)}.dhx_button--view_flat{display:flex;justify-content:center;align-items:center;font-family:var(--dhx-font-family);font-size:var(--dhx-font-size-normal);font-weight:var(--dhx-font-weight-medium);line-height:var(--dhx-line-height-normal);text-align:center;color:var(--dhx-font-color-contrast);transition:background-color var(--dhx-transition-time) var(--dhx-transition-in),color var(--dhx-transition-time) var(--dhx-transition-in),box-shadow var(--dhx-transition-time) var(--dhx-transition-in)}.dhx_button--view_flat:focus,.dhx_button--view_flat:hover{transition:background-color var(--dhx-transition-time) var(--dhx-transition-out),color var(--dhx-transition-time) var(--dhx-transition-out),box-shadow var(--dhx-transition-time) var(--dhx-transition-out)}.dhx_button--view_flat.dhx_button--color_primary{background-color:var(--dhx-color-primary);outline-width:0}.dhx_button--view_flat.dhx_button--color_primary.dhx_button--active,.dhx_button--view_flat.dhx_button--color_primary:focus,.dhx_button--view_flat.dhx_button--color_primary:hover{background-color:var(--dhx-color-primary-hover)}.dhx_button--view_flat.dhx_button--color_primary:active{background-color:var(--dhx-color-primary);box-shadow:none}.dhx_button--view_flat.dhx_button--color_primary.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_primary:disabled{color:var(--dhx-font-color-contrast-disabled);background-color:var(--dhx-color-primary-disabled)}.dhx_button--view_flat.dhx_button--color_secondary{background-color:var(--dhx-color-secondary);outline-width:0}.dhx_button--view_flat.dhx_button--color_secondary.dhx_button--active,.dhx_button--view_flat.dhx_button--color_secondary:focus,.dhx_button--view_flat.dhx_button--color_secondary:hover{background-color:var(--dhx-color-secondary-hover)}.dhx_button--view_flat.dhx_button--color_secondary:active{background-color:var(--dhx-color-secondary);box-shadow:none}.dhx_button--view_flat.dhx_button--color_secondary.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_secondary:disabled{color:var(--dhx-font-color-contrast-disabled);background-color:var(--dhx-color-secondary-disabled)}.dhx_button--view_flat.dhx_button--color_danger{background-color:var(--dhx-color-danger);outline-width:0}.dhx_button--view_flat.dhx_button--color_danger.dhx_button--active,.dhx_button--view_flat.dhx_button--color_danger:focus,.dhx_button--view_flat.dhx_button--color_danger:hover{background-color:var(--dhx-color-danger-hover)}.dhx_button--view_flat.dhx_button--color_danger:active{background-color:var(--dhx-color-danger);box-shadow:none}.dhx_button--view_flat.dhx_button--color_danger.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_danger:disabled{color:var(--dhx-font-color-contrast-disabled);background-color:var(--dhx-color-danger-disabled)}.dhx_button--view_flat.dhx_button--color_success{background-color:var(--dhx-color-success);outline-width:0}.dhx_button--view_flat.dhx_button--color_success.dhx_button--active,.dhx_button--view_flat.dhx_button--color_success:focus,.dhx_button--view_flat.dhx_button--color_success:hover{background-color:var(--dhx-color-success-hover)}.dhx_button--view_flat.dhx_button--color_success:active{background-color:var(--dhx-color-success);box-shadow:none}.dhx_button--view_flat.dhx_button--color_success.dhx_button--disabled,.dhx_button--view_flat.dhx_button--color_success:disabled{color:var(--dhx-font-color-contrast-disabled);background-color:var(--dhx-color-success-disabled)}.dhx_button--view_link{display:flex;justify-content:center;align-items:center;font-family:var(--dhx-font-family);font-size:var(--dhx-font-size-normal);font-weight:var(--dhx-font-weight-medium);line-height:var(--dhx-line-height-normal);text-align:center;border-radius:var(--dhx-border-radius);background:transparent;transition:background-color var(--dhx-transition-time) var(--dhx-transition-in),box-shadow var(--dhx-transition-time) var(--dhx-transition-in)}.dhx_button--view_link:focus,.dhx_button--view_link:hover{transition:background-color var(--dhx-transition-time) var(--dhx-transition-out),box-shadow var(--dhx-transition-time) var(--dhx-transition-out)}.dhx_button--view_link.dhx_button--color_primary{color:var(--dhx-color-primary);outline-width:0}.dhx_button--view_link.dhx_button--color_primary:focus,.dhx_button--view_link.dhx_button--color_primary:hover{background-color:var(--dhx-color-primary-light-hover)}.dhx_button--view_link.dhx_button--color_primary.dhx_button--active,.dhx_button--view_link.dhx_button--color_primary:active{background-color:var(--dhx-color-primary-light-active)}.dhx_button--view_link.dhx_button--color_primary.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_primary:disabled{color:var(--dhx-color-primary-disabled)}.dhx_button--view_link.dhx_button--color_secondary{color:var(--dhx-color-secondary);outline-width:0}.dhx_button--view_link.dhx_button--color_secondary:focus,.dhx_button--view_link.dhx_button--color_secondary:hover{background-color:var(--dhx-color-secondary-light-hover)}.dhx_button--view_link.dhx_button--color_secondary.dhx_button--active,.dhx_button--view_link.dhx_button--color_secondary:active{background-color:var(--dhx-color-secondary-light-active)}.dhx_button--view_link.dhx_button--color_secondary.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_secondary:disabled{color:var(--dhx-color-secondary-disabled)}.dhx_button--view_link.dhx_button--color_danger{color:var(--dhx-color-danger);outline-width:0}.dhx_button--view_link.dhx_button--color_danger:focus,.dhx_button--view_link.dhx_button--color_danger:hover{background-color:var(--dhx-color-danger-light-hover)}.dhx_button--view_link.dhx_button--color_danger.dhx_button--active,.dhx_button--view_link.dhx_button--color_danger:active{background-color:var(--dhx-color-danger-light-active)}.dhx_button--view_link.dhx_button--color_danger.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_danger:disabled{color:var(--dhx-color-danger-disabled)}.dhx_button--view_link.dhx_button--color_success{color:var(--dhx-color-success);outline-width:0}.dhx_button--view_link.dhx_button--color_success:focus,.dhx_button--view_link.dhx_button--color_success:hover{background-color:var(--dhx-color-success-light-hover)}.dhx_button--view_link.dhx_button--color_success.dhx_button--active,.dhx_button--view_link.dhx_button--color_success:active{background-color:var(--dhx-color-success-light-active)}.dhx_button--view_link.dhx_button--color_success.dhx_button--disabled,.dhx_button--view_link.dhx_button--color_success:disabled{color:var(--dhx-color-success-disabled)}.dhx_button--sidebar .dhx_button__icon+.dhx_button__text{margin-left:calc(var(--dhx-step-size)*2);margin-right:auto}.utilityfocus .dhx_button:focus-visible{outline:var(--dhx-color-focused) dashed 1px;outline-offset:-1px}.dhx_widget .dhx_button__icon{line-height:0}.dhx_widget .dhx_button__icon:before{font-size:var(--dhx-icon-size-normal);line-height:var(--dhx-icon-size-normal)}.dhx_widget .dhx_button--size_small .dhx_button__icon:before{font-size:var(--dhx-icon-size-small);line-height:var(--dhx-icon-size-small)}.dhx_form-group{position:relative;display:block;text-align:left;margin-bottom:var(--dhx-line-height-small)}.dhx_form-group--simplevault{line-height:0;height:100%}.dhx_form-group--simplevault .dhx_label{padding:0}.dhx_form-group--textarea{display:flex;flex-direction:column;height:calc(100% - 16px)}.dhx_form-group--textarea .dhx_input--textarea,.dhx_form-group--textarea .dhx_input__wrapper{height:100%}.dhx_form-group--textarea .dhx_label{min-height:var(--dhx-line-height-normal);line-height:var(--dhx-line-height-normal)}.dhx_form-group--inline{display:flex;flex-direction:row;width:100%;align-items:center;position:relative}.dhx_form-group--inline .dhx_label{position:relative;flex:0 0 auto;max-height:calc(var(--dhx-line-height-normal)*2);margin-right:16px;margin-bottom:0;padding:0;text-align:right;margin-top:6px;align-self:flex-start;max-width:30%;justify-content:flex-end}.dhx_form-group--inline .dhx_input__wrapper{flex:0 1 auto;width:300%;height:100%}.dhx_form-group--inline .dhx_label--with-help{justify-content:flex-end}.dhx_form-group--inline .dhx_checkbox,.dhx_form-group--inline .dhx_radiobutton{margin-bottom:12px}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label:not(.dhx_label--with-help){position:relative}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label:not(.dhx_label--with-help):after{content:"*";display:inline-block;padding-left:4px;color:var(--dhx-font-color-additional)}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label__holder{position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis}.dhx_form-group--required:not(.dhx_form-group--label_sr) .dhx_label__holder:after{content:"*";display:inline-block;padding-left:4px;color:var(--dhx-font-color-additional)}.dhx_form-group--no-message-holder{margin-bottom:0}.dhx_form-group--disabled{opacity:.6;pointer-events:none;cursor:default}.dhx_form-group--checkbox-group .dhx_label,.dhx_form-group--checkbox .dhx_label,.dhx_form-group--radio-group .dhx_label{margin-top:0;margin-bottom:12px}.dhx_form-group--checkbox-group>.dhx_label,.dhx_form-group--checkbox>.dhx_label,.dhx_form-group--radio-group>.dhx_label{display:flex}.dhx_form-group--hidden{display:none}.dhx_form-group--state_error .dhx_input__caption,.dhx_form-group--state_error .dhx_label,.dhx_form-group--state_error .dhx_text{color:var(--dhx-color-danger)}.dhx_form-group--state_error .dhx_combobox-input-box,.dhx_form-group--state_error .dhx_combobox-input-box:focus,.dhx_form-group--state_error .dhx_input,.dhx_form-group--state_error .dhx_input:focus{box-shadow:var(--dhx-shadow-input-size) var(--dhx-color-danger-disabled)}.dhx_form-group--state_error .dhx_simplevault-files,.dhx_form-group--state_error .dhx_simplevault-files:focus,.dhx_form-group--state_error .dhx_simplevault__drop-area,.dhx_form-group--state_error .dhx_simplevault__drop-area:focus{border-color:var(--dhx-color-danger-disabled)}.dhx_form-group--state_success .dhx_input__caption,.dhx_form-group--state_success .dhx_label,.dhx_form-group--state_success .dhx_text{color:var(--dhx-color-success)}.dhx_form-group--state_success .dhx_combobox-input-box,.dhx_form-group--state_success .dhx_combobox-input-box:focus,.dhx_form-group--state_success .dhx_input,.dhx_form-group--state_success .dhx_input:focus{box-shadow:var(--dhx-shadow-input-size) var(--dhx-color-success-disabled)}.dhx_form-group--state_success .dhx_simplevault__drop-area,.dhx_form-group--state_success .dhx_simplevault__drop-area:focus{border-top-color:var(--dhx-color-success-disabled);border-left-color:var(--dhx-color-success-disabled);border-right-color:var(--dhx-color-success-disabled)}.dhx_form-group--state_success .dhx_simplevault-files,.dhx_form-group--state_success .dhx_simplevault-files:focus{border-right-color:var(--dhx-color-success-disabled);border-left-color:var(--dhx-color-success-disabled);border-bottom-color:var(--dhx-color-success-disabled)}.dhx_form-group--label_sr .dhx_label,.dhx_form-group--label_sr .dhx_text{visibility:hidden;position:absolute;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dhx_form-group .dhx_combobox{margin:0}.dhx_form-group .dhx_slider{padding-bottom:0}.dhx_form-group .dhx_text{position:relative;flex:0 1 auto;max-height:calc(var(--dhx-line-height-normal)*2);margin-right:16px;margin-bottom:0;text-align:right;width:100%;margin-top:6px;align-self:flex-start}.dhx_input{-webkit-appearance:none;appearance:none;display:block;width:100%;height:auto;padding:6px 8px;margin:0;font-family:var(--dhx-font-family);font-size:var(--dhx-font-size-normal);line-height:var(--dhx-line-height-normal);color:var(--dhx-font-color-primary);background-color:var(--dhx-background-secondary);background-clip:padding-box;box-shadow:var(--dhx-shadow-input-size) var(--dhx-border-color);border:0;border-radius:var(--dhx-border-radius);outline:0;transition:border-color var(--dhx-transition-time) var(--dhx-transition-in),box-shadow var(--dhx-transition-time) var(--dhx-transition-in)}.dhx_input::placeholder{color:var(--dhx-font-color-secondary)}.dhx_input--focus,.dhx_input:focus{box-shadow:var(--dhx-shadow-input-size) var(--dhx-color-primary-active)}.dhx_input--icon-padding{padding-right:26px}.dhx_input--textarea{max-width:100%}.dhx_input--textinput{box-shadow:none;background:none;padding-left:0}.dhx_input--textinput:focus{box-shadow:none}.dhx_input__wrapper{width:100%;display:flex;flex-direction:column;position:relative}.dhx_input__wrapper:before{color:var(--dhx-font-color-secondary);pointer-events:none;position:absolute;right:4px;top:50%;transform:translateY(-50%)}.dhx_input__container{width:100%;display:inline-block;position:relative}.dhx_input__caption{left:0;bottom:0;max-width:100%;font-family:var(--dhx-font-family);font-size:var(--dhx-font-size-small);font-weight:var(--dhx-font-weight-regular);line-height:var(--dhx-line-height-small);white-space:wrap;overflow:inherit;text-overflow:ellipsis;cursor:default}.dhx_input__caption,.dhx_input__icon{color:var(--dhx-font-color-secondary)}.dhx_input__icon{position:absolute;top:50%;transform:translateY(-50%);right:6px;z-index:1;pointer-events:none}.dhx_input__icon--color-selected{border-radius:var(--dhx-border-radius)}.dhx_input__icon--color-selected:after,.dhx_input__icon--color-selected:before{opacity:0}.dhx_widget .dhx_input__icon{line-height:0}.dhx_widget .dhx_input__icon:before{font-size:var(--dhx-icon-size-normal);line-height:var(--dhx-icon-size-normal)}.dhx_label,.dhx_text{display:inline-block;vertical-align:middle;margin-bottom:6px;padding:0;width:auto;flex:0 1 auto;font-family:var(--dhx-font-family);font-weight:var(--dhx-font-weight-medium);font-size:var(--dhx-font-size-normal);line-height:var(--dhx-line-height-normal);color:var(--dhx-font-color-primary);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;transition:color var(--dhx-transition-time) var(--dhx-transition-in),opacity var(--dhx-transition-time) var(--dhx-transition-in)}.dhx_label:hover,.dhx_text:hover{opacity:.8;transition:color var(--dhx-transition-time) var(--dhx-transition-out),opacity var(--dhx-transition-time) var(--dhx-transition-out)}.dhx_label__holder,.dhx_text__holder{max-width:100%;overflow:hidden;text-overflow:ellipsis;margin-right:4px}.dhx_label--with-help,.dhx_text--with-help{display:flex;align-items:center}.dhx_label-help{color:var(--dhx-color-primary);text-align:center;-webkit-user-select:none;user-select:none;cursor:pointer}.utilityfocus .dhx_label-help:focus-visible{outline:var(--dhx-color-focused) dashed 1px;outline-offset:-1px}.dhx_text{font-weight:var(--dhx-font-weight-regular)}.dhx_checkbox{position:relative;display:inline-block;width:auto;padding-top:0;cursor:pointer}.dhx_checkbox__holder{display:flex;align-items:center;white-space:nowrap}.dhx_checkbox__visual-input{display:block;border:2px solid var(--dhx-font-color-secondary);min-width:var(--dhx-line-height-normal);min-height:var(--dhx-line-height-normal);max-width:var(--dhx-line-height-normal);max-height:var(--dhx-line-height-normal);background-color:var(--dhx-background-primary);border-radius:var(--dhx-border-radius);cursor:pointer}.dhx_checkbox .dhx_text{padding-left:6px}.dhx_checkbox.dhx_form-group--inline .dhx_label,.dhx_checkbox .dhx_text{margin-bottom:0;width:auto;cursor:pointer;margin-top:0;justify-content:flex-end}.dhx_checkbox .dhx_input__caption{position:static;display:block;transform:none}.dhx_checkbox.dhx_form-group--inline{display:flex;align-items:center;white-space:nowrap}.dhx_checkbox.dhx_form-group--inline .dhx_label{margin-top:0}.dhx_checkbox.dhx_form-group--hidden{display:none}.dhx_checkbox__input:disabled+*+.dhx_label,.dhx_checkbox__input:disabled+*+.dhx_text,.dhx_checkbox__input:disabled+.dhx_checkbox__visual-input{opacity:.6}.utilityfocus .dhx_checkbox__input:focus-visible+.dhx_checkbox__visual-input{border-color:var(--dhx-color-primary);outline:var(--dhx-color-focused) dashed 1px;outline-offset:-1px}.dhx_checkbox__input:checked+.dhx_checkbox__visual-input,.dhx_checkbox__input[data-dhx-checked=true]+.dhx_checkbox__visual-input{background-color:var(--dhx-color-primary);background-position:50%;background-size:cover;border-color:var(--dhx-color-primary);background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTIxIDdMOSAxOWwtNS41LTUuNSAxLjQxLTEuNDFMOSAxNi4xNyAxOS41OSA1LjU5IDIxIDd6Ii8+PC9zdmc+);transition:background-color var(--dhx-transition-time) var(--dhx-transition-out)}.dhx_radiobutton{position:relative;display:flex;width:auto;padding-top:0;cursor:pointer;white-space:nowrap;align-items:center}.dhx_radiobutton__visual-input{display:block;border:2px solid var(--dhx-font-color-secondary);bottom:4px;left:0;min-width:var(--dhx-line-height-normal);min-height:var(--dhx-line-height-normal);max-width:var(--dhx-line-height-normal);max-height:var(--dhx-line-height-normal);background-color:var(--dhx-background-primary);border-radius:50%}.dhx_radiobutton .dhx_text{padding-left:6px}.dhx_radiobutton .dhx_label,.dhx_radiobutton .dhx_text{margin-bottom:0;width:auto;cursor:pointer;margin-top:0}.dhx_radiobutton .dhx_input__caption{position:static;display:block}.dhx_radiobutton__input:disabled+*+.dhx_label,.dhx_radiobutton__input:disabled+*+.dhx_text,.dhx_radiobutton__input:disabled+.dhx_radiobutton__visual-input{opacity:.6}.utilityfocus .dhx_radiobutton__input:focus-visible+.dhx_radiobutton__visual-input{border-color:var(--dhx-color-primary);outline:var(--dhx-color-focused) dashed 1px;outline-offset:-1px}.dhx_radiobutton__input:checked+.dhx_radiobutton__visual-input{background-color:var(--dhx-color-primary);border-color:var(--dhx-color-primary);box-shadow:inset 0 0 0 4px var(--dhx-background-primary)}.dhx_select{-webkit-appearance:none;appearance:none}.dhx_select::-ms-expand{display:none}.dhx_select__placeholder{position:absolute;left:16px;top:50%;transform:translateY(-50%);pointer-events:none;font-family:var(--dhx-font-family);font-size:var(--dhx-font-size-normal);line-height:var(--dhx-line-height-normal);color:var(--dhx-font-color-primary)}.dhx_select:focus+.dhx_select__placeholder{opacity:0}.dhx_simplevault{border:none;border-radius:var(--dhx-border-radius);font-family:var(--dhx-font-family);line-height:var(--dhx-line-height-normal);font-size:var(--dhx-font-size-normal);font-weight:var(--dhx-font-weight-regular);text-align:center;overflow:hidden;position:relative}.dhx_simplevault__drop-area{background-color:var(--dhx-background-secondary);border:var(--dhx-border);transition:all var(--dhx-transition-time) var(--dhx-transition-in);display:flex;height:115px;width:100%;flex-direction:column;justify-content:center;align-items:center;padding:0 20px}.dhx_simplevault__drop-area--on-drag{border-style:dashed;transition:border var(--dhx-transition-time) var(--dhx-transition-out)}.dhx_simplevault__icon:before{font-size:40px;color:var(--dhx-font-color-additional);transition:color var(--dhx-transition-time) var(--dhx-transition-in)}.dhx_simplevault__title{max-width:100%}.dhx_simplevault__label{color:var(--dhx-color-primary);cursor:pointer}.dhx_simplevault--on-drag .dhx_simplevault-loader{opacity:1;transform:translateY(0);transition:opacity var(--dhx-transition-time) var(--dhx-transition-in),transform var(--dhx-transition-time) var(--dhx-transition-in)}.dhx_simplevault-files{background-color:var(--dhx-background-secondary);border:var(--dhx-border);border-top:none;transition:all var(--dhx-transition-time) var(--dhx-transition-in);width:100%;margin:0;padding:0;list-style:none;max-height:calc(100% - 115px);height:calc(100% - 115px);overflow-y:auto}.dhx_simplevault-files__fixed{max-height:276px}.dhx_simplevault-files__item{position:relative;font-family:var(--dhx-font-family);line-height:var(--dhx-line-height-normal);font-size:var(--dhx-font-size-normal);text-align:left;color:var(--dhx-font-color-primary);max-width:100%;overflow:hidden;text-overflow:ellipsis;padding:8px 40px 8px 8px}.dhx_simplevault-files__item:not(:last-child){border-bottom:var(--dhx-border)}.dhx_simplevault-files__item-name{word-break:break-word}.dhx_simplevault-files__delete{position:absolute;right:4px;top:50%;transform:translateY(-50%)}.dhx_simplevault-files__delete .dxi{color:var(--dhx-font-color-secondary)}.dhx_simplevault-loader{display:flex;justify-content:center;align-items:center;position:absolute;left:1px;right:1px;top:1px;bottom:1px;background-color:var(--dhx-background-additional);transform:translateY(100%);opacity:0;will-change:transform;transition:0ms;z-index:var(--dhx-z-index-up)}.utilityfocus .dhx_simplevault:focus-within{outline:var(--dhx-color-focused) dashed 1px;outline-offset:-1px}.dhx_avatar{position:relative;width:fit-content;height:fit-content;border:var(--dhx-border);border-radius:var(--dhx-border-radius);background-color:var(--dhx-background-secondary)}.dhx_avatar,.dhx_avatar__preview{display:flex;align-items:center;justify-content:center}.dhx_avatar__preview{width:100%;height:100%;flex-direction:column;color:var(--dhx-font-color-secondary);background-repeat:no-repeat;background-position:50%;background-size:contain}.dhx_avatar__preview-icon:before,.dhx_avatar__preview .dxi:before{color:var(--dhx-font-color-additional)}.dhx_avatar__preview-placeholder{width:100%;padding:0 8px;font-family:var(--dhx-font-family);font-size:var(--dhx-font-size-small);line-height:var(--dhx-line-height-small);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}.dhx_avatar__image{background-color:#000;-o-object-fit:contain;object-fit:contain;width:100%;height:100%}.dhx_avatar__cover{position:absolute;display:flex;align-items:center;justify-content:center;flex-direction:column;height:100%;width:100%;opacity:0;background-color:var(--dhx-background-overlay);transition:all var(--dhx-transition-time) var(--dhx-transition-in)}.dhx_avatar__cover-icon{cursor:pointer;color:var(--dhx-color-gray-100)}.dhx_avatar__cover-upload{display:flex;align-items:center;justify-content:center;height:100%;width:100%}.dhx_avatar__cover-upload .dhx_avatar__cover-icon:before{font-size:32px}.dhx_avatar__cover-remove{position:absolute;right:2px;top:2px;height:32px;width:32px;display:flex;align-items:center;justify-content:center}.dhx_avatar__cover-remove:hover{background:var(--dhx-background-overlay-light);border-radius:50%}.dhx_avatar__cover-remove .dhx_avatar__cover-icon{color:var(--dhx-color-danger)}.dhx_avatar__cover-input{border:none;outline:none;width:1px;height:1px}.dhx_avatar:hover .dhx_avatar__cover{cursor:pointer;opacity:1}.dhx_avatar-size--small{width:60px;height:60px}.dhx_avatar-size--small .dhx_avatar__cover-icon:before,.dhx_avatar-size--small .dhx_avatar__preview-icon.dxi:before,.dhx_avatar-size--small .dhx_avatar__preview-icon:before{font-size:20px}.dhx_avatar-size--small .dhx_avatar__cover-remove{height:20px;width:20px}.dhx_avatar-size--medium{width:90px;height:90px}.dhx_avatar-size--medium .dhx_avatar__preview-icon.dxi:before,.dhx_avatar-size--medium .dhx_avatar__preview-icon:before{font-size:40px}.dhx_avatar-size--large{width:120px;height:120px}.dhx_avatar-size--large .dhx_avatar__preview-icon.dxi:before,.dhx_avatar-size--large .dhx_avatar__preview-icon:before{font-size:40px}.dhx_avatar-size--large .dhx_avatar__preview-placeholder{font-size:var(--dhx-font-size-normal);line-height:var(--dhx-line-height-normal)}.dhx_avatar--circle,.dhx_avatar--circle .dhx_avatar__cover,.dhx_avatar--circle .dhx_avatar__image,.dhx_avatar--circle .dhx_avatar__preview{border-radius:50%}.dhx_avatar--on-drag .dhx_avatar__cover{opacity:1}.dhx_avatar--on-drag .dhx_avatar__cover-remove{display:none}.utilityfocus .dhx_avatar:focus-within{outline:var(--dhx-color-focused) dashed 1px;outline-offset:-1px}.dhx_form-group--state_success .dhx_avatar{border-color:var(--dhx-color-success)}.dhx_form-group--state_error .dhx_avatar{border-color:var(--dhx-color-danger)}.dhx_toggle{cursor:pointer;padding:5px;display:flex;align-items:center;justify-content:center;font-family:var(--dhx-font-family);font-weight:var(--dhx-font-weight-medium);line-height:var(--dhx-line-height-normal);color:var(--dhx-font-color-primary);background-color:var(--dhx-background-primary);border:var(--dhx-border);border-radius:var(--dhx-border-radius);outline:none;-webkit-user-select:none;user-select:none;white-space:nowrap}.dhx_toggle__icon,.dhx_toggle__text{touch-action:none;pointer-events:none}.dhx_toggle__icon+.dhx_toggle__text{margin-left:4px}.dhx_toggle--selected{background-color:var(--dhx-background-additional);border-color:var(--dhx-background-additional)}.dhx_toggle--disabled{touch-action:none;pointer-events:none;color:var(--dhx-font-color-disabled)}.dhx_toggle--full{width:100%}.dhx_toggle:hover{background-color:var(--dhx-background-secondary)}.dhx_toggle:hover.dhx_toggle--selected{background-color:var(--dhx-background-additional)}.utilityfocus .dhx_toggle:focus-visible{outline:var(--dhx-color-focused) dashed 1px;outline-offset:-1px}.dhx_toggle-group{display:flex;flex-wrap:nowrap}.dhx_toggle-group:not(.dhx_toggle-group--segmented) .dhx_toggle{border-radius:0}.dhx_toggle-group:not(.dhx_toggle-group--segmented) .dhx_toggle:not(.dhx_toggle--last){border-right:0}.dhx_toggle-group:not(.dhx_toggle-group--segmented) .dhx_toggle--first{border-top-left-radius:var(--dhx-border-radius);border-bottom-left-radius:var(--dhx-border-radius)}.dhx_toggle-group:not(.dhx_toggle-group--segmented) .dhx_toggle--last{border-top-right-radius:var(--dhx-border-radius);border-bottom-right-radius:var(--dhx-border-radius)}.dhx_toggle-group--full .dhx_toggle{flex:1 0 0}.dhx_form-group.dhx_form-group--toggle,.dhx_form-group.dhx_form-group--toggle-group{display:flex}.dhx_chart{stroke-linecap:square;position:relative;height:100%;background-color:var(--dhx-background-primary)}.dhx_chart svg{vertical-align:top;overflow:visible}.dhx_chart .seria:focus,.dhx_chart circle:focus,.dhx_chart g:focus{outline:none}.dhx_chart .chart{transition:all .4s ease}.dhx_chart .chart:focus{outline:none}.dhx_chart .chart.donut,.dhx_chart .chart.pie,.dhx_chart .chart.pie3d,.dhx_chart .chart.treeMap{transition-property:none}.dhx_chart .chart.dhx_pie-transform-delay{transition-property:all}.dhx_chart.not-animate .chart,.dhx_chart.not-animate .tooltip-text{transition:none}.dhx_chart .figure{transition:fill,stroke .3s ease}.dhx_chart .active-figure{visibility:visible;transition:all .2s ease}.dhx_chart .active-figure.point-circle,.dhx_chart .active-figure.point-rect,.dhx_chart .active-figure.point-rhombus,.dhx_chart .active-figure.point-triangle{filter:url(#dropshadow);transition:all .3s ease}.dhx_chart .area{stroke-linecap:round}.dhx_chart .dash-line{stroke-dasharray:4,6;stroke-linecap:round}.dhx_chart .hidden-line{stroke-opacity:0}.dhx_chart .group-text,.dhx_chart .header-text,.dhx_chart .heat-day-text,.dhx_chart .heat-month-text,.dhx_chart .heat-year-text,.dhx_chart .legend-text,.dhx_chart .legend-tick,.dhx_chart .scale-text,.dhx_chart .scale-title{font-family:var(--dhx-font-family);font-weight:var(--dhx-font-weight-regular);font-size:var(--dhx-font-size-normal);fill:var(--dhx-font-color-secondary)}.dhx_chart text{text-anchor:middle;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.dhx_chart .start-text{text-anchor:start}.dhx_chart .end-text{text-anchor:end}.dhx_chart .group-text,.dhx_chart .heat-day-text,.dhx_chart .heat-month-text,.dhx_chart .legend-text{line-height:18px}.dhx_chart .heat-year-text,.dhx_chart .legend-tick{line-height:14px;font-size:var(--dhx-font-size-small)}.dhx_chart .header-text{font-weight:var(--dhx-font-weight-medium);fill:var(--dhx-font-color-primary)}.dhx_chart .scale-title{fill:var(--dhx-font-color-additional);line-height:var(--dhx-line-height-small)}.dhx_chart .heat-year-text{line-height:16px}.dhx_chart .heat-month-text{line-height:20px}.dhx_chart .heat-day-text{line-height:16px}.dhx_chart .heat-positive{fill:var(--dhx-color-primary);stop-color:var(--dhx-color-primary)}.dhx_chart .heat-negative{fill:var(--dhx-color-danger);stop-color:var(--dhx-color-danger)}.dhx_chart .heat-neutral{fill:var(--dhx-color-gray-100);stop-color:var(--dhx-color-gray-100)}.dhx_chart .treeMap-header{fill:var(--dhx-background-secondary)}.dhx_chart .treeMap-header:hover{fill:var(--dhx-background-additional)}.dhx_chart .grid-line{stroke:var(--dhx-color-gray-100)}.dhx_chart .grid-line__active{stroke:var(--dhx-color-gray-300);stroke-width:2px;stroke-opacity:1}.dhx_chart .main-scale{stroke:var(--dhx-color-gray-300);stroke-width:2px}.dhx_chart .radar-grid{stroke-dasharray:4,6;stroke:var(--dhx-color-gray-300);stroke-linecap:round}.dhx_chart .zebra{fill-rule:evenodd;fill:var(--dhx-color-gray-100)}.dhx_chart .radar-scale,.dhx_chart .spec-grid-line{stroke:var(--dhx-color-gray-300)}.dhx_chart .spec-grid-line{stroke-linecap:round;stroke-dasharray:4,6}.dhx_chart .bar-text{fill:var(--dhx-font-color-contrast);font-weight:var(--dhx-font-weight-medium);line-height:14px}.dhx_chart .bar-text,.dhx_chart .radar-axis-text{font-family:var(--dhx-font-family);font-size:var(--dhx-font-size-small)}.dhx_chart .radar-axis-text{fill:var(--dhx-font-color-secondary)}.dhx_chart .legend-item{cursor:pointer}.dhx_chart .legend-item.not-active .figure{fill:var(--dhx-font-color-additional);fill-opacity:1;stroke:var(--dhx-font-color-additional)}.dhx_chart .legend-item.not-active .figure.legend-circle,.dhx_chart .legend-item.not-active .figure.legend-rect{stroke:none}.dhx_chart .legend-item.not-active .figure.legend-circle.with-stroke,.dhx_chart .legend-item.not-active .figure.legend-rect.with-stroke{stroke:var(--dhx-font-color-additional)}.dhx_chart .legend-item.not-active .heat-day-text,.dhx_chart .legend-item.not-active .heat-month-text,.dhx_chart .legend-item.not-active .legend-text{fill:var(--dhx-font-color-additional)}.dhx_chart_tooltip{border-radius:var(--dhx-border-radius);background-color:var(--dhx-tooltip-background-dark);font-family:var(--dhx-font-family);color:var(--dhx-color-white);box-shadow:var(--dhx-border-shadow-normal);padding:6px 12px;transition:opacity .01s ease,transform .01s ease;z-index:var(--dhx-z-index-overlay);position:absolute;pointer-events:none}.dhx_chart_tooltip svg{vertical-align:top;overflow:visible}.dhx_chart_tooltip.tooltip-text{font-size:14px;line-height:14px;font-family:var(--dhx-font-family);fill:var(--dhx-color-white)}.dhx_chart_tooltip_line{display:flex;flex-direction:column}.dhx_chart_tooltip_line .line-point{display:flex;align-items:center;padding:6px}.dhx_chart_tooltip_line .line-point .dhx_line-point-text{margin-left:12px}.dhx_chart_tooltip__hidden{display:none}.dhx_chart_tooltip__visible{display:flex}.dhx_chart.tooltip-container{z-index:var(--dhx-z-index-overlay-total)}.dhx_chart.tooltip-container svg{width:4px;height:4px}.dhx_chart .active-tooltip{visibility:visible}.dhx_chart .pie-value{font-family:var(--dhx-font-family);font-weight:var(--dhx-font-weight-regular);font-size:var(--dhx-font-size-normal);fill:var(--dhx-font-color-secondary)}.dhx_chart .pie-inner-value,.dhx_chart .treeMap-inner-value{fill:var(--dhx-font-color-contrast);pointer-events:none;font-weight:var(--dhx-font-weight-medium);line-height:14px;font-size:var(--dhx-font-size-small);font-family:var(--dhx-font-family)}.dhx_chart .pie-value-connector{stroke:var(--dhx-font-color-additional);fill:none}.dhx_chart .donut-value-title{font-family:var(--dhx-font-family);fill:var(--dhx-font-color-secondary);font-size:var(--dhx-font-size-normal);line-height:18px}.dhx_chart .donut-value{font-family:var(--dhx-font-family);fill:var(--dhx-font-color-primary);font-size:var(--dhx-font-size-small);line-height:14px}.utilityfocus .dhx_chart:focus-visible,.utilityfocus .dhx_chart :focus-visible{outline:var(--dhx-color-focused) dashed 1px}[data-dhx-theme=contrast-dark]{--dhx-font-size-normal:calc(var(--dhx-step-size)*4);--dhx-font-size-small:var(--dhx-font-size-normal);--dhx-font-color-primary:var(--dhx-color-white);--dhx-font-color-secondary:hsla(0,0%,100%,.86);--dhx-font-color-additional:var(--dhx-font-color-secondary);--dhx-font-color-disabled:hsla(0,0%,100%,.5);--dhx-font-color-contrast:var(--dhx-color-black);--dhx-font-color-contrast-disabled:var(--dhx-font-color-disabled);--dhx-border-color:hsla(0,0%,100%,.5);--dhx-border-color-focused:hsla(0,0%,100%,.7);--dhx-l-contrast-offset:-12%;--dhx-l-secondary:60%;--dhx-h-background:226;--dhx-s-background:12%;--dhx-l-background:20%;--dhx-background-primary:hsl(var(--dhx-h-background),var(--dhx-s-background),var(--dhx-l-background));--dhx-background-secondary:hsl(var(--dhx-h-background),var(--dhx-s-background),calc(var(--dhx-l-background) + 8%));--dhx-background-additional:hsl(var(--dhx-h-background),var(--dhx-s-background),calc(var(--dhx-l-background) + 12%));--dhx-s-toolbar-background:var(--dhx-color-black);--dhx-s-toolbar-button-background-hover:hsla(0,0%,100%,.07);--dhx-s-toolbar-button-background-active:hsla(0,0%,100%,.15);--dhx-s-grid-header-background:#212329;--dhx-s-grid-selection-background:var(--dhx-color-gray-100);--dhx-s-calendar-muffled:.8;--dhx-s-tick-font-size:var(--dhx-font-size-small)}[data-dhx-theme=contrast-light]{--dhx-font-size-normal:calc(var(--dhx-step-size)*4);--dhx-font-size-small:var(--dhx-font-size-normal);--dhx-font-color-secondary:rgba(0,0,0,.66);--dhx-font-color-additional:var(--dhx-font-color-secondary);--dhx-border-color:rgba(0,0,0,.4);--dhx-l-contrast-offset:14%;--dhx-s-toolbar-background:var(--dhx-background-primary);--dhx-s-toolbar-button-background-hover:rgba(0,0,0,.07);--dhx-s-toolbar-button-background-active:rgba(0,0,0,.15);--dhx-s-grid-header-background:var(--dhx-background-secondary);--dhx-s-grid-selection-background:var(--dhx-color-gray-700);--dhx-s-calendar-muffled:.8;--dhx-s-tick-font-size:var(--dhx-font-size-small)}[data-dhx-theme=dark]{--dhx-font-color-primary:var(--dhx-color-white);--dhx-font-color-secondary:hsla(0,0%,100%,.7);--dhx-font-color-additional:hsla(0,0%,100%,.5);--dhx-font-color-disabled:hsla(0,0%,100%,.5);--dhx-font-color-contrast:var(--dhx-color-white);--dhx-font-color-contrast-disabled:var(--dhx-font-color-disabled);--dhx-border-color:hsla(0,0%,100%,.3);--dhx-border-color-focused:hsla(0,0%,100%,.5);--dhx-l-secondary:60%;--dhx-h-background:226;--dhx-s-background:12%;--dhx-l-background:20%;--dhx-background-primary:hsl(var(--dhx-h-background),var(--dhx-s-background),var(--dhx-l-background));--dhx-background-secondary:hsl(var(--dhx-h-background),var(--dhx-s-background),calc(var(--dhx-l-background) + 8%));--dhx-background-additional:hsl(var(--dhx-h-background),var(--dhx-s-background),calc(var(--dhx-l-background) + 12%));--dhx-s-toolbar-background:var(--dhx-color-black);--dhx-s-toolbar-button-background-hover:hsla(0,0%,100%,.07);--dhx-s-toolbar-button-background-active:hsla(0,0%,100%,.15);--dhx-s-grid-header-background:#212329;--dhx-s-grid-selection-background:var(--dhx-color-gray-100);--dhx-s-calendar-muffled:.6;--dhx-s-tick-font-size:calc(var(--dhx-font-size-small)/1.2)}