@progress/kendo-vue-inputs 9.2.1-develop.1 → 9.3.0-develop.1
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/colors/ColorContrastLabels.js +1 -1
- package/colors/ColorContrastLabels.mjs +4 -4
- package/colors/ColorGradient.d.ts +4 -0
- package/colors/ColorGradient.js +2 -2
- package/colors/ColorGradient.mjs +52 -46
- package/colors/ColorInput.js +1 -1
- package/colors/ColorInput.mjs +84 -80
- package/colors/ColorPalette.d.ts +2 -0
- package/colors/ColorPalette.js +1 -1
- package/colors/ColorPalette.mjs +18 -16
- package/colors/FlatColorPicker.d.ts +6 -0
- package/colors/FlatColorPicker.js +1 -1
- package/colors/FlatColorPicker.mjs +65 -75
- package/colors/HexInput.d.ts +1 -0
- package/colors/HexInput.js +1 -1
- package/colors/HexInput.mjs +12 -11
- package/colors/interfaces/ColorGradientProps.d.ts +9 -0
- package/colors/interfaces/ColorPaletteProps.d.ts +4 -0
- package/colors/interfaces/ColorPickerPaletteSettings.d.ts +4 -0
- package/dist/cdn/js/kendo-vue-inputs.js +1 -1
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +9 -9
- package/slider/Slider.js +1 -1
- package/slider/Slider.mjs +8 -7
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),p=require("@progress/kendo-vue-intl"),a=require("@progress/kendo-svg-icons"),o=require("../messages/main.js"),L=require("./utils/color-parser.js"),n=require("@progress/kendo-vue-common"),C=e.defineComponent({name:"KendoColorContrastLabels",props:{bgColor:Object,rgba:Object},inject:{kendoLocalizationService:{default:null}},render(){const t=p.provideLocalizationService(this),d=t.toLanguageString(o.colorGradientContrastRatio,o.messages[o.colorGradientContrastRatio]),g=t.toLanguageString(o.colorGradientAALevel,o.messages[o.colorGradientAALevel]),u=t.toLanguageString(o.colorGradientAAALevel,o.messages[o.colorGradientAAALevel]),k=t.toLanguageString(o.colorGradientPass,o.messages[o.colorGradientPass]),v=t.toLanguageString(o.colorGradientFail,o.messages[o.colorGradientFail]),s=L.getContrastFromTwoRGBAs(this.$props.rgba,this.$props.bgColor),A=4.5.toFixed(1),V=7 .toFixed(1),x=`${d}: ${s.toFixed(2)}`,N=`${g}: ${A}`,m=`${u}: ${V}`,r=s>=4.5,c=s>=7,l=e.createVNode("span",{key:1,class:"k-contrast-validation k-text-success"},[k,e.createTextVNode(" "),e.createVNode(n.Icon,{name:"check",icon:a.checkIcon},null)]),i=e.createVNode("span",{key:2,class:"k-contrast-validation k-text-error"},[v,e.createTextVNode(" "),e.createVNode(n.Icon,{name:"x",icon:a.xIcon},null)]);return e.createVNode("div",{class:"k-vbox k-colorgradient-color-contrast"},[e.createVNode("div",{class:"k-contrast-ratio"},[e.createVNode("span",{class:"k-contrast-ratio-text"},[x]),r?e.createVNode("span",{class:"k-contrast-validation k-text-success"},[e.createVNode(n.Icon,{name:"check",icon:a.checkIcon},null),c&&e.createVNode(n.Icon,{name:"check",icon:a.checkIcon},null)]):e.createVNode("span",{class:"k-contrast-validation k-text-error"},[e.createVNode(n.Icon,{name:"x",icon:a.xIcon},null)])]),e.createVNode("div",null,[e.createVNode("span",null,[N]),r?l:i]),e.createVNode("div",null,[e.createVNode("span",null,[m]),c?l:i])])}});exports.ColorContrastLabels=C;
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),p=require("@progress/kendo-vue-intl"),a=require("@progress/kendo-svg-icons"),o=require("../messages/main.js"),L=require("./utils/color-parser.js"),n=require("@progress/kendo-vue-common"),C=e.defineComponent({name:"KendoColorContrastLabels",props:{bgColor:Object,rgba:Object},inject:{kendoLocalizationService:{default:null}},render(){const t=p.provideLocalizationService(this),d=t.toLanguageString(o.colorGradientContrastRatio,o.messages[o.colorGradientContrastRatio]),g=t.toLanguageString(o.colorGradientAALevel,o.messages[o.colorGradientAALevel]),u=t.toLanguageString(o.colorGradientAAALevel,o.messages[o.colorGradientAAALevel]),k=t.toLanguageString(o.colorGradientPass,o.messages[o.colorGradientPass]),v=t.toLanguageString(o.colorGradientFail,o.messages[o.colorGradientFail]),s=L.getContrastFromTwoRGBAs(this.$props.rgba,this.$props.bgColor),A=4.5.toFixed(1),V=7 .toFixed(1),x=`${d}: ${s.toFixed(2)}`,N=`${g}: ${A}`,m=`${u}: ${V}`,r=s>=4.5,c=s>=7,l=e.createVNode("span",{key:1,class:"k-contrast-validation !k-text-success"},[k,e.createTextVNode(" "),e.createVNode(n.Icon,{name:"check",icon:a.checkIcon},null)]),i=e.createVNode("span",{key:2,class:"k-contrast-validation !k-text-error"},[v,e.createTextVNode(" "),e.createVNode(n.Icon,{name:"x",icon:a.xIcon},null)]);return e.createVNode("div",{class:"k-vbox k-colorgradient-color-contrast"},[e.createVNode("div",{class:"k-contrast-ratio"},[e.createVNode("span",{class:"k-contrast-ratio-text"},[x]),r?e.createVNode("span",{class:"k-contrast-validation !k-text-success"},[e.createVNode(n.Icon,{name:"check",icon:a.checkIcon},null),c&&e.createVNode(n.Icon,{name:"check",icon:a.checkIcon},null)]):e.createVNode("span",{class:"k-contrast-validation !k-text-error"},[e.createVNode(n.Icon,{name:"x",icon:a.xIcon},null)])]),e.createVNode("div",null,[e.createVNode("span",null,[N]),r?l:i]),e.createVNode("div",null,[e.createVNode("span",null,[m]),c?l:i])])}});exports.ColorContrastLabels=C;
|
|
@@ -25,13 +25,13 @@ const z = /* @__PURE__ */ F({
|
|
|
25
25
|
render() {
|
|
26
26
|
const t = M(this), v = t.toLanguageString(p, a[p]), A = t.toLanguageString(u, a[u]), L = t.toLanguageString(m, a[m]), C = t.toLanguageString(k, a[k]), b = t.toLanguageString(x, a[x]), s = T(this.$props.rgba, this.$props.bgColor), f = 4.5.toFixed(1), $ = 7 .toFixed(1), h = `${v}: ${s.toFixed(2)}`, S = `${A}: ${f}`, G = `${L}: ${$}`, r = s >= 4.5, c = s >= 7, i = o("span", {
|
|
27
27
|
key: 1,
|
|
28
|
-
class: "k-contrast-validation k-text-success"
|
|
28
|
+
class: "k-contrast-validation !k-text-success"
|
|
29
29
|
}, [C, d(" "), o(n, {
|
|
30
30
|
name: "check",
|
|
31
31
|
icon: e
|
|
32
32
|
}, null)]), l = o("span", {
|
|
33
33
|
key: 2,
|
|
34
|
-
class: "k-contrast-validation k-text-error"
|
|
34
|
+
class: "k-contrast-validation !k-text-error"
|
|
35
35
|
}, [b, d(" "), o(n, {
|
|
36
36
|
name: "x",
|
|
37
37
|
icon: g
|
|
@@ -43,7 +43,7 @@ const z = /* @__PURE__ */ F({
|
|
|
43
43
|
}, [o("span", {
|
|
44
44
|
class: "k-contrast-ratio-text"
|
|
45
45
|
}, [h]), r ? o("span", {
|
|
46
|
-
class: "k-contrast-validation k-text-success"
|
|
46
|
+
class: "k-contrast-validation !k-text-success"
|
|
47
47
|
}, [o(n, {
|
|
48
48
|
name: "check",
|
|
49
49
|
icon: e
|
|
@@ -51,7 +51,7 @@ const z = /* @__PURE__ */ F({
|
|
|
51
51
|
name: "check",
|
|
52
52
|
icon: e
|
|
53
53
|
}, null)]) : o("span", {
|
|
54
|
-
class: "k-contrast-validation k-text-error"
|
|
54
|
+
class: "k-contrast-validation !k-text-error"
|
|
55
55
|
}, [o(n, {
|
|
56
56
|
name: "x",
|
|
57
57
|
icon: g
|
|
@@ -30,6 +30,7 @@ declare const ColorGradient: import('vue').DefineComponent<import('vue').Extract
|
|
|
30
30
|
disabled: PropType<boolean>;
|
|
31
31
|
id: PropType<string>;
|
|
32
32
|
ariaLabelledBy: PropType<string>;
|
|
33
|
+
ariaLabel: PropType<string>;
|
|
33
34
|
ariaDescribedBy: PropType<string>;
|
|
34
35
|
tabIndex: PropType<number>;
|
|
35
36
|
innerTabIndex: {
|
|
@@ -38,6 +39,7 @@ declare const ColorGradient: import('vue').DefineComponent<import('vue').Extract
|
|
|
38
39
|
};
|
|
39
40
|
size: PropType<"small" | "medium" | "large">;
|
|
40
41
|
class: PropType<string>;
|
|
42
|
+
role: PropType<string>;
|
|
41
43
|
adaptive: PropType<boolean>;
|
|
42
44
|
}>, {}, {
|
|
43
45
|
currentValue: any;
|
|
@@ -104,6 +106,7 @@ declare const ColorGradient: import('vue').DefineComponent<import('vue').Extract
|
|
|
104
106
|
disabled: PropType<boolean>;
|
|
105
107
|
id: PropType<string>;
|
|
106
108
|
ariaLabelledBy: PropType<string>;
|
|
109
|
+
ariaLabel: PropType<string>;
|
|
107
110
|
ariaDescribedBy: PropType<string>;
|
|
108
111
|
tabIndex: PropType<number>;
|
|
109
112
|
innerTabIndex: {
|
|
@@ -112,6 +115,7 @@ declare const ColorGradient: import('vue').DefineComponent<import('vue').Extract
|
|
|
112
115
|
};
|
|
113
116
|
size: PropType<"small" | "medium" | "large">;
|
|
114
117
|
class: PropType<string>;
|
|
118
|
+
role: PropType<string>;
|
|
115
119
|
adaptive: PropType<boolean>;
|
|
116
120
|
}>> & Readonly<{
|
|
117
121
|
onBlur?: (event: ColorGradientBlurEvent) => any;
|
package/colors/ColorGradient.js
CHANGED
|
@@ -5,6 +5,6 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue"),
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("vue"),s=require("@progress/kendo-vue-common"),B=require("../package-metadata.js"),u=require("./utils/misc.js"),i=require("./utils/color-parser.js"),$=require("./utils/color-cache.js"),L=require("./ColorInput.js"),G=require("./ColorContrastLabels.js"),F=require("./ColorContrastSvg.js"),I=require("@progress/kendo-vue-intl"),l=require("../messages/main.js"),m=require("../slider/Slider.js"),T="rgba",C="rgba(255, 255, 255, 1)",M=n.defineComponent({name:"KendoColorGradient",model:{event:"changemodel"},emits:{change:e=>!0,focus:e=>!0,blur:e=>!0,changemodel:e=>!0,"update:modelValue":e=>!0,"update:modelRgbaValue":e=>!0,keydown:e=>!0},inject:{kendoLocalizationService:{default:null}},props:{modelValue:String,modelRgbaValue:String,defaultValue:String,value:String,opacity:{type:Boolean,default:!0},backgroundColor:String,disabled:Boolean,id:String,ariaLabelledBy:String,ariaLabel:String,ariaDescribedBy:String,tabIndex:Number,innerTabIndex:{type:Number,default:void 0},size:String,class:String,role:String,adaptive:Boolean},created(){s.validatePackage(B.packageMetadata),this.guid=s.guid()},computed:{valueSet(){return this.value||this.modelValue||this.modelRgbaValue},computedValue(){let e=this.valueSet||this.currentValue||this.defaultValue||i.parseColor(C,T);return u.isPresent(i.parseColor(e,"hex",this.opacity))||(e=C),e},hsva(){return this.valueSet?i.getHSV(this.computedValue):this.currentHsva||i.getHSV(this.computedValue)},rgba(){return this.valueSet?i.getRGBA(this.computedValue):this.currentRgba},hex(){return this.valueSet?i.parseColor(this.computedValue,"hex",this.opacity):this.currentHex},computedBgColor(){return this.currentBgColor||i.getColorFromHue(this.hsva.h)},computedTabIndex(){return this.innerTabIndex!==void 0?this.innerTabIndex:this.focused?0:-1}},data(){return{currentValue:void 0,currentBgColor:void 0,isFirstRender:!0,currentHsva:void 0,currentRgba:void 0,currentHex:void 0,focused:!1}},mounted(){this.alphaSlider=this.alphaSliderRef,this.setAlphaSliderBackground(this.computedBgColor),this.$el&&(this.draggable=this.$refs.draggable,this.gradientWrapper=this.draggable&&this.draggable.element),this.isFirstRender&&(this.isFirstRender=!1)},destroyed(){$.removeCachedColor(this.guid)},updated(){this.setAlphaSliderBackground(this.computedBgColor)},render(){var p;const{size:e,disabled:t,class:r,opacity:a,id:o,tabIndex:h,ariaDescribedBy:g,ariaLabelledBy:f,adaptive:c}=this.$props,k=s.classNames("k-colorgradient",{"k-disabled":t,[`k-colorgradient-${s.kendoThemeMaps.sizeMap[e]||e}`]:e},r),b=I.provideLocalizationService(this),S=b.toLanguageString(l.colorGradientHueSliderLabel,l.messages[l.colorGradientHueSliderLabel]),x=b.toLanguageString(l.colorGradientAlphaSliderLabel,l.messages[l.colorGradientAlphaSliderLabel]),y=b.toLanguageString(l.colorGradientDragHandle,l.messages[l.colorGradientDragHandle]),R=function(){let d={};if(!this.isFirstRender){const v=this.getGradientRectMetrics(),H=(1-this.hsva.v)*v.height,V=this.hsva.s*v.width;d.top=`${H}px`,d.left=`${V}px`}return n.createVNode("div",{class:"k-hsv-draghandle k-draghandle",role:"slider","aria-orientation":void 0,"aria-label":y+`${this.value||"none"}`,"aria-valuenow":Math.round(this.hsva.s*100),"aria-valuemin":0,"aria-valuemax":100,"aria-valuetext":`
|
|
9
9
|
saturation: ${Math.round(this.hsva.s*100)}%,
|
|
10
|
-
value: ${Math.round(this.hsva.v*100)}%`,tabindex:this.computedTabIndex,onKeydown:this.dragKeyDown,style:d,ref:
|
|
10
|
+
value: ${Math.round(this.hsva.v*100)}%`,tabindex:this.computedTabIndex,onKeydown:this.dragKeyDown,style:d,ref:s.setRef(this,"draghandle")},null)};return n.createVNode("div",{id:o,class:k,role:(p=this.$props.role)!=null?p:h!==-1?"textbox":void 0,"aria-disabled":t||void 0,tabindex:s.getTabIndex(h,t),"aria-labelledby":f,"aria-label":this.$props.ariaLabel,"aria-describedby":g,onFocus:this.onFocus,onBlur:this.onBlur,onKeydown:this.onKeyDownHandler},[n.createVNode("div",{class:`k-colorgradient-canvas ${c?"k-vstack":"k-hstack"}`},[n.createVNode("div",{class:"k-hsv-rectangle",style:{background:this.computedBgColor}},[n.createVNode(s.Draggable,{onDrag:this.onDrag,onRelease:this.onRelease,ref:"draggable"},{default:()=>[n.createVNode("div",{class:"k-hsv-gradient",style:{touchAction:"none"},tabindex:-1,onClick:this.onGradientWrapperClick},[R.call(this)])]}),this.backgroundColor&&!this.isFirstRender&&n.createVNode(F.ColorContrastSvg,{metrics:this.gradientWrapper?this.getGradientRectMetrics():void 0,hsva:this.hsva,backgroundColor:this.backgroundColor},null)]),n.createVNode("div",{class:`k-hsv-controls ${c?"k-vstack":"k-hstack"}`},[n.createVNode(m.Slider,{tabIndex:this.computedTabIndex,value:this.hsva.h,buttons:!1,vertical:!c,min:0,max:360,step:5,onChange:this.onHueSliderChange,class:"k-hue-slider k-colorgradient-slider",disabled:t,ariaLabel:S},null),a&&n.createVNode(m.Slider,{tabIndex:this.computedTabIndex,value:u.isPresent(this.hsva.a)?this.hsva.a*100:100,buttons:!1,vertical:!c,min:0,max:100,step:1,onChange:this.onAlphaSliderChange,class:"k-alpha-slider k-colorgradient-slider",disabled:t,ariaLabel:x,ref:d=>{this.alphaSliderRef=d}},null)])]),n.createVNode(L.ColorInput,{tabIndex:this.computedTabIndex,rgba:this.rgba,onRgbachange:this.onRgbaChange,hex:this.hex,onHexchange:this.onHexChange,opacity:a,disabled:t,ref:"colorInput",size:e},null),this.backgroundColor&&n.createVNode(G.ColorContrastLabels,{bgColor:i.getRGBA(this.backgroundColor),rgba:this.rgba},null)])},methods:{onKeyDownHandler(e){const t=this.$el;this.innerTabIndex===void 0&&(this.focused=s.focusContainer(e,t)),this.$emit("keydown",e)},onHexChange(e,t,r){const a=i.getRGBA(t),o=i.getHSV(t);this.currentHsva=o,this.currentBgColor=i.getColorFromHue(o.h),this.currentRgba=a,this.currentHex=e,this.dispatchChangeEvent(t,r.event,e,t)},onRgbaChange(e,t){const r=i.getColorFromRGBA(e),a=i.parseColor(r,"hex",this.opacity),o=i.getHSV(r);this.currentHsva=o,this.currentBgColor=i.getColorFromHue(o.h),this.currentRgba=e,this.currentHex=a,this.dispatchChangeEvent(r,t.event,a,r)},onAlphaSliderChange(e){this.handleHsvaChange(Object.assign({},this.hsva,{a:e.value/100}),e.event)},onHueSliderChange(e){this.handleHsvaChange(Object.assign({},this.hsva,{h:e.value}),e.event)},onDrag(e){this.gradientWrapper.classList.add("k-dragging"),this.changePosition(e)},onRelease(){this.gradientWrapper.classList.remove("k-dragging")},onGradientWrapperClick(e){this.firstFocusable=s.getRef(this,"draghandle"),this.firstFocusable&&this.firstFocusable.focus(),this.changePosition(e)},move(e,t,r){const a=this.hsva;a[t]+=r*(e.shiftKey?.01:.05),a[t]<0&&(a[t]=0),a[t]>1&&(a[t]=1),e.preventDefault(),this.handleHsvaChange(a,e)},dragKeyDown(e){switch(e.keyCode){case s.Keys.left:this.move(e,"s",-1);break;case s.Keys.right:this.move(e,"s",1);break;case s.Keys.up:this.move(e,"v",1);break;case s.Keys.down:this.move(e,"v",-1);break;case s.Keys.enter:break;case s.Keys.esc:break}},changePosition(e){const t=this.getGradientRectMetrics(),r=e.clientX-t.left,a=e.clientY-t.top,o=u.fitIntoBounds(r,0,t.width),h=u.fitIntoBounds(a,0,t.height),g=Object.assign({},this.hsva,{s:o/t.width,v:1-h/t.height});this.handleHsvaChange(g,e,e.event)},handleHsvaChange(e,t){const r=i.getColorFromHSV(e),a=i.parseColor(r,"hex",this.opacity),o=i.parseColor(r,"rgba");this.currentHsva=e,this.currentBgColor=i.getColorFromHue(e.h),this.currentRgba=i.getRGBA(r),this.currentHex=a,this.dispatchChangeEvent(r,t,a,o)},dispatchChangeEvent(e,t,r,a){this.currentValue=e,this.$emit("changemodel",r),this.$emit("update:modelRgbaValue",a),this.$emit("update:modelValue",r),this.$emit("change",{event:t,target:this,value:r,rgbaValue:a})},onFocus(e){this.$emit("focus",{event:e,target:this})},onBlur(e){this.$emit("blur",{event:e,target:this})},setAlphaSliderBackground(e){this.$props.opacity&&this.alphaSlider&&this.alphaSlider.sliderTrack&&(this.alphaSlider.sliderTrack.style.background=`linear-gradient(to ${this.$props.adaptive?"right":"top"}, transparent, ${e})`)},getGradientRectMetrics(){const e=this.gradientWrapper.getBoundingClientRect();return{top:e.top,right:e.right,bottom:e.bottom,left:e.left,width:e.width,height:e.height,x:e.x,y:e.y}},focus(){this.focused=!0,setTimeout(()=>{s.focusFirstFocusableChild(this.$el)},1)}}});exports.ColorGradient=M;
|
package/colors/ColorGradient.mjs
CHANGED
|
@@ -5,19 +5,19 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
import { defineComponent as
|
|
9
|
-
import { focusFirstFocusableChild as
|
|
10
|
-
import { packageMetadata as
|
|
11
|
-
import { fitIntoBounds as
|
|
12
|
-
import { getColorFromHSV as
|
|
13
|
-
import { removeCachedColor as
|
|
14
|
-
import { ColorInput as
|
|
15
|
-
import { ColorContrastLabels as
|
|
16
|
-
import { ColorContrastSvg as
|
|
17
|
-
import { provideLocalizationService as
|
|
18
|
-
import { colorGradientHueSliderLabel as
|
|
19
|
-
import { Slider as
|
|
20
|
-
const
|
|
8
|
+
import { defineComponent as D, createVNode as s } from "vue";
|
|
9
|
+
import { focusFirstFocusableChild as G, Keys as n, getRef as M, focusContainer as A, classNames as K, kendoThemeMaps as E, getTabIndex as z, Draggable as W, validatePackage as O, guid as N, setRef as P } from "@progress/kendo-vue-common";
|
|
10
|
+
import { packageMetadata as j } from "../package-metadata.mjs";
|
|
11
|
+
import { fitIntoBounds as C, isPresent as k } from "./utils/misc.mjs";
|
|
12
|
+
import { getColorFromHSV as X, parseColor as o, getColorFromHue as c, getRGBA as u, getColorFromRGBA as Y, getHSV as g } from "./utils/color-parser.mjs";
|
|
13
|
+
import { removeCachedColor as _ } from "./utils/color-cache.mjs";
|
|
14
|
+
import { ColorInput as U } from "./ColorInput.mjs";
|
|
15
|
+
import { ColorContrastLabels as q } from "./ColorContrastLabels.mjs";
|
|
16
|
+
import { ColorContrastSvg as J } from "./ColorContrastSvg.mjs";
|
|
17
|
+
import { provideLocalizationService as Q } from "@progress/kendo-vue-intl";
|
|
18
|
+
import { colorGradientHueSliderLabel as S, messages as v, colorGradientAlphaSliderLabel as x, colorGradientDragHandle as R } from "../messages/main.mjs";
|
|
19
|
+
import { Slider as y } from "../slider/Slider.mjs";
|
|
20
|
+
const Z = "rgba", H = "rgba(255, 255, 255, 1)", ue = /* @__PURE__ */ D({
|
|
21
21
|
name: "KendoColorGradient",
|
|
22
22
|
model: {
|
|
23
23
|
event: "changemodel"
|
|
@@ -49,6 +49,7 @@ const Q = "rgba", y = "rgba(255, 255, 255, 1)", ce = /* @__PURE__ */ w({
|
|
|
49
49
|
disabled: Boolean,
|
|
50
50
|
id: String,
|
|
51
51
|
ariaLabelledBy: String,
|
|
52
|
+
ariaLabel: String,
|
|
52
53
|
ariaDescribedBy: String,
|
|
53
54
|
tabIndex: Number,
|
|
54
55
|
innerTabIndex: {
|
|
@@ -57,18 +58,19 @@ const Q = "rgba", y = "rgba(255, 255, 255, 1)", ce = /* @__PURE__ */ w({
|
|
|
57
58
|
},
|
|
58
59
|
size: String,
|
|
59
60
|
class: String,
|
|
61
|
+
role: String,
|
|
60
62
|
adaptive: Boolean
|
|
61
63
|
},
|
|
62
64
|
created() {
|
|
63
|
-
|
|
65
|
+
O(j), this.guid = N();
|
|
64
66
|
},
|
|
65
67
|
computed: {
|
|
66
68
|
valueSet() {
|
|
67
69
|
return this.value || this.modelValue || this.modelRgbaValue;
|
|
68
70
|
},
|
|
69
71
|
computedValue() {
|
|
70
|
-
let e = this.valueSet || this.currentValue || this.defaultValue || o(
|
|
71
|
-
return
|
|
72
|
+
let e = this.valueSet || this.currentValue || this.defaultValue || o(H, Z);
|
|
73
|
+
return k(o(e, "hex", this.opacity)) || (e = H), e;
|
|
72
74
|
},
|
|
73
75
|
hsva() {
|
|
74
76
|
return this.valueSet ? g(this.computedValue) : this.currentHsva || g(this.computedValue);
|
|
@@ -101,12 +103,13 @@ const Q = "rgba", y = "rgba(255, 255, 255, 1)", ce = /* @__PURE__ */ w({
|
|
|
101
103
|
this.alphaSlider = this.alphaSliderRef, this.setAlphaSliderBackground(this.computedBgColor), this.$el && (this.draggable = this.$refs.draggable, this.gradientWrapper = this.draggable && this.draggable.element), this.isFirstRender && (this.isFirstRender = !1);
|
|
102
104
|
},
|
|
103
105
|
destroyed() {
|
|
104
|
-
|
|
106
|
+
_(this.guid);
|
|
105
107
|
},
|
|
106
108
|
updated() {
|
|
107
109
|
this.setAlphaSliderBackground(this.computedBgColor);
|
|
108
110
|
},
|
|
109
111
|
render() {
|
|
112
|
+
var m;
|
|
110
113
|
const {
|
|
111
114
|
size: e,
|
|
112
115
|
disabled: t,
|
|
@@ -115,39 +118,42 @@ const Q = "rgba", y = "rgba(255, 255, 255, 1)", ce = /* @__PURE__ */ w({
|
|
|
115
118
|
id: r,
|
|
116
119
|
tabIndex: h,
|
|
117
120
|
ariaDescribedBy: p,
|
|
118
|
-
ariaLabelledBy:
|
|
121
|
+
ariaLabelledBy: B,
|
|
119
122
|
adaptive: d
|
|
120
|
-
} = this.$props,
|
|
123
|
+
} = this.$props, $ = K("k-colorgradient", {
|
|
121
124
|
"k-disabled": t,
|
|
122
|
-
[`k-colorgradient-${
|
|
123
|
-
}, i), b =
|
|
125
|
+
[`k-colorgradient-${E.sizeMap[e] || e}`]: e
|
|
126
|
+
}, i), b = Q(this), L = b.toLanguageString(S, v[S]), V = b.toLanguageString(x, v[x]), F = b.toLanguageString(R, v[R]), I = function() {
|
|
124
127
|
let l = {};
|
|
125
128
|
if (!this.isFirstRender) {
|
|
126
|
-
const
|
|
127
|
-
l.top = `${
|
|
129
|
+
const f = this.getGradientRectMetrics(), T = (1 - this.hsva.v) * f.height, w = this.hsva.s * f.width;
|
|
130
|
+
l.top = `${T}px`, l.left = `${w}px`;
|
|
128
131
|
}
|
|
129
132
|
return s("div", {
|
|
130
133
|
class: "k-hsv-draghandle k-draghandle",
|
|
131
134
|
role: "slider",
|
|
132
135
|
"aria-orientation": void 0,
|
|
133
|
-
"aria-label":
|
|
136
|
+
"aria-label": F + `${this.value || "none"}`,
|
|
134
137
|
"aria-valuenow": Math.round(this.hsva.s * 100),
|
|
138
|
+
"aria-valuemin": 0,
|
|
139
|
+
"aria-valuemax": 100,
|
|
135
140
|
"aria-valuetext": `
|
|
136
141
|
saturation: ${Math.round(this.hsva.s * 100)}%,
|
|
137
142
|
value: ${Math.round(this.hsva.v * 100)}%`,
|
|
138
143
|
tabindex: this.computedTabIndex,
|
|
139
144
|
onKeydown: this.dragKeyDown,
|
|
140
145
|
style: l,
|
|
141
|
-
ref:
|
|
146
|
+
ref: P(this, "draghandle")
|
|
142
147
|
}, null);
|
|
143
148
|
};
|
|
144
149
|
return s("div", {
|
|
145
150
|
id: r,
|
|
146
|
-
class:
|
|
147
|
-
role: h !== -1 ? "textbox" : void 0,
|
|
148
|
-
"aria-disabled": t,
|
|
149
|
-
tabindex:
|
|
150
|
-
"aria-labelledby":
|
|
151
|
+
class: $,
|
|
152
|
+
role: (m = this.$props.role) != null ? m : h !== -1 ? "textbox" : void 0,
|
|
153
|
+
"aria-disabled": t || void 0,
|
|
154
|
+
tabindex: z(h, t),
|
|
155
|
+
"aria-labelledby": B,
|
|
156
|
+
"aria-label": this.$props.ariaLabel,
|
|
151
157
|
"aria-describedby": p,
|
|
152
158
|
onFocus: this.onFocus,
|
|
153
159
|
onBlur: this.onBlur,
|
|
@@ -159,7 +165,7 @@ const Q = "rgba", y = "rgba(255, 255, 255, 1)", ce = /* @__PURE__ */ w({
|
|
|
159
165
|
style: {
|
|
160
166
|
background: this.computedBgColor
|
|
161
167
|
}
|
|
162
|
-
}, [s(
|
|
168
|
+
}, [s(W, {
|
|
163
169
|
onDrag: this.onDrag,
|
|
164
170
|
onRelease: this.onRelease,
|
|
165
171
|
ref: "draggable"
|
|
@@ -171,14 +177,14 @@ const Q = "rgba", y = "rgba(255, 255, 255, 1)", ce = /* @__PURE__ */ w({
|
|
|
171
177
|
},
|
|
172
178
|
tabindex: -1,
|
|
173
179
|
onClick: this.onGradientWrapperClick
|
|
174
|
-
}, [
|
|
175
|
-
}), this.backgroundColor && !this.isFirstRender && s(
|
|
180
|
+
}, [I.call(this)])]
|
|
181
|
+
}), this.backgroundColor && !this.isFirstRender && s(J, {
|
|
176
182
|
metrics: this.gradientWrapper ? this.getGradientRectMetrics() : void 0,
|
|
177
183
|
hsva: this.hsva,
|
|
178
184
|
backgroundColor: this.backgroundColor
|
|
179
185
|
}, null)]), s("div", {
|
|
180
186
|
class: `k-hsv-controls ${d ? "k-vstack" : "k-hstack"}`
|
|
181
|
-
}, [s(
|
|
187
|
+
}, [s(y, {
|
|
182
188
|
tabIndex: this.computedTabIndex,
|
|
183
189
|
value: this.hsva.h,
|
|
184
190
|
buttons: !1,
|
|
@@ -189,10 +195,10 @@ const Q = "rgba", y = "rgba(255, 255, 255, 1)", ce = /* @__PURE__ */ w({
|
|
|
189
195
|
onChange: this.onHueSliderChange,
|
|
190
196
|
class: "k-hue-slider k-colorgradient-slider",
|
|
191
197
|
disabled: t,
|
|
192
|
-
ariaLabel:
|
|
193
|
-
}, null), a && s(
|
|
198
|
+
ariaLabel: L
|
|
199
|
+
}, null), a && s(y, {
|
|
194
200
|
tabIndex: this.computedTabIndex,
|
|
195
|
-
value:
|
|
201
|
+
value: k(this.hsva.a) ? this.hsva.a * 100 : 100,
|
|
196
202
|
buttons: !1,
|
|
197
203
|
vertical: !d,
|
|
198
204
|
min: 0,
|
|
@@ -205,7 +211,7 @@ const Q = "rgba", y = "rgba(255, 255, 255, 1)", ce = /* @__PURE__ */ w({
|
|
|
205
211
|
ref: (l) => {
|
|
206
212
|
this.alphaSliderRef = l;
|
|
207
213
|
}
|
|
208
|
-
}, null)])]), s(
|
|
214
|
+
}, null)])]), s(U, {
|
|
209
215
|
tabIndex: this.computedTabIndex,
|
|
210
216
|
rgba: this.rgba,
|
|
211
217
|
onRgbachange: this.onRgbaChange,
|
|
@@ -215,7 +221,7 @@ const Q = "rgba", y = "rgba(255, 255, 255, 1)", ce = /* @__PURE__ */ w({
|
|
|
215
221
|
disabled: t,
|
|
216
222
|
ref: "colorInput",
|
|
217
223
|
size: e
|
|
218
|
-
}, null), this.backgroundColor && s(
|
|
224
|
+
}, null), this.backgroundColor && s(q, {
|
|
219
225
|
bgColor: u(this.backgroundColor),
|
|
220
226
|
rgba: this.rgba
|
|
221
227
|
}, null)]);
|
|
@@ -223,14 +229,14 @@ const Q = "rgba", y = "rgba(255, 255, 255, 1)", ce = /* @__PURE__ */ w({
|
|
|
223
229
|
methods: {
|
|
224
230
|
onKeyDownHandler(e) {
|
|
225
231
|
const t = this.$el;
|
|
226
|
-
this.innerTabIndex === void 0 && (this.focused =
|
|
232
|
+
this.innerTabIndex === void 0 && (this.focused = A(e, t)), this.$emit("keydown", e);
|
|
227
233
|
},
|
|
228
234
|
onHexChange(e, t, i) {
|
|
229
235
|
const a = u(t), r = g(t);
|
|
230
236
|
this.currentHsva = r, this.currentBgColor = c(r.h), this.currentRgba = a, this.currentHex = e, this.dispatchChangeEvent(t, i.event, e, t);
|
|
231
237
|
},
|
|
232
238
|
onRgbaChange(e, t) {
|
|
233
|
-
const i =
|
|
239
|
+
const i = Y(e), a = o(i, "hex", this.opacity), r = g(i);
|
|
234
240
|
this.currentHsva = r, this.currentBgColor = c(r.h), this.currentRgba = e, this.currentHex = a, this.dispatchChangeEvent(i, t.event, a, i);
|
|
235
241
|
},
|
|
236
242
|
onAlphaSliderChange(e) {
|
|
@@ -250,7 +256,7 @@ const Q = "rgba", y = "rgba(255, 255, 255, 1)", ce = /* @__PURE__ */ w({
|
|
|
250
256
|
this.gradientWrapper.classList.remove("k-dragging");
|
|
251
257
|
},
|
|
252
258
|
onGradientWrapperClick(e) {
|
|
253
|
-
this.firstFocusable =
|
|
259
|
+
this.firstFocusable = M(this, "draghandle"), this.firstFocusable && this.firstFocusable.focus(), this.changePosition(e);
|
|
254
260
|
},
|
|
255
261
|
move(e, t, i) {
|
|
256
262
|
const a = this.hsva;
|
|
@@ -277,14 +283,14 @@ const Q = "rgba", y = "rgba(255, 255, 255, 1)", ce = /* @__PURE__ */ w({
|
|
|
277
283
|
}
|
|
278
284
|
},
|
|
279
285
|
changePosition(e) {
|
|
280
|
-
const t = this.getGradientRectMetrics(), i = e.clientX - t.left, a = e.clientY - t.top, r =
|
|
286
|
+
const t = this.getGradientRectMetrics(), i = e.clientX - t.left, a = e.clientY - t.top, r = C(i, 0, t.width), h = C(a, 0, t.height), p = Object.assign({}, this.hsva, {
|
|
281
287
|
s: r / t.width,
|
|
282
288
|
v: 1 - h / t.height
|
|
283
289
|
});
|
|
284
290
|
this.handleHsvaChange(p, e, e.event);
|
|
285
291
|
},
|
|
286
292
|
handleHsvaChange(e, t) {
|
|
287
|
-
const i =
|
|
293
|
+
const i = X(e), a = o(i, "hex", this.opacity), r = o(i, "rgba");
|
|
288
294
|
this.currentHsva = e, this.currentBgColor = c(e.h), this.currentRgba = u(i), this.currentHex = a, this.dispatchChangeEvent(i, t, a, r);
|
|
289
295
|
},
|
|
290
296
|
dispatchChangeEvent(e, t, i, a) {
|
|
@@ -325,11 +331,11 @@ const Q = "rgba", y = "rgba(255, 255, 255, 1)", ce = /* @__PURE__ */ w({
|
|
|
325
331
|
},
|
|
326
332
|
focus() {
|
|
327
333
|
this.focused = !0, setTimeout(() => {
|
|
328
|
-
|
|
334
|
+
G(this.$el);
|
|
329
335
|
}, 1);
|
|
330
336
|
}
|
|
331
337
|
}
|
|
332
338
|
});
|
|
333
339
|
export {
|
|
334
|
-
|
|
340
|
+
ue as ColorGradient
|
|
335
341
|
};
|
package/colors/ColorInput.js
CHANGED
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("vue"),m=require("./HexInput.js"),f=require("@progress/kendo-vue-buttons"),r=require("@progress/kendo-vue-labels"),L=require("@progress/kendo-vue-intl"),t=require("../messages/main.js"),o=require("@progress/kendo-vue-common"),k=require("@progress/kendo-svg-icons"),l=require("../numerictextbox/NumericTextBox.js");function d(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!a.isVNode(e)}const n=["rgba","rgb","hex"],C=a.defineComponent({name:"KendoColorInput",emits:{hexchange:null,rgbachange:null},props:{tabIndex:Number,rgba:{type:Object,default:function(){return{}}},hex:String,opacity:Boolean,disabled:Boolean,size:String},inject:{kendoLocalizationService:{default:null}},created(){this.hexInputId=o.guid(),this.rInputId=o.guid(),this.gInputId=o.guid(),this.bInputId=o.guid(),this.aInputId=o.guid()},data(){return{inputMode:n[0]}},mounted(){this.lastFocusable=this.$refs.hexinput||this.$refs.numerica||this.$refs.numericb},updated(){this.lastFocusable=this.$refs.hexinput||this.$refs.numerica||this.$refs.numericb},render(){const e=L.provideLocalizationService(this),s=e.toLanguageString(t.colorGradientHex,t.messages[t.colorGradientHex]),i=e.toLanguageString(t.colorGradientInputColorButton,t.messages[t.colorGradientInputColorButton]),c=e.toLanguageString(t.colorGradientR,t.messages[t.colorGradientR]),g=e.toLanguageString(t.colorGradientG,t.messages[t.colorGradientG]),u=e.toLanguageString(t.colorGradientB,t.messages[t.colorGradientB]),h=e.toLanguageString(t.colorGradientA,t.messages[t.colorGradientA]),p=e.toLanguageString(t.colorGradientRLabel,t.messages[t.colorGradientRLabel]),b=e.toLanguageString(t.colorGradientGLabel,t.messages[t.colorGradientGLabel]),I=e.toLanguageString(t.colorGradientBLabel,t.messages[t.colorGradientBLabel]),x=e.toLanguageString(t.colorGradientALabel,t.messages[t.colorGradientALabel]);return a.createVNode("div",{class:"k-colorgradient-inputs k-hstack"},[a.createVNode("div",{class:"k-vstack"},[a.createVNode(f.Button,{ariaLabel:i,tabIndex:this.tabIndex,type:"button",fillMode:"flat",icon:"caret-alt-expand",svgIcon:k.caretAltExpandIcon,class:"k-colorgradient-toggle-mode",onClick:this.onToggleModeChange,onKeydown:this.onKeyDown,size:this.$props.size},null)]),this.inputMode==="hex"&&a.createVNode("div",{class:"k-vstack k-flex-1"},[a.createVNode("span",{class:"k-hex-value"},[a.createVNode(m.HexInput,{id:this.hexInputId,tabIndex:this.tabIndex,hex:this.$props.hex,onHexchange:this.onHexChange,disabled:this.$props.disabled,ref:"hexinput",size:this.$props.size},null)]),a.createVNode(r.Label,{class:"k-colorgradient-input-label",editorId:this.hexInputId},d(s)?s:{default:()=>[s]})]),(this.inputMode==="rgb"||this.inputMode==="rgba")&&[a.createVNode("div",{class:"k-vstack"},[a.createVNode(l.NumericTextBox,{id:this.rInputId,tabIndex:this.tabIndex,value:this.$props.rgba.r,min:0,max:255,spinners:!1,format:"n",ariaLabel:p,onChange:this.onRgbaRChange,disabled:this.$props.disabled,size:this.$props.size},null),a.createVNode(r.Label,{class:"k-colorgradient-input-label",editorId:this.rInputId},d(c)?c:{default:()=>[c]})]),a.createVNode("div",{class:"k-vstack"},[a.createVNode(l.NumericTextBox,{id:this.gInputId,tabIndex:this.tabIndex,value:this.$props.rgba.g,min:0,max:255,spinners:!1,format:"n",ariaLabel:b,onChange:this.onRgbaGChange,disabled:this.$props.disabled,size:this.$props.size},null),a.createVNode(r.Label,{class:"k-colorgradient-input-label",editorId:this.gInputId},d(g)?g:{default:()=>[g]})]),a.createVNode("div",{class:"k-vstack"},[a.createVNode(l.NumericTextBox,{id:this.bInputId,tabIndex:this.tabIndex,value:this.$props.rgba.b,min:0,max:255,spinners:!1,format:"n",ariaLabel:I,onChange:this.onRgbaBChange,disabled:this.$props.disabled,ref:"numericb",size:this.$props.size},null),a.createVNode(r.Label,{class:"k-colorgradient-input-label",editorId:this.bInputId},d(u)?u:{default:()=>[u]})])],this.inputMode==="rgba"&&a.createVNode("div",{class:"k-vstack"},[this.$props.opacity&&a.createVNode(l.NumericTextBox,{id:this.aInputId,tabIndex:this.tabIndex,value:this.$props.rgba.a,min:0,max:1,step:.01,spinners:!1,format:"n2",ariaLabel:x,onChange:this.onRgbaAChange,disabled:this.$props.disabled,ref:"numerica",size:this.$props.size},null),this.$props.opacity&&a.createVNode(r.Label,{class:"k-colorgradient-input-label",editorId:this.aInputId},d(h)?h:{default:()=>[h]})])])},methods:{onHexChange(e){this.$emit("hexchange",e.hex,e.value,e)},onRgbaRChange(e){this.dispatchRgbaChange({r:e.value},e)},onRgbaGChange(e){this.dispatchRgbaChange({g:e.value},e)},onRgbaBChange(e){this.dispatchRgbaChange({b:e.value},e)},onRgbaAChange(e){this.dispatchRgbaChange({a:e.value},e)},dispatchRgbaChange(e,s){let i={...this.$props.rgba};e.r!==void 0&&(i.r=e.r),e.g!==void 0&&(i.g=e.g),e.b!==void 0&&(i.b=e.b),e.a!==void 0&&(i.a=e.a),this.$emit("rgbachange",i,s)},onToggleModeChange(){const e=n.length-1===n.indexOf(this.inputMode)?0:n.indexOf(this.inputMode)+1;if(this.$props.opacity)this.inputMode=n[e];else{const s=n[e]==="rgba"?e+1:e;this.inputMode=n[s]}},onKeyDown(e){e.keyCode===o.Keys.enter&&e.stopPropagation()}}});exports.ColorInput=C;
|