@uiw/react-color
Version:
Color Picker component for React.
1,637 lines (1,426 loc) • 121 kB
JavaScript
(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