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

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 (261) 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/interfaces/ColorGradientChangeEvent.js +1 -0
  12. package/dist/es/colors/interfaces/ColorGradientProps.js +1 -0
  13. package/dist/es/colors/interfaces/ColorPaletteChangeEvent.js +1 -0
  14. package/dist/es/colors/interfaces/ColorPaletteProps.js +1 -0
  15. package/dist/es/colors/interfaces/ColorPickerActiveColorClick.js +1 -0
  16. package/dist/es/colors/interfaces/ColorPickerBlurEvent.js +1 -0
  17. package/dist/es/colors/interfaces/ColorPickerChangeEvent.js +1 -0
  18. package/dist/es/colors/interfaces/ColorPickerFocusEvent.js +1 -0
  19. package/dist/es/colors/interfaces/ColorPickerPaletteSettings.js +1 -0
  20. package/dist/es/colors/interfaces/ColorPickerPopupSettings.js +1 -0
  21. package/dist/es/colors/interfaces/ColorPickerProps.js +1 -0
  22. package/dist/es/colors/interfaces/ColorPickerView.js +1 -0
  23. package/dist/es/colors/interfaces/FlatColorPickerViewChangeEvent.js +1 -0
  24. package/dist/es/colors/interfaces/PickerPopupSettings.js +1 -0
  25. package/dist/es/colors/interfaces/PickerProps.js +1 -0
  26. package/dist/es/colors/models/hsva.js +1 -0
  27. package/dist/es/colors/models/output-format.js +1 -0
  28. package/dist/es/colors/models/rgb.js +1 -0
  29. package/dist/es/colors/models/rgba.js +1 -0
  30. package/dist/es/colors/models/table-cell.js +1 -0
  31. package/dist/es/colors/models/tile-size.js +1 -0
  32. package/dist/es/colors/utils/color-parser.js +1 -1
  33. package/dist/es/colors/utils/svg-calc.js +4 -4
  34. package/dist/es/input/Input.js +2 -2
  35. package/dist/es/interfaces/Direction.js +1 -0
  36. package/dist/es/interfaces/ToggleBaseProps.js +1 -0
  37. package/dist/es/maskedtextbox/MaskedTextBox.js +3 -3
  38. package/dist/es/maskedtextbox/MaskedTextBoxProps.js +1 -0
  39. package/dist/es/maskedtextbox/parsing/result.js +1 -1
  40. package/dist/es/numerictextbox/NumericTextBox.js +2 -2
  41. package/dist/es/numerictextbox/interfaces/NumericTextBoxData.js +1 -0
  42. package/dist/es/numerictextbox/interfaces/NumericTextBoxProps.js +1 -0
  43. package/dist/es/numerictextbox/utils/index.js +4 -4
  44. package/dist/es/package-metadata.js +1 -1
  45. package/dist/es/radiobutton/RadioButton.js +1 -1
  46. package/dist/es/radiobutton/interfaces/RadioButtonBlurEvent.js +1 -0
  47. package/dist/es/radiobutton/interfaces/RadioButtonChangeEvent.js +1 -0
  48. package/dist/es/radiobutton/interfaces/RadioButtonFocusEvent.js +1 -0
  49. package/dist/es/radiobutton/interfaces/RadioButtonProps.js +1 -0
  50. package/dist/es/radiobutton/interfaces/RadioGroupChangeEvent.js +1 -0
  51. package/dist/es/radiobutton/interfaces/RadioGroupFocusEvent.js +1 -0
  52. package/dist/es/radiobutton/interfaces/RadioGroupProps.js +1 -0
  53. package/dist/es/range-slider/RangeSlider.js +4 -4
  54. package/dist/es/slider/SliderLabel.js +2 -2
  55. package/dist/es/switch/Switch.js +3 -3
  56. package/dist/es/textarea/TextArea.js +3 -3
  57. package/dist/es/textarea/interfaces/TextAreaBlurEvent.js +1 -0
  58. package/dist/es/textarea/interfaces/TextAreaChangeEvent.js +1 -0
  59. package/dist/es/textarea/interfaces/TextAreaFlow.js +1 -0
  60. package/dist/es/textarea/interfaces/TextAreaFocusEvent.js +1 -0
  61. package/dist/es/textarea/interfaces/TextAreaProps.js +1 -0
  62. package/dist/es/textarea/interfaces/TextAreaResize.js +1 -0
  63. package/dist/esm/additionalTypes.ts +21 -0
  64. package/dist/esm/checkbox/Checkbox.d.ts +79 -0
  65. package/dist/esm/checkbox/Checkbox.js +373 -0
  66. package/dist/esm/checkbox/interfaces/CheckboxChangeEvent.d.ts +9 -0
  67. package/dist/esm/checkbox/interfaces/CheckboxChangeEvent.js +1 -0
  68. package/dist/esm/checkbox/interfaces/CheckboxFocusEvent.d.ts +5 -0
  69. package/dist/esm/checkbox/interfaces/CheckboxFocusEvent.js +1 -0
  70. package/dist/esm/checkbox/interfaces/CheckboxProps.d.ts +110 -0
  71. package/dist/esm/checkbox/interfaces/CheckboxProps.js +1 -0
  72. package/dist/esm/colors/ColorContrastLabels.d.ts +49 -0
  73. package/dist/esm/colors/ColorContrastLabels.js +84 -0
  74. package/dist/esm/colors/ColorContrastSvg.d.ts +50 -0
  75. package/dist/esm/colors/ColorContrastSvg.js +130 -0
  76. package/dist/esm/colors/ColorGradient.d.ts +54 -0
  77. package/dist/esm/colors/ColorGradient.js +515 -0
  78. package/dist/esm/colors/ColorInput.d.ts +57 -0
  79. package/dist/esm/colors/ColorInput.js +343 -0
  80. package/dist/esm/colors/ColorPalette.d.ts +60 -0
  81. package/dist/esm/colors/ColorPalette.js +343 -0
  82. package/dist/esm/colors/ColorPicker.d.ts +57 -0
  83. package/dist/esm/colors/ColorPicker.js +505 -0
  84. package/dist/esm/colors/FlatColorPicker.d.ts +139 -0
  85. package/dist/esm/colors/FlatColorPicker.js +539 -0
  86. package/dist/esm/colors/HexInput.d.ts +52 -0
  87. package/dist/esm/colors/HexInput.js +110 -0
  88. package/dist/esm/colors/Picker.d.ts +46 -0
  89. package/dist/esm/colors/Picker.js +110 -0
  90. package/dist/esm/colors/interfaces/ColorGradientChangeEvent.d.ts +13 -0
  91. package/dist/esm/colors/interfaces/ColorGradientChangeEvent.js +1 -0
  92. package/dist/esm/colors/interfaces/ColorGradientProps.d.ts +68 -0
  93. package/dist/esm/colors/interfaces/ColorGradientProps.js +1 -0
  94. package/dist/esm/colors/interfaces/ColorPaletteChangeEvent.d.ts +13 -0
  95. package/dist/esm/colors/interfaces/ColorPaletteChangeEvent.js +1 -0
  96. package/dist/esm/colors/interfaces/ColorPaletteProps.d.ts +71 -0
  97. package/dist/esm/colors/interfaces/ColorPaletteProps.js +1 -0
  98. package/dist/esm/colors/interfaces/ColorPickerActiveColorClick.d.ts +13 -0
  99. package/dist/esm/colors/interfaces/ColorPickerActiveColorClick.js +1 -0
  100. package/dist/esm/colors/interfaces/ColorPickerBlurEvent.d.ts +9 -0
  101. package/dist/esm/colors/interfaces/ColorPickerBlurEvent.js +1 -0
  102. package/dist/esm/colors/interfaces/ColorPickerChangeEvent.d.ts +17 -0
  103. package/dist/esm/colors/interfaces/ColorPickerChangeEvent.js +1 -0
  104. package/dist/esm/colors/interfaces/ColorPickerFocusEvent.d.ts +9 -0
  105. package/dist/esm/colors/interfaces/ColorPickerFocusEvent.js +1 -0
  106. package/dist/esm/colors/interfaces/ColorPickerPaletteSettings.d.ts +32 -0
  107. package/dist/esm/colors/interfaces/ColorPickerPaletteSettings.js +1 -0
  108. package/dist/esm/colors/interfaces/ColorPickerPopupSettings.d.ts +14 -0
  109. package/dist/esm/colors/interfaces/ColorPickerPopupSettings.js +1 -0
  110. package/dist/esm/colors/interfaces/ColorPickerProps.d.ts +176 -0
  111. package/dist/esm/colors/interfaces/ColorPickerProps.js +1 -0
  112. package/dist/esm/colors/interfaces/ColorPickerView.d.ts +10 -0
  113. package/dist/esm/colors/interfaces/ColorPickerView.js +1 -0
  114. package/dist/esm/colors/interfaces/FlatColorPickerViewChangeEvent.d.ts +13 -0
  115. package/dist/esm/colors/interfaces/FlatColorPickerViewChangeEvent.js +1 -0
  116. package/dist/esm/colors/interfaces/PickerPopupSettings.d.ts +14 -0
  117. package/dist/esm/colors/interfaces/PickerPopupSettings.js +1 -0
  118. package/dist/esm/colors/interfaces/PickerProps.d.ts +46 -0
  119. package/dist/esm/colors/interfaces/PickerProps.js +1 -0
  120. package/dist/esm/colors/models/hsva.d.ts +9 -0
  121. package/dist/esm/colors/models/hsva.js +1 -0
  122. package/dist/esm/colors/models/output-format.d.ts +4 -0
  123. package/dist/esm/colors/models/output-format.js +1 -0
  124. package/dist/esm/colors/models/palette-presets.d.ts +53 -0
  125. package/dist/esm/colors/models/palette-presets.js +54 -0
  126. package/dist/esm/colors/models/rgb.d.ts +8 -0
  127. package/dist/esm/colors/models/rgb.js +1 -0
  128. package/dist/esm/colors/models/rgba.d.ts +9 -0
  129. package/dist/esm/colors/models/rgba.js +1 -0
  130. package/dist/esm/colors/models/table-cell.d.ts +7 -0
  131. package/dist/esm/colors/models/table-cell.js +1 -0
  132. package/dist/esm/colors/models/tile-size.d.ts +11 -0
  133. package/dist/esm/colors/models/tile-size.js +1 -0
  134. package/dist/esm/colors/utils/color-cache.d.ts +43 -0
  135. package/dist/esm/colors/utils/color-cache.js +75 -0
  136. package/dist/esm/colors/utils/color-palette.service.d.ts +13 -0
  137. package/dist/esm/colors/utils/color-palette.service.js +67 -0
  138. package/dist/esm/colors/utils/color-parser.d.ts +71 -0
  139. package/dist/esm/colors/utils/color-parser.js +145 -0
  140. package/dist/esm/colors/utils/misc.d.ts +15 -0
  141. package/dist/esm/colors/utils/misc.js +20 -0
  142. package/dist/esm/colors/utils/svg-calc.d.ts +62 -0
  143. package/dist/esm/colors/utils/svg-calc.js +103 -0
  144. package/dist/esm/input/Input.d.ts +189 -0
  145. package/dist/esm/input/Input.js +426 -0
  146. package/dist/esm/input-separator/InputSeparator.d.ts +26 -0
  147. package/dist/esm/input-separator/InputSeparator.js +43 -0
  148. package/dist/esm/interfaces/Direction.d.ts +1 -0
  149. package/dist/esm/interfaces/Direction.js +1 -0
  150. package/dist/esm/interfaces/ToggleBaseProps.d.ts +8 -0
  151. package/dist/esm/interfaces/ToggleBaseProps.js +1 -0
  152. package/dist/esm/main.d.ts +39 -0
  153. package/dist/esm/main.js +37 -0
  154. package/dist/esm/maskedtextbox/MaskedTextBox.d.ts +76 -0
  155. package/dist/esm/maskedtextbox/MaskedTextBox.js +511 -0
  156. package/dist/esm/maskedtextbox/MaskedTextBoxProps.d.ts +219 -0
  157. package/dist/esm/maskedtextbox/MaskedTextBoxProps.js +2 -0
  158. package/dist/esm/maskedtextbox/masking.service.d.ts +41 -0
  159. package/dist/esm/maskedtextbox/masking.service.js +206 -0
  160. package/dist/esm/maskedtextbox/parsing/combinators.d.ts +9 -0
  161. package/dist/esm/maskedtextbox/parsing/combinators.js +24 -0
  162. package/dist/esm/maskedtextbox/parsing/parsers.d.ts +47 -0
  163. package/dist/esm/maskedtextbox/parsing/parsers.js +154 -0
  164. package/dist/esm/maskedtextbox/parsing/result.d.ts +23 -0
  165. package/dist/esm/maskedtextbox/parsing/result.js +39 -0
  166. package/dist/esm/maskedtextbox/parsing/stream.d.ts +22 -0
  167. package/dist/esm/maskedtextbox/parsing/stream.js +41 -0
  168. package/dist/esm/maskedtextbox/utils.d.ts +16 -0
  169. package/dist/esm/maskedtextbox/utils.js +56 -0
  170. package/dist/esm/messages/index.d.ts +160 -0
  171. package/dist/esm/messages/index.js +162 -0
  172. package/dist/esm/numerictextbox/NumericTextBox.d.ts +87 -0
  173. package/dist/esm/numerictextbox/NumericTextBox.js +684 -0
  174. package/dist/esm/numerictextbox/interfaces/NumericTextBoxData.d.ts +15 -0
  175. package/dist/esm/numerictextbox/interfaces/NumericTextBoxData.js +1 -0
  176. package/dist/esm/numerictextbox/interfaces/NumericTextBoxProps.d.ts +178 -0
  177. package/dist/esm/numerictextbox/interfaces/NumericTextBoxProps.js +1 -0
  178. package/dist/esm/numerictextbox/utils/index.d.ts +119 -0
  179. package/dist/esm/numerictextbox/utils/index.js +646 -0
  180. package/dist/esm/package-metadata.d.ts +5 -0
  181. package/dist/esm/package-metadata.js +11 -0
  182. package/dist/esm/package.json +3 -0
  183. package/dist/esm/radiobutton/RadioButton.d.ts +55 -0
  184. package/dist/esm/radiobutton/RadioButton.js +195 -0
  185. package/dist/esm/radiobutton/RadioGroup.d.ts +57 -0
  186. package/dist/esm/radiobutton/RadioGroup.js +218 -0
  187. package/dist/esm/radiobutton/interfaces/RadioButtonBlurEvent.d.ts +5 -0
  188. package/dist/esm/radiobutton/interfaces/RadioButtonBlurEvent.js +1 -0
  189. package/dist/esm/radiobutton/interfaces/RadioButtonChangeEvent.d.ts +9 -0
  190. package/dist/esm/radiobutton/interfaces/RadioButtonChangeEvent.js +1 -0
  191. package/dist/esm/radiobutton/interfaces/RadioButtonFocusEvent.d.ts +5 -0
  192. package/dist/esm/radiobutton/interfaces/RadioButtonFocusEvent.js +1 -0
  193. package/dist/esm/radiobutton/interfaces/RadioButtonProps.d.ts +107 -0
  194. package/dist/esm/radiobutton/interfaces/RadioButtonProps.js +1 -0
  195. package/dist/esm/radiobutton/interfaces/RadioGroupChangeEvent.d.ts +9 -0
  196. package/dist/esm/radiobutton/interfaces/RadioGroupChangeEvent.js +1 -0
  197. package/dist/esm/radiobutton/interfaces/RadioGroupFocusEvent.d.ts +5 -0
  198. package/dist/esm/radiobutton/interfaces/RadioGroupFocusEvent.js +1 -0
  199. package/dist/esm/radiobutton/interfaces/RadioGroupProps.d.ts +81 -0
  200. package/dist/esm/radiobutton/interfaces/RadioGroupProps.js +1 -0
  201. package/dist/esm/range-slider/RangeSlider.d.ts +176 -0
  202. package/dist/esm/range-slider/RangeSlider.js +617 -0
  203. package/dist/esm/range-slider/range-raducer.d.ts +35 -0
  204. package/dist/esm/range-slider/range-raducer.js +157 -0
  205. package/dist/esm/slider/Slider.d.ts +140 -0
  206. package/dist/esm/slider/Slider.js +395 -0
  207. package/dist/esm/slider/SliderLabel.d.ts +65 -0
  208. package/dist/esm/slider/SliderLabel.js +121 -0
  209. package/dist/esm/switch/Switch.d.ts +182 -0
  210. package/dist/esm/switch/Switch.js +342 -0
  211. package/dist/esm/switch/util.d.ts +8 -0
  212. package/dist/esm/switch/util.js +46 -0
  213. package/dist/esm/textarea/TextArea.d.ts +81 -0
  214. package/dist/esm/textarea/TextArea.js +422 -0
  215. package/dist/esm/textarea/interfaces/TextAreaBlurEvent.d.ts +5 -0
  216. package/dist/esm/textarea/interfaces/TextAreaBlurEvent.js +1 -0
  217. package/dist/esm/textarea/interfaces/TextAreaChangeEvent.d.ts +9 -0
  218. package/dist/esm/textarea/interfaces/TextAreaChangeEvent.js +1 -0
  219. package/dist/esm/textarea/interfaces/TextAreaFlow.d.ts +8 -0
  220. package/dist/esm/textarea/interfaces/TextAreaFlow.js +1 -0
  221. package/dist/esm/textarea/interfaces/TextAreaFocusEvent.d.ts +5 -0
  222. package/dist/esm/textarea/interfaces/TextAreaFocusEvent.js +1 -0
  223. package/dist/esm/textarea/interfaces/TextAreaProps.d.ts +170 -0
  224. package/dist/esm/textarea/interfaces/TextAreaProps.js +1 -0
  225. package/dist/esm/textarea/interfaces/TextAreaResize.d.ts +10 -0
  226. package/dist/esm/textarea/interfaces/TextAreaResize.js +1 -0
  227. package/dist/npm/checkbox/Checkbox.js +12 -12
  228. package/dist/npm/colors/ColorContrastLabels.js +5 -5
  229. package/dist/npm/colors/ColorContrastSvg.js +4 -4
  230. package/dist/npm/colors/ColorGradient.js +42 -42
  231. package/dist/npm/colors/ColorInput.js +2 -2
  232. package/dist/npm/colors/ColorPalette.js +12 -12
  233. package/dist/npm/colors/ColorPicker.js +15 -15
  234. package/dist/npm/colors/FlatColorPicker.js +10 -10
  235. package/dist/npm/colors/HexInput.js +4 -4
  236. package/dist/npm/colors/Picker.js +2 -2
  237. package/dist/npm/colors/utils/color-palette.service.js +6 -6
  238. package/dist/npm/colors/utils/color-parser.js +48 -37
  239. package/dist/npm/colors/utils/misc.js +5 -3
  240. package/dist/npm/colors/utils/svg-calc.js +12 -8
  241. package/dist/npm/input/Input.js +4 -4
  242. package/dist/npm/input-separator/InputSeparator.js +1 -1
  243. package/dist/npm/main.js +7 -2
  244. package/dist/npm/maskedtextbox/MaskedTextBox.js +8 -8
  245. package/dist/npm/maskedtextbox/masking.service.js +19 -19
  246. package/dist/npm/maskedtextbox/parsing/combinators.js +4 -2
  247. package/dist/npm/maskedtextbox/parsing/parsers.js +14 -7
  248. package/dist/npm/maskedtextbox/parsing/result.js +1 -1
  249. package/dist/npm/numerictextbox/NumericTextBox.js +22 -22
  250. package/dist/npm/numerictextbox/utils/index.js +145 -116
  251. package/dist/npm/package-metadata.js +1 -1
  252. package/dist/npm/radiobutton/RadioButton.js +8 -8
  253. package/dist/npm/radiobutton/RadioGroup.js +5 -5
  254. package/dist/npm/range-slider/RangeSlider.js +17 -17
  255. package/dist/npm/range-slider/range-raducer.js +4 -2
  256. package/dist/npm/slider/Slider.js +7 -7
  257. package/dist/npm/slider/SliderLabel.js +3 -3
  258. package/dist/npm/switch/Switch.js +13 -13
  259. package/dist/npm/switch/util.js +2 -1
  260. package/dist/npm/textarea/TextArea.js +7 -7
  261. package/package.json +17 -11
@@ -0,0 +1,343 @@
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 { ColorPaletteService } from './utils/color-palette.service.js';
7
+ import { classNames, Keys, guid, getTabIndex, validatePackage, setRef, getRef } from '@progress/kendo-vue-common';
8
+ import { packageMetadata } from '../package-metadata.js';
9
+ import { PALETTEPRESETS } from './models/palette-presets.js';
10
+ import { isPresent } from './utils/misc.js';
11
+ import { parseColor } from './utils/color-parser.js';
12
+ /**
13
+ * @hidden
14
+ */
15
+
16
+ export var DEFAULT_TILE_SIZE = 24;
17
+ /**
18
+ * @hidden
19
+ */
20
+
21
+ export var DEFAULT_COLUMNS_COUNT = 10;
22
+ /**
23
+ * @hidden
24
+ */
25
+
26
+ export var DEFAULT_PRESET = 'office';
27
+ /**
28
+ * @hidden
29
+ */
30
+
31
+ var ColorPaletteVue2 = {
32
+ name: 'KendoColorPalette',
33
+ model: {
34
+ event: 'changemodel'
35
+ },
36
+ // @ts-ignore
37
+ emits: {
38
+ 'keydown': null,
39
+ 'focus': null,
40
+ 'blur': null,
41
+ 'changemodel': null,
42
+ 'update:modelValue': null,
43
+ 'update:modelRgbaValue': null,
44
+ 'change': null
45
+ },
46
+ props: {
47
+ palette: {
48
+ type: [String, Array],
49
+ default: DEFAULT_PRESET
50
+ },
51
+ columns: Number,
52
+ tileSize: {
53
+ type: [Number, Object],
54
+ default: DEFAULT_TILE_SIZE
55
+ },
56
+ modelValue: String,
57
+ modelRgbaValue: String,
58
+ defaultValue: String,
59
+ value: String,
60
+ disabled: Boolean,
61
+ tabIndex: Number,
62
+ id: String,
63
+ ariaLabelledBy: String,
64
+ ariaDescribedBy: String
65
+ },
66
+ created: function created() {
67
+ validatePackage(packageMetadata);
68
+ this.guid = guid();
69
+ },
70
+ mounted: function mounted() {
71
+ this.wrapper = getRef(this, 'wrapper');
72
+ },
73
+ updated: function updated() {
74
+ this.wrapper = getRef(this, 'wrapper');
75
+ },
76
+ computed: {
77
+ focusedColorCooridanates: function focusedColorCooridanates() {
78
+ return this.focusedColor ? this.paletteService.getCellCoordsFor(this.focusedColor) : undefined;
79
+ },
80
+ isUncontrolled: function isUncontrolled() {
81
+ return this.$props.value === undefined;
82
+ },
83
+ selectedColor: function selectedColor() {
84
+ return this.$props.value !== undefined ? this.$props.value : this.modelValue !== undefined ? this.modelValue : this.modelRgbaValue !== undefined ? this.modelRgbaValue : this.currentValue !== undefined ? this.currentValue : this.$props.defaultValue;
85
+ }
86
+ },
87
+ data: function data() {
88
+ return {
89
+ focusedColor: this.$props.value,
90
+ currentValue: undefined
91
+ };
92
+ },
93
+ // @ts-ignore
94
+ setup: !isV3 ? undefined : function () {
95
+ var v3 = !!isV3;
96
+ return {
97
+ v3: v3
98
+ };
99
+ },
100
+ // @ts-ignore
101
+ render: function render(createElement) {
102
+ var h = gh || createElement;
103
+ var paletteInfo = this.getPaletteInfo();
104
+ var svc = this.paletteService = new ColorPaletteService();
105
+ svc.setColorMatrix(paletteInfo.colors, paletteInfo.columns);
106
+ var selectedCellCoords = svc.getCellCoordsFor(this.selectedColor);
107
+ var focusedCellCoords = svc.getCellCoordsFor(this.focusedColor);
108
+ var className = classNames('k-colorpalette', {
109
+ 'k-disabled': this.$props.disabled
110
+ });
111
+
112
+ var renderColumns = function renderColumns(columns, rowIndex, cSelectedCellCoords, cFocusedCellCoords) {
113
+ var rowIsSelected = cSelectedCellCoords !== undefined && cSelectedCellCoords.row === rowIndex;
114
+ var selectedColumn = cSelectedCellCoords && cSelectedCellCoords.col;
115
+ var rowIsFocused = cFocusedCellCoords !== undefined && cFocusedCellCoords.row === rowIndex;
116
+ var focusedColumn = cFocusedCellCoords && cFocusedCellCoords.col;
117
+ var tileSize = typeof this.$props.tileSize !== 'number' ? this.$props.tileSize : {
118
+ width: this.$props.tileSize,
119
+ height: this.$props.tileSize
120
+ };
121
+ var width = tileSize.width + 'px';
122
+ var height = tileSize.height + 'px';
123
+ return columns.map(function (color, i) {
124
+ var _this = this;
125
+
126
+ var isSelected = rowIsSelected && selectedColumn === i;
127
+ var tdClassName = classNames('k-colorpalette-tile', {
128
+ 'k-selected': isSelected,
129
+ 'k-focus': rowIsFocused && focusedColumn === i
130
+ });
131
+ return h("td", {
132
+ "class": tdClassName,
133
+ "aria-label": color,
134
+ attrs: this.v3 ? undefined : {
135
+ "aria-label": color,
136
+ "aria-selected": isSelected ? true : this.$props.disabled ? undefined : false,
137
+ id: this.createCellId({
138
+ row: rowIndex,
139
+ col: i
140
+ }),
141
+ role: 'gridcell'
142
+ },
143
+ "aria-selected": isSelected ? true : this.$props.disabled ? undefined : false,
144
+ style: {
145
+ backgroundColor: color,
146
+ width: width,
147
+ height: height,
148
+ minWidth: width
149
+ },
150
+ onClick: function onClick(event) {
151
+ return _this.onColorClick(color, event);
152
+ },
153
+ on: this.v3 ? undefined : {
154
+ "click": function onClick(event) {
155
+ return _this.onColorClick(color, event);
156
+ }
157
+ },
158
+ id: this.createCellId({
159
+ row: rowIndex,
160
+ col: i
161
+ }),
162
+ key: i,
163
+ role: 'gridcell'
164
+ });
165
+ }, this);
166
+ };
167
+
168
+ var renderRows = function renderRows(rows, rSelectedCellCoords, rFocusedCellCoords) {
169
+ return rows.map(function (row, i) {
170
+ return h("tr", {
171
+ role: "row",
172
+ attrs: this.v3 ? undefined : {
173
+ role: "row"
174
+ },
175
+ key: i
176
+ }, [renderColumns.call(this, row, i, rSelectedCellCoords, rFocusedCellCoords)]);
177
+ }, this);
178
+ };
179
+
180
+ if (paletteInfo.colors.length) {
181
+ return h("div", {
182
+ id: this.$props.id,
183
+ attrs: this.v3 ? undefined : {
184
+ id: this.$props.id,
185
+ "aria-disabled": this.$props.disabled ? 'true' : undefined,
186
+ "aria-activedescendant": focusedCellCoords && this.createCellId(focusedCellCoords),
187
+ "aria-labelledby": this.$props.ariaLabelledBy,
188
+ "aria-describedby": this.$props.ariaDescribedBy,
189
+ role: "grid",
190
+ tabindex: getTabIndex(this.$props.tabIndex, this.$props.disabled)
191
+ },
192
+ "class": className,
193
+ onFocusin: this.onFocus,
194
+ on: this.v3 ? undefined : {
195
+ "focusin": this.onFocus,
196
+ "focusout": this.onBlur,
197
+ "keydown": this.onKeyDown
198
+ },
199
+ onFocusout: this.onBlur,
200
+ onKeydown: this.onKeyDown,
201
+ "aria-disabled": this.$props.disabled ? 'true' : undefined,
202
+ "aria-activedescendant": focusedCellCoords && this.createCellId(focusedCellCoords),
203
+ "aria-labelledby": this.$props.ariaLabelledBy,
204
+ "aria-describedby": this.$props.ariaDescribedBy,
205
+ role: "grid",
206
+ tabindex: getTabIndex(this.$props.tabIndex, this.$props.disabled),
207
+ ref: setRef(this, 'wrapper')
208
+ }, [h("div", {
209
+ "class": "k-colorpalette-table-wrap"
210
+ }, [h("table", {
211
+ "class": "k-colorpalette-table k-palette",
212
+ role: "presentation",
213
+ attrs: this.v3 ? undefined : {
214
+ role: "presentation"
215
+ }
216
+ }, [h("tbody", [renderRows.call(this, svc.colorRows, selectedCellCoords, focusedCellCoords)])])])]);
217
+ } else {
218
+ // In this way, the code prevents an eventual focus of the component when no cells are available.
219
+ // This is needed because upon focus the first cell gets focused.
220
+ return '';
221
+ }
222
+ },
223
+ methods: {
224
+ focus: function focus() {
225
+ if (this.wrapper) {
226
+ this.wrapper.focus();
227
+ }
228
+ },
229
+ onKeyDown: function onKeyDown(event) {
230
+ switch (event.keyCode) {
231
+ case Keys.down:
232
+ this.handleCellNavigation(event, 0, 1);
233
+ break;
234
+
235
+ case Keys.up:
236
+ this.handleCellNavigation(event, 0, -1);
237
+ break;
238
+
239
+ case Keys.right:
240
+ this.handleCellNavigation(event, 1, 0);
241
+ break;
242
+
243
+ case Keys.left:
244
+ this.handleCellNavigation(event, -1, 0);
245
+ break;
246
+
247
+ case Keys.enter:
248
+ this.handleEnter(event);
249
+ break;
250
+
251
+ default:
252
+ this.$emit('keydown', event);
253
+ return;
254
+ }
255
+
256
+ this.$emit('keydown', event);
257
+ },
258
+ onColorClick: function onColorClick(color, event) {
259
+ if (this.isUncontrolled) {
260
+ this.currentValue = color;
261
+ this.focusedColor = color;
262
+ } else {
263
+ this.focusedColor = color;
264
+ }
265
+
266
+ this.dispatchChangeEvent(color, event);
267
+ },
268
+ onFocus: function onFocus(event) {
269
+ this.focusedColor = this.selectedColor || this.paletteService.colorRows[0][0];
270
+ this.$emit('focus', {
271
+ event: event,
272
+ target: this
273
+ });
274
+ },
275
+ onBlur: function onBlur(event) {
276
+ this.focusedColor = undefined;
277
+ this.$emit('blur', {
278
+ event: event,
279
+ target: this
280
+ });
281
+ },
282
+ handleCellNavigation: function handleCellNavigation(event, horizontalStep, verticalStep) {
283
+ event.preventDefault();
284
+
285
+ if (this.focusedColorCooridanates) {
286
+ var newCoords = this.paletteService.getNextCell(this.focusedColorCooridanates, horizontalStep, verticalStep);
287
+ this.focusedColor = this.paletteService.getColorAt(newCoords);
288
+ } else {
289
+ this.focusedColor = this.paletteService.colorRows[0][0];
290
+ }
291
+ },
292
+ handleEnter: function handleEnter(event) {
293
+ if (this.isUncontrolled) {
294
+ this.currentValue = this.focusedColor;
295
+ }
296
+
297
+ this.dispatchChangeEvent(this.focusedColor, event);
298
+ },
299
+ dispatchChangeEvent: function dispatchChangeEvent(value, event) {
300
+ var rgbaValue = parseColor(value, 'rgba');
301
+ this.$emit('changemodel', value);
302
+ this.$emit('update:modelValue', value);
303
+ this.$emit('update:modelRgbaValue', rgbaValue);
304
+ this.$emit('change', {
305
+ event: event,
306
+ component: this,
307
+ value: value,
308
+ rgbaValue: rgbaValue
309
+ });
310
+ },
311
+ getPaletteInfo: function getPaletteInfo() {
312
+ if (typeof this.$props.palette === 'string') {
313
+ var preset = PALETTEPRESETS[this.$props.palette];
314
+
315
+ if (isPresent(preset)) {
316
+ return {
317
+ colors: preset.colors,
318
+ columns: this.$props.columns || preset.columns || DEFAULT_COLUMNS_COUNT
319
+ };
320
+ } else {
321
+ return {
322
+ colors: [],
323
+ columns: 0
324
+ };
325
+ }
326
+ } else {
327
+ return {
328
+ colors: this.$props.palette || [],
329
+ columns: this.$props.columns || DEFAULT_COLUMNS_COUNT
330
+ };
331
+ }
332
+ },
333
+ createCellId: function createCellId(cellCoords) {
334
+ return "".concat(this.guid, "_").concat(cellCoords.row, "_").concat(cellCoords.col);
335
+ }
336
+ }
337
+ };
338
+ /**
339
+ * @hidden
340
+ */
341
+
342
+ var ColorPalette = ColorPaletteVue2;
343
+ export { ColorPalette, ColorPaletteVue2 };
@@ -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 { ColorPickerProps } from './interfaces/ColorPickerProps';
7
+ /**
8
+ * @hidden
9
+ */
10
+ export interface ColorPickerHandle {
11
+ element: HTMLSpanElement | null;
12
+ }
13
+ /**
14
+ * @hidden
15
+ */
16
+ export interface ColorPickerState {
17
+ _popupId: string;
18
+ focusableElementGuid: string;
19
+ palette: any | null;
20
+ blurTimeout: any | undefined;
21
+ button: HTMLSpanElement | null;
22
+ }
23
+ /**
24
+ * @hidden
25
+ */
26
+ export interface ColorPickerComputed {
27
+ [key: string]: any;
28
+ }
29
+ /**
30
+ * @hidden
31
+ */
32
+ export interface ColorPickerMethods {
33
+ [key: string]: any;
34
+ focus: (e: any) => void;
35
+ toggleIfApplicable: () => void;
36
+ handleClick: (event: any) => void;
37
+ }
38
+ /**
39
+ * @hidden
40
+ */
41
+ export interface ColorPickerData {
42
+ currentActive: boolean;
43
+ }
44
+ /**
45
+ * @hidden
46
+ */
47
+ export interface ColorPickerAll extends Vue2type, ColorPickerMethods, ColorPickerData, ColorPickerComputed, ColorPickerState {
48
+ }
49
+ /**
50
+ * @hidden
51
+ */
52
+ declare let ColorPickerVue2: ComponentOptions<ColorPickerAll, DefaultData<ColorPickerData>, DefaultMethods<ColorPickerAll>, ColorPickerComputed, RecordPropsDefinition<ColorPickerProps>>;
53
+ /**
54
+ * @hidden
55
+ */
56
+ declare const ColorPicker: DefineComponent<ColorPickerProps, any, ColorPickerData, ColorPickerComputed, ColorPickerMethods, {}, {}, {}, string, ColorPickerProps, ColorPickerProps, {}>;
57
+ export { ColorPicker, ColorPickerVue2 };