@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,53 @@
1
+ // @ts-ignore
2
+ import * as Vue from 'vue';
3
+ var allVue = Vue;
4
+ var gh = allVue.h;
5
+ import { getTemplate } from '@progress/kendo-vue-common'; // tslint:enable:max-line-length
6
+
7
+ var ArcCenter = {
8
+ name: 'KendoArcCenter',
9
+ props: {
10
+ center: [String, Function, Object],
11
+ arcCenterValue: Object
12
+ },
13
+ created: function created() {
14
+ this.element = null;
15
+ },
16
+ // @ts-ignore
17
+ setup: !gh ? undefined : function () {
18
+ var v3 = !!gh;
19
+ return {
20
+ v3: v3
21
+ };
22
+ },
23
+ // @ts-ignore
24
+ render: function render(createElement) {
25
+ var h = gh || createElement;
26
+ var center = this.$props.center;
27
+ var divStyle = {
28
+ zIndex: -1
29
+ };
30
+ var renderer = null;
31
+
32
+ if (center) {
33
+ var centerDefaultRendering = '';
34
+ renderer = getTemplate.call(this, {
35
+ h: h,
36
+ template: center,
37
+ defaultRendering: centerDefaultRendering,
38
+ additionalProps: {
39
+ value: this.arcCenterValue.value,
40
+ color: this.arcCenterValue.color
41
+ }
42
+ });
43
+ return h("div", {
44
+ "class": "k-arcgauge-label",
45
+ style: divStyle
46
+ }, [renderer]);
47
+ }
48
+
49
+ return renderer;
50
+ }
51
+ };
52
+ var ArcCenterVue3 = ArcCenter;
53
+ export { ArcCenter, 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,196 @@
1
+ // @ts-ignore
2
+ import * as Vue from 'vue';
3
+ var allVue = Vue;
4
+ var gh = allVue.h;
5
+ import { BaseGauge } from './BaseGauge';
6
+ import { ArcGauge as KendoArcGauge } from '@progress/kendo-charts';
7
+ import { ArcCenter } from './ArcCenter';
8
+ import { Group, drawDOM } from '@progress/kendo-drawing';
9
+ import { classNames, getDefaultSlots, templateRendering, getListeners } from '@progress/kendo-vue-common'; // tslint:enable:max-line-length
10
+
11
+ var ArcGauge = {
12
+ name: 'KendoArcGauge',
13
+ props: {
14
+ dir: String,
15
+ renderAs: {
16
+ type: String,
17
+ default: 'svg',
18
+ validator: function validator(value) {
19
+ return ['svg', 'canvas'].includes(value);
20
+ }
21
+ },
22
+ gaugeConstructor: [Object, Function],
23
+ value: {
24
+ type: Number,
25
+ default: undefined
26
+ },
27
+ color: String,
28
+ colors: {
29
+ type: Array,
30
+ default: undefined
31
+ },
32
+ opacity: {
33
+ type: Number,
34
+ default: undefined
35
+ },
36
+ scale: {
37
+ type: Object,
38
+ default: undefined
39
+ },
40
+ centerRender: [String, Function, Object]
41
+ },
42
+ created: function created() {
43
+ this.gaugeType = KendoArcGauge;
44
+ },
45
+ data: function data() {
46
+ return {
47
+ centerStyles: {},
48
+ arcCenterValue: {}
49
+ };
50
+ },
51
+ mounted: function mounted() {
52
+ this._baseGauge = this.v3 ? this.baseGaugeRef : this.$refs.baseGauge;
53
+ this.center = this.v3 ? this.centerRef : this.$refs.center;
54
+ this.positionCenter();
55
+ },
56
+ watch: {
57
+ colors: function colors(_newColors, oldColors) {
58
+ this.prevColors = oldColors;
59
+ }
60
+ },
61
+ updated: function updated() {
62
+ this._baseGauge = this.v3 ? this.baseGaugeRef : this.$refs.baseGauge;
63
+ this.center = this.v3 ? this.centerRef : this.$refs.center;
64
+ },
65
+ // @ts-ignore
66
+ setup: !gh ? undefined : function () {
67
+ var v3 = !!gh;
68
+ return {
69
+ v3: v3
70
+ };
71
+ },
72
+ // @ts-ignore
73
+ render: function render(createElement) {
74
+ var _this2 = this;
75
+
76
+ var _this = this;
77
+
78
+ var h = gh || createElement;
79
+ var defaultSlots = getDefaultSlots(this);
80
+ var _a = this.$props,
81
+ centerRender = _a.centerRender,
82
+ className = _a.className,
83
+ value = _a.value,
84
+ color = _a.color;
85
+ var center = centerRender ? templateRendering.call(this, centerRender, getListeners.call(this)) : undefined;
86
+ return (// @ts-ignore function children
87
+ h(BaseGauge, {
88
+ value: value,
89
+ attrs: this.v3 ? undefined : {
90
+ value: value,
91
+ color: color,
92
+ deriveOptionsFromParent: this.deriveOptionsFromParent,
93
+ gaugeConstructor: this.gaugeType,
94
+ getTarget: this.getTarget
95
+ },
96
+ color: color,
97
+ deriveOptionsFromParent: this.deriveOptionsFromParent,
98
+ ref: this.v3 ? function (el) {
99
+ _this.baseGaugeRef = el;
100
+ } : 'baseGauge',
101
+ gaugeConstructor: this.gaugeType,
102
+ getTarget: this.getTarget,
103
+ "class": classNames('k-gauge k-arcgauge', className)
104
+ }, this.v3 ? function () {
105
+ return [defaultSlots, // @ts-ignore
106
+ h(ArcCenter, {
107
+ center: center,
108
+ attrs: _this2.v3 ? undefined : {
109
+ center: center,
110
+ arcCenterValue: _this2.arcCenterValue
111
+ },
112
+ style: _this2.centerStyles,
113
+ arcCenterValue: _this2.arcCenterValue,
114
+ ref: _this2.v3 ? function (el) {
115
+ _this.centerRef = el;
116
+ } : 'center'
117
+ })];
118
+ } : [defaultSlots, h(ArcCenter, {
119
+ center: center,
120
+ attrs: _this2.v3 ? undefined : {
121
+ center: center,
122
+ arcCenterValue: _this2.arcCenterValue
123
+ },
124
+ style: _this2.centerStyles,
125
+ arcCenterValue: _this2.arcCenterValue,
126
+ ref: _this2.v3 ? function (el) {
127
+ _this.centerRef = el;
128
+ } : 'center'
129
+ })])
130
+ );
131
+ },
132
+ methods: {
133
+ positionCenter: function positionCenter() {
134
+ var width = this.center.$el.offsetWidth;
135
+ var height = this.center.$el.offsetHeight;
136
+ var gaugeInstance = this.gaugeInstance();
137
+ var position = gaugeInstance.centerLabelPosition(width, height);
138
+ this.centerStyles = {
139
+ left: position.left + 'px',
140
+ top: position.top + 'px'
141
+ };
142
+ this.arcCenterValue = {
143
+ value: gaugeInstance.value(),
144
+ color: gaugeInstance.currentColor()
145
+ };
146
+ },
147
+ gaugeInstance: function gaugeInstance() {
148
+ if (this._baseGauge) {
149
+ return this._baseGauge.gaugeInstance;
150
+ }
151
+
152
+ return null;
153
+ },
154
+ surface: function surface() {
155
+ if (this._baseGauge) {
156
+ return this._baseGauge.surface;
157
+ }
158
+
159
+ return null;
160
+ },
161
+ element: function element() {
162
+ if (this._baseGauge) {
163
+ return this._baseGauge.element;
164
+ }
165
+
166
+ return null;
167
+ },
168
+ exportVisual: function exportVisual(options) {
169
+ if (this.gaugeInstance !== null && this.element) {
170
+ return drawDOM(this.element, options);
171
+ }
172
+
173
+ return Promise.resolve(new Group());
174
+ },
175
+ getTarget: function getTarget() {
176
+ return this;
177
+ },
178
+ deriveOptionsFromParent: function deriveOptionsFromParent(options) {
179
+ var _a = this.$props,
180
+ value = _a.value,
181
+ color = _a.color,
182
+ colors = _a.colors,
183
+ opacity = _a.opacity,
184
+ scale = _a.scale;
185
+ return Object.assign({}, options, {
186
+ value: value,
187
+ color: color,
188
+ colors: colors,
189
+ opacity: opacity,
190
+ scale: scale
191
+ });
192
+ }
193
+ }
194
+ };
195
+ var ArcGaugeVue3 = ArcGauge;
196
+ export { ArcGauge, 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
+ }
File without changes
@@ -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,222 @@
1
+ var __rest = this && this.__rest || function (s, e) {
2
+ var t = {};
3
+
4
+ for (var p in s) {
5
+ if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
6
+ }
7
+
8
+ if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
9
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ }; // @ts-ignore
13
+
14
+
15
+ import * as Vue from 'vue';
16
+ var allVue = Vue;
17
+ var gh = allVue.h;
18
+ import { provideIntlService } from '@progress/kendo-vue-intl';
19
+ import { loadTheme } from './theming/theme-service';
20
+ import createStore from './store/store';
21
+ import { themeReducer, observersReducer } from './store/reducer';
22
+ import { canUseDOM } from '@progress/kendo-vue-common'; // import { GaugeContextType, GaugeContext } from './GaugeContext';
23
+
24
+ import { validatePackage, getDefaultSlots } from '@progress/kendo-vue-common';
25
+ import { packageMetadata } from './package-metadata'; // tslint:enable:max-line-length
26
+
27
+ var BaseGauge = {
28
+ name: 'KendoBaseGauge',
29
+ props: {
30
+ dir: String,
31
+ renderAs: {
32
+ type: String,
33
+ default: 'svg',
34
+ validator: function validator(value) {
35
+ return ['svg', 'canvas'].includes(value);
36
+ }
37
+ },
38
+ value: Number,
39
+ gaugeConstructor: [Object, Function],
40
+ deriveOptionsFromParent: Function
41
+ },
42
+ created: function created() {
43
+ validatePackage(packageMetadata);
44
+ this.gaugeInstance = null;
45
+ this.themeStore = {};
46
+ this._prevRenderAs = undefined;
47
+ this._prevDir = undefined; // protected themeUnsubscriber: Function = Function.prototype;
48
+ // protected contextValue: GaugeContextType;
49
+ // protected observersStore: any = {};
50
+
51
+ this.themeStore = createStore(themeReducer);
52
+ this.observersStore = createStore(observersReducer);
53
+ this.contextValue = {
54
+ observersStore: this.observersStore
55
+ };
56
+ },
57
+ mounted: function mounted() {
58
+ loadTheme(this.themeStore, this.instantiateCoreGauge.bind(this));
59
+ this.themeUnsubscriber = this.themeStore.subscribe(this.refresh.bind(this));
60
+ window.addEventListener('resize', this.onWindowResize);
61
+ this.trigger('render', {
62
+ sender: this
63
+ });
64
+ },
65
+ watch: {
66
+ dir: function dir(_newDir, oldDir) {
67
+ this._prevDir = oldDir;
68
+ },
69
+ renderAs: function renderAs(_newRenderAs, oldRenderAs) {
70
+ this._prevRenderAs = oldRenderAs;
71
+ }
72
+ },
73
+ updated: function updated() {
74
+ var _a = this.$props,
75
+ dir = _a.dir,
76
+ children = _a.children,
77
+ deriveOptionsFromParent = _a.deriveOptionsFromParent,
78
+ getTarget = _a.getTarget,
79
+ gaugeConstructor = _a.gaugeConstructor,
80
+ className = _a.className,
81
+ renderAs = _a.renderAs,
82
+ currentOthers = __rest(_a, ["dir", "children", "deriveOptionsFromParent", "getTarget", "gaugeConstructor", "className", "renderAs"]);
83
+
84
+ if (this.gaugeInstance !== null) {
85
+ var currentIntlService = provideIntlService(this);
86
+ var gaugeService = this.gaugeInstance.contextService;
87
+ var localeChanged = currentIntlService.locale !== gaugeService._intlService.locale;
88
+ var optionsChanged = true;
89
+ var typedCurrentOthers = currentOthers;
90
+
91
+ if (localeChanged) {
92
+ this.gaugeInstance.contextService._intlService = currentIntlService;
93
+ this.gaugeInstance.contextService.format._intlService = currentIntlService;
94
+
95
+ if (!optionsChanged) {
96
+ this.gaugeInstance.noTransitionsRedraw();
97
+ }
98
+ }
99
+
100
+ if (optionsChanged || (renderAs || 'svg') !== (this._prevRenderAs || 'svg')) {
101
+ this.refresh();
102
+ } else {
103
+ if (Object.keys(currentOthers).indexOf('pointer') > -1) {
104
+ var isPointerArray = Array.isArray(typedCurrentOthers.pointer);
105
+
106
+ if (isPointerArray) {
107
+ this.refreshAllValues(typedCurrentOthers.pointer.map(function (item) {
108
+ return item.value;
109
+ }));
110
+ } else {
111
+ this.refreshValue((typedCurrentOthers.pointer || {}).value);
112
+ }
113
+ } else {
114
+ this.refreshValue(typedCurrentOthers.value);
115
+ }
116
+ }
117
+
118
+ if (this._prevDir !== dir) {
119
+ this.gaugeInstance.setDirection(this.getDirection(dir));
120
+ } // this.$emit('render', { sender: this });
121
+
122
+ }
123
+ },
124
+ destroyed: function destroyed() {
125
+ this.themeUnsubscriber();
126
+
127
+ if (this.gaugeInstance !== null) {
128
+ this.gaugeInstance.destroy();
129
+ this.gaugeInstance = null;
130
+ }
131
+
132
+ window.removeEventListener('resize', this.onWindowResize);
133
+ },
134
+ // @ts-ignore
135
+ setup: !gh ? undefined : function () {
136
+ var v3 = !!gh;
137
+ return {
138
+ v3: v3
139
+ };
140
+ },
141
+ // @ts-ignore
142
+ render: function render(createElement) {
143
+ var h = gh || createElement;
144
+ var defaultSlots = getDefaultSlots(this);
145
+ var gaugeStyles = Object.assign({}, {
146
+ position: 'relative'
147
+ });
148
+ return h("div", {
149
+ style: gaugeStyles
150
+ }, [defaultSlots]);
151
+ },
152
+ methods: {
153
+ instantiateCoreGauge: function instantiateCoreGauge() {
154
+ var _a = this.$props,
155
+ dir = _a.dir,
156
+ gaugeConstructor = _a.gaugeConstructor;
157
+ var gaugeOptions = this.getGaugeOptions();
158
+ this.gaugeInstance = new gaugeConstructor(this.$el, gaugeOptions, this.themeStore.getState(), {
159
+ rtl: this.getDirection(dir),
160
+ intlService: provideIntlService(this),
161
+ sender: this
162
+ });
163
+ },
164
+ refresh: function refresh() {
165
+ if (this.gaugeInstance !== null) {
166
+ var themeOptions = this.themeStore.getState();
167
+ var gaugeOptions = this.getGaugeOptions();
168
+ this.gaugeInstance.setOptions(gaugeOptions, themeOptions);
169
+ }
170
+ },
171
+ refreshValue: function refreshValue(value) {
172
+ this.gaugeInstance.value(value);
173
+ },
174
+ refreshAllValues: function refreshAllValues(values) {
175
+ this.gaugeInstance.allValues(values);
176
+ },
177
+ getDirection: function getDirection(dir) {
178
+ var _this = this;
179
+
180
+ var directionFromWindow = function directionFromWindow() {
181
+ return canUseDOM && window.getComputedStyle(_this.$el).direction;
182
+ };
183
+
184
+ var direction = dir !== undefined ? dir : directionFromWindow() || 'ltr';
185
+ return direction === 'rtl';
186
+ },
187
+ getGaugeOptions: function getGaugeOptions() {
188
+ var _a = this.$props,
189
+ renderAs = _a.renderAs,
190
+ transitions = _a.transitions,
191
+ deriveOptionsFromParent = _a.deriveOptionsFromParent;
192
+ var gaugeOptions = Object.assign({
193
+ renderAs: renderAs,
194
+ transitions: transitions
195
+ });
196
+
197
+ if (deriveOptionsFromParent) {
198
+ // Add options from parent - required by TS
199
+ gaugeOptions = deriveOptionsFromParent(gaugeOptions);
200
+ }
201
+
202
+ return gaugeOptions;
203
+ },
204
+ trigger: function trigger(name, e) {
205
+ var observers = this.observersStore.getState();
206
+
207
+ for (var idx = 0; idx < observers.length; idx++) {
208
+ observers[idx].trigger(name, e);
209
+ }
210
+ },
211
+ onWindowResize: function onWindowResize() {
212
+ if (this.gaugeInstance !== null) {
213
+ this.gaugeInstance.resize();
214
+ this.trigger('render', {
215
+ sender: this
216
+ });
217
+ }
218
+ }
219
+ }
220
+ };
221
+ var BaseGaugeVue3 = BaseGauge;
222
+ export { BaseGauge, BaseGaugeVue3 };
@@ -0,0 +1,42 @@
1
+ /**
2
+ * @hidden
3
+ */
4
+ export interface BaseGaugePrivateProps {
5
+ /**
6
+ * @hidden
7
+ */
8
+ deriveOptionsFromParent?: (options: any) => any;
9
+ /**
10
+ * @hidden
11
+ */
12
+ gaugeConstructor?: object;
13
+ /**
14
+ * @hidden
15
+ */
16
+ getTarget?: () => any;
17
+ }
18
+ /**
19
+ * @hidden
20
+ */
21
+ export interface BaseGaugeProps extends BaseGaugePrivateProps {
22
+ /**
23
+ * Represents the `dir` HTML attribute.
24
+ */
25
+ dir?: string;
26
+ value?: number;
27
+ color?: any;
28
+ colors?: any[];
29
+ opacity?: any;
30
+ /**
31
+ * Sets the preferred rendering engine. If not supported by the browser, the Gauge switches to the first available mode.
32
+ *
33
+ * The supported values are:
34
+ * - `"svg"`&mdash;If available, renders the component as an inline `.svg` file.
35
+ * - `"canvas"`&mdash;If available, renders the component as a `canvas` element.
36
+ */
37
+ renderAs?: 'svg' | 'canvas' | string;
38
+ /**
39
+ * If set to `true`, the Gauge plays animations when it displays the series. By default, animations are enabled.
40
+ */
41
+ transitions?: boolean;
42
+ }
@@ -0,0 +1 @@
1
+ // tslint:enable:max-line-length