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