@progress/kendo-react-inputs 9.4.0-develop.6 → 9.4.0-develop.7
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/checkbox/Checkbox.js +1 -1
- package/checkbox/Checkbox.mjs +0 -1
- package/colors/ColorContrastLabels.js +1 -1
- package/colors/ColorContrastLabels.mjs +2 -3
- package/colors/ColorContrastSvg.js +1 -1
- package/colors/ColorContrastSvg.mjs +11 -12
- package/colors/ColorGradient.js +1 -1
- package/colors/ColorGradient.mjs +85 -80
- package/colors/ColorInput.js +1 -1
- package/colors/ColorInput.mjs +55 -45
- package/colors/ColorPalette.js +1 -1
- package/colors/ColorPalette.mjs +55 -47
- package/colors/ColorPicker.js +1 -1
- package/colors/ColorPicker.mjs +312 -183
- package/colors/FlatColorPicker.js +1 -1
- package/colors/FlatColorPicker.mjs +225 -140
- package/colors/HexInput.js +1 -1
- package/colors/HexInput.mjs +10 -9
- package/colors/Picker.js +1 -1
- package/colors/Picker.mjs +22 -23
- package/colors/models/palette-presets.js +1 -1
- package/colors/models/palette-presets.mjs +1 -2
- package/colors/utils/color-cache.js +1 -1
- package/colors/utils/color-cache.mjs +12 -13
- package/colors/utils/color-palette.service.js +1 -1
- package/colors/utils/color-palette.service.mjs +0 -1
- package/colors/utils/color-parser.js +1 -1
- package/colors/utils/color-parser.mjs +5 -6
- package/colors/utils/misc.js +1 -1
- package/colors/utils/misc.mjs +0 -1
- package/colors/utils/svg-calc.js +1 -1
- package/colors/utils/svg-calc.mjs +9 -10
- package/common/AdaptiveMode.js +8 -0
- package/common/AdaptiveMode.mjs +73 -0
- package/dist/cdn/js/kendo-react-inputs.js +1 -1
- package/index.d.mts +118 -10
- package/index.d.ts +118 -10
- package/index.js +2 -1
- package/index.mjs +4 -4
- package/input/Input.js +1 -1
- package/input/Input.mjs +8 -9
- package/input/InputClearValue.js +1 -1
- package/input/InputClearValue.mjs +3 -4
- package/input/InputPrefix.js +1 -1
- package/input/InputPrefix.mjs +4 -5
- package/input/InputSeparator.js +1 -1
- package/input/InputSeparator.mjs +8 -9
- package/input/InputSuffix.js +1 -1
- package/input/InputSuffix.mjs +4 -5
- package/input/InputValidationIcon.js +1 -1
- package/input/InputValidationIcon.mjs +3 -4
- package/maskedtextbox/MaskedTextBox.js +1 -1
- package/maskedtextbox/MaskedTextBox.mjs +0 -1
- package/maskedtextbox/masking.service.js +1 -1
- package/maskedtextbox/masking.service.mjs +0 -1
- package/maskedtextbox/parsing/combinators.js +1 -1
- package/maskedtextbox/parsing/combinators.mjs +8 -9
- package/maskedtextbox/parsing/parsers.js +1 -1
- package/maskedtextbox/parsing/parsers.mjs +0 -1
- package/maskedtextbox/parsing/result.js +1 -1
- package/maskedtextbox/parsing/result.mjs +7 -8
- package/maskedtextbox/parsing/stream.js +1 -1
- package/maskedtextbox/parsing/stream.mjs +0 -1
- package/maskedtextbox/utils.js +1 -1
- package/maskedtextbox/utils.mjs +11 -12
- package/messages/index.js +1 -1
- package/messages/index.mjs +39 -38
- package/numerictextbox/NumericTextBox.js +1 -1
- package/numerictextbox/NumericTextBox.mjs +0 -1
- package/numerictextbox/utils/index.js +1 -1
- package/numerictextbox/utils/index.mjs +0 -1
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +2 -3
- package/package.json +9 -9
- package/radiobutton/RadioButton.js +1 -1
- package/radiobutton/RadioButton.mjs +0 -1
- package/radiobutton/RadioGroup.js +1 -1
- package/radiobutton/RadioGroup.mjs +0 -1
- package/range-slider/RangeSlider.js +1 -1
- package/range-slider/RangeSlider.mjs +0 -1
- package/range-slider/range-raducer.js +1 -1
- package/range-slider/range-raducer.mjs +2 -3
- package/rating/Rating.js +1 -1
- package/rating/Rating.mjs +0 -1
- package/rating/RatingItem.js +1 -1
- package/rating/RatingItem.mjs +0 -1
- package/rating/rating-reducer.js +1 -1
- package/rating/rating-reducer.mjs +0 -1
- package/rating/utils/index.js +1 -1
- package/rating/utils/index.mjs +0 -1
- package/signature/Signature.js +1 -1
- package/signature/Signature.mjs +0 -1
- package/signature/utils/index.js +1 -1
- package/signature/utils/index.mjs +3 -4
- package/slider/Slider.js +1 -1
- package/slider/Slider.mjs +0 -1
- package/slider/SliderLabel.js +1 -1
- package/slider/SliderLabel.mjs +3 -4
- package/switch/Switch.js +1 -1
- package/switch/Switch.mjs +0 -1
- package/textarea/TextArea.js +1 -1
- package/textarea/TextArea.mjs +0 -1
- package/textbox/Textbox.js +1 -1
- package/textbox/Textbox.mjs +7 -8
package/checkbox/Checkbox.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
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Ce=require("react"),e=require("prop-types"),o=require("@progress/kendo-react-common"),ye=require("../package-metadata.js"),xe=require("@progress/kendo-react-intl"),S=require("../messages/index.js");function Pe(s){const u=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(s){for(const r in s)if(r!=="default"){const k=Object.getOwnPropertyDescriptor(s,r);Object.defineProperty(u,r,k.get?k:{enumerable:!0,get:()=>s[r]})}}return u.default=s,Object.freeze(u)}const t=Pe(Ce),A=o.createPropsContext(),I=t.forwardRef((s,u)=>{o.validatePackage(ye.packageMetadata);const r=o.usePropsContext(A,s),{ariaDescribedBy:k,ariaLabelledBy:W,checked:O,className:G,labelClassName:J,children:Q,defaultChecked:X,disabled:n,defaultValue:Y,id:q,size:h=$.size,rounded:v=$.rounded,label:B,labelPlacement:z,name:Z,labelOptional:ee,onChange:g,onFocus:C,onBlur:y,tabIndex:te,value:i,required:m,valid:D,validationMessage:F,validityStyles:T,autoFocus:ae,visited:Ve,touched:Ee,modified:Me,...ne}=r,l=t.useRef(null),K=t.useCallback(()=>{l.current&&l.current.focus()},[]),d=t.useCallback(()=>({element:l.current,focus:K,get name(){return l.current&&l.current.name}}),[K]);t.useImperativeHandle(u,d);const[oe,le]=t.useState(X),[ce,se]=t.useState(Y),R=typeof i=="boolean"||i===null,x=O!==void 0,b=R,P=b?i:ce,V=x?O:b?void 0:oe,w=V===void 0&&P,j=w?P:V,p=w||b?i===null?i:void 0:i||P,re=j===null||p===null,L=o.useId(),ie=xe.useLocalization(),_=a=>ie.toLanguageString(a,S.messages[a]),H=_(S.checkboxValidation),de=_(S.checkboxOptionalText),E=D!==void 0?D:m?!!V:!0;t.useEffect(()=>{l.current&&l.current.setCustomValidity&&l.current.setCustomValidity(E?"":F||H)},[E,F,H]);const f=t.useCallback((a,c)=>{!b&&!n&&(se(c),!x&&!n&&le(c)),g&&!n&&o.dispatchEvent(g,a,{...d(),value:c},{value:c})},[x,n,g,b,d]),ue=t.useCallback(a=>{const c=a.target.checked;f(a,c)},[f,i]),be=t.useCallback(a=>{if(n)return;const{keyCode:c}=a,ge=a.currentTarget.checked;c===o.Keys.space&&(a.preventDefault(),a.stopPropagation(),f(a,!ge))},[n,f]),ke=t.useCallback(a=>{if(n)return;const{keyCode:c}=a;c===o.Keys.space&&a.preventDefault()},[n]),me=t.useCallback(a=>{C&&!n&&o.dispatchEvent(C,a,d(),void 0)},[C,n,d]),pe=t.useCallback(a=>{y&&!n&&o.dispatchEvent(y,a,d(),void 0)},[y,n,d]),fe=o.useDir(l,r.dir),he=o.classNames("k-checkbox-wrap",G),U={type:"checkbox",className:o.classNames("k-checkbox",{[`k-checkbox-${o.kendoThemeMaps.sizeMap[h]||h}`]:h,[`k-rounded-${o.kendoThemeMaps.roundedMap[v]||v}`]:v,"k-indeterminate":re,"k-disabled":n,"k-invalid k-invalid":!(E||T!==void 0||T===!0)}),ref:l,name:Z,id:q||L,disabled:n,required:m!==void 0?m:!1,tabIndex:o.getTabIndex(te,n),role:"checkbox",checked:!!j,"aria-describedby":k,"aria-labelledby":W,"aria-disabled":n||void 0,"aria-required":m,autoFocus:ae,...ne,onChange:ue,onKeyDown:be,onKeyUp:ke,onFocus:me,onBlur:pe},ve=p===void 0?t.createElement("input",{...U}):t.createElement("input",{...U,value:R?void 0:p===null?"":p}),M=B!==void 0?t.createElement("label",{className:o.classNames("k-checkbox-label",J),htmlFor:q||L,style:{userSelect:"none"}},B,ee&&t.createElement("span",{className:"k-label-optional"},de)):null,N=t.createElement("span",{className:he},ve,Q);return t.createElement(t.Fragment,null,z==="before"?t.createElement("div",{dir:"rtl"},N,M):z==="after"?t.createElement("div",{dir:"ltr"},N,M):t.createElement("div",{dir:fe},N,M))});I.propTypes={checked:e.bool,className:e.string,defaultChecked:e.bool,defaultValue:e.any,dir:e.string,disabled:e.bool,id:e.string,size:e.oneOf([null,"small","medium","large"]),rounded:e.oneOf([null,"small","medium","large"]),ariaLabelledBy:e.string,ariaDescribedBy:e.string,label:e.any,labelPlacement:e.string,labelOptional:e.bool,name:e.string,tabIndex:e.number,value:e.any,validationMessage:e.string,required:e.bool,validate:e.bool,valid:e.bool,autoFocus:e.bool,onChange:e.func,onFocus:e.func,onBlur:e.func};const $={size:"medium",rounded:"medium",autoFocus:!1};I.displayName="KendoCheckbox";exports.Checkbox=I;exports.CheckboxPropsContext=A;
|
package/checkbox/Checkbox.mjs
CHANGED
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use client";
|
|
9
8
|
import * as a from "react";
|
|
10
9
|
import e from "prop-types";
|
|
11
10
|
import { createPropsContext as ye, validatePackage as xe, usePropsContext as Ve, useId as Pe, dispatchEvent as V, Keys as H, useDir as Ee, classNames as P, kendoThemeMaps as U, getTabIndex as Be } from "@progress/kendo-react-common";
|
|
@@ -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
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("react"),d=require("@progress/kendo-react-intl"),t=require("../messages/index.js"),C=require("./utils/color-parser.js"),c=require("@progress/kendo-react-common"),s=require("@progress/kendo-svg-icons");function I(n){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const o in n)if(o!=="default"){const l=Object.getOwnPropertyDescriptor(n,o);Object.defineProperty(a,o,l.get?l:{enumerable:!0,get:()=>n[o]})}}return a.default=n,Object.freeze(a)}const e=I(b);class g extends e.Component{render(){const a=d.provideLocalizationService(this),o=a.toLanguageString(t.colorGradientContrastRatio,t.messages[t.colorGradientContrastRatio]),l=a.toLanguageString(t.colorGradientAALevel,t.messages[t.colorGradientAALevel]),u=a.toLanguageString(t.colorGradientAAALevel,t.messages[t.colorGradientAAALevel]),p=a.toLanguageString(t.colorGradientPass,t.messages[t.colorGradientPass]),k=a.toLanguageString(t.colorGradientFail,t.messages[t.colorGradientFail]),r=C.getContrastFromTwoRGBAs(this.props.rgba,this.props.bgColor),v=4.5.toFixed(1),A=7 .toFixed(1),x=`${o}: ${r.toFixed(2)}`,E=`${l}: ${v}`,L=`${u}: ${A}`,i=e.createElement("span",{className:"k-contrast-validation k-text-success"},p," ",e.createElement(c.IconWrap,{name:"check",icon:s.checkIcon})),m=e.createElement("span",{className:"k-contrast-validation k-text-error"},k," ",e.createElement(c.IconWrap,{name:"x",icon:s.xIcon}));return e.createElement("div",{className:"k-vbox k-colorgradient-color-contrast"},e.createElement("div",{className:"k-contrast-ratio"},e.createElement("span",{className:"k-contrast-ratio-text"},x),r>=4.5?e.createElement("span",{className:"k-contrast-validation k-text-success"},e.createElement(c.IconWrap,{name:"check",icon:s.checkIcon}),r>=7&&e.createElement(c.IconWrap,{name:"check",icon:s.checkIcon})):e.createElement("span",{className:"k-contrast-validation k-text-error"},e.createElement(c.IconWrap,{name:"x",icon:s.xIcon}))),e.createElement("div",null,e.createElement("span",null,E),r>=4.5?i:m),e.createElement("div",null,e.createElement("span",null,L),r>=7?i:m))}}d.registerForLocalization(g);exports.ColorContrastLabels=g;
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use client";
|
|
9
8
|
import * as e from "react";
|
|
10
9
|
import { provideLocalizationService as N, registerForLocalization as S } from "@progress/kendo-react-intl";
|
|
11
10
|
import { colorGradientContrastRatio as i, messages as o, colorGradientAALevel as l, colorGradientAAALevel as m, colorGradientPass as g, colorGradientFail as d } from "../messages/index.mjs";
|
|
@@ -20,10 +19,10 @@ class G extends e.Component {
|
|
|
20
19
|
), k = t.toLanguageString(
|
|
21
20
|
l,
|
|
22
21
|
o[l]
|
|
23
|
-
),
|
|
22
|
+
), v = t.toLanguageString(
|
|
24
23
|
m,
|
|
25
24
|
o[m]
|
|
26
|
-
),
|
|
25
|
+
), A = t.toLanguageString(g, o[g]), E = t.toLanguageString(d, o[d]), a = F(this.props.rgba, this.props.bgColor), u = 4.5.toFixed(1), L = 7 .toFixed(1), C = `${x}: ${a.toFixed(2)}`, f = `${k}: ${u}`, h = `${v}: ${L}`, s = /* @__PURE__ */ e.createElement("span", { className: "k-contrast-validation k-text-success" }, A, " ", /* @__PURE__ */ e.createElement(n, { name: "check", icon: r })), c = /* @__PURE__ */ e.createElement("span", { className: "k-contrast-validation k-text-error" }, E, " ", /* @__PURE__ */ e.createElement(n, { name: "x", icon: p }));
|
|
27
26
|
return /* @__PURE__ */ e.createElement("div", { className: "k-vbox k-colorgradient-color-contrast" }, /* @__PURE__ */ e.createElement("div", { className: "k-contrast-ratio" }, /* @__PURE__ */ e.createElement("span", { className: "k-contrast-ratio-text" }, C), a >= 4.5 ? /* @__PURE__ */ e.createElement("span", { className: "k-contrast-validation k-text-success" }, /* @__PURE__ */ e.createElement(n, { name: "check", icon: r }), a >= 7 && /* @__PURE__ */ e.createElement(n, { name: "check", icon: r })) : /* @__PURE__ */ e.createElement("span", { className: "k-contrast-validation k-text-error" }, /* @__PURE__ */ e.createElement(n, { name: "x", icon: p }))), /* @__PURE__ */ e.createElement("div", null, /* @__PURE__ */ e.createElement("span", null, f), a >= 4.5 ? s : c), /* @__PURE__ */ e.createElement("div", null, /* @__PURE__ */ e.createElement("span", null, h), a >= 7 ? s : c));
|
|
28
27
|
}
|
|
29
28
|
}
|
|
@@ -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
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("react"),i=require("./utils/svg-calc.js"),p=require("./utils/color-parser.js");function S(l){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(l){for(const r in l)if(r!=="default"){const o=Object.getOwnPropertyDescriptor(l,r);Object.defineProperty(e,r,o.get?o:{enumerable:!0,get:()=>l[r]})}}return e.default=l,Object.freeze(e)}const h=S(b),C=4.5,m=7,f=16;class A extends h.Component{renderSvgCurveLine(){const e=this.props.metrics,r=(a,u,n,t,s)=>{const g=(n+t)/2,v=Object.assign({},this.props.hsva,{s:u/e.width,v:1-g/e.height}),c=p.getContrastFromTwoRGBAs(p.getRGBA(p.getColorFromHSV(v)),p.getRGBA(this.props.backgroundColor||""));return n+.5>t?c<a+1&&c>a-1?g:null:s(c,a)?r(a,u,n,t-(t-n)/2,s):r(a,u,n+(t-n)/2,t,s)},o=(a,u,n=!1)=>{const t=[];for(let s=0;s<=e.width;s+=e.width/u){const g=r(a,s,0,e.height,n?(v,c)=>v<c:(v,c)=>v>c);g!==null&&t.push([s,g])}return t},d=i.bezierCommand(i.controlPoint(i.line));return i.svgPath(o(C,f),d)+i.svgPath(o(C,f,!0),d)+i.svgPath(o(m,f),d)+i.svgPath(o(m,f,!0),d)}shouldComponentUpdate(e){return!(e.hsva.h===this.props.hsva.h&&e.hsva.a===this.props.hsva.a&&this.props.backgroundColor===e.backgroundColor)}render(){return h.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",className:"k-color-contrast-svg",dangerouslySetInnerHTML:{__html:this.renderSvgCurveLine()},style:{position:"absolute",overflow:"visible",pointerEvents:"none",left:0,top:0,zIndex:3}})}}exports.ColorContrastSvg=A;
|
|
@@ -5,33 +5,32 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
"use client";
|
|
9
8
|
import * as h from "react";
|
|
10
9
|
import { svgPath as p, bezierCommand as f, controlPoint as A, line as b } from "./utils/svg-calc.mjs";
|
|
11
10
|
import { getContrastFromTwoRGBAs as S, getRGBA as m, getColorFromHSV as T } from "./utils/color-parser.mjs";
|
|
12
11
|
const C = 4.5, g = 7, v = 16;
|
|
13
12
|
class w extends h.Component {
|
|
14
13
|
renderSvgCurveLine() {
|
|
15
|
-
const t = this.props.metrics, d = (
|
|
16
|
-
const
|
|
14
|
+
const t = this.props.metrics, d = (o, i, r, e, s) => {
|
|
15
|
+
const a = (r + e) / 2, l = Object.assign({}, this.props.hsva, {
|
|
17
16
|
s: i / t.width,
|
|
18
|
-
v: 1 -
|
|
19
|
-
}),
|
|
20
|
-
m(T(
|
|
17
|
+
v: 1 - a / t.height
|
|
18
|
+
}), n = S(
|
|
19
|
+
m(T(l)),
|
|
21
20
|
m(this.props.backgroundColor || "")
|
|
22
21
|
);
|
|
23
|
-
return r + 0.5 > e ?
|
|
24
|
-
}, u = (
|
|
22
|
+
return r + 0.5 > e ? n < o + 1 && n > o - 1 ? a : null : s(n, o) ? d(o, i, r, e - (e - r) / 2, s) : d(o, i, r + (e - r) / 2, e, s);
|
|
23
|
+
}, u = (o, i, r = !1) => {
|
|
25
24
|
const e = [];
|
|
26
25
|
for (let s = 0; s <= t.width; s += t.width / i) {
|
|
27
|
-
const
|
|
28
|
-
|
|
26
|
+
const a = d(
|
|
27
|
+
o,
|
|
29
28
|
s,
|
|
30
29
|
0,
|
|
31
30
|
t.height,
|
|
32
|
-
r ? (
|
|
31
|
+
r ? (l, n) => l < n : (l, n) => l > n
|
|
33
32
|
);
|
|
34
|
-
|
|
33
|
+
a !== null && e.push([s, a]);
|
|
35
34
|
}
|
|
36
35
|
return e;
|
|
37
36
|
}, c = f(A(b));
|
package/colors/ColorGradient.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
|
|
8
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("react"),n=require("prop-types"),r=require("@progress/kendo-react-common"),H=require("../package-metadata.js"),m=require("../slider/Slider.js"),v=require("./utils/misc.js"),o=require("./utils/color-parser.js"),d=require("./utils/color-cache.js"),x=require("./ColorInput.js"),w=require("./ColorContrastLabels.js"),G=require("./ColorContrastSvg.js"),D=require("@progress/kendo-react-intl"),g=require("../messages/index.js");function L(u){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(u){for(const s in u)if(s!=="default"){const e=Object.getOwnPropertyDescriptor(u,s);Object.defineProperty(t,s,e.get?e:{enumerable:!0,get:()=>u[s]})}}return t.default=u,Object.freeze(t)}const l=L(E),A="rgba",S="rgba(255, 255, 255, 1)",b=2,C=5,c=class c extends l.Component{constructor(t){super(t),this.wrapperRef=l.createRef(),this.hsvGradientRef=l.createRef(),this.focus=()=>{this.wrapperRef&&this.wrapperRef.current&&this.wrapperRef.current.focus()},this.onHexChange=(e,a,i)=>{if(this.isUncontrolled){const h=o.getHSV(a);this.setState({hsva:h,backgroundColor:o.getColorFromHue(h.h),rgba:o.getRGBA(a),hex:e})}else d.cacheHex(this.state.guid,a,e);this.dispatchChangeEvent(a,i,i.nativeEvent)},this.onRgbaChange=(e,a)=>{const i=o.getColorFromRGBA(e);if(this.isUncontrolled){const h=o.getHSV(i),p=o.parseColor(i,"hex");this.setState({hsva:h,backgroundColor:o.getColorFromHue(h.h),rgba:e,hex:p})}else d.cacheRgba(this.state.guid,i,e);this.dispatchChangeEvent(i,a.syntheticEvent,a.nativeEvent)},this.onAlphaSliderChange=e=>{this.handleHsvaChange(Object.assign({},this.state.hsva,{a:e.value/100}),e.syntheticEvent,e.nativeEvent)},this.onHueSliderChange=e=>{this.handleHsvaChange(Object.assign({},this.state.hsva,{h:e.value}),e.syntheticEvent,e.nativeEvent)},this.onDrag=e=>{this.gradientWrapper.classList.add("k-dragging"),this.changePosition(e.event)},this.onRelease=()=>{this.gradientWrapper.classList.remove("k-dragging")},this.onGradientWrapperClick=e=>{this.changePosition(e)},this.onHsvGradientKeyDown=e=>{var a;(a=this.hsvNavigation)==null||a.triggerKeyboardEvent(e)},this.onHsvGradientValueChange=(e,a,i)=>{const h=parseInt(e.style.top,10)+i,p=parseInt(e.style.left,10)+a;e.style.top=`${h}px`,e.style.left=`${p}px`,this.moveDragHandle(p,h)},this.changePosition=e=>{const a=this.getGradientRectMetrics(),i=e.clientX-a.left,h=e.clientY-a.top;this.moveDragHandle(i,h)},this.onFocus=e=>{this.props.onFocus&&this.props.onFocus.call(void 0,{nativeEvent:e,target:this})},this.onKeyDown=e=>{var a;(a=this.navigation)==null||a.triggerKeyboardEvent(e)},r.validatePackage(H.packageMetadata);const s=t.value||t.defaultValue||o.parseColor(S,A);this.state=Object.assign({},c.getStateFromValue(s),{isFirstRender:!0,guid:this.props.id})}static getDerivedStateFromProps(t,s){return t.value&&!s.isFirstRender?c.getStateFromValue(t.value,s.guid):null}componentDidMount(){if(this.setAlphaSliderBackground(this.state.backgroundColor),this.state.isFirstRender&&this.setState({isFirstRender:!1}),this.wrapperRef&&this.hsvGradientRef){let t=0,s=0;this.hsvNavigation=new r.Navigation({tabIndex:0,root:this.hsvGradientRef,selectors:[".k-hsv-rectangle .k-hsv-draghandle"],keyboardEvents:{keydown:{ArrowDown:(e,a,i)=>{s=i.shiftKey?this.props.gradientSliderSmallStep||b:this.props.gradientSliderStep||C,this.onHsvGradientValueChange(e,0,s)},ArrowUp:(e,a,i)=>{s=i.shiftKey?-(this.props.gradientSliderSmallStep||b):-(this.props.gradientSliderStep||C),this.onHsvGradientValueChange(e,0,s)},ArrowLeft:(e,a,i)=>{t=i.shiftKey?-(this.props.gradientSliderSmallStep||b):-(this.props.gradientSliderStep||C),this.onHsvGradientValueChange(e,t,0)},ArrowRight:(e,a,i)=>{t=i.shiftKey?this.props.gradientSliderSmallStep||b:this.props.gradientSliderStep||C,this.onHsvGradientValueChange(e,t,0)}}}})}this.wrapperRef&&this.wrapperRef.current&&(this.props.isInsidePopup?this.hsvGradientRef.current&&this.hsvGradientRef.current.focus():this.navigation=new r.Navigation({tabIndex:0,root:this.wrapperRef,selectors:[".k-colorgradient"],keyboardEvents:{keydown:{Tab:(t,s,e)=>{r.getActiveElement(document)===t?r.disableNavigatableContainer(t):r.keepFocusInContainer(e,t,r.TABBABLE_ELEMENTS)},Enter:(t,s,e)=>{r.getActiveElement(document)===t&&(r.focusFirstFocusableChild(t),r.enableNavigatableContainer(t))},Escape:(t,s,e)=>{r.getActiveElement(document)!==t&&(t.focus(),r.disableNavigatableContainer(t))}}}}))}componentWillUnmount(){d.removeCachedColor(this.state.guid)}componentDidUpdate(t,s){s.backgroundColor!==this.state.backgroundColor&&this.setAlphaSliderBackground(this.state.backgroundColor)}renderRectangleDragHandle(){const t={};if(!this.state.isFirstRender){const s=this.getGradientRectMetrics(),e=(1-this.state.hsva.v)*s.height,a=this.state.hsva.s*s.width;t.top=`${e}px`,t.left=`${a}px`}return l.createElement("div",{ref:this.hsvGradientRef,role:"slider",tabIndex:r.getTabIndex(this.props.tabIndex,this.props.disabled),"aria-valuetext":this.props.ariaValueText,"aria-valuenow":parseInt(this.state.hex.substring(1),16),"aria-label":this.props.ariaLabelHSV,"aria-orientation":void 0,"aria-disabled":this.props.disabled?"true":void 0,className:"k-hsv-draghandle k-draghandle",style:t,onKeyDown:this.onHsvGradientKeyDown})}moveDragHandle(t,s){const e=this.getGradientRectMetrics(),a=e.width,i=e.height,h=v.fitIntoBounds(s,0,i),p=v.fitIntoBounds(t,0,a),y=Object.assign({},this.state.hsva,{s:p/a,v:1-h/i});this.handleHsvaChange(y,{},{})}handleHsvaChange(t,s,e){const a=o.getColorFromHSV(t),i=o.parseColor(a,"hex");this.isUncontrolled||d.cacheHsva(this.state.guid,a,t),this.setState({hsva:t,backgroundColor:o.getColorFromHue(t.h),rgba:o.getRGBA(a),hex:i}),this.dispatchChangeEvent(a,s,e)}dispatchChangeEvent(t,s,e){this.props.onChange&&this.props.onChange.call(void 0,{syntheticEvent:s,nativeEvent:e,target:this,value:t})}static getStateFromValue(t,s){v.isPresent(o.parseColor(t,"hex"))||(t=S);const e=d.getCachedHsva(s,t)||o.getHSV(t),a=d.getCachedRgba(s,t)||o.getRGBA(t),i=d.getCachedHex(s,t)||o.parseColor(t,"hex"),h=o.getColorFromHue(e.h);return{hsva:e,backgroundColor:h,rgba:a,hex:i}}setAlphaSliderBackground(t){this.props.opacity&&this.alphaSlider&&this.alphaSlider.sliderTrack&&(this.alphaSlider.sliderTrack.style.background=`linear-gradient(to ${this.props._adaptive?"right":"top"}, transparent, ${t})`)}get isUncontrolled(){return this.props.value===void 0}getGradientRectMetrics(){return this.gradientWrapper.getBoundingClientRect()}render(){const t=D.provideLocalizationService(this);return l.createElement("div",{id:this.props.id,role:this.props.role,className:r.classNames("k-colorgradient",{[`k-colorgradient-${r.kendoThemeMaps.sizeMap[this.props.size]||this.props.size}`]:this.props.size,"k-disabled":this.props.disabled},this.props.className),"aria-disabled":this.props.disabled?"true":void 0,style:this.props.style,ref:this.wrapperRef,tabIndex:r.getTabIndex(this.props.tabIndex,this.props.disabled),"aria-label":this.props.ariaLabel,"aria-labelledby":this.props.ariaLabelledBy,"aria-describedby":this.props.ariaDescribedBy,onFocus:this.onFocus,onKeyDown:this.onKeyDown},l.createElement("div",{className:`k-colorgradient-canvas ${this.props._adaptive?"k-vstack":"k-hstack"}`},l.createElement("div",{className:"k-hsv-rectangle",style:{background:this.state.backgroundColor}},l.createElement(r.Draggable,{onDrag:this.onDrag,onRelease:this.onRelease,ref:s=>this.gradientWrapper=s?s.element:void 0},l.createElement("div",{className:"k-hsv-gradient",style:{touchAction:"none"},onClick:this.onGradientWrapperClick},this.renderRectangleDragHandle())),this.props.backgroundColor&&!this.state.isFirstRender&&l.createElement(G.ColorContrastSvg,{metrics:this.gradientWrapper?this.getGradientRectMetrics():void 0,hsva:this.state.hsva,backgroundColor:this.props.backgroundColor})),l.createElement("div",{className:`k-hsv-controls ${this.props._adaptive?"k-vstack":"k-hstack"}`},l.createElement(m.Slider,{value:this.state.hsva.h,buttons:!1,vertical:!this.props._adaptive,min:0,max:360,step:5,onChange:this.onHueSliderChange,className:"k-hue-slider k-colorgradient-slider",disabled:this.props.disabled,ariaLabel:t.toLanguageString(g.colorGradientHueSliderLabel,g.messages[g.colorGradientHueSliderLabel])}),this.props.opacity&&l.createElement(m.Slider,{value:v.isPresent(this.state.hsva.a)?this.state.hsva.a*100:100,buttons:!1,vertical:!this.props._adaptive,min:0,max:100,step:1,ariaLabel:t.toLanguageString(g.colorGradientAlphaSliderLabel,g.messages[g.colorGradientAlphaSliderLabel]),onChange:this.onAlphaSliderChange,className:"k-alpha-slider k-colorgradient-slider",disabled:this.props.disabled,ref:s=>this.alphaSlider=s}))),l.createElement(x,{rgba:this.state.rgba,onRgbaChange:this.onRgbaChange,hex:this.state.hex,onHexChange:this.onHexChange,opacity:this.props.opacity,disabled:this.props.disabled,defaultInputMode:this.props.format,size:this.props.size,fillMode:this.props.fillMode}),this.props.backgroundColor&&l.createElement(w.ColorContrastLabels,{bgColor:o.getRGBA(this.props.backgroundColor),rgba:this.state.rgba}))}};c.displayName="ColorGradient",c.propTypes={defaultValue:n.string,value:n.string,onChange:n.func,onFocus:n.func,opacity:n.bool,backgroundColor:n.string,format:n.any,disabled:n.bool,style:n.any,id:n.string,role:n.string,ariaLabel:n.string,ariaLabelledBy:n.string,ariaDescribedBy:n.string,className:n.string,size:n.oneOf(["small","medium","large",null])},c.defaultProps={opacity:!0,role:"textbox",format:"rgb",size:"medium"};let f=c;const k=r.createPropsContext(),R=r.withIdHOC(r.withPropsContext(k,f));R.displayName="KendoReactColorGradient";exports.ColorGradient=R;exports.ColorGradientPropsContext=k;exports.ColorGradientWithoutContext=f;
|
package/colors/ColorGradient.mjs
CHANGED
|
@@ -5,36 +5,35 @@
|
|
|
5
5
|
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
6
|
*-------------------------------------------------------------------------------------------
|
|
7
7
|
*/
|
|
8
|
-
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import { Slider as k } from "../slider/Slider.mjs";
|
|
8
|
+
import * as o from "react";
|
|
9
|
+
import r from "prop-types";
|
|
10
|
+
import { validatePackage as L, Navigation as f, getActiveElement as u, disableNavigatableContainer as C, keepFocusInContainer as F, TABBABLE_ELEMENTS as G, focusFirstFocusableChild as A, enableNavigatableContainer as N, getTabIndex as k, classNames as I, kendoThemeMaps as M, Draggable as _, createPropsContext as T, withIdHOC as B, withPropsContext as P } from "@progress/kendo-react-common";
|
|
11
|
+
import { packageMetadata as V } from "../package-metadata.mjs";
|
|
12
|
+
import { Slider as S } from "../slider/Slider.mjs";
|
|
14
13
|
import { isPresent as R, fitIntoBounds as y } from "./utils/misc.mjs";
|
|
15
|
-
import { getHSV as b, getColorFromHue as
|
|
16
|
-
import { cacheHex as
|
|
17
|
-
import
|
|
18
|
-
import { ColorContrastLabels as
|
|
19
|
-
import { ColorContrastSvg as
|
|
20
|
-
import { provideLocalizationService as
|
|
14
|
+
import { getHSV as b, getColorFromHue as p, getRGBA as c, getColorFromRGBA as K, parseColor as d, getColorFromHSV as U } from "./utils/color-parser.mjs";
|
|
15
|
+
import { cacheHex as z, cacheRgba as O, removeCachedColor as $, cacheHsva as W, getCachedHsva as j, getCachedRgba as X, getCachedHex as Y } from "./utils/color-cache.mjs";
|
|
16
|
+
import q from "./ColorInput.mjs";
|
|
17
|
+
import { ColorContrastLabels as J } from "./ColorContrastLabels.mjs";
|
|
18
|
+
import { ColorContrastSvg as Q } from "./ColorContrastSvg.mjs";
|
|
19
|
+
import { provideLocalizationService as Z } from "@progress/kendo-react-intl";
|
|
21
20
|
import { colorGradientHueSliderLabel as E, messages as x, colorGradientAlphaSliderLabel as H } from "../messages/index.mjs";
|
|
22
|
-
const
|
|
21
|
+
const ee = "rgba", w = "rgba(255, 255, 255, 1)", g = 2, v = 5, h = class h extends o.Component {
|
|
23
22
|
constructor(t) {
|
|
24
|
-
super(t), this.wrapperRef =
|
|
23
|
+
super(t), this.wrapperRef = o.createRef(), this.hsvGradientRef = o.createRef(), this.focus = () => {
|
|
25
24
|
this.wrapperRef && this.wrapperRef.current && this.wrapperRef.current.focus();
|
|
26
25
|
}, this.onHexChange = (e, s, i) => {
|
|
27
26
|
if (this.isUncontrolled) {
|
|
28
27
|
const n = b(s);
|
|
29
|
-
this.setState({ hsva: n, backgroundColor:
|
|
28
|
+
this.setState({ hsva: n, backgroundColor: p(n.h), rgba: c(s), hex: e });
|
|
30
29
|
} else
|
|
31
|
-
|
|
30
|
+
z(this.state.guid, s, e);
|
|
32
31
|
this.dispatchChangeEvent(s, i, i.nativeEvent);
|
|
33
32
|
}, this.onRgbaChange = (e, s) => {
|
|
34
|
-
const i =
|
|
33
|
+
const i = K(e);
|
|
35
34
|
if (this.isUncontrolled) {
|
|
36
35
|
const n = b(i), l = d(i, "hex");
|
|
37
|
-
this.setState({ hsva: n, backgroundColor:
|
|
36
|
+
this.setState({ hsva: n, backgroundColor: p(n.h), rgba: e, hex: l });
|
|
38
37
|
} else
|
|
39
38
|
O(this.state.guid, i, e);
|
|
40
39
|
this.dispatchChangeEvent(i, s.syntheticEvent, s.nativeEvent);
|
|
@@ -70,8 +69,8 @@ const Z = "rgba", w = "rgba(255, 255, 255, 1)", g = 2, v = 5, h = class h extend
|
|
|
70
69
|
}, this.onKeyDown = (e) => {
|
|
71
70
|
var s;
|
|
72
71
|
(s = this.navigation) == null || s.triggerKeyboardEvent(e);
|
|
73
|
-
}, L(
|
|
74
|
-
const a = t.value || t.defaultValue || d(w,
|
|
72
|
+
}, L(V);
|
|
73
|
+
const a = t.value || t.defaultValue || d(w, ee);
|
|
75
74
|
this.state = Object.assign({}, h.getStateFromValue(a), {
|
|
76
75
|
isFirstRender: !0,
|
|
77
76
|
guid: this.props.id
|
|
@@ -89,7 +88,7 @@ const Z = "rgba", w = "rgba(255, 255, 255, 1)", g = 2, v = 5, h = class h extend
|
|
|
89
88
|
componentDidMount() {
|
|
90
89
|
if (this.setAlphaSliderBackground(this.state.backgroundColor), this.state.isFirstRender && this.setState({ isFirstRender: !1 }), this.wrapperRef && this.hsvGradientRef) {
|
|
91
90
|
let t = 0, a = 0;
|
|
92
|
-
this.hsvNavigation = new
|
|
91
|
+
this.hsvNavigation = new f({
|
|
93
92
|
tabIndex: 0,
|
|
94
93
|
root: this.hsvGradientRef,
|
|
95
94
|
selectors: [".k-hsv-rectangle .k-hsv-draghandle"],
|
|
@@ -111,7 +110,7 @@ const Z = "rgba", w = "rgba(255, 255, 255, 1)", g = 2, v = 5, h = class h extend
|
|
|
111
110
|
}
|
|
112
111
|
});
|
|
113
112
|
}
|
|
114
|
-
this.wrapperRef && this.wrapperRef.current && (this.props.isInsidePopup ? this.hsvGradientRef.current && this.hsvGradientRef.current.focus() : this.navigation = new
|
|
113
|
+
this.wrapperRef && this.wrapperRef.current && (this.props.isInsidePopup ? this.hsvGradientRef.current && this.hsvGradientRef.current.focus() : this.navigation = new f({
|
|
115
114
|
tabIndex: 0,
|
|
116
115
|
root: this.wrapperRef,
|
|
117
116
|
selectors: [".k-colorgradient"],
|
|
@@ -134,7 +133,7 @@ const Z = "rgba", w = "rgba(255, 255, 255, 1)", g = 2, v = 5, h = class h extend
|
|
|
134
133
|
* @hidden
|
|
135
134
|
*/
|
|
136
135
|
componentWillUnmount() {
|
|
137
|
-
|
|
136
|
+
$(this.state.guid);
|
|
138
137
|
}
|
|
139
138
|
/**
|
|
140
139
|
* @hidden
|
|
@@ -151,12 +150,12 @@ const Z = "rgba", w = "rgba(255, 255, 255, 1)", g = 2, v = 5, h = class h extend
|
|
|
151
150
|
const a = this.getGradientRectMetrics(), e = (1 - this.state.hsva.v) * a.height, s = this.state.hsva.s * a.width;
|
|
152
151
|
t.top = `${e}px`, t.left = `${s}px`;
|
|
153
152
|
}
|
|
154
|
-
return /* @__PURE__ */
|
|
153
|
+
return /* @__PURE__ */ o.createElement(
|
|
155
154
|
"div",
|
|
156
155
|
{
|
|
157
156
|
ref: this.hsvGradientRef,
|
|
158
157
|
role: "slider",
|
|
159
|
-
tabIndex:
|
|
158
|
+
tabIndex: k(this.props.tabIndex, this.props.disabled),
|
|
160
159
|
"aria-valuetext": this.props.ariaValueText,
|
|
161
160
|
"aria-valuenow": parseInt(this.state.hex.substring(1), 16),
|
|
162
161
|
"aria-label": this.props.ariaLabelHSV,
|
|
@@ -182,8 +181,8 @@ const Z = "rgba", w = "rgba(255, 255, 255, 1)", g = 2, v = 5, h = class h extend
|
|
|
182
181
|
* @hidden
|
|
183
182
|
*/
|
|
184
183
|
handleHsvaChange(t, a, e) {
|
|
185
|
-
const s =
|
|
186
|
-
this.isUncontrolled ||
|
|
184
|
+
const s = U(t), i = d(s, "hex");
|
|
185
|
+
this.isUncontrolled || W(this.state.guid, s, t), this.setState({ hsva: t, backgroundColor: p(t.h), rgba: c(s), hex: i }), this.dispatchChangeEvent(s, a, e);
|
|
187
186
|
}
|
|
188
187
|
/**
|
|
189
188
|
* @hidden
|
|
@@ -201,14 +200,14 @@ const Z = "rgba", w = "rgba(255, 255, 255, 1)", g = 2, v = 5, h = class h extend
|
|
|
201
200
|
*/
|
|
202
201
|
static getStateFromValue(t, a) {
|
|
203
202
|
R(d(t, "hex")) || (t = w);
|
|
204
|
-
const e = j(a, t) || b(t), s = X(a, t) ||
|
|
203
|
+
const e = j(a, t) || b(t), s = X(a, t) || c(t), i = Y(a, t) || d(t, "hex"), n = p(e.h);
|
|
205
204
|
return { hsva: e, backgroundColor: n, rgba: s, hex: i };
|
|
206
205
|
}
|
|
207
206
|
/**
|
|
208
207
|
* @hidden
|
|
209
208
|
*/
|
|
210
209
|
setAlphaSliderBackground(t) {
|
|
211
|
-
this.props.opacity && this.alphaSlider && this.alphaSlider.sliderTrack && (this.alphaSlider.sliderTrack.style.background = `linear-gradient(to top, transparent, ${t})`);
|
|
210
|
+
this.props.opacity && this.alphaSlider && this.alphaSlider.sliderTrack && (this.alphaSlider.sliderTrack.style.background = `linear-gradient(to ${this.props._adaptive ? "right" : "top"}, transparent, ${t})`);
|
|
212
211
|
}
|
|
213
212
|
/**
|
|
214
213
|
* @hidden
|
|
@@ -226,36 +225,38 @@ const Z = "rgba", w = "rgba(255, 255, 255, 1)", g = 2, v = 5, h = class h extend
|
|
|
226
225
|
* @hidden
|
|
227
226
|
*/
|
|
228
227
|
render() {
|
|
229
|
-
const t =
|
|
230
|
-
|
|
231
|
-
"k-colorgradient-md",
|
|
232
|
-
{ "k-disabled": this.props.disabled },
|
|
233
|
-
this.props.className
|
|
234
|
-
);
|
|
235
|
-
return /* @__PURE__ */ r.createElement(
|
|
228
|
+
const t = Z(this);
|
|
229
|
+
return /* @__PURE__ */ o.createElement(
|
|
236
230
|
"div",
|
|
237
231
|
{
|
|
238
232
|
id: this.props.id,
|
|
239
233
|
role: this.props.role,
|
|
240
|
-
className:
|
|
234
|
+
className: I(
|
|
235
|
+
"k-colorgradient",
|
|
236
|
+
{
|
|
237
|
+
[`k-colorgradient-${M.sizeMap[this.props.size] || this.props.size}`]: this.props.size,
|
|
238
|
+
"k-disabled": this.props.disabled
|
|
239
|
+
},
|
|
240
|
+
this.props.className
|
|
241
|
+
),
|
|
241
242
|
"aria-disabled": this.props.disabled ? "true" : void 0,
|
|
242
243
|
style: this.props.style,
|
|
243
244
|
ref: this.wrapperRef,
|
|
244
|
-
tabIndex:
|
|
245
|
+
tabIndex: k(this.props.tabIndex, this.props.disabled),
|
|
245
246
|
"aria-label": this.props.ariaLabel,
|
|
246
247
|
"aria-labelledby": this.props.ariaLabelledBy,
|
|
247
248
|
"aria-describedby": this.props.ariaDescribedBy,
|
|
248
249
|
onFocus: this.onFocus,
|
|
249
250
|
onKeyDown: this.onKeyDown
|
|
250
251
|
},
|
|
251
|
-
/* @__PURE__ */
|
|
252
|
-
|
|
252
|
+
/* @__PURE__ */ o.createElement("div", { className: `k-colorgradient-canvas ${this.props._adaptive ? "k-vstack" : "k-hstack"}` }, /* @__PURE__ */ o.createElement("div", { className: "k-hsv-rectangle", style: { background: this.state.backgroundColor } }, /* @__PURE__ */ o.createElement(
|
|
253
|
+
_,
|
|
253
254
|
{
|
|
254
255
|
onDrag: this.onDrag,
|
|
255
256
|
onRelease: this.onRelease,
|
|
256
|
-
ref: (
|
|
257
|
+
ref: (a) => this.gradientWrapper = a ? a.element : void 0
|
|
257
258
|
},
|
|
258
|
-
/* @__PURE__ */
|
|
259
|
+
/* @__PURE__ */ o.createElement(
|
|
259
260
|
"div",
|
|
260
261
|
{
|
|
261
262
|
className: "k-hsv-gradient",
|
|
@@ -264,19 +265,19 @@ const Z = "rgba", w = "rgba(255, 255, 255, 1)", g = 2, v = 5, h = class h extend
|
|
|
264
265
|
},
|
|
265
266
|
this.renderRectangleDragHandle()
|
|
266
267
|
)
|
|
267
|
-
), this.props.backgroundColor && !this.state.isFirstRender && /* @__PURE__ */
|
|
268
|
-
|
|
268
|
+
), this.props.backgroundColor && !this.state.isFirstRender && /* @__PURE__ */ o.createElement(
|
|
269
|
+
Q,
|
|
269
270
|
{
|
|
270
271
|
metrics: this.gradientWrapper ? this.getGradientRectMetrics() : void 0,
|
|
271
272
|
hsva: this.state.hsva,
|
|
272
273
|
backgroundColor: this.props.backgroundColor
|
|
273
274
|
}
|
|
274
|
-
)), /* @__PURE__ */
|
|
275
|
-
|
|
275
|
+
)), /* @__PURE__ */ o.createElement("div", { className: `k-hsv-controls ${this.props._adaptive ? "k-vstack" : "k-hstack"}` }, /* @__PURE__ */ o.createElement(
|
|
276
|
+
S,
|
|
276
277
|
{
|
|
277
278
|
value: this.state.hsva.h,
|
|
278
279
|
buttons: !1,
|
|
279
|
-
vertical: !
|
|
280
|
+
vertical: !this.props._adaptive,
|
|
280
281
|
min: 0,
|
|
281
282
|
max: 360,
|
|
282
283
|
step: 5,
|
|
@@ -288,12 +289,12 @@ const Z = "rgba", w = "rgba(255, 255, 255, 1)", g = 2, v = 5, h = class h extend
|
|
|
288
289
|
x[E]
|
|
289
290
|
)
|
|
290
291
|
}
|
|
291
|
-
), this.props.opacity && /* @__PURE__ */
|
|
292
|
-
|
|
292
|
+
), this.props.opacity && /* @__PURE__ */ o.createElement(
|
|
293
|
+
S,
|
|
293
294
|
{
|
|
294
295
|
value: R(this.state.hsva.a) ? this.state.hsva.a * 100 : 100,
|
|
295
296
|
buttons: !1,
|
|
296
|
-
vertical: !
|
|
297
|
+
vertical: !this.props._adaptive,
|
|
297
298
|
min: 0,
|
|
298
299
|
max: 100,
|
|
299
300
|
step: 1,
|
|
@@ -304,11 +305,11 @@ const Z = "rgba", w = "rgba(255, 255, 255, 1)", g = 2, v = 5, h = class h extend
|
|
|
304
305
|
onChange: this.onAlphaSliderChange,
|
|
305
306
|
className: "k-alpha-slider k-colorgradient-slider",
|
|
306
307
|
disabled: this.props.disabled,
|
|
307
|
-
ref: (
|
|
308
|
+
ref: (a) => this.alphaSlider = a
|
|
308
309
|
}
|
|
309
310
|
))),
|
|
310
|
-
/* @__PURE__ */
|
|
311
|
-
|
|
311
|
+
/* @__PURE__ */ o.createElement(
|
|
312
|
+
q,
|
|
312
313
|
{
|
|
313
314
|
rgba: this.state.rgba,
|
|
314
315
|
onRgbaChange: this.onRgbaChange,
|
|
@@ -316,44 +317,48 @@ const Z = "rgba", w = "rgba(255, 255, 255, 1)", g = 2, v = 5, h = class h extend
|
|
|
316
317
|
onHexChange: this.onHexChange,
|
|
317
318
|
opacity: this.props.opacity,
|
|
318
319
|
disabled: this.props.disabled,
|
|
319
|
-
defaultInputMode: this.props.format
|
|
320
|
+
defaultInputMode: this.props.format,
|
|
321
|
+
size: this.props.size,
|
|
322
|
+
fillMode: this.props.fillMode
|
|
320
323
|
}
|
|
321
324
|
),
|
|
322
|
-
this.props.backgroundColor && /* @__PURE__ */
|
|
325
|
+
this.props.backgroundColor && /* @__PURE__ */ o.createElement(J, { bgColor: c(this.props.backgroundColor), rgba: this.state.rgba })
|
|
323
326
|
);
|
|
324
327
|
}
|
|
325
328
|
};
|
|
326
329
|
h.displayName = "ColorGradient", h.propTypes = {
|
|
327
|
-
defaultValue:
|
|
328
|
-
value:
|
|
329
|
-
onChange:
|
|
330
|
-
onFocus:
|
|
331
|
-
opacity:
|
|
332
|
-
backgroundColor:
|
|
333
|
-
format:
|
|
334
|
-
disabled:
|
|
335
|
-
style:
|
|
336
|
-
id:
|
|
337
|
-
role:
|
|
338
|
-
ariaLabel:
|
|
339
|
-
ariaLabelledBy:
|
|
340
|
-
ariaDescribedBy:
|
|
341
|
-
className:
|
|
330
|
+
defaultValue: r.string,
|
|
331
|
+
value: r.string,
|
|
332
|
+
onChange: r.func,
|
|
333
|
+
onFocus: r.func,
|
|
334
|
+
opacity: r.bool,
|
|
335
|
+
backgroundColor: r.string,
|
|
336
|
+
format: r.any,
|
|
337
|
+
disabled: r.bool,
|
|
338
|
+
style: r.any,
|
|
339
|
+
id: r.string,
|
|
340
|
+
role: r.string,
|
|
341
|
+
ariaLabel: r.string,
|
|
342
|
+
ariaLabelledBy: r.string,
|
|
343
|
+
ariaDescribedBy: r.string,
|
|
344
|
+
className: r.string,
|
|
345
|
+
size: r.oneOf(["small", "medium", "large", null])
|
|
342
346
|
}, h.defaultProps = {
|
|
343
347
|
opacity: !0,
|
|
344
348
|
role: "textbox",
|
|
345
|
-
format: "rgb"
|
|
349
|
+
format: "rgb",
|
|
350
|
+
size: "medium"
|
|
346
351
|
};
|
|
347
|
-
let
|
|
348
|
-
const
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
+
let m = h;
|
|
353
|
+
const te = T(), se = B(
|
|
354
|
+
P(
|
|
355
|
+
te,
|
|
356
|
+
m
|
|
352
357
|
)
|
|
353
358
|
);
|
|
354
|
-
|
|
359
|
+
se.displayName = "KendoReactColorGradient";
|
|
355
360
|
export {
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
361
|
+
se as ColorGradient,
|
|
362
|
+
te as ColorGradientPropsContext,
|
|
363
|
+
m as ColorGradientWithoutContext
|
|
359
364
|
};
|
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
|
|
8
|
+
"use strict";const b=require("react"),n=require("../numerictextbox/NumericTextBox.js"),m=require("./HexInput.js"),u=require("@progress/kendo-react-buttons"),f=require("@progress/kendo-svg-icons"),l=require("@progress/kendo-react-intl"),s=require("../messages/index.js");function x(r){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const t in r)if(t!=="default"){const i=Object.getOwnPropertyDescriptor(r,t);Object.defineProperty(e,t,i.get?i:{enumerable:!0,get:()=>r[t]})}}return e.default=r,Object.freeze(e)}const a=x(b),o=["rgba","rgb","hex"];class g extends a.Component{constructor(e){super(e),this.onRgbaRChange=t=>{this.dispatchRgbaChange({r:t.value},t)},this.onRgbaGChange=t=>{this.dispatchRgbaChange({g:t.value},t)},this.onRgbaBChange=t=>{this.dispatchRgbaChange({b:t.value},t)},this.onRgbaAChange=t=>{this.dispatchRgbaChange({a:t.value},t)},this.state={inputMode:e.defaultInputMode||o[1]}}render(){const e=l.provideLocalizationService(this),t=e.toLanguageString(s.colorGradientHex,s.messages[s.colorGradientHex]),i=e.toLanguageString(s.colorGradientR,s.messages[s.colorGradientR]),c=e.toLanguageString(s.colorGradientG,s.messages[s.colorGradientG]),p=e.toLanguageString(s.colorGradientB,s.messages[s.colorGradientB]),d=e.toLanguageString(s.colorGradientA,s.messages[s.colorGradientA]),h=e.toLanguageString(s.colorGradientToggleInputsButton,s.messages[s.colorGradientToggleInputsButton]);return a.createElement("div",{className:"k-colorgradient-inputs k-hstack"},a.createElement("div",{className:"k-vstack"},a.createElement(u.Button,{"aria-label":h,fillMode:"flat",icon:"caret-alt-expand",svgIcon:f.caretAltExpandIcon,className:"k-colorgradient-toggle-mode",size:this.props.size,onClick:this.onToggleModeChange.bind(this)})),this.state.inputMode==="hex"&&a.createElement("div",{className:"k-vstack k-flex-1"},a.createElement(m,{hex:this.props.hex,onHexChange:this.props.onHexChange,disabled:this.props.disabled,size:this.props.size,fillMode:this.props.fillMode}),a.createElement("label",{className:"k-colorgradient-input-label"},t)),(this.state.inputMode==="rgb"||this.state.inputMode==="rgba")&&a.createElement(a.Fragment,null,a.createElement("div",{className:"k-vstack"},a.createElement(n.NumericTextBox,{value:this.props.rgba.r,ariaLabel:String(this.props.rgba.r),min:0,max:255,spinners:!1,format:"n",onChange:this.onRgbaRChange,disabled:this.props.disabled,size:this.props.size,fillMode:this.props.fillMode}),a.createElement("label",{className:"k-colorgradient-input-label"},i)),a.createElement("div",{className:"k-vstack"},a.createElement(n.NumericTextBox,{value:this.props.rgba.g,ariaLabel:String(this.props.rgba.g),min:0,max:255,spinners:!1,format:"n",onChange:this.onRgbaGChange,disabled:this.props.disabled,size:this.props.size,fillMode:this.props.fillMode}),a.createElement("label",{className:"k-colorgradient-input-label"},c)),a.createElement("div",{className:"k-vstack"},a.createElement(n.NumericTextBox,{value:this.props.rgba.b,ariaLabel:String(this.props.rgba.b),min:0,max:255,spinners:!1,format:"n",onChange:this.onRgbaBChange,disabled:this.props.disabled,size:this.props.size,fillMode:this.props.fillMode}),a.createElement("label",{className:"k-colorgradient-input-label"},p))),this.state.inputMode==="rgba"&&a.createElement("div",{className:"k-vstack"},this.props.opacity&&a.createElement(n.NumericTextBox,{value:this.props.rgba.a,ariaLabel:String(this.props.rgba.a),min:0,max:1,step:.01,spinners:!1,format:"n2",onChange:this.onRgbaAChange,disabled:this.props.disabled,size:this.props.size,fillMode:this.props.fillMode}),this.props.opacity&&a.createElement("label",{className:"k-colorgradient-input-label"},d)))}dispatchRgbaChange(e,t){const 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.props.onRgbaChange(i,t)}onToggleModeChange(){const e=o.length-1===o.indexOf(this.state.inputMode)?0:o.indexOf(this.state.inputMode)+1;if(this.props.opacity)this.setState({inputMode:o[e]});else{const t=o[e]==="rgba"?e+1:e;this.setState({inputMode:o[t]})}}}l.registerForIntl(g);l.registerForLocalization(g);module.exports=g;
|