@progress/kendo-vue-inputs 3.5.0-dev.202208010922 → 3.5.1-dev.202208100944

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 (263) hide show
  1. package/dist/cdn/js/kendo-vue-inputs.js +1 -1
  2. package/dist/es/checkbox/Checkbox.js +1 -1
  3. package/dist/es/checkbox/interfaces/CheckboxChangeEvent.js +1 -0
  4. package/dist/es/checkbox/interfaces/CheckboxFocusEvent.js +1 -0
  5. package/dist/es/checkbox/interfaces/CheckboxProps.js +1 -0
  6. package/dist/es/colors/ColorContrastLabels.js +3 -3
  7. package/dist/es/colors/ColorContrastSvg.js +2 -2
  8. package/dist/es/colors/ColorGradient.js +7 -7
  9. package/dist/es/colors/ColorPalette.js +1 -1
  10. package/dist/es/colors/ColorPicker.js +4 -4
  11. package/dist/es/colors/FlatColorPicker.d.ts +1 -1
  12. package/dist/es/colors/interfaces/ColorGradientChangeEvent.js +1 -0
  13. package/dist/es/colors/interfaces/ColorGradientProps.js +1 -0
  14. package/dist/es/colors/interfaces/ColorPaletteChangeEvent.js +1 -0
  15. package/dist/es/colors/interfaces/ColorPaletteProps.js +1 -0
  16. package/dist/es/colors/interfaces/ColorPickerActiveColorClick.js +1 -0
  17. package/dist/es/colors/interfaces/ColorPickerBlurEvent.js +1 -0
  18. package/dist/es/colors/interfaces/ColorPickerChangeEvent.js +1 -0
  19. package/dist/es/colors/interfaces/ColorPickerFocusEvent.js +1 -0
  20. package/dist/es/colors/interfaces/ColorPickerPaletteSettings.js +1 -0
  21. package/dist/es/colors/interfaces/ColorPickerPopupSettings.js +1 -0
  22. package/dist/es/colors/interfaces/ColorPickerProps.js +1 -0
  23. package/dist/es/colors/interfaces/ColorPickerView.js +1 -0
  24. package/dist/es/colors/interfaces/FlatColorPickerViewChangeEvent.js +1 -0
  25. package/dist/es/colors/interfaces/PickerPopupSettings.js +1 -0
  26. package/dist/es/colors/interfaces/PickerProps.js +1 -0
  27. package/dist/es/colors/models/hsva.js +1 -0
  28. package/dist/es/colors/models/output-format.js +1 -0
  29. package/dist/es/colors/models/rgb.js +1 -0
  30. package/dist/es/colors/models/rgba.js +1 -0
  31. package/dist/es/colors/models/table-cell.js +1 -0
  32. package/dist/es/colors/models/tile-size.js +1 -0
  33. package/dist/es/colors/utils/color-parser.js +1 -1
  34. package/dist/es/colors/utils/svg-calc.js +4 -4
  35. package/dist/es/input/Input.js +2 -2
  36. package/dist/es/interfaces/Direction.js +1 -0
  37. package/dist/es/interfaces/ToggleBaseProps.js +1 -0
  38. package/dist/es/maskedtextbox/MaskedTextBox.js +3 -3
  39. package/dist/es/maskedtextbox/MaskedTextBoxProps.js +1 -0
  40. package/dist/es/maskedtextbox/parsing/result.js +1 -1
  41. package/dist/es/numerictextbox/NumericTextBox.js +2 -2
  42. package/dist/es/numerictextbox/interfaces/NumericTextBoxData.js +1 -0
  43. package/dist/es/numerictextbox/interfaces/NumericTextBoxProps.js +1 -0
  44. package/dist/es/numerictextbox/utils/index.js +4 -4
  45. package/dist/es/package-metadata.js +1 -1
  46. package/dist/es/radiobutton/RadioButton.js +1 -1
  47. package/dist/es/radiobutton/interfaces/RadioButtonBlurEvent.js +1 -0
  48. package/dist/es/radiobutton/interfaces/RadioButtonChangeEvent.js +1 -0
  49. package/dist/es/radiobutton/interfaces/RadioButtonFocusEvent.js +1 -0
  50. package/dist/es/radiobutton/interfaces/RadioButtonProps.js +1 -0
  51. package/dist/es/radiobutton/interfaces/RadioGroupChangeEvent.js +1 -0
  52. package/dist/es/radiobutton/interfaces/RadioGroupFocusEvent.js +1 -0
  53. package/dist/es/radiobutton/interfaces/RadioGroupProps.js +1 -0
  54. package/dist/es/range-slider/RangeSlider.js +4 -4
  55. package/dist/es/slider/SliderLabel.js +2 -2
  56. package/dist/es/switch/Switch.js +3 -3
  57. package/dist/es/textarea/TextArea.js +3 -3
  58. package/dist/es/textarea/interfaces/TextAreaBlurEvent.js +1 -0
  59. package/dist/es/textarea/interfaces/TextAreaChangeEvent.js +1 -0
  60. package/dist/es/textarea/interfaces/TextAreaFlow.js +1 -0
  61. package/dist/es/textarea/interfaces/TextAreaFocusEvent.js +1 -0
  62. package/dist/es/textarea/interfaces/TextAreaProps.js +1 -0
  63. package/dist/es/textarea/interfaces/TextAreaResize.js +1 -0
  64. package/dist/esm/additionalTypes.ts +21 -0
  65. package/dist/esm/checkbox/Checkbox.d.ts +79 -0
  66. package/dist/esm/checkbox/Checkbox.js +373 -0
  67. package/dist/esm/checkbox/interfaces/CheckboxChangeEvent.d.ts +9 -0
  68. package/dist/esm/checkbox/interfaces/CheckboxChangeEvent.js +1 -0
  69. package/dist/esm/checkbox/interfaces/CheckboxFocusEvent.d.ts +5 -0
  70. package/dist/esm/checkbox/interfaces/CheckboxFocusEvent.js +1 -0
  71. package/dist/esm/checkbox/interfaces/CheckboxProps.d.ts +110 -0
  72. package/dist/esm/checkbox/interfaces/CheckboxProps.js +1 -0
  73. package/dist/esm/colors/ColorContrastLabels.d.ts +49 -0
  74. package/dist/esm/colors/ColorContrastLabels.js +84 -0
  75. package/dist/esm/colors/ColorContrastSvg.d.ts +50 -0
  76. package/dist/esm/colors/ColorContrastSvg.js +130 -0
  77. package/dist/esm/colors/ColorGradient.d.ts +54 -0
  78. package/dist/esm/colors/ColorGradient.js +515 -0
  79. package/dist/esm/colors/ColorInput.d.ts +57 -0
  80. package/dist/esm/colors/ColorInput.js +343 -0
  81. package/dist/esm/colors/ColorPalette.d.ts +60 -0
  82. package/dist/esm/colors/ColorPalette.js +343 -0
  83. package/dist/esm/colors/ColorPicker.d.ts +57 -0
  84. package/dist/esm/colors/ColorPicker.js +505 -0
  85. package/dist/esm/colors/FlatColorPicker.d.ts +139 -0
  86. package/dist/esm/colors/FlatColorPicker.js +539 -0
  87. package/dist/esm/colors/HexInput.d.ts +52 -0
  88. package/dist/esm/colors/HexInput.js +110 -0
  89. package/dist/esm/colors/Picker.d.ts +46 -0
  90. package/dist/esm/colors/Picker.js +110 -0
  91. package/dist/esm/colors/interfaces/ColorGradientChangeEvent.d.ts +13 -0
  92. package/dist/esm/colors/interfaces/ColorGradientChangeEvent.js +1 -0
  93. package/dist/esm/colors/interfaces/ColorGradientProps.d.ts +68 -0
  94. package/dist/esm/colors/interfaces/ColorGradientProps.js +1 -0
  95. package/dist/esm/colors/interfaces/ColorPaletteChangeEvent.d.ts +13 -0
  96. package/dist/esm/colors/interfaces/ColorPaletteChangeEvent.js +1 -0
  97. package/dist/esm/colors/interfaces/ColorPaletteProps.d.ts +71 -0
  98. package/dist/esm/colors/interfaces/ColorPaletteProps.js +1 -0
  99. package/dist/esm/colors/interfaces/ColorPickerActiveColorClick.d.ts +13 -0
  100. package/dist/esm/colors/interfaces/ColorPickerActiveColorClick.js +1 -0
  101. package/dist/esm/colors/interfaces/ColorPickerBlurEvent.d.ts +9 -0
  102. package/dist/esm/colors/interfaces/ColorPickerBlurEvent.js +1 -0
  103. package/dist/esm/colors/interfaces/ColorPickerChangeEvent.d.ts +17 -0
  104. package/dist/esm/colors/interfaces/ColorPickerChangeEvent.js +1 -0
  105. package/dist/esm/colors/interfaces/ColorPickerFocusEvent.d.ts +9 -0
  106. package/dist/esm/colors/interfaces/ColorPickerFocusEvent.js +1 -0
  107. package/dist/esm/colors/interfaces/ColorPickerPaletteSettings.d.ts +32 -0
  108. package/dist/esm/colors/interfaces/ColorPickerPaletteSettings.js +1 -0
  109. package/dist/esm/colors/interfaces/ColorPickerPopupSettings.d.ts +14 -0
  110. package/dist/esm/colors/interfaces/ColorPickerPopupSettings.js +1 -0
  111. package/dist/esm/colors/interfaces/ColorPickerProps.d.ts +176 -0
  112. package/dist/esm/colors/interfaces/ColorPickerProps.js +1 -0
  113. package/dist/esm/colors/interfaces/ColorPickerView.d.ts +10 -0
  114. package/dist/esm/colors/interfaces/ColorPickerView.js +1 -0
  115. package/dist/esm/colors/interfaces/FlatColorPickerViewChangeEvent.d.ts +13 -0
  116. package/dist/esm/colors/interfaces/FlatColorPickerViewChangeEvent.js +1 -0
  117. package/dist/esm/colors/interfaces/PickerPopupSettings.d.ts +14 -0
  118. package/dist/esm/colors/interfaces/PickerPopupSettings.js +1 -0
  119. package/dist/esm/colors/interfaces/PickerProps.d.ts +46 -0
  120. package/dist/esm/colors/interfaces/PickerProps.js +1 -0
  121. package/dist/esm/colors/models/hsva.d.ts +9 -0
  122. package/dist/esm/colors/models/hsva.js +1 -0
  123. package/dist/esm/colors/models/output-format.d.ts +4 -0
  124. package/dist/esm/colors/models/output-format.js +1 -0
  125. package/dist/esm/colors/models/palette-presets.d.ts +53 -0
  126. package/dist/esm/colors/models/palette-presets.js +54 -0
  127. package/dist/esm/colors/models/rgb.d.ts +8 -0
  128. package/dist/esm/colors/models/rgb.js +1 -0
  129. package/dist/esm/colors/models/rgba.d.ts +9 -0
  130. package/dist/esm/colors/models/rgba.js +1 -0
  131. package/dist/esm/colors/models/table-cell.d.ts +7 -0
  132. package/dist/esm/colors/models/table-cell.js +1 -0
  133. package/dist/esm/colors/models/tile-size.d.ts +11 -0
  134. package/dist/esm/colors/models/tile-size.js +1 -0
  135. package/dist/esm/colors/utils/color-cache.d.ts +43 -0
  136. package/dist/esm/colors/utils/color-cache.js +75 -0
  137. package/dist/esm/colors/utils/color-palette.service.d.ts +13 -0
  138. package/dist/esm/colors/utils/color-palette.service.js +67 -0
  139. package/dist/esm/colors/utils/color-parser.d.ts +71 -0
  140. package/dist/esm/colors/utils/color-parser.js +145 -0
  141. package/dist/esm/colors/utils/misc.d.ts +15 -0
  142. package/dist/esm/colors/utils/misc.js +20 -0
  143. package/dist/esm/colors/utils/svg-calc.d.ts +62 -0
  144. package/dist/esm/colors/utils/svg-calc.js +103 -0
  145. package/dist/esm/input/Input.d.ts +189 -0
  146. package/dist/esm/input/Input.js +426 -0
  147. package/dist/esm/input-separator/InputSeparator.d.ts +26 -0
  148. package/dist/esm/input-separator/InputSeparator.js +43 -0
  149. package/dist/esm/interfaces/Direction.d.ts +1 -0
  150. package/dist/esm/interfaces/Direction.js +1 -0
  151. package/dist/esm/interfaces/ToggleBaseProps.d.ts +8 -0
  152. package/dist/esm/interfaces/ToggleBaseProps.js +1 -0
  153. package/dist/esm/main.d.ts +39 -0
  154. package/dist/esm/main.js +37 -0
  155. package/dist/esm/maskedtextbox/MaskedTextBox.d.ts +76 -0
  156. package/dist/esm/maskedtextbox/MaskedTextBox.js +511 -0
  157. package/dist/esm/maskedtextbox/MaskedTextBoxProps.d.ts +219 -0
  158. package/dist/esm/maskedtextbox/MaskedTextBoxProps.js +2 -0
  159. package/dist/esm/maskedtextbox/masking.service.d.ts +41 -0
  160. package/dist/esm/maskedtextbox/masking.service.js +206 -0
  161. package/dist/esm/maskedtextbox/parsing/combinators.d.ts +9 -0
  162. package/dist/esm/maskedtextbox/parsing/combinators.js +24 -0
  163. package/dist/esm/maskedtextbox/parsing/parsers.d.ts +47 -0
  164. package/dist/esm/maskedtextbox/parsing/parsers.js +154 -0
  165. package/dist/esm/maskedtextbox/parsing/result.d.ts +23 -0
  166. package/dist/esm/maskedtextbox/parsing/result.js +39 -0
  167. package/dist/esm/maskedtextbox/parsing/stream.d.ts +22 -0
  168. package/dist/esm/maskedtextbox/parsing/stream.js +41 -0
  169. package/dist/esm/maskedtextbox/utils.d.ts +16 -0
  170. package/dist/esm/maskedtextbox/utils.js +56 -0
  171. package/dist/esm/messages/index.d.ts +160 -0
  172. package/dist/esm/messages/index.js +162 -0
  173. package/dist/esm/numerictextbox/NumericTextBox.d.ts +87 -0
  174. package/dist/esm/numerictextbox/NumericTextBox.js +684 -0
  175. package/dist/esm/numerictextbox/interfaces/NumericTextBoxData.d.ts +15 -0
  176. package/dist/esm/numerictextbox/interfaces/NumericTextBoxData.js +1 -0
  177. package/dist/esm/numerictextbox/interfaces/NumericTextBoxProps.d.ts +178 -0
  178. package/dist/esm/numerictextbox/interfaces/NumericTextBoxProps.js +1 -0
  179. package/dist/esm/numerictextbox/utils/index.d.ts +119 -0
  180. package/dist/esm/numerictextbox/utils/index.js +646 -0
  181. package/dist/esm/package-metadata.d.ts +5 -0
  182. package/dist/esm/package-metadata.js +11 -0
  183. package/dist/esm/package.json +3 -0
  184. package/dist/esm/radiobutton/RadioButton.d.ts +55 -0
  185. package/dist/esm/radiobutton/RadioButton.js +195 -0
  186. package/dist/esm/radiobutton/RadioGroup.d.ts +57 -0
  187. package/dist/esm/radiobutton/RadioGroup.js +218 -0
  188. package/dist/esm/radiobutton/interfaces/RadioButtonBlurEvent.d.ts +5 -0
  189. package/dist/esm/radiobutton/interfaces/RadioButtonBlurEvent.js +1 -0
  190. package/dist/esm/radiobutton/interfaces/RadioButtonChangeEvent.d.ts +9 -0
  191. package/dist/esm/radiobutton/interfaces/RadioButtonChangeEvent.js +1 -0
  192. package/dist/esm/radiobutton/interfaces/RadioButtonFocusEvent.d.ts +5 -0
  193. package/dist/esm/radiobutton/interfaces/RadioButtonFocusEvent.js +1 -0
  194. package/dist/esm/radiobutton/interfaces/RadioButtonProps.d.ts +107 -0
  195. package/dist/esm/radiobutton/interfaces/RadioButtonProps.js +1 -0
  196. package/dist/esm/radiobutton/interfaces/RadioGroupChangeEvent.d.ts +9 -0
  197. package/dist/esm/radiobutton/interfaces/RadioGroupChangeEvent.js +1 -0
  198. package/dist/esm/radiobutton/interfaces/RadioGroupFocusEvent.d.ts +5 -0
  199. package/dist/esm/radiobutton/interfaces/RadioGroupFocusEvent.js +1 -0
  200. package/dist/esm/radiobutton/interfaces/RadioGroupProps.d.ts +81 -0
  201. package/dist/esm/radiobutton/interfaces/RadioGroupProps.js +1 -0
  202. package/dist/esm/range-slider/RangeSlider.d.ts +176 -0
  203. package/dist/esm/range-slider/RangeSlider.js +617 -0
  204. package/dist/esm/range-slider/range-raducer.d.ts +35 -0
  205. package/dist/esm/range-slider/range-raducer.js +157 -0
  206. package/dist/esm/slider/Slider.d.ts +140 -0
  207. package/dist/esm/slider/Slider.js +395 -0
  208. package/dist/esm/slider/SliderLabel.d.ts +65 -0
  209. package/dist/esm/slider/SliderLabel.js +121 -0
  210. package/dist/esm/switch/Switch.d.ts +182 -0
  211. package/dist/esm/switch/Switch.js +342 -0
  212. package/dist/esm/switch/util.d.ts +8 -0
  213. package/dist/esm/switch/util.js +46 -0
  214. package/dist/esm/textarea/TextArea.d.ts +81 -0
  215. package/dist/esm/textarea/TextArea.js +422 -0
  216. package/dist/esm/textarea/interfaces/TextAreaBlurEvent.d.ts +5 -0
  217. package/dist/esm/textarea/interfaces/TextAreaBlurEvent.js +1 -0
  218. package/dist/esm/textarea/interfaces/TextAreaChangeEvent.d.ts +9 -0
  219. package/dist/esm/textarea/interfaces/TextAreaChangeEvent.js +1 -0
  220. package/dist/esm/textarea/interfaces/TextAreaFlow.d.ts +8 -0
  221. package/dist/esm/textarea/interfaces/TextAreaFlow.js +1 -0
  222. package/dist/esm/textarea/interfaces/TextAreaFocusEvent.d.ts +5 -0
  223. package/dist/esm/textarea/interfaces/TextAreaFocusEvent.js +1 -0
  224. package/dist/esm/textarea/interfaces/TextAreaProps.d.ts +170 -0
  225. package/dist/esm/textarea/interfaces/TextAreaProps.js +1 -0
  226. package/dist/esm/textarea/interfaces/TextAreaResize.d.ts +10 -0
  227. package/dist/esm/textarea/interfaces/TextAreaResize.js +1 -0
  228. package/dist/npm/checkbox/Checkbox.js +12 -12
  229. package/dist/npm/colors/ColorContrastLabels.js +5 -5
  230. package/dist/npm/colors/ColorContrastSvg.js +4 -4
  231. package/dist/npm/colors/ColorGradient.js +42 -42
  232. package/dist/npm/colors/ColorInput.js +2 -2
  233. package/dist/npm/colors/ColorPalette.js +12 -12
  234. package/dist/npm/colors/ColorPicker.js +15 -15
  235. package/dist/npm/colors/FlatColorPicker.d.ts +1 -1
  236. package/dist/npm/colors/FlatColorPicker.js +10 -10
  237. package/dist/npm/colors/HexInput.js +4 -4
  238. package/dist/npm/colors/Picker.js +2 -2
  239. package/dist/npm/colors/utils/color-palette.service.js +6 -6
  240. package/dist/npm/colors/utils/color-parser.js +48 -37
  241. package/dist/npm/colors/utils/misc.js +5 -3
  242. package/dist/npm/colors/utils/svg-calc.js +12 -8
  243. package/dist/npm/input/Input.js +4 -4
  244. package/dist/npm/input-separator/InputSeparator.js +1 -1
  245. package/dist/npm/main.js +7 -2
  246. package/dist/npm/maskedtextbox/MaskedTextBox.js +8 -8
  247. package/dist/npm/maskedtextbox/masking.service.js +19 -19
  248. package/dist/npm/maskedtextbox/parsing/combinators.js +4 -2
  249. package/dist/npm/maskedtextbox/parsing/parsers.js +14 -7
  250. package/dist/npm/maskedtextbox/parsing/result.js +1 -1
  251. package/dist/npm/numerictextbox/NumericTextBox.js +22 -22
  252. package/dist/npm/numerictextbox/utils/index.js +145 -116
  253. package/dist/npm/package-metadata.js +1 -1
  254. package/dist/npm/radiobutton/RadioButton.js +8 -8
  255. package/dist/npm/radiobutton/RadioGroup.js +5 -5
  256. package/dist/npm/range-slider/RangeSlider.js +17 -17
  257. package/dist/npm/range-slider/range-raducer.js +4 -2
  258. package/dist/npm/slider/Slider.js +7 -7
  259. package/dist/npm/slider/SliderLabel.js +3 -3
  260. package/dist/npm/switch/Switch.js +13 -13
  261. package/dist/npm/switch/util.js +2 -1
  262. package/dist/npm/textarea/TextArea.js +7 -7
  263. package/package.json +11 -11
@@ -0,0 +1,515 @@
1
+ // @ts-ignore
2
+ import * as Vue from 'vue';
3
+ var allVue = Vue;
4
+ var gh = allVue.h;
5
+ var isV3 = allVue.version && allVue.version[0] === '3';
6
+ import { Draggable, guid, classNames, focusFirstFocusableChild, getTabIndex, Keys, setRef, getRef, focusContainer } from '@progress/kendo-vue-common';
7
+ import { validatePackage } from '@progress/kendo-vue-common';
8
+ import { packageMetadata } from '../package-metadata.js';
9
+ import { Slider } from './../main.js';
10
+ import { fitIntoBounds, isPresent } from './utils/misc.js';
11
+ import { getColorFromHue, parseColor, getHSV, getColorFromHSV, getRGBA, getColorFromRGBA } from './utils/color-parser.js';
12
+ import { removeCachedColor } from './utils/color-cache.js';
13
+ import { ColorInput } from './ColorInput.js';
14
+ import { ColorContrastLabels } from './ColorContrastLabels.js';
15
+ import { ColorContrastSvg } from './ColorContrastSvg.js';
16
+ import { provideLocalizationService } from '@progress/kendo-vue-intl';
17
+ import { colorGradientDragHandle, messages } from '../messages.js';
18
+ var FORMAT = 'rgba';
19
+ var DEFAULT_SELECTED_COLOR = 'rgba(255, 255, 255, 1)';
20
+ /**
21
+ * @hidden
22
+ */
23
+
24
+ var ColorGradientVue2 = {
25
+ name: 'KendoColorGradient',
26
+ model: {
27
+ event: 'changemodel'
28
+ },
29
+ // @ts-ignore
30
+ emits: {
31
+ 'change': null,
32
+ 'focus': null,
33
+ 'blur': null,
34
+ 'changemodel': null,
35
+ 'update:modelValue': null,
36
+ 'update:modelRgbaValue': null,
37
+ 'keydown': null
38
+ },
39
+ inject: {
40
+ kendoLocalizationService: {
41
+ default: null
42
+ }
43
+ },
44
+ props: {
45
+ modelValue: String,
46
+ modelRgbaValue: String,
47
+ defaultValue: String,
48
+ value: String,
49
+ opacity: {
50
+ type: Boolean,
51
+ default: true
52
+ },
53
+ backgroundColor: String,
54
+ disabled: Boolean,
55
+ id: String,
56
+ ariaLabelledBy: String,
57
+ ariaDescribedBy: String,
58
+ tabIndex: Number,
59
+ innerTabIndex: {
60
+ type: Number,
61
+ default: undefined
62
+ }
63
+ },
64
+ created: function created() {
65
+ validatePackage(packageMetadata);
66
+ this.guid = guid();
67
+ },
68
+ computed: {
69
+ valueSet: function valueSet() {
70
+ return this.value || this.modelValue || this.modelRgbaValue;
71
+ },
72
+ computedValue: function computedValue() {
73
+ var value = this.valueSet || this.currentValue || this.defaultValue || parseColor(DEFAULT_SELECTED_COLOR, FORMAT);
74
+
75
+ if (!isPresent(parseColor(value, 'hex', this.opacity))) {
76
+ // Validate/sanitize the input.
77
+ value = DEFAULT_SELECTED_COLOR;
78
+ }
79
+
80
+ return value;
81
+ },
82
+ hsva: function hsva() {
83
+ return this.valueSet ? getHSV(this.computedValue) : this.currentHsva || getHSV(this.computedValue);
84
+ },
85
+ rgba: function rgba() {
86
+ return this.valueSet ? getRGBA(this.computedValue) : this.currentRgba;
87
+ },
88
+ hex: function hex() {
89
+ return this.valueSet ? parseColor(this.computedValue, 'hex', this.opacity) : this.currentHex;
90
+ },
91
+ computedBgColor: function computedBgColor() {
92
+ return this.currentBgColor || getColorFromHue(this.hsva.h);
93
+ },
94
+ computedTabIndex: function computedTabIndex() {
95
+ return this.innerTabIndex !== undefined ? this.innerTabIndex : this.focused ? 0 : -1;
96
+ }
97
+ },
98
+ data: function data() {
99
+ return {
100
+ currentValue: undefined,
101
+ currentBgColor: undefined,
102
+ isFirstRender: true,
103
+ currentHsva: undefined,
104
+ currentRgba: undefined,
105
+ currentHex: undefined,
106
+ focused: false
107
+ };
108
+ },
109
+ mounted: function mounted() {
110
+ this.setAlphaSliderBackground(this.computedBgColor);
111
+
112
+ if (this.$el) {
113
+ this.draggable = this.$refs.draggable;
114
+ this.gradientWrapper = this.draggable && this.draggable.element;
115
+ }
116
+
117
+ this.alphaSlider = this.v3 ? this.alphaSliderRef : this.$refs.alphaSlider;
118
+
119
+ if (this.isFirstRender) {
120
+ this.isFirstRender = false;
121
+ }
122
+ },
123
+ destroyed: function destroyed() {
124
+ removeCachedColor(this.guid);
125
+ },
126
+ updated: function updated() {
127
+ this.setAlphaSliderBackground(this.computedBgColor);
128
+ },
129
+ // @ts-ignore
130
+ setup: !isV3 ? undefined : function () {
131
+ var v3 = !!isV3;
132
+ return {
133
+ v3: v3
134
+ };
135
+ },
136
+ // @ts-ignore
137
+ render: function render(createElement) {
138
+ var _this2 = this;
139
+
140
+ var _this = this;
141
+
142
+ var h = gh || createElement;
143
+ var className = classNames('k-colorgradient', {
144
+ 'k-disabled': this.$props.disabled
145
+ });
146
+ var localizationService = provideLocalizationService(this);
147
+ var dragHandle = localizationService.toLanguageString(colorGradientDragHandle, messages[colorGradientDragHandle]);
148
+
149
+ var renderRectangleDragHandle = function renderRectangleDragHandle() {
150
+ var style = {};
151
+
152
+ if (!this.isFirstRender) {
153
+ var gradientRectMetrics = this.getGradientRectMetrics();
154
+ var top_1 = (1 - this.hsva.v) * gradientRectMetrics.height;
155
+ var left = this.hsva.s * gradientRectMetrics.width;
156
+ style.top = "".concat(top_1, "px");
157
+ style.left = "".concat(left, "px");
158
+ }
159
+
160
+ return h("div", {
161
+ "class": "k-hsv-draghandle k-draghandle",
162
+ role: "slider",
163
+ attrs: this.v3 ? undefined : {
164
+ role: "slider",
165
+ "aria-label": dragHandle + "".concat(this.value || 'none'),
166
+ "aria-valuenow": Math.round(this.hsva.s * 100),
167
+ "aria-valuetext": "\n saturation: ".concat(Math.round(this.hsva.s * 100), "%,\n value: ").concat(Math.round(this.hsva.v * 100), "%"),
168
+ tabindex: this.computedTabIndex
169
+ },
170
+ "aria-label": dragHandle + "".concat(this.value || 'none'),
171
+ "aria-valuenow": Math.round(this.hsva.s * 100),
172
+ "aria-valuetext": "\n saturation: ".concat(Math.round(this.hsva.s * 100), "%,\n value: ").concat(Math.round(this.hsva.v * 100), "%"),
173
+ tabindex: this.computedTabIndex,
174
+ onKeydown: this.dragKeyDown,
175
+ on: this.v3 ? undefined : {
176
+ "keydown": this.dragKeyDown
177
+ },
178
+ style: style,
179
+ ref: setRef(this, 'draghandle')
180
+ });
181
+ };
182
+
183
+ return h("div", {
184
+ id: this.$props.id,
185
+ attrs: this.v3 ? undefined : {
186
+ id: this.$props.id,
187
+ role: this.$props.tabIndex !== -1 ? 'textbox' : undefined,
188
+ "aria-disabled": this.$props.disabled,
189
+ tabindex: getTabIndex(this.$props.tabIndex, this.$props.disabled),
190
+ "aria-labelledby": this.$props.ariaLabelledBy,
191
+ "aria-describedby": this.$props.ariaDescribedBy
192
+ },
193
+ "class": className,
194
+ role: this.$props.tabIndex !== -1 ? 'textbox' : undefined,
195
+ "aria-disabled": this.$props.disabled,
196
+ tabindex: getTabIndex(this.$props.tabIndex, this.$props.disabled),
197
+ "aria-labelledby": this.$props.ariaLabelledBy,
198
+ "aria-describedby": this.$props.ariaDescribedBy,
199
+ onFocus: this.onFocus,
200
+ on: this.v3 ? undefined : {
201
+ "focus": this.onFocus,
202
+ "blur": this.onBlur,
203
+ "keydown": this.onKeyDownHandler
204
+ },
205
+ onBlur: this.onBlur,
206
+ onKeydown: this.onKeyDownHandler
207
+ }, [h("div", {
208
+ "class": "k-colorgradient-canvas k-hstack"
209
+ }, [h("div", {
210
+ "class": "k-hsv-rectangle",
211
+ style: {
212
+ background: this.computedBgColor
213
+ }
214
+ }, [// @ts-ignore function children
215
+ h(Draggable, {
216
+ onDrag: this.onDrag,
217
+ on: this.v3 ? undefined : {
218
+ "drag": this.onDrag,
219
+ "release": this.onRelease
220
+ },
221
+ onRelease: this.onRelease,
222
+ ref: 'draggable'
223
+ }, this.v3 ? function () {
224
+ return [h("div", {
225
+ "class": "k-hsv-gradient",
226
+ style: {
227
+ touchAction: 'none'
228
+ },
229
+ tabindex: -1,
230
+ attrs: _this2.v3 ? undefined : {
231
+ tabindex: -1
232
+ },
233
+ onClick: _this2.onGradientWrapperClick,
234
+ on: _this2.v3 ? undefined : {
235
+ "click": _this2.onGradientWrapperClick
236
+ }
237
+ }, [renderRectangleDragHandle.call(_this2)])];
238
+ } : [h("div", {
239
+ "class": "k-hsv-gradient",
240
+ style: {
241
+ touchAction: 'none'
242
+ },
243
+ tabindex: -1,
244
+ attrs: _this2.v3 ? undefined : {
245
+ tabindex: -1
246
+ },
247
+ onClick: _this2.onGradientWrapperClick,
248
+ on: _this2.v3 ? undefined : {
249
+ "click": _this2.onGradientWrapperClick
250
+ }
251
+ }, [renderRectangleDragHandle.call(_this2)])]), this.backgroundColor && !this.isFirstRender && h(ColorContrastSvg, {
252
+ metrics: this.gradientWrapper ? this.getGradientRectMetrics() : undefined,
253
+ attrs: this.v3 ? undefined : {
254
+ metrics: this.gradientWrapper ? this.getGradientRectMetrics() : undefined,
255
+ hsva: this.hsva,
256
+ backgroundColor: this.backgroundColor
257
+ },
258
+ hsva: this.hsva,
259
+ backgroundColor: this.backgroundColor
260
+ })]), h("div", {
261
+ "class": "k-hsv-controls k-hstack"
262
+ }, [h(Slider, {
263
+ tabIndex: this.computedTabIndex,
264
+ attrs: this.v3 ? undefined : {
265
+ tabIndex: this.computedTabIndex,
266
+ value: this.hsva.h,
267
+ buttons: false,
268
+ vertical: true,
269
+ min: 0,
270
+ max: 360,
271
+ step: 5,
272
+ disabled: this.$props.disabled
273
+ },
274
+ value: this.hsva.h,
275
+ buttons: false,
276
+ vertical: true,
277
+ min: 0,
278
+ max: 360,
279
+ step: 5,
280
+ onChange: this.onHueSliderChange,
281
+ on: this.v3 ? undefined : {
282
+ "change": this.onHueSliderChange
283
+ },
284
+ "class": "k-hue-slider k-colorgradient-slider",
285
+ disabled: this.$props.disabled
286
+ }), this.$props.opacity && h(Slider, {
287
+ tabIndex: this.computedTabIndex,
288
+ attrs: this.v3 ? undefined : {
289
+ tabIndex: this.computedTabIndex,
290
+ value: isPresent(this.hsva.a) ? this.hsva.a * 100 : 100,
291
+ buttons: false,
292
+ vertical: true,
293
+ min: 0,
294
+ max: 100,
295
+ step: 1,
296
+ disabled: this.$props.disabled
297
+ },
298
+ value: isPresent(this.hsva.a) ? this.hsva.a * 100 : 100,
299
+ buttons: false,
300
+ vertical: true,
301
+ min: 0,
302
+ max: 100,
303
+ step: 1,
304
+ onChange: this.onAlphaSliderChange,
305
+ on: this.v3 ? undefined : {
306
+ "change": this.onAlphaSliderChange
307
+ },
308
+ "class": "k-alpha-slider k-colorgradient-slider",
309
+ disabled: this.$props.disabled,
310
+ ref: this.v3 ? function (el) {
311
+ _this.alphaSliderRef = el;
312
+ } : 'alphaSlider'
313
+ })])]), h(ColorInput, {
314
+ tabIndex: this.computedTabIndex,
315
+ attrs: this.v3 ? undefined : {
316
+ tabIndex: this.computedTabIndex,
317
+ rgba: this.rgba,
318
+ hex: this.hex,
319
+ opacity: this.$props.opacity,
320
+ disabled: this.$props.disabled
321
+ },
322
+ rgba: this.rgba,
323
+ onRgbachange: this.onRgbaChange,
324
+ on: this.v3 ? undefined : {
325
+ "rgbachange": this.onRgbaChange,
326
+ "hexchange": this.onHexChange
327
+ },
328
+ hex: this.hex,
329
+ onHexchange: this.onHexChange,
330
+ opacity: this.$props.opacity,
331
+ disabled: this.$props.disabled,
332
+ ref: 'colorInput'
333
+ }), this.backgroundColor && h(ColorContrastLabels, {
334
+ bgColor: getRGBA(this.backgroundColor),
335
+ attrs: this.v3 ? undefined : {
336
+ bgColor: getRGBA(this.backgroundColor),
337
+ rgba: this.rgba
338
+ },
339
+ rgba: this.rgba
340
+ })]);
341
+ },
342
+ methods: {
343
+ onKeyDownHandler: function onKeyDownHandler(e) {
344
+ var element = this.$el;
345
+
346
+ if (this.innerTabIndex === undefined) {
347
+ this.focused = focusContainer(e, element);
348
+ }
349
+
350
+ this.$emit('keydown', e);
351
+ },
352
+ onHexChange: function onHexChange(hex, value, event) {
353
+ var rgba = getRGBA(value);
354
+ var hsva = getHSV(value);
355
+ this.currentHsva = hsva;
356
+ this.currentBgColor = getColorFromHue(hsva.h);
357
+ this.currentRgba = rgba;
358
+ this.currentHex = hex;
359
+ this.dispatchChangeEvent(value, event.event, hex, value);
360
+ },
361
+ onRgbaChange: function onRgbaChange(rgba, event) {
362
+ var value = getColorFromRGBA(rgba);
363
+ var hex = parseColor(value, 'hex', this.opacity);
364
+ var hsva = getHSV(value);
365
+ this.currentHsva = hsva;
366
+ this.currentBgColor = getColorFromHue(hsva.h);
367
+ this.currentRgba = rgba;
368
+ this.currentHex = hex;
369
+ this.dispatchChangeEvent(value, event.event, hex, value);
370
+ },
371
+ onAlphaSliderChange: function onAlphaSliderChange(event) {
372
+ this.handleHsvaChange(Object.assign({}, this.hsva, {
373
+ a: event.value / 100
374
+ }), event.event);
375
+ },
376
+ onHueSliderChange: function onHueSliderChange(event) {
377
+ this.handleHsvaChange(Object.assign({}, this.hsva, {
378
+ h: event.value
379
+ }), event.event);
380
+ },
381
+ onDrag: function onDrag(e) {
382
+ this.gradientWrapper.classList.add('k-dragging');
383
+ this.changePosition(e);
384
+ },
385
+ onRelease: function onRelease() {
386
+ this.gradientWrapper.classList.remove('k-dragging');
387
+ },
388
+ onGradientWrapperClick: function onGradientWrapperClick(event) {
389
+ this.firstFocusable = getRef(this, 'draghandle');
390
+ this.firstFocusable.focus();
391
+ this.changePosition(event);
392
+ },
393
+ move: function move(e, prop, d) {
394
+ var c = this.hsva;
395
+ c[prop] += d * (e.shiftKey ? 0.01 : 0.05);
396
+
397
+ if (c[prop] < 0) {
398
+ c[prop] = 0;
399
+ }
400
+
401
+ if (c[prop] > 1) {
402
+ c[prop] = 1;
403
+ }
404
+
405
+ e.preventDefault();
406
+ this.handleHsvaChange(c, e);
407
+ },
408
+ dragKeyDown: function dragKeyDown(e) {
409
+ switch (e.keyCode) {
410
+ case Keys.left:
411
+ this.move(e, 's', -1);
412
+ break;
413
+
414
+ case Keys.right:
415
+ this.move(e, 's', 1);
416
+ break;
417
+
418
+ case Keys.up:
419
+ this.move(e, 'v', 1);
420
+ break;
421
+
422
+ case Keys.down:
423
+ this.move(e, 'v', -1);
424
+ break;
425
+
426
+ case Keys.enter:
427
+ break;
428
+
429
+ case Keys.esc:
430
+ break;
431
+
432
+ default:
433
+ break;
434
+ }
435
+ },
436
+ changePosition: function changePosition(event) {
437
+ var gradientRectMetrics = this.getGradientRectMetrics();
438
+ var deltaX = event.clientX - gradientRectMetrics.left;
439
+ var deltaY = event.clientY - gradientRectMetrics.top;
440
+ var left = fitIntoBounds(deltaX, 0, gradientRectMetrics.width);
441
+ var top = fitIntoBounds(deltaY, 0, gradientRectMetrics.height);
442
+ var hsva = Object.assign({}, this.hsva, {
443
+ s: left / gradientRectMetrics.width,
444
+ v: 1 - top / gradientRectMetrics.height
445
+ });
446
+ this.handleHsvaChange(hsva, event, event.event);
447
+ },
448
+ handleHsvaChange: function handleHsvaChange(hsva, event) {
449
+ var value = getColorFromHSV(hsva);
450
+ var hex = parseColor(value, 'hex', this.opacity);
451
+ var rgba = parseColor(value, 'rgba');
452
+ this.currentHsva = hsva;
453
+ this.currentBgColor = getColorFromHue(hsva.h);
454
+ this.currentRgba = getRGBA(value);
455
+ this.currentHex = hex;
456
+ this.dispatchChangeEvent(value, event, hex, rgba);
457
+ },
458
+ dispatchChangeEvent: function dispatchChangeEvent(value, event, hex, rgbaValue) {
459
+ this.currentValue = value;
460
+ this.$emit('changemodel', hex);
461
+ this.$emit('update:modelRgbaValue', rgbaValue);
462
+ this.$emit('update:modelValue', hex);
463
+ this.$emit('change', {
464
+ event: event,
465
+ target: this,
466
+ value: hex,
467
+ rgbaValue: rgbaValue
468
+ });
469
+ },
470
+ onFocus: function onFocus(event) {
471
+ this.$emit('focus', {
472
+ event: event,
473
+ target: this
474
+ });
475
+ },
476
+ onBlur: function onBlur(event) {
477
+ this.$emit('blur', {
478
+ event: event,
479
+ target: this
480
+ });
481
+ },
482
+ setAlphaSliderBackground: function setAlphaSliderBackground(backgroundColor) {
483
+ if (this.$props.opacity && this.alphaSlider && this.alphaSlider.sliderTrack) {
484
+ this.alphaSlider.sliderTrack.style.background = "linear-gradient(to top, transparent, ".concat(backgroundColor, ")");
485
+ }
486
+ },
487
+ getGradientRectMetrics: function getGradientRectMetrics() {
488
+ var rect = this.gradientWrapper.getBoundingClientRect();
489
+ return {
490
+ top: rect.top,
491
+ right: rect.right,
492
+ bottom: rect.bottom,
493
+ left: rect.left,
494
+ width: rect.width,
495
+ height: rect.height,
496
+ x: rect.x,
497
+ y: rect.y
498
+ };
499
+ },
500
+ focus: function focus() {
501
+ var _this = this;
502
+
503
+ this.focused = true;
504
+ setTimeout(function () {
505
+ focusFirstFocusableChild(_this.$el);
506
+ }, 1);
507
+ }
508
+ }
509
+ };
510
+ /**
511
+ * @hidden
512
+ */
513
+
514
+ var ColorGradient = ColorGradientVue2;
515
+ export { ColorGradient, ColorGradientVue2 };
@@ -0,0 +1,57 @@
1
+ import { DefineComponent, RecordPropsDefinition, ComponentOptions, Vue2type } from '../additionalTypes';
2
+ declare type DefaultData<V> = object | ((this: V) => {});
3
+ declare type DefaultMethods<V> = {
4
+ [key: string]: (this: V, ...args: any[]) => any;
5
+ };
6
+ import { NumericTextBoxChangeEvent } from '../main';
7
+ import { RGBA } from './models/rgba';
8
+ /**
9
+ * @hidden
10
+ */
11
+ export interface ColorInputProps {
12
+ tabIndex?: number;
13
+ rgba: RGBA;
14
+ onRgbaChange?: (rgba: RGBA, event: NumericTextBoxChangeEvent) => void;
15
+ hex: string;
16
+ onHexChange?: any;
17
+ opacity: boolean;
18
+ disabled?: boolean;
19
+ }
20
+ /**
21
+ * @hidden
22
+ */
23
+ export interface ColorInputState {
24
+ lastFocusable: any;
25
+ hexInputId: string;
26
+ }
27
+ /**
28
+ * @hidden
29
+ */
30
+ export interface ColorInputComputed {
31
+ [key: string]: any;
32
+ }
33
+ /**
34
+ * @hidden
35
+ */
36
+ export interface ColorInputMethods {
37
+ [key: string]: any;
38
+ }
39
+ /**
40
+ * @hidden
41
+ */
42
+ export interface ColorInputData {
43
+ }
44
+ /**
45
+ * @hidden
46
+ */
47
+ export interface ColorInputAll extends Vue2type, ColorInputMethods, ColorInputData, ColorInputComputed, ColorInputState {
48
+ }
49
+ /**
50
+ * @hidden
51
+ */
52
+ declare let ColorInputVue2: ComponentOptions<ColorInputAll, DefaultData<ColorInputData>, DefaultMethods<ColorInputAll>, ColorInputComputed, RecordPropsDefinition<ColorInputProps>>;
53
+ /**
54
+ * @hidden
55
+ */
56
+ declare const ColorInput: DefineComponent<ColorInputProps, any, ColorInputData, ColorInputComputed, ColorInputMethods, {}, {}, {}, string, ColorInputProps, ColorInputProps, {}>;
57
+ export { ColorInput, ColorInputVue2 };