UNPKG

@uiw/react-color

Version:

Color Picker component for React.

1,637 lines (1,426 loc) 121 kB
(function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(require("react")); else if(typeof define === 'function' && define.amd) define(["react"], factory); else if(typeof exports === 'object') exports["@uiw/react-color"] = factory(require("react")); else root["@uiw/react-color"] = factory(root["React"]); })(self, (__WEBPACK_EXTERNAL_MODULE__787__) => { return /******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ var __webpack_modules__ = ({ /***/ 382: /***/ ((module) => { /* object-assign (c) Sindre Sorhus @license MIT */ /* eslint-disable no-unused-vars */ var getOwnPropertySymbols = Object.getOwnPropertySymbols; var hasOwnProperty = Object.prototype.hasOwnProperty; var propIsEnumerable = Object.prototype.propertyIsEnumerable; function toObject(val) { if (val === null || val === undefined) { throw new TypeError('Object.assign cannot be called with null or undefined'); } return Object(val); } function shouldUseNative() { try { if (!Object.assign) { return false; } // Detect buggy property enumeration order in older V8 versions. // https://bugs.chromium.org/p/v8/issues/detail?id=4118 var test1 = new String('abc'); // eslint-disable-line no-new-wrappers test1[5] = 'de'; if (Object.getOwnPropertyNames(test1)[0] === '5') { return false; } // https://bugs.chromium.org/p/v8/issues/detail?id=3056 var test2 = {}; for (var i = 0; i < 10; i++) { test2['_' + String.fromCharCode(i)] = i; } var order2 = Object.getOwnPropertyNames(test2).map(function (n) { return test2[n]; }); if (order2.join('') !== '0123456789') { return false; } // https://bugs.chromium.org/p/v8/issues/detail?id=3056 var test3 = {}; 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { test3[letter] = letter; }); if (Object.keys(Object.assign({}, test3)).join('') !== 'abcdefghijklmnopqrst') { return false; } return true; } catch (err) { // We don't expect any of the above to throw, but better to be safe. return false; } } module.exports = shouldUseNative() ? Object.assign : function (target, source) { var from; var to = toObject(target); var symbols; for (var s = 1; s < arguments.length; s++) { from = Object(arguments[s]); for (var key in from) { if (hasOwnProperty.call(from, key)) { to[key] = from[key]; } } if (getOwnPropertySymbols) { symbols = getOwnPropertySymbols(from); for (var i = 0; i < symbols.length; i++) { if (propIsEnumerable.call(from, symbols[i])) { to[symbols[i]] = from[symbols[i]]; } } } } return to; }; /***/ }), /***/ 858: /***/ ((__unused_webpack_module, exports, __webpack_require__) => { var __webpack_unused_export__; /** @license React v17.0.2 * react-jsx-runtime.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ __webpack_require__(382);var f=__webpack_require__(787),g=60103;__webpack_unused_export__=60107;if("function"===typeof Symbol&&Symbol.for){var h=Symbol.for;g=h("react.element");__webpack_unused_export__=h("react.fragment")}var m=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,n=Object.prototype.hasOwnProperty,p={key:!0,ref:!0,__self:!0,__source:!0}; function q(c,a,k){var b,d={},e=null,l=null;void 0!==k&&(e=""+k);void 0!==a.key&&(e=""+a.key);void 0!==a.ref&&(l=a.ref);for(b in a)n.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:g,type:c,key:e,ref:l,props:d,_owner:m.current}}exports.jsx=q;exports.jsxs=q; /***/ }), /***/ 664: /***/ ((module, __unused_webpack_exports, __webpack_require__) => { if (true) { module.exports = __webpack_require__(858); } else {} /***/ }), /***/ 787: /***/ ((module) => { module.exports = __WEBPACK_EXTERNAL_MODULE__787__; /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ /******/ /* webpack/runtime/compat get default export */ /******/ (() => { /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = (module) => { /******/ var getter = module && module.__esModule ? /******/ () => (module['default']) : /******/ () => (module); /******/ __webpack_require__.d(getter, { a: getter }); /******/ return getter; /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/define property getters */ /******/ (() => { /******/ // define getter functions for harmony exports /******/ __webpack_require__.d = (exports, definition) => { /******/ for(var key in definition) { /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); /******/ } /******/ } /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ (() => { /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) /******/ })(); /******/ /******/ /* webpack/runtime/make namespace object */ /******/ (() => { /******/ // define __esModule on exports /******/ __webpack_require__.r = (exports) => { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ })(); /******/ /************************************************************************/ var __webpack_exports__ = {}; // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk. (() => { // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // EXPORTS __webpack_require__.d(__webpack_exports__, { "Alpha": () => (/* reexport */ color_alpha_esm), "BACKGROUND_IMG": () => (/* reexport */ BACKGROUND_IMG), "Block": () => (/* reexport */ color_block_esm), "Chrome": () => (/* reexport */ color_chrome_esm), "ChromeInputType": () => (/* reexport */ ChromeInputType), "Circle": () => (/* reexport */ color_circle_esm), "Colorful": () => (/* reexport */ color_colorful_esm), "Compact": () => (/* reexport */ color_compact_esm), "EditableInput": () => (/* reexport */ color_editable_input_esm), "EditableInputHSLA": () => (/* reexport */ color_editable_input_hsla_esm), "EditableInputRGBA": () => (/* reexport */ color_editable_input_rgba_esm), "Github": () => (/* reexport */ color_github_esm), "GithubPlacement": () => (/* reexport */ GithubPlacement), "Hue": () => (/* reexport */ color_hue_esm), "Material": () => (/* reexport */ color_material_esm), "Saturation": () => (/* reexport */ color_saturation_esm), "ShadeSlider": () => (/* reexport */ color_shade_slider_esm), "Sketch": () => (/* reexport */ color_sketch_esm), "Slider": () => (/* reexport */ color_slider_esm), "Swatch": () => (/* reexport */ color_swatch_esm), "Wheel": () => (/* reexport */ color_wheel_esm), "color": () => (/* reexport */ esm_color), "equalColorObjects": () => (/* reexport */ equalColorObjects), "equalColorString": () => (/* reexport */ equalColorString), "equalHex": () => (/* reexport */ equalHex), "getContrastingColor": () => (/* reexport */ getContrastingColor), "hexToHsva": () => (/* reexport */ hexToHsva), "hexToRgba": () => (/* reexport */ hexToRgba), "hslStringToHsla": () => (/* reexport */ hslStringToHsla), "hslStringToHsva": () => (/* reexport */ hslStringToHsva), "hslaStringToHsva": () => (/* reexport */ hslaStringToHsva), "hslaToHsl": () => (/* reexport */ hslaToHsl), "hslaToHsva": () => (/* reexport */ hslaToHsva), "hsvStringToHsva": () => (/* reexport */ hsvStringToHsva), "hsvaStringToHsva": () => (/* reexport */ hsvaStringToHsva), "hsvaToHex": () => (/* reexport */ hsvaToHex), "hsvaToHexa": () => (/* reexport */ hsvaToHexa), "hsvaToHslString": () => (/* reexport */ hsvaToHslString), "hsvaToHsla": () => (/* reexport */ hsvaToHsla), "hsvaToHslaString": () => (/* reexport */ hsvaToHslaString), "hsvaToHsv": () => (/* reexport */ hsvaToHsv), "hsvaToHsvString": () => (/* reexport */ hsvaToHsvString), "hsvaToHsvaString": () => (/* reexport */ hsvaToHsvaString), "hsvaToRgbString": () => (/* reexport */ hsvaToRgbString), "hsvaToRgba": () => (/* reexport */ hsvaToRgba), "hsvaToRgbaString": () => (/* reexport */ hsvaToRgbaString), "parseHue": () => (/* reexport */ parseHue), "rgbStringToHsva": () => (/* reexport */ rgbStringToHsva), "rgbaStringToHsva": () => (/* reexport */ rgbaStringToHsva), "rgbaToHex": () => (/* reexport */ rgbaToHex), "rgbaToHexa": () => (/* reexport */ rgbaToHexa), "rgbaToHsva": () => (/* reexport */ rgbaToHsva), "rgbaToRgb": () => (/* reexport */ rgbaToRgb), "validHex": () => (/* reexport */ validHex) }); ;// CONCATENATED MODULE: ../../node_modules/@babel/runtime/helpers/esm/extends.js function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } ;// CONCATENATED MODULE: ../color-convert/esm/utils.js var equalColorObjects = (first, second) => { if (first === second) return true; for (var prop in first) { // The following allows for a type-safe calling of this function (first & second have to be HSL, HSV, or RGB) // with type-unsafe iterating over object keys. TS does not allow this without an index (`[key: string]: number`) // on an object to define how iteration is normally done. To ensure extra keys are not allowed on our types, // we must cast our object to unknown (as RGB demands `r` be a key, while `Record<string, x>` does not care if // there is or not), and then as a type TS can iterate over. if (first[prop] !== second[prop]) return false; } return true; }; var equalColorString = (first, second) => { return first.replace(/\s/g, '') === second.replace(/\s/g, ''); }; var equalHex = (first, second) => { if (first.toLowerCase() === second.toLowerCase()) return true; // To compare colors like `#FFF` and `ffffff` we convert them into RGB objects return equalColorObjects(hexToRgba(first), hexToRgba(second)); }; var validHex = hex => /^#?([A-Fa-f0-9]{3,4}){1,2}$/.test(hex); ;// CONCATENATED MODULE: ../color-convert/esm/getContrastingColor.js var getContrastingColor = str => { if (!str) { return '#fff'; } var col = esm_color(str); var yiq = (col.rgb.r * 299 + col.rgb.g * 587 + col.rgb.b * 114) / 1000; return yiq >= 128 ? '#000' : '#fff'; }; ;// CONCATENATED MODULE: ../color-convert/esm/index.js var RGB_MAX = 255; var HUE_MAX = 360; var SV_MAX = 100; /** * ```js * rgbaToHsva({ r: 255, g: 255, b: 255, a: 1 }) //=> { h: 0, s: 0, v: 100, a: 1 } * ``` */ var rgbaToHsva = _ref => { var { r, g, b, a } = _ref; var max = Math.max(r, g, b); var delta = max - Math.min(r, g, b); // prettier-ignore var hh = delta ? max === r ? (g - b) / delta : max === g ? 2 + (b - r) / delta : 4 + (r - g) / delta : 0; return { h: 60 * (hh < 0 ? hh + 6 : hh), s: max ? delta / max * SV_MAX : 0, v: max / RGB_MAX * SV_MAX, a }; }; var hsvaToHslString = hsva => { var { h, s, l } = hsvaToHsla(hsva); // return `hsl(${h}, ${s}%, ${l}%)`; return "hsl(" + h + ", " + Math.round(s) + "%, " + Math.round(l) + "%)"; }; var hsvaToHsvString = _ref2 => { var { h, s, v } = _ref2; return "hsv(" + h + ", " + s + "%, " + v + "%)"; }; var hsvaToHsvaString = _ref3 => { var { h, s, v, a } = _ref3; return "hsva(" + h + ", " + s + "%, " + v + "%, " + a + ")"; }; var hsvaToHslaString = hsva => { var { h, s, l, a } = hsvaToHsla(hsva); return "hsla(" + h + ", " + s + "%, " + l + "%, " + a + ")"; }; var hslStringToHsla = str => { var [h, s, l, a] = (str.match(/\d+/g) || []).map(Number); return { h, s, l, a }; }; var hslaStringToHsva = hslString => { var matcher = /hsla?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i; var match = matcher.exec(hslString); if (!match) return { h: 0, s: 0, v: 0, a: 1 }; return hslaToHsva({ h: parseHue(match[1], match[2]), s: Number(match[3]), l: Number(match[4]), a: match[5] === undefined ? 1 : Number(match[5]) / (match[6] ? 100 : 1) }); }; var hslStringToHsva = hslaStringToHsva; var hslaToHsva = _ref4 => { var { h, s, l, a } = _ref4; s *= (l < 50 ? l : SV_MAX - l) / SV_MAX; return { h: h, s: s > 0 ? 2 * s / (l + s) * SV_MAX : 0, v: l + s, a }; }; var hsvaToHsla = _ref5 => { var { h, s, v, a } = _ref5; var hh = (200 - s) * v / SV_MAX; return { h, s: hh > 0 && hh < 200 ? s * v / SV_MAX / (hh <= SV_MAX ? hh : 200 - hh) * SV_MAX : 0, l: hh / 2, a }; }; var hsvaStringToHsva = hsvString => { var matcher = /hsva?\(?\s*(-?\d*\.?\d+)(deg|rad|grad|turn)?[,\s]+(-?\d*\.?\d+)%?[,\s]+(-?\d*\.?\d+)%?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i; var match = matcher.exec(hsvString); if (!match) return { h: 0, s: 0, v: 0, a: 1 }; return { h: parseHue(match[1], match[2]), s: Number(match[3]), v: Number(match[4]), a: match[5] === undefined ? 1 : Number(match[5]) / (match[6] ? SV_MAX : 1) }; }; /** * Valid CSS <angle> units. * https://developer.mozilla.org/en-US/docs/Web/CSS/angle */ var angleUnits = { grad: HUE_MAX / 400, turn: HUE_MAX, rad: HUE_MAX / (Math.PI * 2) }; var parseHue = function parseHue(value, unit) { if (unit === void 0) { unit = 'deg'; } return Number(value) * (angleUnits[unit] || 1); }; var hsvStringToHsva = hsvaStringToHsva; var rgbaStringToHsva = rgbaString => { var matcher = /rgba?\(?\s*(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?[,\s]+(-?\d*\.?\d+)(%)?,?\s*[/\s]*(-?\d*\.?\d+)?(%)?\s*\)?/i; var match = matcher.exec(rgbaString); if (!match) return { h: 0, s: 0, v: 0, a: 1 }; return rgbaToHsva({ r: Number(match[1]) / (match[2] ? SV_MAX / RGB_MAX : 1), g: Number(match[3]) / (match[4] ? SV_MAX / RGB_MAX : 1), b: Number(match[5]) / (match[6] ? SV_MAX / RGB_MAX : 1), a: match[7] === undefined ? 1 : Number(match[7]) / (match[8] ? SV_MAX : 1) }); }; var rgbStringToHsva = rgbaStringToHsva; /** Converts an RGBA color plus alpha transparency to hex */ var rgbaToHex = _ref6 => { var { r, g, b } = _ref6; var bin = r << 16 | g << 8 | b; return "#" + (h => new Array(7 - h.length).join('0') + h)(bin.toString(16)); }; var rgbaToHexa = _ref7 => { var { r, g, b, a } = _ref7; var alpha = typeof a === 'number' && (a * 255 | 1 << 8).toString(16).slice(1); return "" + rgbaToHex({ r, g, b, a }) + (alpha ? alpha : ''); }; var hexToHsva = hex => rgbaToHsva(hexToRgba(hex)); var hexToRgba = hex => { var htemp = hex.replace('#', ''); if (/^#?/.test(hex) && htemp.length === 3) { hex = "#" + htemp.charAt(0) + htemp.charAt(0) + htemp.charAt(1) + htemp.charAt(1) + htemp.charAt(2) + htemp.charAt(2); } var reg = new RegExp("[A-Za-z0-9]{2}", 'g'); var [r, g, b = 0, a] = hex.match(reg).map(v => parseInt(v, 16)); return { r, g, b, a: a ? a / RGB_MAX : 1 }; }; /** * Converts HSVA to RGBA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV * @param color HSVA color as an array [0-360, 0-1, 0-1, 0-1] */ var hsvaToRgba = _ref8 => { var { h, s, v, a } = _ref8; var _h = h / 60, _s = s / SV_MAX, _v = v / SV_MAX, hi = Math.floor(_h) % 6; var f = _h - Math.floor(_h), _p = RGB_MAX * _v * (1 - _s), _q = RGB_MAX * _v * (1 - _s * f), _t = RGB_MAX * _v * (1 - _s * (1 - f)); _v *= RGB_MAX; var rgba = {}; switch (hi) { case 0: rgba.r = _v; rgba.g = _t; rgba.b = _p; break; case 1: rgba.r = _q; rgba.g = _v; rgba.b = _p; break; case 2: rgba.r = _p; rgba.g = _v; rgba.b = _t; break; case 3: rgba.r = _p; rgba.g = _q; rgba.b = _v; break; case 4: rgba.r = _t; rgba.g = _p; rgba.b = _v; break; case 5: rgba.r = _v; rgba.g = _p; rgba.b = _q; break; } rgba.r = Math.round(rgba.r); rgba.g = Math.round(rgba.g); rgba.b = Math.round(rgba.b); return _extends({}, rgba, { a }); }; var hsvaToRgbString = hsva => { var { r, g, b } = hsvaToRgba(hsva); return "rgb(" + r + ", " + g + ", " + b + ")"; }; var hsvaToRgbaString = hsva => { var { r, g, b, a } = hsvaToRgba(hsva); return "rgba(" + r + ", " + g + ", " + b + ", " + a + ")"; }; var rgbaToRgb = _ref9 => { var { r, g, b } = _ref9; return { r, g, b }; }; var hslaToHsl = _ref10 => { var { h, s, l } = _ref10; return { h, s, l }; }; var hsvaToHex = hsva => rgbaToHex(hsvaToRgba(hsva)); var hsvaToHexa = hsva => rgbaToHexa(hsvaToRgba(hsva)); var hsvaToHsv = _ref11 => { var { h, s, v } = _ref11; return { h, s, v }; }; var esm_color = str => { var rgb; var hsl; var hsv; var rgba; var hsla; var hsva; var hex; var hexa; if (typeof str === 'string' && validHex(str)) { hsva = hexToHsva(str); hex = str; } else if (typeof str !== 'string') { hsva = str; } if (hsva) { hsv = hsvaToHsv(hsva); hsla = hsvaToHsla(hsva); rgba = hsvaToRgba(hsva); hexa = rgbaToHexa(rgba); hex = hsvaToHex(hsva); hsl = hslaToHsl(hsla); rgb = rgbaToRgb(rgba); } return { rgb, hsl, hsv, rgba, hsla, hsva, hex, hexa }; }; ;// CONCATENATED MODULE: ../color-alpha/node_modules/@babel/runtime/helpers/esm/extends.js function extends_extends() { extends_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return extends_extends.apply(this, arguments); } ;// CONCATENATED MODULE: ../color-alpha/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } // EXTERNAL MODULE: external {"root":"React","commonjs2":"react","commonjs":"react","amd":"react"} var external_root_React_commonjs2_react_commonjs_react_amd_react_ = __webpack_require__(787); var external_root_React_commonjs2_react_commonjs_react_amd_react_default = /*#__PURE__*/__webpack_require__.n(external_root_React_commonjs2_react_commonjs_react_amd_react_); ;// CONCATENATED MODULE: ../drag-event-interactive/node_modules/@babel/runtime/helpers/esm/extends.js function esm_extends_extends() { esm_extends_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return esm_extends_extends.apply(this, arguments); } ;// CONCATENATED MODULE: ../drag-event-interactive/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js function objectWithoutPropertiesLoose_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } ;// CONCATENATED MODULE: ../drag-event-interactive/esm/utils.js // Saves incoming handler to the ref in order to avoid "useCallback hell" function useEventCallback(handler) { var callbackRef = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(handler); (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(() => { callbackRef.current = handler; }); return (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useCallback)((value, event) => callbackRef.current && callbackRef.current(value, event), []); } // Check if an event was triggered by touch var isTouch = event => 'touches' in event; // Browsers introduced an intervention, making touch events passive by default. // This workaround removes `preventDefault` call from the touch handlers. // https://github.com/facebook/react/issues/19651 var preventDefaultMove = event => { !isTouch(event) && event.preventDefault && event.preventDefault(); }; // Clamps a value between an upper and lower bound. // We use ternary operators because it makes the minified code // 2 times shorter then `Math.min(Math.max(a,b),c)` var clamp = function clamp(number, min, max) { if (min === void 0) { min = 0; } if (max === void 0) { max = 1; } return number > max ? max : number < min ? min : number; }; // Returns a relative position of the pointer inside the node's bounding box var getRelativePosition = (node, event) => { var rect = node.getBoundingClientRect(); // Get user's pointer position from `touches` array if it's a `TouchEvent` var pointer = isTouch(event) ? event.touches[0] : event; return { left: clamp((pointer.pageX - (rect.left + window.pageXOffset)) / rect.width), top: clamp((pointer.pageY - (rect.top + window.pageYOffset)) / rect.height), width: rect.width, height: rect.height, x: pointer.pageX - (rect.left + window.pageXOffset), y: pointer.pageY - (rect.top + window.pageYOffset) }; }; // EXTERNAL MODULE: ../../node_modules/react/jsx-runtime.js var jsx_runtime = __webpack_require__(664); ;// CONCATENATED MODULE: ../drag-event-interactive/esm/index.js var _excluded = ["prefixCls", "className", "onMove", "onDown"]; var Interactive = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().forwardRef((props, ref) => { var { prefixCls = 'w-color-interactive', className, onMove, onDown } = props, reset = objectWithoutPropertiesLoose_objectWithoutPropertiesLoose(props, _excluded); var container = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(null); var hasTouched = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(false); var [isDragging, setDragging] = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useState)(false); var onMoveCallback = useEventCallback(onMove); var onKeyCallback = useEventCallback(onDown); // Prevent mobile browsers from handling mouse events (conflicting with touch ones). // If we detected a touch interaction before, we prefer reacting to touch events only. var isValid = event => { if (hasTouched.current && !isTouch(event)) return false; hasTouched.current = isTouch(event); return true; }; var handleMove = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useCallback)(event => { preventDefaultMove(event); // If user moves the pointer outside of the window or iframe bounds and release it there, // `mouseup`/`touchend` won't be fired. In order to stop the picker from following the cursor // after the user has moved the mouse/finger back to the document, we check `event.buttons` // and `event.touches`. It allows us to detect that the user is just moving his pointer // without pressing it down var isDown = isTouch(event) ? event.touches.length > 0 : event.buttons > 0; if (isDown && container.current) { onMoveCallback && onMoveCallback(getRelativePosition(container.current, event), event); } else { setDragging(false); } }, [onMoveCallback]); var handleMoveEnd = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useCallback)(() => setDragging(false), []); var toggleDocumentEvents = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useCallback)(state => { var toggleEvent = state ? window.addEventListener : window.removeEventListener; toggleEvent(hasTouched.current ? 'touchmove' : 'mousemove', handleMove); toggleEvent(hasTouched.current ? 'touchend' : 'mouseup', handleMoveEnd); }, []); (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useEffect)(() => { toggleDocumentEvents(isDragging); return () => { isDragging && toggleDocumentEvents(false); }; }, [isDragging, toggleDocumentEvents]); var handleMoveStart = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useCallback)(event => { preventDefaultMove(event.nativeEvent); if (!isValid(event.nativeEvent)) return; onKeyCallback && onKeyCallback(getRelativePosition(container.current, event.nativeEvent), event.nativeEvent); setDragging(true); }, [onKeyCallback]); return /*#__PURE__*/(0,jsx_runtime.jsx)("div", esm_extends_extends({}, reset, { className: [prefixCls, className || ''].filter(Boolean).join(' '), style: esm_extends_extends({}, reset.style, { touchAction: 'none' }), ref: container, tabIndex: 0, onMouseDown: handleMoveStart, onTouchStart: handleMoveStart })); }); Interactive.displayName = 'Interactive'; /* harmony default export */ const esm = (Interactive); ;// CONCATENATED MODULE: ../color-alpha/esm/Pointer.js var BOXSHADOW = 'rgb(0 0 0 / 37%) 0px 1px 4px 0px'; var Pointer = _ref => { var { className, prefixCls, left, top } = _ref; var style = { position: 'absolute', left, top }; return (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useMemo)(() => /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: prefixCls + "-pointer " + (className || ''), style: style, children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: prefixCls + "-fill", style: { width: 18, height: 18, transform: left ? 'translate(-9px, -1px)' : 'translate(-1px, -9px)', boxShadow: BOXSHADOW, borderRadius: '50%', backgroundColor: 'rgb(248, 248, 248)' } }) }), [className, left, top, prefixCls]); }; ;// CONCATENATED MODULE: ../color-alpha/esm/index.js var esm_excluded = ["prefixCls", "className", "hsva", "background", "bgProps", "innerProps", "radius", "width", "height", "direction", "style", "onChange", "pointer"]; var BACKGROUND_IMG = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg=='; var Aplha = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().forwardRef((props, ref) => { var { prefixCls = 'w-color-alpha', className, hsva, background, bgProps = {}, innerProps = {}, radius = 0, width, height = 16, direction = 'horizontal', style, onChange, pointer } = props, other = _objectWithoutPropertiesLoose(props, esm_excluded); var handleChange = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useCallback)(offset => { onChange && onChange(extends_extends({}, hsva, { a: direction === 'horizontal' ? offset.left : offset.top }), offset); }, [hsva]); var colorTo = hsvaToHslaString(Object.assign({}, hsva, { a: 1 })); var innerBackground = "linear-gradient(to " + (direction === 'horizontal' ? 'right' : 'bottom') + ", rgba(244, 67, 54, 0) 0%, " + colorTo + " 100%)"; var comProps = {}; if (direction === 'horizontal') { comProps.left = hsva.a * 100 + "%"; } else { comProps.top = hsva.a * 100 + "%"; } return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", extends_extends({}, other, { className: [prefixCls, prefixCls + "-" + direction, className || ''].filter(Boolean).join(' '), style: extends_extends({ borderRadius: radius, background: "url(" + BACKGROUND_IMG + ") left center", backgroundColor: '#fff' }, style, { position: 'relative' }, { width, height }), ref: ref, children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", extends_extends({}, bgProps, { style: extends_extends({ inset: 0, position: 'absolute', background: background || innerBackground, borderRadius: radius }, bgProps.style) })), /*#__PURE__*/(0,jsx_runtime.jsx)(esm, extends_extends({}, innerProps, { style: extends_extends({}, innerProps.style, { inset: 0, zIndex: 1, position: 'absolute' }), onMove: handleChange, onDown: handleChange, children: /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement(pointer || Pointer, extends_extends({ prefixCls }, comProps)) }))] })); }); Aplha.displayName = 'Aplha'; /* harmony default export */ const color_alpha_esm = (Aplha); ;// CONCATENATED MODULE: ../color-chrome/node_modules/@babel/runtime/helpers/esm/extends.js function helpers_esm_extends_extends() { helpers_esm_extends_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return helpers_esm_extends_extends.apply(this, arguments); } ;// CONCATENATED MODULE: ../color-chrome/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js function esm_objectWithoutPropertiesLoose_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } ;// CONCATENATED MODULE: ../color-github/node_modules/@babel/runtime/helpers/esm/extends.js function runtime_helpers_esm_extends_extends() { runtime_helpers_esm_extends_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return runtime_helpers_esm_extends_extends.apply(this, arguments); } ;// CONCATENATED MODULE: ../color-github/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js function helpers_esm_objectWithoutPropertiesLoose_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } ;// CONCATENATED MODULE: ../color-swatch/node_modules/@babel/runtime/helpers/esm/extends.js function _babel_runtime_helpers_esm_extends_extends() { _babel_runtime_helpers_esm_extends_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _babel_runtime_helpers_esm_extends_extends.apply(this, arguments); } ;// CONCATENATED MODULE: ../color-swatch/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js function runtime_helpers_esm_objectWithoutPropertiesLoose_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } ;// CONCATENATED MODULE: ../color-swatch/esm/index.js var color_swatch_esm_excluded = ["prefixCls", "className", "color", "colors", "style", "rectProps", "onChange", "addonAfter", "addonBefore", "rectRender"]; var Swatch = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().forwardRef((props, ref) => { var { prefixCls = 'w-color-swatch', className, color, colors = [], style, rectProps = {}, onChange, addonAfter, addonBefore, rectRender } = props, other = runtime_helpers_esm_objectWithoutPropertiesLoose_objectWithoutPropertiesLoose(props, color_swatch_esm_excluded); var rectStyle = _babel_runtime_helpers_esm_extends_extends({ background: 'rgb(144, 19, 254)', height: 15, width: 15, marginRight: 5, marginBottom: 5, cursor: 'pointer', position: 'relative', outline: 'none', borderRadius: 2 }, rectProps.style); var handleClick = hex => { onChange && onChange(hexToHsva(hex)); }; return /*#__PURE__*/(0,jsx_runtime.jsxs)("div", _babel_runtime_helpers_esm_extends_extends({ ref: ref }, other, { className: [prefixCls, className || ''].filter(Boolean).join(' '), style: _babel_runtime_helpers_esm_extends_extends({ display: 'flex', flexWrap: 'wrap', position: 'relative' }, style), children: [addonBefore && /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().isValidElement(addonBefore) && addonBefore, colors && Array.isArray(colors) && colors.map((item, idx) => { var title = ''; var background = ''; if (typeof item === 'string') { title = item; background = item; } if (typeof item === 'object' && item.color) { title = item.title || item.color; background = item.color; } var checked = color && color.toLocaleLowerCase() === background.toLocaleLowerCase(); if (rectRender) { return rectRender({ key: idx, title, color: background, checked: !!checked, style: _babel_runtime_helpers_esm_extends_extends({}, rectStyle, { background }), onClick: () => handleClick(background) }); } var child = rectProps.children && /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().isValidElement(rectProps.children) ? /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().cloneElement(rectProps.children, { color: background, checked }) : null; return /*#__PURE__*/(0,jsx_runtime.jsx)("div", _babel_runtime_helpers_esm_extends_extends({ tabIndex: 0, title: title, onClick: () => handleClick(background) }, rectProps, { children: child, style: _babel_runtime_helpers_esm_extends_extends({}, rectStyle, { background }) }), idx); }), addonAfter && /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().isValidElement(addonAfter) && addonAfter] })); }); Swatch.displayName = 'Swatch'; /* harmony default export */ const color_swatch_esm = (Swatch); ;// CONCATENATED MODULE: ../color-github/esm/Point.js function Point(_ref) { var { style, title, checked, color, onClick, rectProps } = _ref; var btn = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useRef)(null); var handleMouseEnter = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useCallback)(() => { btn.current.style['zIndex'] = '2'; btn.current.style['outline'] = '#fff solid 2px'; btn.current.style['boxShadow'] = 'rgb(0 0 0 / 25%) 0 0 5px 2px'; }, []); var handleMouseLeave = (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useCallback)(() => { if (!checked) { btn.current.style['zIndex'] = '0'; btn.current.style['outline'] = 'initial'; btn.current.style['boxShadow'] = 'initial'; } }, [checked]); return /*#__PURE__*/(0,jsx_runtime.jsx)("div", runtime_helpers_esm_extends_extends({ ref: btn, title: title }, rectProps, { onClick: onClick, onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, style: runtime_helpers_esm_extends_extends({}, style, { marginRight: 0, marginBottom: 0, borderRadius: 0, boxSizing: 'border-box', height: 25, width: 25 }, checked ? { zIndex: 1, outline: '#fff solid 2px', boxShadow: 'rgb(0 0 0 / 25%) 0 0 5px 2px' } : { zIndex: 0 }, rectProps.style) })); } ;// CONCATENATED MODULE: ../color-github/esm/index.js var color_github_esm_excluded = ["prefixCls", "placement", "className", "style", "color", "colors", "rectProps", "onChange"], _excluded2 = ["key"]; var CORLER_HEX = ['#B80000', '#DB3E00', '#FCCB00', '#008B02', '#006B76', '#1273DE', '#004DCF', '#5300EB', '#EB9694', '#FAD0C3', '#FEF3BD', '#C1E1C5', '#BEDADC', '#C4DEF6', '#BED3F3', '#D4C4FB']; var GithubPlacement; (function (GithubPlacement) { GithubPlacement["Left"] = "L"; GithubPlacement["LeftTop"] = "LT"; GithubPlacement["LeftBotton"] = "LB"; GithubPlacement["Right"] = "R"; GithubPlacement["RightTop"] = "RT"; GithubPlacement["RightBotton"] = "RB"; GithubPlacement["Top"] = "T"; GithubPlacement["TopRight"] = "TR"; GithubPlacement["TopLeft"] = "TL"; GithubPlacement["Botton"] = "B"; GithubPlacement["BottonLeft"] = "BL"; GithubPlacement["BottonRight"] = "BR"; })(GithubPlacement || (GithubPlacement = {})); var Github = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().forwardRef((props, ref) => { var { prefixCls = 'w-color-github', placement = GithubPlacement.TopRight, className, style, color, colors = CORLER_HEX, rectProps = {}, onChange } = props, other = helpers_esm_objectWithoutPropertiesLoose_objectWithoutPropertiesLoose(props, color_github_esm_excluded); var hsva = typeof color === 'string' && validHex(color) ? hexToHsva(color) : color; var hex = color ? hsvaToHex(hsva) : ''; var handleChange = hsv => onChange && onChange(esm_color(hsv)); var rStyle = { borderStyle: 'solid', position: 'absolute' }; var arrBrStyl = runtime_helpers_esm_extends_extends({}, rStyle); var arrStyl = runtime_helpers_esm_extends_extends({}, rStyle); if (/^T/.test(placement)) { arrBrStyl.borderWidth = '0 8px 8px'; arrBrStyl.borderColor = 'transparent transparent rgba(0, 0, 0, 0.15)'; arrStyl.borderWidth = '0 7px 7px'; arrStyl.borderColor = 'transparent transparent #fff'; } if (placement === GithubPlacement.TopRight) { arrBrStyl.top = -8; arrStyl.top = -7; } if (placement === GithubPlacement.Top) { arrBrStyl.top = -8; arrStyl.top = -7; } if (placement === GithubPlacement.TopLeft) { arrBrStyl.top = -8; arrStyl.top = -7; } if (/^B/.test(placement)) { arrBrStyl.borderWidth = '8px 8px 0 '; arrBrStyl.borderColor = 'rgba(0, 0, 0, 0.15) transparent transparent'; arrStyl.borderWidth = '7px 7px 0px'; arrStyl.borderColor = '#fff transparent transparent'; if (placement === GithubPlacement.BottonRight) { arrBrStyl.top = '100%'; arrStyl.top = '100%'; } if (placement === GithubPlacement.Botton) { arrBrStyl.top = '100%'; arrStyl.top = '100%'; } if (placement === GithubPlacement.BottonLeft) { arrBrStyl.top = '100%'; arrStyl.top = '100%'; } } if (/^(B|T)/.test(placement)) { if (placement === GithubPlacement.Top || placement === GithubPlacement.Botton) { arrBrStyl.left = '50%'; arrBrStyl.marginLeft = -8; arrStyl.left = '50%'; arrStyl.marginLeft = -7; } if (placement === GithubPlacement.TopRight || placement === GithubPlacement.BottonRight) { arrBrStyl.right = 10; arrStyl.right = 11; } if (placement === GithubPlacement.TopLeft || placement === GithubPlacement.BottonLeft) { arrBrStyl.left = 7; arrStyl.left = 8; } } if (/^L/.test(placement)) { arrBrStyl.borderWidth = '8px 8px 8px 0px'; arrBrStyl.borderColor = 'transparent rgba(0, 0, 0, 0.15) transparent transparent'; arrStyl.borderWidth = '7px 7px 7px 0px'; arrStyl.borderColor = 'transparent #fff transparent transparent'; arrBrStyl.left = -8; arrStyl.left = -7; } if (/^R/.test(placement)) { arrBrStyl.borderWidth = '8px 0px 8px 8px'; arrBrStyl.borderColor = 'transparent transparent transparent rgba(0, 0, 0, 0.15)'; arrStyl.borderWidth = '7px 0px 7px 7px'; arrStyl.borderColor = 'transparent transparent transparent #fff'; arrBrStyl.right = -8; arrStyl.right = -7; } if (/^(L|R)/.test(placement)) { if (placement === GithubPlacement.RightTop || placement === GithubPlacement.LeftTop) { arrBrStyl.top = 5; arrStyl.top = 6; } if (placement === GithubPlacement.Left || placement === GithubPlacement.Right) { arrBrStyl.top = '50%'; arrStyl.top = '50%'; arrBrStyl.marginTop = -8; arrStyl.marginTop = -7; } if (placement === GithubPlacement.LeftBotton || placement === GithubPlacement.RightBotton) { arrBrStyl.top = '100%'; arrStyl.top = '100%'; arrBrStyl.marginTop = -21; arrStyl.marginTop = -20; } } return /*#__PURE__*/(0,jsx_runtime.jsx)(color_swatch_esm, runtime_helpers_esm_extends_extends({ ref: ref, className: [prefixCls, className].filter(Boolean).join(' '), colors: colors, color: hex, rectRender: _ref => { var { key } = _ref, props = helpers_esm_objectWithoutPropertiesLoose_objectWithoutPropertiesLoose(_ref, _excluded2); return /*#__PURE__*/(0,jsx_runtime.jsx)(Point, runtime_helpers_esm_extends_extends({}, props, { rectProps: rectProps }), key); } }, other, { onChange: handleChange, style: runtime_helpers_esm_extends_extends({ width: 200, borderRadius: 4, background: '#fff', boxShadow: 'rgb(0 0 0 / 15%) 0px 3px 12px', border: '1px solid rgba(0, 0, 0, 0.2)', position: 'relative', padding: 5 }, style), rectProps: { style: { marginRight: 0, marginBottom: 0, borderRadius: 0, height: 25, width: 25 } }, addonBefore: /*#__PURE__*/(0,jsx_runtime.jsxs)(external_root_React_commonjs2_react_commonjs_react_amd_react_.Fragment, { children: [/*#__PURE__*/(0,jsx_runtime.jsx)("div", { style: arrBrStyl }), /*#__PURE__*/(0,jsx_runtime.jsx)("div", { style: arrStyl })] }) })); }); Github.displayName = 'Github'; /* harmony default export */ const color_github_esm = (Github); ;// CONCATENATED MODULE: ../color-saturation/node_modules/@babel/runtime/helpers/esm/extends.js function node_modules_babel_runtime_helpers_esm_extends_extends() { node_modules_babel_runtime_helpers_esm_extends_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return node_modules_babel_runtime_helpers_esm_extends_extends.apply(this, arguments); } ;// CONCATENATED MODULE: ../color-saturation/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js function _babel_runtime_helpers_esm_objectWithoutPropertiesLoose_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } ;// CONCATENATED MODULE: ../color-saturation/esm/Pointer.js var Pointer_BOXSHADOW = 'rgb(255 255 255) 0px 0px 0px 1.5px, rgb(0 0 0 / 30%) 0px 0px 1px 1px inset, rgb(0 0 0 / 40%) 0px 0px 1px 2px'; var Pointer_Pointer = _ref => { var { className, color, left, top, prefixCls } = _ref; var style = { position: 'absolute', top, left }; return (0,external_root_React_commonjs2_react_commonjs_react_amd_react_.useMemo)(() => /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: prefixCls + "-pointer " + (className || ''), style: style, children: /*#__PURE__*/(0,jsx_runtime.jsx)("div", { className: prefixCls + "-fill", style: { width: 6, height: 6, transform: 'translate(-3px, -3px)', boxShadow: Pointer_BOXSHADOW, borderRadius: '50%', backgroundColor: color } }) }), [top, left, color, className, prefixCls]); }; ;// CONCATENATED MODULE: ../color-saturation/esm/index.js var color_saturation_esm_excluded = ["prefixCls", "radius", "pointer", "className", "style", "hsva", "onChange"]; var Saturation = /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().forwardRef((props, ref) => { var { prefixCls = 'w-color-saturation', radius = 0, pointer, className, style, hsva, onChange } = props, other = _babel_runtime_helpers_esm_objectWithoutPropertiesLoose_objectWithoutPropertiesLoose(props, color_saturation_esm_excluded); var containerStyle = node_modules_babel_runtime_helpers_esm_extends_extends({ width: 200, height: 200, borderRadius: radius }, style, { position: 'relative' }); var handleChange = (interaction, event) => { onChange && onChange({ h: hsva.h, s: interaction.left * 100, v: (1 - interaction.top) * 100, a: hsva.a // source: 'hsv', }); }; var comProps = { top: 100 - hsva.v + "%", left: hsva.s + "%", color: hsvaToHslaString(hsva) }; return /*#__PURE__*/(0,jsx_runtime.jsx)(esm, node_modules_babel_runtime_helpers_esm_extends_extends({ className: [prefixCls, className || ''].filter(Boolean).join(' ') }, other, { style: node_modules_babel_runtime_helpers_esm_extends_extends({ position: 'absolute', inset: 0, cursor: 'crosshair', backgroundImage: "linear-gradient(0deg, #000, transparent), linear-gradient(90deg, #fff, hsl(" + hsva.h + ", 100%, 50%))" }, containerStyle), ref: ref, onMove: handleChange, onDown: handleChange, children: /*#__PURE__*/external_root_React_commonjs2_react_commonjs_react_amd_react_default().createElement(pointer || Pointer_Pointer, node_modules_babel_runtime_helpers_esm_extends_extends({ prefixCls }, comProps)) })); }); Saturation.displayName = 'Saturation'; /* harmony default export */ const color_saturation_esm = (Saturation); ;// CONCATENATED MODULE: ../color-hue/node_modules/@babel/runtime/helpers/esm/extends.js function color_hue_node_modules_babel_runtime_helpers_esm_extends_extends() { color_hue_node_modules_babel_runtime_helpers_esm_extends_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return color_hue_node_modules_babel_runtime_helpers_esm_extends_extends.apply(this, arguments); } ;// CONCATENATED MODULE: ../color-hue/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js function node_modules_babel_runtime_helpers_esm_objectWithoutPropertiesLoose_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var