@progress/kendo-vue-gauges 2.7.1 → 2.7.3-dev.202201070829

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 (170) hide show
  1. package/dist/cdn/js/kendo-vue-gauges.js +1 -1
  2. package/dist/es/ArcCenter.d.ts +48 -0
  3. package/dist/es/ArcCenter.js +53 -0
  4. package/dist/es/ArcGauge.d.ts +43 -0
  5. package/dist/es/ArcGauge.js +196 -0
  6. package/dist/es/ArcGaugeProps.d.ts +33 -0
  7. package/dist/es/ArcGaugeProps.js +0 -0
  8. package/dist/es/BaseGauge.d.ts +42 -0
  9. package/dist/es/BaseGauge.js +222 -0
  10. package/dist/es/BaseGaugeProps.d.ts +42 -0
  11. package/dist/es/BaseGaugeProps.js +1 -0
  12. package/dist/es/CircularGauge.d.ts +38 -0
  13. package/dist/es/CircularGauge.js +33 -0
  14. package/dist/es/CircularGaugeProps.d.ts +17 -0
  15. package/dist/es/CircularGaugeProps.js +0 -0
  16. package/dist/es/GaugeContext.d.ts +1 -0
  17. package/dist/es/GaugeContext.js +12 -0
  18. package/dist/es/LinearGauge.d.ts +38 -0
  19. package/dist/es/LinearGauge.js +113 -0
  20. package/dist/es/LinearGaugeProps.d.ts +15 -0
  21. package/dist/es/LinearGaugeProps.js +0 -0
  22. package/dist/es/RadialGauge.d.ts +38 -0
  23. package/dist/es/RadialGauge.js +114 -0
  24. package/dist/es/RadialGaugeProps.d.ts +15 -0
  25. package/dist/es/RadialGaugeProps.js +0 -0
  26. package/dist/es/additionalTypes.ts +3 -0
  27. package/dist/es/common/gauges.d.ts +1 -0
  28. package/dist/es/common/gauges.js +5 -0
  29. package/dist/es/main.d.ts +10 -1
  30. package/dist/es/main.js +7 -8
  31. package/dist/es/package-metadata.js +1 -1
  32. package/dist/es/store/reducer.d.ts +14 -0
  33. package/dist/es/store/reducer.js +100 -0
  34. package/dist/es/store/store.d.ts +26 -0
  35. package/dist/es/store/store.js +28 -0
  36. package/dist/es/theming/theme-service.d.ts +3 -0
  37. package/dist/es/theming/theme-service.js +50 -0
  38. package/dist/es/types/arc-scale.interface.d.ts +28 -0
  39. package/dist/es/types/arc-scale.interface.js +1 -0
  40. package/dist/es/types/border.interface.d.ts +18 -0
  41. package/dist/es/types/border.interface.js +0 -0
  42. package/dist/es/types/cap.interface.d.ts +13 -0
  43. package/dist/es/types/cap.interface.js +0 -0
  44. package/dist/es/types/circular-scale.interface.d.ts +10 -0
  45. package/dist/es/types/circular-scale.interface.js +0 -0
  46. package/dist/es/types/color-range.interface.d.ts +21 -0
  47. package/dist/es/types/color-range.interface.js +0 -0
  48. package/dist/es/types/dash-type.interface.d.ts +4 -0
  49. package/dist/es/types/dash-type.interface.js +0 -0
  50. package/dist/es/types/gauge-area.interface.d.ts +27 -0
  51. package/dist/es/types/gauge-area.interface.js +0 -0
  52. package/dist/es/types/labels.interface.d.ts +47 -0
  53. package/dist/es/types/labels.interface.js +1 -0
  54. package/dist/es/types/line-cap.d.ts +4 -0
  55. package/dist/es/types/line-cap.js +0 -0
  56. package/dist/es/types/line.interface.d.ts +22 -0
  57. package/dist/es/types/line.interface.js +0 -0
  58. package/dist/es/types/linear-pointer-shape.d.ts +4 -0
  59. package/dist/es/types/linear-pointer-shape.js +0 -0
  60. package/dist/es/types/linear-pointer.interface.d.ts +36 -0
  61. package/dist/es/types/linear-pointer.interface.js +0 -0
  62. package/dist/es/types/linear-scale.interface.d.ts +26 -0
  63. package/dist/es/types/linear-scale.interface.js +1 -0
  64. package/dist/es/types/margin.interface.d.ts +21 -0
  65. package/dist/es/types/margin.interface.js +0 -0
  66. package/dist/es/types/padding.interface.d.ts +21 -0
  67. package/dist/es/types/padding.interface.js +0 -0
  68. package/dist/es/types/radial-label-position.d.ts +4 -0
  69. package/dist/es/types/radial-label-position.js +0 -0
  70. package/dist/es/types/radial-labels.interface.d.ts +8 -0
  71. package/dist/es/types/radial-labels.interface.js +0 -0
  72. package/dist/es/types/radial-pointer.interface.d.ts +22 -0
  73. package/dist/es/types/radial-pointer.interface.js +1 -0
  74. package/dist/es/types/radial-scale.interface.d.ts +28 -0
  75. package/dist/es/types/radial-scale.interface.js +1 -0
  76. package/dist/es/types/range.interface.d.ts +21 -0
  77. package/dist/es/types/range.interface.js +0 -0
  78. package/dist/es/types/scale.interface.d.ts +47 -0
  79. package/dist/es/types/scale.interface.js +0 -0
  80. package/dist/es/types/ticks.interface.d.ts +21 -0
  81. package/dist/es/types/ticks.interface.js +1 -0
  82. package/dist/es/types.d.ts +21 -0
  83. package/dist/es/types.js +0 -0
  84. package/dist/es/utils/common.d.ts +1 -0
  85. package/dist/es/utils/common.js +36 -0
  86. package/dist/npm/ArcCenter.d.ts +48 -0
  87. package/dist/npm/ArcCenter.js +63 -0
  88. package/dist/npm/ArcGauge.d.ts +43 -0
  89. package/dist/npm/ArcGauge.js +210 -0
  90. package/dist/npm/ArcGaugeProps.d.ts +33 -0
  91. package/dist/npm/ArcGaugeProps.js +5 -0
  92. package/dist/npm/BaseGauge.d.ts +42 -0
  93. package/dist/npm/BaseGauge.js +238 -0
  94. package/dist/npm/BaseGaugeProps.d.ts +42 -0
  95. package/dist/npm/BaseGaugeProps.js +5 -0
  96. package/dist/npm/CircularGauge.d.ts +38 -0
  97. package/dist/npm/CircularGauge.js +44 -0
  98. package/dist/npm/CircularGaugeProps.d.ts +17 -0
  99. package/dist/npm/CircularGaugeProps.js +5 -0
  100. package/dist/npm/GaugeContext.d.ts +1 -0
  101. package/dist/npm/GaugeContext.js +13 -0
  102. package/dist/npm/LinearGauge.d.ts +38 -0
  103. package/dist/npm/LinearGauge.js +126 -0
  104. package/dist/npm/LinearGaugeProps.d.ts +15 -0
  105. package/dist/npm/LinearGaugeProps.js +5 -0
  106. package/dist/npm/RadialGauge.d.ts +38 -0
  107. package/dist/npm/RadialGauge.js +127 -0
  108. package/dist/npm/RadialGaugeProps.d.ts +15 -0
  109. package/dist/npm/RadialGaugeProps.js +5 -0
  110. package/dist/npm/additionalTypes.ts +3 -0
  111. package/dist/npm/common/gauges.d.ts +1 -0
  112. package/dist/npm/common/gauges.js +5 -0
  113. package/dist/npm/main.d.ts +10 -1
  114. package/dist/npm/main.js +21 -8
  115. package/dist/npm/package-metadata.js +1 -1
  116. package/dist/npm/store/reducer.d.ts +14 -0
  117. package/dist/npm/store/reducer.js +105 -0
  118. package/dist/npm/store/store.d.ts +26 -0
  119. package/dist/npm/store/store.js +31 -0
  120. package/dist/npm/theming/theme-service.d.ts +3 -0
  121. package/dist/npm/theming/theme-service.js +53 -0
  122. package/dist/npm/types/arc-scale.interface.d.ts +28 -0
  123. package/dist/npm/types/arc-scale.interface.js +3 -0
  124. package/dist/npm/types/border.interface.d.ts +18 -0
  125. package/dist/npm/types/border.interface.js +2 -0
  126. package/dist/npm/types/cap.interface.d.ts +13 -0
  127. package/dist/npm/types/cap.interface.js +2 -0
  128. package/dist/npm/types/circular-scale.interface.d.ts +10 -0
  129. package/dist/npm/types/circular-scale.interface.js +2 -0
  130. package/dist/npm/types/color-range.interface.d.ts +21 -0
  131. package/dist/npm/types/color-range.interface.js +2 -0
  132. package/dist/npm/types/dash-type.interface.d.ts +4 -0
  133. package/dist/npm/types/dash-type.interface.js +2 -0
  134. package/dist/npm/types/gauge-area.interface.d.ts +27 -0
  135. package/dist/npm/types/gauge-area.interface.js +2 -0
  136. package/dist/npm/types/labels.interface.d.ts +47 -0
  137. package/dist/npm/types/labels.interface.js +3 -0
  138. package/dist/npm/types/line-cap.d.ts +4 -0
  139. package/dist/npm/types/line-cap.js +2 -0
  140. package/dist/npm/types/line.interface.d.ts +22 -0
  141. package/dist/npm/types/line.interface.js +2 -0
  142. package/dist/npm/types/linear-pointer-shape.d.ts +4 -0
  143. package/dist/npm/types/linear-pointer-shape.js +2 -0
  144. package/dist/npm/types/linear-pointer.interface.d.ts +36 -0
  145. package/dist/npm/types/linear-pointer.interface.js +2 -0
  146. package/dist/npm/types/linear-scale.interface.d.ts +26 -0
  147. package/dist/npm/types/linear-scale.interface.js +3 -0
  148. package/dist/npm/types/margin.interface.d.ts +21 -0
  149. package/dist/npm/types/margin.interface.js +2 -0
  150. package/dist/npm/types/padding.interface.d.ts +21 -0
  151. package/dist/npm/types/padding.interface.js +2 -0
  152. package/dist/npm/types/radial-label-position.d.ts +4 -0
  153. package/dist/npm/types/radial-label-position.js +2 -0
  154. package/dist/npm/types/radial-labels.interface.d.ts +8 -0
  155. package/dist/npm/types/radial-labels.interface.js +2 -0
  156. package/dist/npm/types/radial-pointer.interface.d.ts +22 -0
  157. package/dist/npm/types/radial-pointer.interface.js +3 -0
  158. package/dist/npm/types/radial-scale.interface.d.ts +28 -0
  159. package/dist/npm/types/radial-scale.interface.js +3 -0
  160. package/dist/npm/types/range.interface.d.ts +21 -0
  161. package/dist/npm/types/range.interface.js +2 -0
  162. package/dist/npm/types/scale.interface.d.ts +47 -0
  163. package/dist/npm/types/scale.interface.js +2 -0
  164. package/dist/npm/types/ticks.interface.d.ts +21 -0
  165. package/dist/npm/types/ticks.interface.js +3 -0
  166. package/dist/npm/types.d.ts +21 -0
  167. package/dist/npm/types.js +2 -0
  168. package/dist/npm/utils/common.d.ts +1 -0
  169. package/dist/npm/utils/common.js +39 -0
  170. package/package.json +7 -7
@@ -0,0 +1,48 @@
1
+ import { DefineComponent } from './additionalTypes';
2
+ import { RecordPropsDefinition, ComponentOptions } from 'vue/types/options';
3
+ declare type DefaultData<V> = object | ((this: V) => {});
4
+ declare type DefaultMethods<V> = {
5
+ [key: string]: (this: V, ...args: any[]) => any;
6
+ };
7
+ export interface ArcCenterValue {
8
+ value: number;
9
+ color: string;
10
+ }
11
+ /**
12
+ * @hidden
13
+ */
14
+ export interface ArcCenterState {
15
+ element: HTMLDivElement | null;
16
+ }
17
+ /**
18
+ * @hidden
19
+ */
20
+ export interface ArcCenterProps {
21
+ center?: any;
22
+ arcCenterValue?: object;
23
+ }
24
+ /**
25
+ * @hidden
26
+ */
27
+ export interface ArcCenterComputed {
28
+ [key: string]: any;
29
+ }
30
+ /**
31
+ * @hidden
32
+ */
33
+ export interface ArcCenterMethods {
34
+ [key: string]: any;
35
+ }
36
+ /**
37
+ * @hidden
38
+ */
39
+ export interface ArcCenterData {
40
+ }
41
+ /**
42
+ * @hidden
43
+ */
44
+ export interface ArcCenterAll extends Vue, ArcCenterMethods, ArcCenterData, ArcCenterComputed, ArcCenterState {
45
+ }
46
+ declare let ArcCenter: ComponentOptions<ArcCenterAll, DefaultData<ArcCenterData>, DefaultMethods<ArcCenterAll>, ArcCenterComputed, RecordPropsDefinition<ArcCenterProps>>;
47
+ declare const ArcCenterVue3: DefineComponent<ArcCenterProps, any, ArcCenterData, ArcCenterComputed, ArcCenterMethods, {}, {}, {}, string, ArcCenterProps, ArcCenterProps, {}>;
48
+ export { ArcCenter, ArcCenterVue3 };
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ArcCenterVue3 = exports.ArcCenter = void 0; // @ts-ignore
7
+
8
+ var Vue = require("vue");
9
+
10
+ var allVue = Vue;
11
+ var gh = allVue.h;
12
+
13
+ var kendo_vue_common_1 = require("@progress/kendo-vue-common"); // tslint:enable:max-line-length
14
+
15
+
16
+ var ArcCenter = {
17
+ name: 'KendoArcCenter',
18
+ props: {
19
+ center: [String, Function, Object],
20
+ arcCenterValue: Object
21
+ },
22
+ created: function created() {
23
+ this.element = null;
24
+ },
25
+ // @ts-ignore
26
+ setup: !gh ? undefined : function () {
27
+ var v3 = !!gh;
28
+ return {
29
+ v3: v3
30
+ };
31
+ },
32
+ // @ts-ignore
33
+ render: function render(createElement) {
34
+ var h = gh || createElement;
35
+ var center = this.$props.center;
36
+ var divStyle = {
37
+ zIndex: -1
38
+ };
39
+ var renderer = null;
40
+
41
+ if (center) {
42
+ var centerDefaultRendering = '';
43
+ renderer = kendo_vue_common_1.getTemplate.call(this, {
44
+ h: h,
45
+ template: center,
46
+ defaultRendering: centerDefaultRendering,
47
+ additionalProps: {
48
+ value: this.arcCenterValue.value,
49
+ color: this.arcCenterValue.color
50
+ }
51
+ });
52
+ return h("div", {
53
+ "class": "k-arcgauge-label",
54
+ style: divStyle
55
+ }, [renderer]);
56
+ }
57
+
58
+ return renderer;
59
+ }
60
+ };
61
+ exports.ArcCenter = ArcCenter;
62
+ var ArcCenterVue3 = ArcCenter;
63
+ exports.ArcCenterVue3 = ArcCenterVue3;
@@ -0,0 +1,43 @@
1
+ import { DefineComponent } from './additionalTypes';
2
+ import { RecordPropsDefinition, ComponentOptions } from 'vue/types/options';
3
+ declare type DefaultData<V> = object | ((this: V) => {});
4
+ declare type DefaultMethods<V> = {
5
+ [key: string]: (this: V, ...args: any[]) => any;
6
+ };
7
+ import { ArcGaugeProps } from './ArcGaugeProps';
8
+ export interface ArcCenterStyle {
9
+ left: string;
10
+ top: string;
11
+ }
12
+ /**
13
+ * @hidden
14
+ */
15
+ export interface ArcGaugeState {
16
+ baseGauge: any;
17
+ gaugeType: any;
18
+ }
19
+ /**
20
+ * @hidden
21
+ */
22
+ export interface ArcGaugeComputed {
23
+ [key: string]: any;
24
+ }
25
+ /**
26
+ * @hidden
27
+ */
28
+ export interface ArcGaugeMethods {
29
+ [key: string]: any;
30
+ }
31
+ /**
32
+ * @hidden
33
+ */
34
+ export interface ArcGaugeData {
35
+ }
36
+ /**
37
+ * @hidden
38
+ */
39
+ export interface ArcGaugeAll extends Vue, ArcGaugeMethods, ArcGaugeData, ArcGaugeComputed, ArcGaugeState {
40
+ }
41
+ declare let ArcGauge: ComponentOptions<ArcGaugeAll, DefaultData<ArcGaugeData>, DefaultMethods<ArcGaugeAll>, ArcGaugeComputed, RecordPropsDefinition<ArcGaugeProps>>;
42
+ declare const ArcGaugeVue3: DefineComponent<ArcGaugeProps, any, ArcGaugeData, ArcGaugeComputed, ArcGaugeMethods, {}, {}, {}, string, ArcGaugeProps, ArcGaugeProps, {}>;
43
+ export { ArcGauge, ArcGaugeVue3 };
@@ -0,0 +1,210 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ArcGaugeVue3 = exports.ArcGauge = void 0; // @ts-ignore
7
+
8
+ var Vue = require("vue");
9
+
10
+ var allVue = Vue;
11
+ var gh = allVue.h;
12
+
13
+ var BaseGauge_1 = require("./BaseGauge");
14
+
15
+ var kendo_charts_1 = require("@progress/kendo-charts");
16
+
17
+ var ArcCenter_1 = require("./ArcCenter");
18
+
19
+ var kendo_drawing_1 = require("@progress/kendo-drawing");
20
+
21
+ var kendo_vue_common_1 = require("@progress/kendo-vue-common"); // tslint:enable:max-line-length
22
+
23
+
24
+ var ArcGauge = {
25
+ name: 'KendoArcGauge',
26
+ props: {
27
+ dir: String,
28
+ renderAs: {
29
+ type: String,
30
+ default: 'svg',
31
+ validator: function validator(value) {
32
+ return ['svg', 'canvas'].includes(value);
33
+ }
34
+ },
35
+ gaugeConstructor: [Object, Function],
36
+ value: {
37
+ type: Number,
38
+ default: undefined
39
+ },
40
+ color: String,
41
+ colors: {
42
+ type: Array,
43
+ default: undefined
44
+ },
45
+ opacity: {
46
+ type: Number,
47
+ default: undefined
48
+ },
49
+ scale: {
50
+ type: Object,
51
+ default: undefined
52
+ },
53
+ centerRender: [String, Function, Object]
54
+ },
55
+ created: function created() {
56
+ this.gaugeType = kendo_charts_1.ArcGauge;
57
+ },
58
+ data: function data() {
59
+ return {
60
+ centerStyles: {},
61
+ arcCenterValue: {}
62
+ };
63
+ },
64
+ mounted: function mounted() {
65
+ this._baseGauge = this.v3 ? this.baseGaugeRef : this.$refs.baseGauge;
66
+ this.center = this.v3 ? this.centerRef : this.$refs.center;
67
+ this.positionCenter();
68
+ },
69
+ watch: {
70
+ colors: function colors(_newColors, oldColors) {
71
+ this.prevColors = oldColors;
72
+ }
73
+ },
74
+ updated: function updated() {
75
+ this._baseGauge = this.v3 ? this.baseGaugeRef : this.$refs.baseGauge;
76
+ this.center = this.v3 ? this.centerRef : this.$refs.center;
77
+ },
78
+ // @ts-ignore
79
+ setup: !gh ? undefined : function () {
80
+ var v3 = !!gh;
81
+ return {
82
+ v3: v3
83
+ };
84
+ },
85
+ // @ts-ignore
86
+ render: function render(createElement) {
87
+ var _this2 = this;
88
+
89
+ var _this = this;
90
+
91
+ var h = gh || createElement;
92
+ var defaultSlots = kendo_vue_common_1.getDefaultSlots(this);
93
+ var _a = this.$props,
94
+ centerRender = _a.centerRender,
95
+ className = _a.className,
96
+ value = _a.value,
97
+ color = _a.color;
98
+ var center = centerRender ? kendo_vue_common_1.templateRendering.call(this, centerRender, kendo_vue_common_1.getListeners.call(this)) : undefined;
99
+ return (// @ts-ignore function children
100
+ h(BaseGauge_1.BaseGauge, {
101
+ value: value,
102
+ attrs: this.v3 ? undefined : {
103
+ value: value,
104
+ color: color,
105
+ deriveOptionsFromParent: this.deriveOptionsFromParent,
106
+ gaugeConstructor: this.gaugeType,
107
+ getTarget: this.getTarget
108
+ },
109
+ color: color,
110
+ deriveOptionsFromParent: this.deriveOptionsFromParent,
111
+ ref: this.v3 ? function (el) {
112
+ _this.baseGaugeRef = el;
113
+ } : 'baseGauge',
114
+ gaugeConstructor: this.gaugeType,
115
+ getTarget: this.getTarget,
116
+ "class": kendo_vue_common_1.classNames('k-gauge k-arcgauge', className)
117
+ }, this.v3 ? function () {
118
+ return [defaultSlots, // @ts-ignore
119
+ h(ArcCenter_1.ArcCenter, {
120
+ center: center,
121
+ attrs: _this2.v3 ? undefined : {
122
+ center: center,
123
+ arcCenterValue: _this2.arcCenterValue
124
+ },
125
+ style: _this2.centerStyles,
126
+ arcCenterValue: _this2.arcCenterValue,
127
+ ref: _this2.v3 ? function (el) {
128
+ _this.centerRef = el;
129
+ } : 'center'
130
+ })];
131
+ } : [defaultSlots, h(ArcCenter_1.ArcCenter, {
132
+ center: center,
133
+ attrs: _this2.v3 ? undefined : {
134
+ center: center,
135
+ arcCenterValue: _this2.arcCenterValue
136
+ },
137
+ style: _this2.centerStyles,
138
+ arcCenterValue: _this2.arcCenterValue,
139
+ ref: _this2.v3 ? function (el) {
140
+ _this.centerRef = el;
141
+ } : 'center'
142
+ })])
143
+ );
144
+ },
145
+ methods: {
146
+ positionCenter: function positionCenter() {
147
+ var width = this.center.$el.offsetWidth;
148
+ var height = this.center.$el.offsetHeight;
149
+ var gaugeInstance = this.gaugeInstance();
150
+ var position = gaugeInstance.centerLabelPosition(width, height);
151
+ this.centerStyles = {
152
+ left: position.left + 'px',
153
+ top: position.top + 'px'
154
+ };
155
+ this.arcCenterValue = {
156
+ value: gaugeInstance.value(),
157
+ color: gaugeInstance.currentColor()
158
+ };
159
+ },
160
+ gaugeInstance: function gaugeInstance() {
161
+ if (this._baseGauge) {
162
+ return this._baseGauge.gaugeInstance;
163
+ }
164
+
165
+ return null;
166
+ },
167
+ surface: function surface() {
168
+ if (this._baseGauge) {
169
+ return this._baseGauge.surface;
170
+ }
171
+
172
+ return null;
173
+ },
174
+ element: function element() {
175
+ if (this._baseGauge) {
176
+ return this._baseGauge.element;
177
+ }
178
+
179
+ return null;
180
+ },
181
+ exportVisual: function exportVisual(options) {
182
+ if (this.gaugeInstance !== null && this.element) {
183
+ return kendo_drawing_1.drawDOM(this.element, options);
184
+ }
185
+
186
+ return Promise.resolve(new kendo_drawing_1.Group());
187
+ },
188
+ getTarget: function getTarget() {
189
+ return this;
190
+ },
191
+ deriveOptionsFromParent: function deriveOptionsFromParent(options) {
192
+ var _a = this.$props,
193
+ value = _a.value,
194
+ color = _a.color,
195
+ colors = _a.colors,
196
+ opacity = _a.opacity,
197
+ scale = _a.scale;
198
+ return Object.assign({}, options, {
199
+ value: value,
200
+ color: color,
201
+ colors: colors,
202
+ opacity: opacity,
203
+ scale: scale
204
+ });
205
+ }
206
+ }
207
+ };
208
+ exports.ArcGauge = ArcGauge;
209
+ var ArcGaugeVue3 = ArcGauge;
210
+ exports.ArcGaugeVue3 = ArcGaugeVue3;
@@ -0,0 +1,33 @@
1
+ import { BaseGaugeProps } from './BaseGaugeProps';
2
+ import { ArcScale, ColorRange } from './types';
3
+ /**
4
+ * Represents the props of the [KendoReact ArcGauge component]({% slug overview_arcgauge_gauges %}).
5
+ */
6
+ export interface ArcGaugeProps extends BaseGaugeProps {
7
+ /**
8
+ * The value of the Gauge.
9
+ */
10
+ value: number;
11
+ /**
12
+ * The color of the value pointer. Accepts a valid CSS color string, including hex and rgb.
13
+ */
14
+ color?: string;
15
+ /**
16
+ * The color ranges of the value pointer
17
+ * ([see example]({% slug colorranges_arcgauge %})).
18
+ */
19
+ colors?: ColorRange[];
20
+ /**
21
+ * The opacity of the value pointer.
22
+ */
23
+ opacity?: number;
24
+ /**
25
+ * The scale options of the ArcGauge.
26
+ */
27
+ scale?: ArcScale;
28
+ /**
29
+ *
30
+ * A function that renders the center template of the Gauge.
31
+ */
32
+ centerRender?: any;
33
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,42 @@
1
+ import { DefineComponent } from './additionalTypes';
2
+ import { RecordPropsDefinition, ComponentOptions } from 'vue/types/options';
3
+ declare type DefaultData<V> = object | ((this: V) => {});
4
+ declare type DefaultMethods<V> = {
5
+ [key: string]: (this: V, ...args: any[]) => any;
6
+ };
7
+ import { Surface } from '@progress/kendo-drawing';
8
+ import { BaseGaugeProps } from './BaseGaugeProps';
9
+ /**
10
+ * @hidden
11
+ */
12
+ export interface BaseGaugeState {
13
+ gaugeInstance: any | null;
14
+ surface: Surface;
15
+ element: HTMLDivElement | null;
16
+ themeStore: any;
17
+ }
18
+ /**
19
+ * @hidden
20
+ */
21
+ export interface BaseGaugeComputed {
22
+ [key: string]: any;
23
+ }
24
+ /**
25
+ * @hidden
26
+ */
27
+ export interface BaseGaugeMethods {
28
+ [key: string]: any;
29
+ }
30
+ /**
31
+ * @hidden
32
+ */
33
+ export interface BaseGaugeData {
34
+ }
35
+ /**
36
+ * @hidden
37
+ */
38
+ export interface BaseGaugeAll extends Vue, BaseGaugeMethods, BaseGaugeData, BaseGaugeComputed, BaseGaugeState {
39
+ }
40
+ declare let BaseGauge: ComponentOptions<BaseGaugeAll, DefaultData<BaseGaugeData>, DefaultMethods<BaseGaugeAll>, BaseGaugeComputed, RecordPropsDefinition<BaseGaugeProps>>;
41
+ declare const BaseGaugeVue3: DefineComponent<BaseGaugeProps, any, BaseGaugeData, BaseGaugeComputed, BaseGaugeMethods, {}, {}, {}, string, BaseGaugeProps, BaseGaugeProps, {}>;
42
+ export { BaseGauge, BaseGaugeVue3 };
@@ -0,0 +1,238 @@
1
+ "use strict";
2
+
3
+ var __rest = undefined && undefined.__rest || function (s, e) {
4
+ var t = {};
5
+
6
+ for (var p in s) {
7
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
8
+ }
9
+
10
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
11
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
12
+ }
13
+ return t;
14
+ };
15
+
16
+ Object.defineProperty(exports, "__esModule", {
17
+ value: true
18
+ });
19
+ exports.BaseGaugeVue3 = exports.BaseGauge = void 0; // @ts-ignore
20
+
21
+ var Vue = require("vue");
22
+
23
+ var allVue = Vue;
24
+ var gh = allVue.h;
25
+
26
+ var kendo_vue_intl_1 = require("@progress/kendo-vue-intl");
27
+
28
+ var theme_service_1 = require("./theming/theme-service");
29
+
30
+ var store_1 = require("./store/store");
31
+
32
+ var reducer_1 = require("./store/reducer");
33
+
34
+ var kendo_vue_common_1 = require("@progress/kendo-vue-common"); // import { GaugeContextType, GaugeContext } from './GaugeContext';
35
+
36
+
37
+ var kendo_vue_common_2 = require("@progress/kendo-vue-common");
38
+
39
+ var package_metadata_1 = require("./package-metadata"); // tslint:enable:max-line-length
40
+
41
+
42
+ var BaseGauge = {
43
+ name: 'KendoBaseGauge',
44
+ props: {
45
+ dir: String,
46
+ renderAs: {
47
+ type: String,
48
+ default: 'svg',
49
+ validator: function validator(value) {
50
+ return ['svg', 'canvas'].includes(value);
51
+ }
52
+ },
53
+ value: Number,
54
+ gaugeConstructor: [Object, Function],
55
+ deriveOptionsFromParent: Function
56
+ },
57
+ created: function created() {
58
+ kendo_vue_common_2.validatePackage(package_metadata_1.packageMetadata);
59
+ this.gaugeInstance = null;
60
+ this.themeStore = {};
61
+ this._prevRenderAs = undefined;
62
+ this._prevDir = undefined; // protected themeUnsubscriber: Function = Function.prototype;
63
+ // protected contextValue: GaugeContextType;
64
+ // protected observersStore: any = {};
65
+
66
+ this.themeStore = store_1.default(reducer_1.themeReducer);
67
+ this.observersStore = store_1.default(reducer_1.observersReducer);
68
+ this.contextValue = {
69
+ observersStore: this.observersStore
70
+ };
71
+ },
72
+ mounted: function mounted() {
73
+ theme_service_1.loadTheme(this.themeStore, this.instantiateCoreGauge.bind(this));
74
+ this.themeUnsubscriber = this.themeStore.subscribe(this.refresh.bind(this));
75
+ window.addEventListener('resize', this.onWindowResize);
76
+ this.trigger('render', {
77
+ sender: this
78
+ });
79
+ },
80
+ watch: {
81
+ dir: function dir(_newDir, oldDir) {
82
+ this._prevDir = oldDir;
83
+ },
84
+ renderAs: function renderAs(_newRenderAs, oldRenderAs) {
85
+ this._prevRenderAs = oldRenderAs;
86
+ }
87
+ },
88
+ updated: function updated() {
89
+ var _a = this.$props,
90
+ dir = _a.dir,
91
+ children = _a.children,
92
+ deriveOptionsFromParent = _a.deriveOptionsFromParent,
93
+ getTarget = _a.getTarget,
94
+ gaugeConstructor = _a.gaugeConstructor,
95
+ className = _a.className,
96
+ renderAs = _a.renderAs,
97
+ currentOthers = __rest(_a, ["dir", "children", "deriveOptionsFromParent", "getTarget", "gaugeConstructor", "className", "renderAs"]);
98
+
99
+ if (this.gaugeInstance !== null) {
100
+ var currentIntlService = kendo_vue_intl_1.provideIntlService(this);
101
+ var gaugeService = this.gaugeInstance.contextService;
102
+ var localeChanged = currentIntlService.locale !== gaugeService._intlService.locale;
103
+ var optionsChanged = true;
104
+ var typedCurrentOthers = currentOthers;
105
+
106
+ if (localeChanged) {
107
+ this.gaugeInstance.contextService._intlService = currentIntlService;
108
+ this.gaugeInstance.contextService.format._intlService = currentIntlService;
109
+
110
+ if (!optionsChanged) {
111
+ this.gaugeInstance.noTransitionsRedraw();
112
+ }
113
+ }
114
+
115
+ if (optionsChanged || (renderAs || 'svg') !== (this._prevRenderAs || 'svg')) {
116
+ this.refresh();
117
+ } else {
118
+ if (Object.keys(currentOthers).indexOf('pointer') > -1) {
119
+ var isPointerArray = Array.isArray(typedCurrentOthers.pointer);
120
+
121
+ if (isPointerArray) {
122
+ this.refreshAllValues(typedCurrentOthers.pointer.map(function (item) {
123
+ return item.value;
124
+ }));
125
+ } else {
126
+ this.refreshValue((typedCurrentOthers.pointer || {}).value);
127
+ }
128
+ } else {
129
+ this.refreshValue(typedCurrentOthers.value);
130
+ }
131
+ }
132
+
133
+ if (this._prevDir !== dir) {
134
+ this.gaugeInstance.setDirection(this.getDirection(dir));
135
+ } // this.$emit('render', { sender: this });
136
+
137
+ }
138
+ },
139
+ destroyed: function destroyed() {
140
+ this.themeUnsubscriber();
141
+
142
+ if (this.gaugeInstance !== null) {
143
+ this.gaugeInstance.destroy();
144
+ this.gaugeInstance = null;
145
+ }
146
+
147
+ window.removeEventListener('resize', this.onWindowResize);
148
+ },
149
+ // @ts-ignore
150
+ setup: !gh ? undefined : function () {
151
+ var v3 = !!gh;
152
+ return {
153
+ v3: v3
154
+ };
155
+ },
156
+ // @ts-ignore
157
+ render: function render(createElement) {
158
+ var h = gh || createElement;
159
+ var defaultSlots = kendo_vue_common_2.getDefaultSlots(this);
160
+ var gaugeStyles = Object.assign({}, {
161
+ position: 'relative'
162
+ });
163
+ return h("div", {
164
+ style: gaugeStyles
165
+ }, [defaultSlots]);
166
+ },
167
+ methods: {
168
+ instantiateCoreGauge: function instantiateCoreGauge() {
169
+ var _a = this.$props,
170
+ dir = _a.dir,
171
+ gaugeConstructor = _a.gaugeConstructor;
172
+ var gaugeOptions = this.getGaugeOptions();
173
+ this.gaugeInstance = new gaugeConstructor(this.$el, gaugeOptions, this.themeStore.getState(), {
174
+ rtl: this.getDirection(dir),
175
+ intlService: kendo_vue_intl_1.provideIntlService(this),
176
+ sender: this
177
+ });
178
+ },
179
+ refresh: function refresh() {
180
+ if (this.gaugeInstance !== null) {
181
+ var themeOptions = this.themeStore.getState();
182
+ var gaugeOptions = this.getGaugeOptions();
183
+ this.gaugeInstance.setOptions(gaugeOptions, themeOptions);
184
+ }
185
+ },
186
+ refreshValue: function refreshValue(value) {
187
+ this.gaugeInstance.value(value);
188
+ },
189
+ refreshAllValues: function refreshAllValues(values) {
190
+ this.gaugeInstance.allValues(values);
191
+ },
192
+ getDirection: function getDirection(dir) {
193
+ var _this = this;
194
+
195
+ var directionFromWindow = function directionFromWindow() {
196
+ return kendo_vue_common_1.canUseDOM && window.getComputedStyle(_this.$el).direction;
197
+ };
198
+
199
+ var direction = dir !== undefined ? dir : directionFromWindow() || 'ltr';
200
+ return direction === 'rtl';
201
+ },
202
+ getGaugeOptions: function getGaugeOptions() {
203
+ var _a = this.$props,
204
+ renderAs = _a.renderAs,
205
+ transitions = _a.transitions,
206
+ deriveOptionsFromParent = _a.deriveOptionsFromParent;
207
+ var gaugeOptions = Object.assign({
208
+ renderAs: renderAs,
209
+ transitions: transitions
210
+ });
211
+
212
+ if (deriveOptionsFromParent) {
213
+ // Add options from parent - required by TS
214
+ gaugeOptions = deriveOptionsFromParent(gaugeOptions);
215
+ }
216
+
217
+ return gaugeOptions;
218
+ },
219
+ trigger: function trigger(name, e) {
220
+ var observers = this.observersStore.getState();
221
+
222
+ for (var idx = 0; idx < observers.length; idx++) {
223
+ observers[idx].trigger(name, e);
224
+ }
225
+ },
226
+ onWindowResize: function onWindowResize() {
227
+ if (this.gaugeInstance !== null) {
228
+ this.gaugeInstance.resize();
229
+ this.trigger('render', {
230
+ sender: this
231
+ });
232
+ }
233
+ }
234
+ }
235
+ };
236
+ exports.BaseGauge = BaseGauge;
237
+ var BaseGaugeVue3 = BaseGauge;
238
+ exports.BaseGaugeVue3 = BaseGaugeVue3;