vxe-pc-ui 3.16.21 → 3.16.22

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.
Files changed (56) hide show
  1. package/es/color-picker/index.js +14 -0
  2. package/es/color-picker/src/color-picker.js +40 -28
  3. package/es/color-picker/src/util.js +252 -36
  4. package/es/date-picker/src/date-picker.js +2 -1
  5. package/es/date-range-picker/src/date-range-picker.js +2 -1
  6. package/es/icon/style.css +1 -1
  7. package/es/select/src/select.js +2 -1
  8. package/es/style.css +1 -1
  9. package/es/style.min.css +1 -1
  10. package/es/ui/index.js +1 -1
  11. package/es/ui/src/log.js +1 -1
  12. package/lib/color-picker/index.js +14 -0
  13. package/lib/color-picker/index.min.js +1 -1
  14. package/lib/color-picker/src/color-picker.js +38 -27
  15. package/lib/color-picker/src/color-picker.min.js +1 -1
  16. package/lib/color-picker/src/util.js +266 -46
  17. package/lib/color-picker/src/util.min.js +1 -1
  18. package/lib/date-picker/src/date-picker.js +2 -1
  19. package/lib/date-picker/src/date-picker.min.js +1 -1
  20. package/lib/date-range-picker/src/date-range-picker.js +2 -1
  21. package/lib/date-range-picker/src/date-range-picker.min.js +1 -1
  22. package/lib/icon/style/style.css +1 -1
  23. package/lib/icon/style/style.min.css +1 -1
  24. package/lib/index.umd.js +318 -77
  25. package/lib/index.umd.min.js +1 -1
  26. package/lib/select/src/select.js +2 -1
  27. package/lib/select/src/select.min.js +1 -1
  28. package/lib/style.css +1 -1
  29. package/lib/style.min.css +1 -1
  30. package/lib/ui/index.js +1 -1
  31. package/lib/ui/index.min.js +1 -1
  32. package/lib/ui/src/log.js +1 -1
  33. package/lib/ui/src/log.min.js +1 -1
  34. package/package.json +1 -1
  35. package/packages/color-picker/index.ts +15 -0
  36. package/packages/color-picker/src/color-picker.ts +41 -29
  37. package/packages/color-picker/src/util.ts +267 -42
  38. package/packages/date-picker/src/date-picker.ts +4 -2
  39. package/packages/date-range-picker/src/date-range-picker.ts +4 -2
  40. package/packages/select/src/select.ts +4 -2
  41. package/types/components/color-picker.d.ts +93 -0
  42. package/types/components/grid.d.ts +6 -0
  43. package/types/components/table.d.ts +2 -2
  44. package/types/ui/index.d.ts +2 -0
  45. /package/es/icon/{iconfont.1784868314197.ttf → iconfont.1784893277784.ttf} +0 -0
  46. /package/es/icon/{iconfont.1784868314197.woff → iconfont.1784893277784.woff} +0 -0
  47. /package/es/icon/{iconfont.1784868314197.woff2 → iconfont.1784893277784.woff2} +0 -0
  48. /package/es/{iconfont.1784868314197.ttf → iconfont.1784893277784.ttf} +0 -0
  49. /package/es/{iconfont.1784868314197.woff → iconfont.1784893277784.woff} +0 -0
  50. /package/es/{iconfont.1784868314197.woff2 → iconfont.1784893277784.woff2} +0 -0
  51. /package/lib/icon/style/{iconfont.1784868314197.ttf → iconfont.1784893277784.ttf} +0 -0
  52. /package/lib/icon/style/{iconfont.1784868314197.woff → iconfont.1784893277784.woff} +0 -0
  53. /package/lib/icon/style/{iconfont.1784868314197.woff2 → iconfont.1784893277784.woff2} +0 -0
  54. /package/lib/{iconfont.1784868314197.ttf → iconfont.1784893277784.ttf} +0 -0
  55. /package/lib/{iconfont.1784868314197.woff → iconfont.1784893277784.woff} +0 -0
  56. /package/lib/{iconfont.1784868314197.woff2 → iconfont.1784893277784.woff2} +0 -0
package/es/ui/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { VxeUI, setConfig, setIcon } from '@vxe-ui/core';
2
2
  import { dynamicApp } from '../dynamics';
3
3
  import { warnLog } from './src/log';
4
- export const version = "3.16.21";
4
+ export const version = "3.16.22";
5
5
  VxeUI.uiVersion = version;
6
6
  VxeUI.dynamicApp = dynamicApp;
7
7
  export function config(options) {
package/es/ui/src/log.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { VxeUI } from '@vxe-ui/core';
2
2
  const { log } = VxeUI;
3
- const uiVersion = `ui v${"3.16.21"}`;
3
+ const uiVersion = `ui v${"3.16.22"}`;
4
4
  export function createComponentLog(name) {
5
5
  const tableVersion = VxeUI.tableVersion ? `table v${VxeUI.tableVersion}` : '';
6
6
  const ganttVersion = VxeUI.ganttVersion ? `gantt v${VxeUI.ganttVersion}` : '';
@@ -7,6 +7,7 @@ exports.default = exports.VxeColorPicker = exports.ColorPicker = void 0;
7
7
  var _core = require("@vxe-ui/core");
8
8
  var _colorPicker = _interopRequireDefault(require("./src/color-picker"));
9
9
  var _dynamics = require("../dynamics");
10
+ var _util = require("./src/util");
10
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
12
  var VxeColorPicker = exports.VxeColorPicker = Object.assign({}, _colorPicker.default, {
12
13
  install: function install(app) {
@@ -15,5 +16,18 @@ var VxeColorPicker = exports.VxeColorPicker = Object.assign({}, _colorPicker.def
15
16
  });
16
17
  _dynamics.dynamicApp.use(VxeColorPicker);
17
18
  _core.VxeUI.component(_colorPicker.default);
19
+ _core.VxeUI.color = {
20
+ parseColor: _util.parseColor,
21
+ hasRgb: _util.hasRgb,
22
+ hasHex: _util.hasHex,
23
+ toRgb: _util.toRgb,
24
+ toRgbString: _util.toRgbString,
25
+ toHex: _util.toHex,
26
+ toHexString: _util.toHexString,
27
+ toHsl: _util.toHsl,
28
+ toHsv: _util.toHsv,
29
+ lighten: _util.lighten,
30
+ darken: _util.darken
31
+ };
18
32
  var ColorPicker = exports.ColorPicker = VxeColorPicker;
19
33
  var _default = exports.default = VxeColorPicker;
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.VxeColorPicker=exports.ColorPicker=void 0;var _core=require("@vxe-ui/core"),_colorPicker=_interopRequireDefault(require("./src/color-picker")),_dynamics=require("../dynamics");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var VxeColorPicker=exports.VxeColorPicker=Object.assign({},_colorPicker.default,{install:function(e){e.component(_colorPicker.default.name,_colorPicker.default)}}),ColorPicker=(_dynamics.dynamicApp.use(VxeColorPicker),_core.VxeUI.component(_colorPicker.default),exports.ColorPicker=VxeColorPicker),_default=exports.default=VxeColorPicker;
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.VxeColorPicker=exports.ColorPicker=void 0;var _core=require("@vxe-ui/core"),_colorPicker=_interopRequireDefault(require("./src/color-picker")),_dynamics=require("../dynamics"),_util=require("./src/util");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var VxeColorPicker=exports.VxeColorPicker=Object.assign({},_colorPicker.default,{install:function(e){e.component(_colorPicker.default.name,_colorPicker.default)}}),ColorPicker=(_dynamics.dynamicApp.use(VxeColorPicker),_core.VxeUI.component(_colorPicker.default),_core.VxeUI.color={parseColor:_util.parseColor,hasRgb:_util.hasRgb,hasHex:_util.hasHex,toRgb:_util.toRgb,toRgbString:_util.toRgbString,toHex:_util.toHex,toHexString:_util.toHexString,toHsl:_util.toHsl,toHsv:_util.toHsv,lighten:_util.lighten,darken:_util.darken},exports.ColorPicker=VxeColorPicker),_default=exports.default=VxeColorPicker;
@@ -193,6 +193,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
193
193
  var $xeTable = $xeColorPicker.$xeTable;
194
194
  var $xeModal = $xeColorPicker.$xeModal;
195
195
  var $xeDrawer = $xeColorPicker.$xeDrawer;
196
+ var $xeCard = $xeColorPicker.$xeCard;
196
197
  var $xeForm = $xeColorPicker.$xeForm;
197
198
  var transfer = props.transfer;
198
199
  if (transfer === null) {
@@ -200,7 +201,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
200
201
  if (_xeUtils.default.isBoolean(globalTransfer)) {
201
202
  return globalTransfer;
202
203
  }
203
- if ($xeTable || $xeModal || $xeDrawer || $xeForm) {
204
+ if ($xeTable || $xeModal || $xeDrawer || $xeCard || $xeForm) {
204
205
  return true;
205
206
  }
206
207
  }
@@ -293,31 +294,41 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
293
294
  var isRgb = $xeColorPicker.computeIsRgb;
294
295
  var hueSliderEl = $xeColorPicker.$refs.refHueSliderElem;
295
296
  var alphaSliderEl = $xeColorPicker.$refs.refAlphaSliderElem;
296
- var colorRest = (0, _util.parseColor)(selectColor);
297
- reactData.hexValue = colorRest.hex;
298
- reactData.rValue = colorRest.r;
299
- reactData.gValue = colorRest.g;
300
- reactData.bValue = colorRest.b;
301
- reactData.aValue = colorRest.a;
302
- if (colorRest.value) {
303
- if (isRgb) {
304
- if (colorRest.type === 'hex') {
305
- var rgbRest = (0, _util.hexToRgb)(colorRest.hex);
306
- if (rgbRest) {
307
- reactData.rValue = rgbRest.r;
308
- reactData.gValue = rgbRest.g;
309
- reactData.bValue = rgbRest.b;
310
- reactData.aValue = rgbRest.a;
311
- }
312
- }
297
+ var colorRest = (0, _util.parseValColor)(selectColor);
298
+ reactData.hexValue = '';
299
+ reactData.rValue = 0;
300
+ reactData.gValue = 0;
301
+ reactData.bValue = 0;
302
+ reactData.aValue = 1;
303
+ if (colorRest) {
304
+ if (colorRest.type === 'hex') {
305
+ reactData.hexValue = colorRest.hex;
313
306
  } else {
314
- if (colorRest.type !== 'hex') {
315
- reactData.hexValue = (0, _util.rgbToHex)(colorRest);
307
+ reactData.rValue = colorRest.r;
308
+ reactData.gValue = colorRest.g;
309
+ reactData.bValue = colorRest.b;
310
+ reactData.aValue = colorRest.a;
311
+ }
312
+ if (colorRest.value) {
313
+ if (isRgb) {
314
+ if (colorRest.type === 'hex') {
315
+ var rgbRest = (0, _util.hexToRgb)(colorRest.hex);
316
+ if (rgbRest) {
317
+ reactData.rValue = rgbRest.r;
318
+ reactData.gValue = rgbRest.g;
319
+ reactData.bValue = rgbRest.b;
320
+ reactData.aValue = rgbRest.a;
321
+ }
322
+ }
323
+ } else {
324
+ if (colorRest.type !== 'hex') {
325
+ reactData.hexValue = (0, _util.rgbToHexVal)(colorRest.r, colorRest.g, colorRest.b, colorRest.a);
326
+ }
316
327
  }
317
328
  }
318
329
  }
319
330
  if (isAniVisible) {
320
- var hsvRest = colorRest.type === 'hex' ? (0, _util.hexToHsv)(colorRest.hex) : (0, _util.rgbToHsv)(colorRest);
331
+ var hsvRest = colorRest ? colorRest.type === 'hex' ? (0, _util.hexToHsv)(colorRest.hex) : (0, _util.rgbToHsv)(colorRest) : null;
321
332
  var colorPanelEl = $xeColorPicker.$refs.refColorPanelElem;
322
333
  if (hsvRest) {
323
334
  if (colorPanelEl) {
@@ -330,7 +341,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
330
341
  }
331
342
  }
332
343
  if (alphaSliderEl) {
333
- $xeColorPicker.handleAlphaColor(alphaSliderEl.clientWidth * colorRest.a);
344
+ $xeColorPicker.handleAlphaColor(alphaSliderEl.clientWidth * reactData.aValue);
334
345
  }
335
346
  }
336
347
  },
@@ -542,7 +553,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
542
553
  gNum = itemNum - offsetNum;
543
554
  break;
544
555
  }
545
- reactData.panelColor = (0, _util.toRgb)(rNum, gNum, bNum);
556
+ reactData.panelColor = (0, _util.toValRgb)(rNum, gNum, bNum);
546
557
  hueSliderBtnEl.style.left = (0, _dom.toCssUnit)(offsetLeft);
547
558
  }
548
559
  },
@@ -623,7 +634,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
623
634
  gValue = reactData.gValue,
624
635
  bValue = reactData.bValue,
625
636
  aValue = reactData.aValue;
626
- reactData.selectColor = (0, _util.toRgb)(rValue, gValue, bValue, aValue);
637
+ reactData.selectColor = (0, _util.toValRgb)(rValue, gValue, bValue, aValue);
627
638
  $xeColorPicker.updateModelColor();
628
639
  },
629
640
  handleInputAlphaEvent: function handleInputAlphaEvent() {
@@ -684,12 +695,12 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
684
695
  var colorPanelRect = colorPanelEl.getBoundingClientRect();
685
696
  var offsetTop = Math.min(clientHeight, Math.max(0, clientY - colorPanelRect.y));
686
697
  var offsetLeft = Math.min(clientWidth, Math.max(0, clientX - colorPanelRect.x));
687
- var colorRest = (0, _util.parseColor)(panelColor);
698
+ var colorRest = (0, _util.parseValColor)(panelColor);
688
699
  if (colorRest) {
689
700
  var hsvRest = colorRest.type === 'hex' ? (0, _util.hexToHsv)(colorRest.hex) : (0, _util.rgbToHsv)(colorRest);
690
701
  if (hsvRest) {
691
702
  var ragRest = (0, _util.hsvToRgb)(hsvRest.h, offsetLeft / clientWidth, 1 - offsetTop / clientHeight);
692
- reactData.selectColor = (0, _util.toRgb)(ragRest.r, ragRest.g, ragRest.b, showAlpha ? aValue : null);
703
+ reactData.selectColor = (0, _util.toValRgb)(ragRest.r, ragRest.g, ragRest.b, showAlpha ? aValue : null);
693
704
  $xeColorPicker.handlePanelColor(offsetLeft, offsetTop);
694
705
  }
695
706
  }
@@ -1020,7 +1031,7 @@ var _default2 = exports.default = /* define-vxe-component start */(0, _comp.defi
1020
1031
  reactData.hexValue = val;
1021
1032
  },
1022
1033
  change: function change() {
1023
- var colorRest = (0, _util.parseColor)(reactData.hexValue);
1034
+ var colorRest = (0, _util.parseValColor)(reactData.hexValue);
1024
1035
  if (colorRest) {
1025
1036
  if (colorRest.value) {
1026
1037
  reactData.selectColor = colorRest.value;
@@ -1 +1 @@
1
- Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_util=require("./util"),_button=_interopRequireDefault(require("../../button")),_input=_interopRequireDefault(require("../../input")),_numberInput=_interopRequireDefault(require("../../number-input"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _defineProperty(e,t,l){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var l=e[Symbol.toPrimitive];if(void 0===l)return("string"===t?String:Number)(e);l=l.call(e,t||"default");if("object"!=_typeof(l))return l;throw new TypeError("@@toPrimitive must return a primitive value.")}var WinEyeDropper="undefined"!=typeof window?window.EyeDropper:null,typeList=[{label:"HEX",value:"hex"},{label:"RGB",value:"rgb"}],_default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeColorPicker",mixins:[_ui.globalMixins.sizeMixin],model:{prop:"value",event:"modelValue"},props:{value:String,placeholder:String,clearable:{type:Boolean,default:function(){return(0,_ui.getConfig)().colorPicker.clearable}},type:{type:String,default:function(){return(0,_ui.getConfig)().colorPicker.type}},size:{type:String,default:function(){return(0,_ui.getConfig)().colorPicker.size||(0,_ui.getConfig)().size}},className:[String,Function],popupClassName:[String,Function],colors:{type:Array,default:function(){return _xeUtils.default.clone((0,_ui.getConfig)().colorPicker.colors,!0)||[]}},showAlpha:{type:Boolean,default:function(){return(0,_ui.getConfig)().colorPicker.showAlpha}},showEyeDropper:{type:Boolean,default:function(){return(0,_ui.getConfig)().colorPicker.showEyeDropper}},showColorExtractor:{type:Boolean,default:function(){return(0,_ui.getConfig)().colorPicker.showColorExtractor}},showQuick:{type:Boolean,default:function(){return(0,_ui.getConfig)().colorPicker.showQuick}},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},clickToCopy:{type:Boolean,default:function(){return(0,_ui.getConfig)().colorPicker.clickToCopy}},placement:String,transfer:{type:Boolean,default:null},popupConfig:Object},inject:{$xeModal:{default:null},$xeDrawer:{default:null},$xeTable:{default:null},$xeForm:{default:null},formItemInfo:{from:"xeFormItemInfo",default:null}},provide:function(){return{$xeColorPicker:this}},data:function(){return{xID:_xeUtils.default.uniqueId(),reactData:{initialized:!1,selectTyle:"hex",selectColor:"",showTypePopup:!1,panelColor:"",hexValue:"",rValue:0,gValue:0,bValue:0,aValue:0,panelIndex:0,panelStyle:{},panelPlacement:null,visiblePanel:!1,isAniVisible:!1,isActivated:!1},internalData:{hpTimeout:void 0}}},computed:Object.assign(Object.assign({},{}),{computeFormReadonly:function(){var e=this.$xeForm,t=this.readonly;return null===t?!!e&&e.readonly:t},computeIsDisabled:function(){var e=this.$xeForm,t=this.disabled;return null===t?!!e&&e.disabled:t},computeBtnTransfer:function(){var e=this,t=e.$xeTable,l=e.$xeModal,o=e.$xeDrawer,n=e.$xeForm,e=e.transfer;if(null===e){var i=(0,_ui.getConfig)().colorPicker.transfer;if(_xeUtils.default.isBoolean(i))return i;if(t||l||o||n)return!0}return e},computeColorList:function(){var e=this.colors;return e?e.map(function(e){return _xeUtils.default.isString(e)?{label:e,value:e}:{label:_xeUtils.default.eqNull(e.label)?e.value:e.label,value:e.value}}):[]},computePopupOpts:function(){return Object.assign({},(0,_ui.getConfig)().colorPicker.popupConfig,this.popupConfig)},computeIsRgb:function(){return"rgb"===this.reactData.selectTyle},computeSelectTypeItem:function(){var t=this.reactData.selectTyle;return typeList.find(function(e){return e.value===t})}}),methods:{dispatchEvent:function(e,t,l){this.$emit(e,(0,_ui.createEvent)(l,{$colorPicker:this},t))},emitModel:function(e){var t=this._events;t&&t.modelValue?this.$emit("modelValue",e):this.$emit("model-value",e)},updateMode:function(){var e=this.reactData,t=this.value;e.selectColor=_xeUtils.default.toValueString(t),this.updateModelColor()},updateType:function(){var e=this.reactData,t=this.type,t="rgb"!==t&&"rgba"!==t?"hex":"rgb";e.selectTyle=t,this.updateMode()},updateModelColor:function(){var e=this,t=e.reactData,l=t.selectColor,o=t.isAniVisible,n=e.computeIsRgb,i=e.$refs.refHueSliderElem,r=e.$refs.refAlphaSliderElem,l=(0,_util.parseColor)(l);t.hexValue=l.hex,t.rValue=l.r,t.gValue=l.g,t.bValue=l.b,t.aValue=l.a,l.value&&(n?"hex"===l.type&&(n=(0,_util.hexToRgb)(l.hex))&&(t.rValue=n.r,t.gValue=n.g,t.bValue=n.b,t.aValue=n.a):"hex"!==l.type&&(t.hexValue=(0,_util.rgbToHex)(l))),o&&(n="hex"===l.type?(0,_util.hexToHsv)(l.hex):(0,_util.rgbToHsv)(l),t=e.$refs.refColorPanelElem,n&&(t&&(o=t.clientHeight*(1-n.v),t=t.clientWidth*n.s,e.handlePanelColor(t,o)),i)&&e.handleHueColor(_xeUtils.default.ceil((1-n.h/360)*i.clientWidth)),r)&&e.handleAlphaColor(r.clientWidth*l.a)},updateZindex:function(){var e=this.reactData;e.panelIndex<(0,_utils.getLastZIndex)()&&(e.panelIndex=(0,_utils.nextZIndex)())},updatePlacement:function(){function e(){var e=(0,_dom.updatePanelPlacement)(i,r,{placement:c.placement||o,defaultPlacement:c.defaultPlacement,teleportTo:a}),t=Object.assign(e.style,{zIndex:n});l.panelStyle=t,l.panelPlacement=e.placement}var t=this,l=t.reactData,o=t.placement,n=l.panelIndex,i=t.$refs.refElem,r=t.$refs.refOptionPanel,a=t.computeBtnTransfer,c=t.computePopupOpts;return e(),t.$nextTick().then(e)},showOptionPanel:function(){var e,t=this,l=t.reactData,o=t.internalData,n=o.hpTimeout;t.computeIsDisabled||(n&&(clearTimeout(n),o.hpTimeout=void 0),n=t.computeBtnTransfer,o=t.computePopupOpts,e=t.$refs.refOptionPanel,l.initialized||(l.initialized=!0,n&&e&&(n=o.appendTo,(0,_dom.getPopupContainer)(n).appendChild(e))),l.isActivated=!0,l.isAniVisible=!0,setTimeout(function(){t.updateModelColor(),l.visiblePanel=!0},10),t.updateZindex(),t.updatePlacement())},hideOptionPanel:function(){var e=this.reactData,t=this.internalData;e.visiblePanel=!1,t.hpTimeout=setTimeout(function(){e.isAniVisible=!1},350)},changeEvent:function(e,t){var l=this,o=l,n=l.reactData,i=l.$xeForm,r=l.formItemInfo;(n.selectColor=t)!==o.value&&(l.emitModel(t),l.dispatchEvent("change",{value:t},e),i)&&r&&i.triggerItemEvent(e,r.itemConfig.field,t)},clearValueEvent:function(e,t){this.changeEvent(e,t),this.dispatchEvent("clear",{value:t},e)},focusEvent:function(){var e=this.reactData;this.computeIsDisabled||e.visiblePanel||this.showOptionPanel()},blurEvent:function(){this.reactData.isActivated=!1},clearEvent:function(e){this.clearValueEvent(e,null),this.hideOptionPanel()},confirmEvent:function(e){var t=this.reactData,l=t.selectTyle;this.changeEvent(e,"hex"===l?t.hexValue:t.selectColor),this.hideOptionPanel()},togglePanelEvent:function(e){var t=this.reactData;e.preventDefault(),t.visiblePanel?this.hideOptionPanel():this.showOptionPanel()},clickEvent:function(e){this.togglePanelEvent(e),this.dispatchEvent("click",{},e)},handlePanelClickEvent:function(){this.reactData.showTypePopup=!1},toggleTypeVisibleEvent:function(e){var t=this.reactData;e.stopPropagation(),t.showTypePopup=!t.showTypePopup},handleChangeType:function(e){var t=this.reactData;e!==t.selectTyle&&(t.selectTyle=e,this.updateModelColor()),t.showTypePopup=!1},handleHueColor:function(e){var t=this.reactData,l=this.$refs.refHueSliderElem,o=this.$refs.refHueSliderBtnElem;if(l&&o){e<0&&(e=0);var l=_xeUtils.default.toInteger(l.clientWidth),n=255,l=_xeUtils.default.ceil(1530/l*e),i=l%n,r=0,a=0,c=0;switch(Math.ceil(l/n)){case 1:r=n,c=i;break;case 2:r=n-i,c=n;break;case 3:a=i,c=n;break;case 4:c=(a=n)-i;break;case 5:r=i,a=n;break;case 6:a=(r=n)-i}t.panelColor=(0,_util.toRgb)(r,a,c),o.style.left=(0,_dom.toCssUnit)(e)}},handleHueBarEvent:function(e){var t=this.$refs.refHueSliderElem,l=this.$refs.refHueSliderBtnElem;t&&l&&(l=t.getBoundingClientRect(),t=_xeUtils.default.toInteger(t.clientWidth),t=_xeUtils.default.ceil(Math.min(t-1,Math.max(1,e.clientX-l.x))),this.handleHueColor(t))},handleHueSliderMousedownEvent:function(e){var t=this;e.preventDefault(),document.onmousemove=function(e){e.preventDefault(),t.handleHueBarEvent(e)},document.onmouseup=function(e){document.onmousemove=null,document.onmouseup=null,t.handleHueBarEvent(e)}},handleAlphaColor:function(e){var t=this.reactData,l=t.selectColor,o=this.$refs.refAlphaSliderElem,n=this.$refs.refAlphaSliderBtnElem;o&&n&&(o=o.getBoundingClientRect().width,o=_xeUtils.default.ceil(100/o*(e=o<(e=e<0?0:e)?o:e)/100,2),t.aValue=o,n.style.left=(0,_dom.toCssUnit)(e),t.selectColor=(0,_util.updateColorAlpha)(l,o))},handleAlphaBarEvent:function(e){var t=this.$refs.refAlphaSliderElem,l=this.$refs.refAlphaSliderBtnElem;t&&l&&(t=(l=t.getBoundingClientRect()).width,t=Math.min(t,Math.max(0,e.clientX-l.x)),this.handleAlphaColor(t),this.updateModelColor())},handleAlphaSliderMousedownEvent:function(e){var t=this;e.preventDefault(),document.onmousemove=function(e){e.preventDefault(),t.handleAlphaBarEvent(e)},document.onmouseup=function(e){document.onmousemove=null,document.onmouseup=null,t.handleAlphaBarEvent(e)}},handleInputRgbEvent:function(){var e=this.reactData,t=e.rValue;e.selectColor=(0,_util.toRgb)(t,e.gValue,e.bValue,e.aValue),this.updateModelColor()},handleInputAlphaEvent:function(){var e=this.reactData.aValue,t=this.$refs.refAlphaSliderElem,l=this.$refs.refAlphaSliderBtnElem;t&&l&&(l=t.getBoundingClientRect().width,this.handleAlphaColor(l*e))},handleQuickEvent:function(e,t){var l=this.reactData,t=t.value;l.selectColor=t,this.updateModelColor()},handlePanelColor:function(e,t){var l=this.$refs.refColorActiveElem;l&&(l.style.top=(0,_dom.toCssUnit)(t),l.style.left=(0,_dom.toCssUnit)(e))},handleEyeDropperEvent:function(){var t=this,l=t.reactData;if(WinEyeDropper)try{(new WinEyeDropper).open().then(function(e){e&&e.sRGBHex&&(l.selectColor=e.sRGBHex,t.updateModelColor())}).catch(function(){})}catch(e){}},handleSelectColorByXY:function(e,t){var l,o=this,n=o.reactData,i=o.showAlpha,r=n.panelColor,a=n.aValue,c=o.$refs.refColorPanelElem,u=o.$refs.refColorActiveElem;c&&u&&(u=c.clientWidth,l=c.clientHeight,c=c.getBoundingClientRect(),t=Math.min(l,Math.max(0,t-c.y)),e=Math.min(u,Math.max(0,e-c.x)),(c=(0,_util.parseColor)(r))&&(r="hex"===c.type?(0,_util.hexToHsv)(c.hex):(0,_util.rgbToHsv)(c))&&(c=(0,_util.hsvToRgb)(r.h,e/u,1-t/l),n.selectColor=(0,_util.toRgb)(c.r,c.g,c.b,i?a:null),o.handlePanelColor(e,t)),o.updateModelColor())},handleSelectColorMousedownEvent:function(e){var t=this;e.stopPropagation(),e.preventDefault(),t.handleSelectColorByXY(e.clientX,e.clientY),document.onmousemove=function(e){t.handleSelectColorByXY(e.clientX,e.clientY)},document.onmouseup=function(){document.onmousemove=null,document.onmouseup=null}},handleCopyColorEvent:function(){var e=this.reactData.selectColor;e&&_ui.VxeUI.clipboard.copy(e)&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:(0,_ui.getI18n)("vxe.colorPicker.copySuccess",[e]),status:"success"})},handleGlobalMousewheelEvent:function(e){var t=this,l=t.reactData.visiblePanel;t.computeIsDisabled||l&&(l=t.$refs.refOptionPanel,(0,_dom.getEventTargetNode)(e,l).flag?t.updatePlacement():t.hideOptionPanel())},handleGlobalMousedownEvent:function(e){var t,l,o=this,n=o.reactData,i=n.visiblePanel;o.computeIsDisabled||(t=o.$refs.refElem,l=o.$refs.refOptionPanel,n.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,l).flag,i&&!n.isActivated&&o.hideOptionPanel())},handleGlobalBlurEvent:function(){var e=this.reactData,t=e.visiblePanel,l=e.isActivated;t&&this.hideOptionPanel(),l&&(e.isActivated=!1),(t||l)&&(e=this.$refs.refInputTarget)&&e.blur()},handleGlobalResizeEvent:function(){this.reactData.visiblePanel&&this.updatePlacement()},renderColorWrapper:function(e){var t=this.reactData,l=this.showColorExtractor,t=t.panelColor;return l?e("div",{ref:"refColorPanelElem",class:"vxe-color-picker--color-wrapper",on:{mousedown:this.handleSelectColorMousedownEvent}},[e("div",{class:"vxe-color-picker--color-bg",style:{backgroundColor:t}}),e("div",{class:"vxe-color-picker--white-bg"}),e("div",{class:"vxe-color-picker--black-bg"}),e("div",{ref:"refColorActiveElem",class:"vxe-color-picker--color-active"})]):(0,_ui.renderEmptyElement)(this)},renderColorBar:function(e){var l=this,t=l.reactData,o=l.showAlpha,n=l.clickToCopy,i=t.selectTyle,r=t.showTypePopup,a=t.hexValue,c=t.rValue,u=t.gValue,s=t.bValue,p=t.aValue,d=t.selectColor,f=t.panelColor,h=l.computeIsRgb,v=l.computeSelectTypeItem;return e("div",{class:"vxe-color-picker--bar-wrapper"},[e("div",{class:"vxe-color-picker--slider-wrapper"},[l.showEyeDropper&&WinEyeDropper?e("div",{class:"vxe-color-picker--color-dropper"},[e("span",{class:"vxe-color-picker--color-dropper-btn",on:{click:l.handleEyeDropperEvent}},[e("i",{class:(0,_ui.getIcon)().COLOR_PICKER_EYE_DROPPER})])]):(0,_ui.renderEmptyElement)(l),e("div",{class:"vxe-color-picker--slider-preview"},[e("div",{class:"vxe-color-picker--preview-btn"},[e("div",{class:"vxe-color-picker--preview-color",style:{backgroundColor:d}},n?[e("span",{class:"vxe-color-picker--preview-copy-btn",on:{click:l.handleCopyColorEvent}},[e("i",{class:(0,_ui.getIcon)().COLOR_PICKER_COLOR_COPY})])]:[])])]),e("div",{class:"vxe-color-picker--slider-handle"},[e("div",{ref:"refHueSliderElem",class:"vxe-color-picker--bar-hue-slider",on:{click:l.handleHueBarEvent}},[e("div",{ref:"refHueSliderBtnElem",class:"vxe-color-picker--bar-hue-btn",on:{mousedown:l.handleHueSliderMousedownEvent}})]),o?e("div",{ref:"refAlphaSliderElem",class:"vxe-color-picker--bar-alpha-slider",on:{click:l.handleAlphaBarEvent}},[e("div",{class:"vxe-color-picker--bar-alpha-bg",style:{background:"linear-gradient(to right, rgba(0, 0, 0, 0), ".concat(f,")")}}),e("div",{ref:"refAlphaSliderBtnElem",class:"vxe-color-picker--bar-alpha-btn",on:{mousedown:l.handleAlphaSliderMousedownEvent}})]):(0,_ui.renderEmptyElement)(l)])]),e("div",{class:"vxe-color-picker--custom-wrapper"},[e("div",{class:"vxe-color-picker--type-switch"},[e("div",{class:"vxe-color-picker--type-label",on:{click:l.toggleTypeVisibleEvent}},[e("span","".concat(v?v.label:i)),e("span",{class:"vxe-color-picker--type-icon"},[e("i",{class:r?(0,_ui.getIcon)().COLOR_PICKER_TPTY_OPEN:(0,_ui.getIcon)().COLOR_PICKER_TPTY_CLOSE})])]),e("div",{class:["vxe-color-picker--type-popup",{"is--visible":r}]},typeList.map(function(t){return e("div",{class:"vxe-color-picker--type-item",on:{click:function(e){e.stopPropagation(),l.handleChangeType(t.value)}}},t.label)}))]),e("div",{class:"vxe-color-picker--".concat(i,"-wrapper")},h?[e("div",{class:"vxe-color-picker--input-wrapper"},[e(_numberInput.default,{props:{type:"integer",size:"mini",align:"center",min:0,max:255,maxLength:3,placeholder:"",value:c,controlConfig:{showButton:!1}},on:{modelValue:function(e){t.rValue=e},change:l.handleInputRgbEvent}}),e(_numberInput.default,{props:{type:"integer",size:"mini",align:"center",min:0,max:255,maxLength:3,placeholder:"",value:u,controlConfig:{showButton:!1}},on:{modelValue:function(e){t.gValue=e},change:l.handleInputRgbEvent}}),e(_numberInput.default,{props:{type:"integer",size:"mini",align:"center",min:0,max:255,maxLength:3,placeholder:"",value:s,controlConfig:{showButton:!1}},on:{modelValue:function(e){t.bValue=e},change:l.handleInputRgbEvent}}),e(_numberInput.default,{props:{type:"number",size:"mini",align:"center",min:0,max:1,step:.01,maxLength:4,placeholder:"",value:p,controlConfig:{showButton:!1}},on:{modelValue:function(e){t.aValue=e},change:l.handleInputAlphaEvent}})]),e("div",{class:"vxe-color-picker--input-title"},[e("span","R"),e("span","G"),e("span","B"),e("span","A")])]:[e("div",{class:"vxe-color-picker--input-wrapper"},[e(_input.default,{props:{type:"text",size:"mini",align:"center",maxLength:9,placeholder:"",value:a},on:{modelValue:function(e){t.hexValue=e},change:function(){var e=(0,_util.parseColor)(t.hexValue);e&&e.value&&(t.selectColor=e.value,l.updateModelColor())}}})]),e("div",{class:"vxe-color-picker--input-title"},(0,_ui.getI18n)("vxe.colorPicker.hex"))])])])},renderQuickWrapper:function(l){var o=this,e=o.showQuick,t=o.computeColorList;return e&&t.length?l("div",{class:"vxe-color-picker--quick-wrapper"},t.map(function(t,e){return l("div",{key:e,class:"vxe-color-picker--quick-item",attrs:{title:t.label||""},style:{backgroundColor:t.value},on:{click:function(e){o.handleQuickEvent(e,t)}}})})):(0,_ui.renderEmptyElement)(o)},renderVN:function(e){var t=this,l=t.reactData,o=t.className,n=t.popupClassName,i=t.clearable,r=t.value,a=l.initialized,c=l.isActivated,u=l.isAniVisible,s=l.visiblePanel,p=t.computeSize,d=t.computeIsDisabled,f=t.computeBtnTransfer;return t.computeFormReadonly?e("div",{ref:"refElem",class:["vxe-color-picker--readonly",o]},[e("div",{class:"vxe-color-picker--readonly-color",style:{backgroundColor:r}})]):e("div",{ref:"refElem",class:["vxe-color-picker",o?_xeUtils.default.isFunction(o)?o({$colorPicker:t}):o:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(p),p),"is--selected",!!r),"is--visible",s),"is--disabled",d),"is--active",c)]},[e("input",{ref:"refInputTarget",class:"vxe-color-picker--input",on:{focus:t.focusEvent,blur:t.blurEvent}}),e("div",{class:"vxe-color-picker--inner",on:{click:t.clickEvent}},[e("div",{class:"vxe-color-picker--inner-color",style:{backgroundColor:r}})]),e("div",{ref:"refOptionPanel",class:["vxe-table--ignore-clear vxe-color-picker--panel",n?_xeUtils.default.isFunction(n)?n({$colorPicker:t}):n:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(p),p),"is--transfer",f),"ani--leave",u),"ani--enter",s)],attrs:{placement:l.panelPlacement},style:l.panelStyle},[a&&(s||u)?e("div",{class:"vxe-color-picker--panel-wrapper",on:{click:t.handlePanelClickEvent}},[t.renderColorWrapper(e),t.renderColorBar(e),t.renderQuickWrapper(e),e("div",{class:"vxe-color-picker--footer-wrapper"},[i?e(_button.default,{props:{content:(0,_ui.getI18n)("vxe.colorPicker.clear"),size:"mini"},on:{click:t.clearEvent}}):(0,_ui.renderEmptyElement)(t),e(_button.default,{props:{content:(0,_ui.getI18n)("vxe.colorPicker.confirm"),size:"mini",status:"primary"},on:{click:t.confirmEvent}})])]):(0,_ui.renderEmptyElement)(t)])])}},watch:{value:function(){this.updateMode()},type:function(){this.updateType()}},created:function(){var e=this;e.reactData.selectColor="".concat(e.value||""),e.updateType(),_ui.globalEvents.on(e,"mousewheel",e.handleGlobalMousewheelEvent),_ui.globalEvents.on(e,"mousedown",e.handleGlobalMousedownEvent),_ui.globalEvents.on(e,"blur",e.handleGlobalBlurEvent),_ui.globalEvents.on(e,"resize",e.handleGlobalResizeEvent)},beforeDestroy:function(){var e=this,t=e.$refs.refOptionPanel;t&&t.parentNode&&t.parentNode.removeChild(t),_ui.globalEvents.off(e,"mousewheel"),_ui.globalEvents.off(e,"mousedown"),_ui.globalEvents.off(e,"blur"),_ui.globalEvents.off(e,"resize")},render:function(e){return this.renderVN(e)}});
1
+ Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0;var _comp=require("../../ui/src/comp"),_xeUtils=_interopRequireDefault(require("xe-utils")),_ui=require("../../ui"),_dom=require("../../ui/src/dom"),_utils=require("../../ui/src/utils"),_util=require("./util"),_button=_interopRequireDefault(require("../../button")),_input=_interopRequireDefault(require("../../input")),_numberInput=_interopRequireDefault(require("../../number-input"));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _defineProperty(e,t,l){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:l,enumerable:!0,configurable:!0,writable:!0}):e[t]=l,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:e+""}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var l=e[Symbol.toPrimitive];if(void 0===l)return("string"===t?String:Number)(e);l=l.call(e,t||"default");if("object"!=_typeof(l))return l;throw new TypeError("@@toPrimitive must return a primitive value.")}var WinEyeDropper="undefined"!=typeof window?window.EyeDropper:null,typeList=[{label:"HEX",value:"hex"},{label:"RGB",value:"rgb"}],_default2=exports.default=(0,_comp.defineVxeComponent)({name:"VxeColorPicker",mixins:[_ui.globalMixins.sizeMixin],model:{prop:"value",event:"modelValue"},props:{value:String,placeholder:String,clearable:{type:Boolean,default:function(){return(0,_ui.getConfig)().colorPicker.clearable}},type:{type:String,default:function(){return(0,_ui.getConfig)().colorPicker.type}},size:{type:String,default:function(){return(0,_ui.getConfig)().colorPicker.size||(0,_ui.getConfig)().size}},className:[String,Function],popupClassName:[String,Function],colors:{type:Array,default:function(){return _xeUtils.default.clone((0,_ui.getConfig)().colorPicker.colors,!0)||[]}},showAlpha:{type:Boolean,default:function(){return(0,_ui.getConfig)().colorPicker.showAlpha}},showEyeDropper:{type:Boolean,default:function(){return(0,_ui.getConfig)().colorPicker.showEyeDropper}},showColorExtractor:{type:Boolean,default:function(){return(0,_ui.getConfig)().colorPicker.showColorExtractor}},showQuick:{type:Boolean,default:function(){return(0,_ui.getConfig)().colorPicker.showQuick}},readonly:{type:Boolean,default:null},disabled:{type:Boolean,default:null},clickToCopy:{type:Boolean,default:function(){return(0,_ui.getConfig)().colorPicker.clickToCopy}},placement:String,transfer:{type:Boolean,default:null},popupConfig:Object},inject:{$xeModal:{default:null},$xeDrawer:{default:null},$xeTable:{default:null},$xeForm:{default:null},formItemInfo:{from:"xeFormItemInfo",default:null}},provide:function(){return{$xeColorPicker:this}},data:function(){return{xID:_xeUtils.default.uniqueId(),reactData:{initialized:!1,selectTyle:"hex",selectColor:"",showTypePopup:!1,panelColor:"",hexValue:"",rValue:0,gValue:0,bValue:0,aValue:0,panelIndex:0,panelStyle:{},panelPlacement:null,visiblePanel:!1,isAniVisible:!1,isActivated:!1},internalData:{hpTimeout:void 0}}},computed:Object.assign(Object.assign({},{}),{computeFormReadonly:function(){var e=this.$xeForm,t=this.readonly;return null===t?!!e&&e.readonly:t},computeIsDisabled:function(){var e=this.$xeForm,t=this.disabled;return null===t?!!e&&e.disabled:t},computeBtnTransfer:function(){var e=this,t=e.$xeTable,l=e.$xeModal,o=e.$xeDrawer,n=e.$xeCard,i=e.$xeForm,e=e.transfer;if(null===e){var r=(0,_ui.getConfig)().colorPicker.transfer;if(_xeUtils.default.isBoolean(r))return r;if(t||l||o||n||i)return!0}return e},computeColorList:function(){var e=this.colors;return e?e.map(function(e){return _xeUtils.default.isString(e)?{label:e,value:e}:{label:_xeUtils.default.eqNull(e.label)?e.value:e.label,value:e.value}}):[]},computePopupOpts:function(){return Object.assign({},(0,_ui.getConfig)().colorPicker.popupConfig,this.popupConfig)},computeIsRgb:function(){return"rgb"===this.reactData.selectTyle},computeSelectTypeItem:function(){var t=this.reactData.selectTyle;return typeList.find(function(e){return e.value===t})}}),methods:{dispatchEvent:function(e,t,l){this.$emit(e,(0,_ui.createEvent)(l,{$colorPicker:this},t))},emitModel:function(e){var t=this._events;t&&t.modelValue?this.$emit("modelValue",e):this.$emit("model-value",e)},updateMode:function(){var e=this.reactData,t=this.value;e.selectColor=_xeUtils.default.toValueString(t),this.updateModelColor()},updateType:function(){var e=this.reactData,t=this.type,t="rgb"!==t&&"rgba"!==t?"hex":"rgb";e.selectTyle=t,this.updateMode()},updateModelColor:function(){var e=this,t=e.reactData,l=t.selectColor,o=t.isAniVisible,n=e.computeIsRgb,i=e.$refs.refHueSliderElem,r=e.$refs.refAlphaSliderElem,l=(0,_util.parseValColor)(l);t.hexValue="",t.rValue=0,t.gValue=0,t.bValue=0,t.aValue=1,l&&("hex"===l.type?t.hexValue=l.hex:(t.rValue=l.r,t.gValue=l.g,t.bValue=l.b,t.aValue=l.a),l.value)&&(n?"hex"===l.type&&(n=(0,_util.hexToRgb)(l.hex))&&(t.rValue=n.r,t.gValue=n.g,t.bValue=n.b,t.aValue=n.a):"hex"!==l.type&&(t.hexValue=(0,_util.rgbToHexVal)(l.r,l.g,l.b,l.a))),o&&(n=l?"hex"===l.type?(0,_util.hexToHsv)(l.hex):(0,_util.rgbToHsv)(l):null,o=e.$refs.refColorPanelElem,n&&(o&&(l=o.clientHeight*(1-n.v),o=o.clientWidth*n.s,e.handlePanelColor(o,l)),i)&&e.handleHueColor(_xeUtils.default.ceil((1-n.h/360)*i.clientWidth)),r)&&e.handleAlphaColor(r.clientWidth*t.aValue)},updateZindex:function(){var e=this.reactData;e.panelIndex<(0,_utils.getLastZIndex)()&&(e.panelIndex=(0,_utils.nextZIndex)())},updatePlacement:function(){function e(){var e=(0,_dom.updatePanelPlacement)(i,r,{placement:u.placement||o,defaultPlacement:u.defaultPlacement,teleportTo:a}),t=Object.assign(e.style,{zIndex:n});l.panelStyle=t,l.panelPlacement=e.placement}var t=this,l=t.reactData,o=t.placement,n=l.panelIndex,i=t.$refs.refElem,r=t.$refs.refOptionPanel,a=t.computeBtnTransfer,u=t.computePopupOpts;return e(),t.$nextTick().then(e)},showOptionPanel:function(){var e,t=this,l=t.reactData,o=t.internalData,n=o.hpTimeout;t.computeIsDisabled||(n&&(clearTimeout(n),o.hpTimeout=void 0),n=t.computeBtnTransfer,o=t.computePopupOpts,e=t.$refs.refOptionPanel,l.initialized||(l.initialized=!0,n&&e&&(n=o.appendTo,(0,_dom.getPopupContainer)(n).appendChild(e))),l.isActivated=!0,l.isAniVisible=!0,setTimeout(function(){t.updateModelColor(),l.visiblePanel=!0},10),t.updateZindex(),t.updatePlacement())},hideOptionPanel:function(){var e=this.reactData,t=this.internalData;e.visiblePanel=!1,t.hpTimeout=setTimeout(function(){e.isAniVisible=!1},350)},changeEvent:function(e,t){var l=this,o=l,n=l.reactData,i=l.$xeForm,r=l.formItemInfo;(n.selectColor=t)!==o.value&&(l.emitModel(t),l.dispatchEvent("change",{value:t},e),i)&&r&&i.triggerItemEvent(e,r.itemConfig.field,t)},clearValueEvent:function(e,t){this.changeEvent(e,t),this.dispatchEvent("clear",{value:t},e)},focusEvent:function(){var e=this.reactData;this.computeIsDisabled||e.visiblePanel||this.showOptionPanel()},blurEvent:function(){this.reactData.isActivated=!1},clearEvent:function(e){this.clearValueEvent(e,null),this.hideOptionPanel()},confirmEvent:function(e){var t=this.reactData,l=t.selectTyle;this.changeEvent(e,"hex"===l?t.hexValue:t.selectColor),this.hideOptionPanel()},togglePanelEvent:function(e){var t=this.reactData;e.preventDefault(),t.visiblePanel?this.hideOptionPanel():this.showOptionPanel()},clickEvent:function(e){this.togglePanelEvent(e),this.dispatchEvent("click",{},e)},handlePanelClickEvent:function(){this.reactData.showTypePopup=!1},toggleTypeVisibleEvent:function(e){var t=this.reactData;e.stopPropagation(),t.showTypePopup=!t.showTypePopup},handleChangeType:function(e){var t=this.reactData;e!==t.selectTyle&&(t.selectTyle=e,this.updateModelColor()),t.showTypePopup=!1},handleHueColor:function(e){var t=this.reactData,l=this.$refs.refHueSliderElem,o=this.$refs.refHueSliderBtnElem;if(l&&o){e<0&&(e=0);var l=_xeUtils.default.toInteger(l.clientWidth),n=255,l=_xeUtils.default.ceil(1530/l*e),i=l%n,r=0,a=0,u=0;switch(Math.ceil(l/n)){case 1:r=n,u=i;break;case 2:r=n-i,u=n;break;case 3:a=i,u=n;break;case 4:u=(a=n)-i;break;case 5:r=i,a=n;break;case 6:a=(r=n)-i}t.panelColor=(0,_util.toValRgb)(r,a,u),o.style.left=(0,_dom.toCssUnit)(e)}},handleHueBarEvent:function(e){var t=this.$refs.refHueSliderElem,l=this.$refs.refHueSliderBtnElem;t&&l&&(l=t.getBoundingClientRect(),t=_xeUtils.default.toInteger(t.clientWidth),t=_xeUtils.default.ceil(Math.min(t-1,Math.max(1,e.clientX-l.x))),this.handleHueColor(t))},handleHueSliderMousedownEvent:function(e){var t=this;e.preventDefault(),document.onmousemove=function(e){e.preventDefault(),t.handleHueBarEvent(e)},document.onmouseup=function(e){document.onmousemove=null,document.onmouseup=null,t.handleHueBarEvent(e)}},handleAlphaColor:function(e){var t=this.reactData,l=t.selectColor,o=this.$refs.refAlphaSliderElem,n=this.$refs.refAlphaSliderBtnElem;o&&n&&(o=o.getBoundingClientRect().width,o=_xeUtils.default.ceil(100/o*(e=o<(e=e<0?0:e)?o:e)/100,2),t.aValue=o,n.style.left=(0,_dom.toCssUnit)(e),t.selectColor=(0,_util.updateColorAlpha)(l,o))},handleAlphaBarEvent:function(e){var t=this.$refs.refAlphaSliderElem,l=this.$refs.refAlphaSliderBtnElem;t&&l&&(t=(l=t.getBoundingClientRect()).width,t=Math.min(t,Math.max(0,e.clientX-l.x)),this.handleAlphaColor(t),this.updateModelColor())},handleAlphaSliderMousedownEvent:function(e){var t=this;e.preventDefault(),document.onmousemove=function(e){e.preventDefault(),t.handleAlphaBarEvent(e)},document.onmouseup=function(e){document.onmousemove=null,document.onmouseup=null,t.handleAlphaBarEvent(e)}},handleInputRgbEvent:function(){var e=this.reactData,t=e.rValue;e.selectColor=(0,_util.toValRgb)(t,e.gValue,e.bValue,e.aValue),this.updateModelColor()},handleInputAlphaEvent:function(){var e=this.reactData.aValue,t=this.$refs.refAlphaSliderElem,l=this.$refs.refAlphaSliderBtnElem;t&&l&&(l=t.getBoundingClientRect().width,this.handleAlphaColor(l*e))},handleQuickEvent:function(e,t){var l=this.reactData,t=t.value;l.selectColor=t,this.updateModelColor()},handlePanelColor:function(e,t){var l=this.$refs.refColorActiveElem;l&&(l.style.top=(0,_dom.toCssUnit)(t),l.style.left=(0,_dom.toCssUnit)(e))},handleEyeDropperEvent:function(){var t=this,l=t.reactData;if(WinEyeDropper)try{(new WinEyeDropper).open().then(function(e){e&&e.sRGBHex&&(l.selectColor=e.sRGBHex,t.updateModelColor())}).catch(function(){})}catch(e){}},handleSelectColorByXY:function(e,t){var l,o=this,n=o.reactData,i=o.showAlpha,r=n.panelColor,a=n.aValue,u=o.$refs.refColorPanelElem,c=o.$refs.refColorActiveElem;u&&c&&(c=u.clientWidth,l=u.clientHeight,u=u.getBoundingClientRect(),t=Math.min(l,Math.max(0,t-u.y)),e=Math.min(c,Math.max(0,e-u.x)),(u=(0,_util.parseValColor)(r))&&(r="hex"===u.type?(0,_util.hexToHsv)(u.hex):(0,_util.rgbToHsv)(u))&&(u=(0,_util.hsvToRgb)(r.h,e/c,1-t/l),n.selectColor=(0,_util.toValRgb)(u.r,u.g,u.b,i?a:null),o.handlePanelColor(e,t)),o.updateModelColor())},handleSelectColorMousedownEvent:function(e){var t=this;e.stopPropagation(),e.preventDefault(),t.handleSelectColorByXY(e.clientX,e.clientY),document.onmousemove=function(e){t.handleSelectColorByXY(e.clientX,e.clientY)},document.onmouseup=function(){document.onmousemove=null,document.onmouseup=null}},handleCopyColorEvent:function(){var e=this.reactData.selectColor;e&&_ui.VxeUI.clipboard.copy(e)&&_ui.VxeUI.modal&&_ui.VxeUI.modal.message({content:(0,_ui.getI18n)("vxe.colorPicker.copySuccess",[e]),status:"success"})},handleGlobalMousewheelEvent:function(e){var t=this,l=t.reactData.visiblePanel;t.computeIsDisabled||l&&(l=t.$refs.refOptionPanel,(0,_dom.getEventTargetNode)(e,l).flag?t.updatePlacement():t.hideOptionPanel())},handleGlobalMousedownEvent:function(e){var t,l,o=this,n=o.reactData,i=n.visiblePanel;o.computeIsDisabled||(t=o.$refs.refElem,l=o.$refs.refOptionPanel,n.isActivated=(0,_dom.getEventTargetNode)(e,t).flag||(0,_dom.getEventTargetNode)(e,l).flag,i&&!n.isActivated&&o.hideOptionPanel())},handleGlobalBlurEvent:function(){var e=this.reactData,t=e.visiblePanel,l=e.isActivated;t&&this.hideOptionPanel(),l&&(e.isActivated=!1),(t||l)&&(e=this.$refs.refInputTarget)&&e.blur()},handleGlobalResizeEvent:function(){this.reactData.visiblePanel&&this.updatePlacement()},renderColorWrapper:function(e){var t=this.reactData,l=this.showColorExtractor,t=t.panelColor;return l?e("div",{ref:"refColorPanelElem",class:"vxe-color-picker--color-wrapper",on:{mousedown:this.handleSelectColorMousedownEvent}},[e("div",{class:"vxe-color-picker--color-bg",style:{backgroundColor:t}}),e("div",{class:"vxe-color-picker--white-bg"}),e("div",{class:"vxe-color-picker--black-bg"}),e("div",{ref:"refColorActiveElem",class:"vxe-color-picker--color-active"})]):(0,_ui.renderEmptyElement)(this)},renderColorBar:function(e){var l=this,t=l.reactData,o=l.showAlpha,n=l.clickToCopy,i=t.selectTyle,r=t.showTypePopup,a=t.hexValue,u=t.rValue,c=t.gValue,s=t.bValue,p=t.aValue,d=t.selectColor,f=t.panelColor,h=l.computeIsRgb,v=l.computeSelectTypeItem;return e("div",{class:"vxe-color-picker--bar-wrapper"},[e("div",{class:"vxe-color-picker--slider-wrapper"},[l.showEyeDropper&&WinEyeDropper?e("div",{class:"vxe-color-picker--color-dropper"},[e("span",{class:"vxe-color-picker--color-dropper-btn",on:{click:l.handleEyeDropperEvent}},[e("i",{class:(0,_ui.getIcon)().COLOR_PICKER_EYE_DROPPER})])]):(0,_ui.renderEmptyElement)(l),e("div",{class:"vxe-color-picker--slider-preview"},[e("div",{class:"vxe-color-picker--preview-btn"},[e("div",{class:"vxe-color-picker--preview-color",style:{backgroundColor:d}},n?[e("span",{class:"vxe-color-picker--preview-copy-btn",on:{click:l.handleCopyColorEvent}},[e("i",{class:(0,_ui.getIcon)().COLOR_PICKER_COLOR_COPY})])]:[])])]),e("div",{class:"vxe-color-picker--slider-handle"},[e("div",{ref:"refHueSliderElem",class:"vxe-color-picker--bar-hue-slider",on:{click:l.handleHueBarEvent}},[e("div",{ref:"refHueSliderBtnElem",class:"vxe-color-picker--bar-hue-btn",on:{mousedown:l.handleHueSliderMousedownEvent}})]),o?e("div",{ref:"refAlphaSliderElem",class:"vxe-color-picker--bar-alpha-slider",on:{click:l.handleAlphaBarEvent}},[e("div",{class:"vxe-color-picker--bar-alpha-bg",style:{background:"linear-gradient(to right, rgba(0, 0, 0, 0), ".concat(f,")")}}),e("div",{ref:"refAlphaSliderBtnElem",class:"vxe-color-picker--bar-alpha-btn",on:{mousedown:l.handleAlphaSliderMousedownEvent}})]):(0,_ui.renderEmptyElement)(l)])]),e("div",{class:"vxe-color-picker--custom-wrapper"},[e("div",{class:"vxe-color-picker--type-switch"},[e("div",{class:"vxe-color-picker--type-label",on:{click:l.toggleTypeVisibleEvent}},[e("span","".concat(v?v.label:i)),e("span",{class:"vxe-color-picker--type-icon"},[e("i",{class:r?(0,_ui.getIcon)().COLOR_PICKER_TPTY_OPEN:(0,_ui.getIcon)().COLOR_PICKER_TPTY_CLOSE})])]),e("div",{class:["vxe-color-picker--type-popup",{"is--visible":r}]},typeList.map(function(t){return e("div",{class:"vxe-color-picker--type-item",on:{click:function(e){e.stopPropagation(),l.handleChangeType(t.value)}}},t.label)}))]),e("div",{class:"vxe-color-picker--".concat(i,"-wrapper")},h?[e("div",{class:"vxe-color-picker--input-wrapper"},[e(_numberInput.default,{props:{type:"integer",size:"mini",align:"center",min:0,max:255,maxLength:3,placeholder:"",value:u,controlConfig:{showButton:!1}},on:{modelValue:function(e){t.rValue=e},change:l.handleInputRgbEvent}}),e(_numberInput.default,{props:{type:"integer",size:"mini",align:"center",min:0,max:255,maxLength:3,placeholder:"",value:c,controlConfig:{showButton:!1}},on:{modelValue:function(e){t.gValue=e},change:l.handleInputRgbEvent}}),e(_numberInput.default,{props:{type:"integer",size:"mini",align:"center",min:0,max:255,maxLength:3,placeholder:"",value:s,controlConfig:{showButton:!1}},on:{modelValue:function(e){t.bValue=e},change:l.handleInputRgbEvent}}),e(_numberInput.default,{props:{type:"number",size:"mini",align:"center",min:0,max:1,step:.01,maxLength:4,placeholder:"",value:p,controlConfig:{showButton:!1}},on:{modelValue:function(e){t.aValue=e},change:l.handleInputAlphaEvent}})]),e("div",{class:"vxe-color-picker--input-title"},[e("span","R"),e("span","G"),e("span","B"),e("span","A")])]:[e("div",{class:"vxe-color-picker--input-wrapper"},[e(_input.default,{props:{type:"text",size:"mini",align:"center",maxLength:9,placeholder:"",value:a},on:{modelValue:function(e){t.hexValue=e},change:function(){var e=(0,_util.parseValColor)(t.hexValue);e&&e.value&&(t.selectColor=e.value,l.updateModelColor())}}})]),e("div",{class:"vxe-color-picker--input-title"},(0,_ui.getI18n)("vxe.colorPicker.hex"))])])])},renderQuickWrapper:function(l){var o=this,e=o.showQuick,t=o.computeColorList;return e&&t.length?l("div",{class:"vxe-color-picker--quick-wrapper"},t.map(function(t,e){return l("div",{key:e,class:"vxe-color-picker--quick-item",attrs:{title:t.label||""},style:{backgroundColor:t.value},on:{click:function(e){o.handleQuickEvent(e,t)}}})})):(0,_ui.renderEmptyElement)(o)},renderVN:function(e){var t=this,l=t.reactData,o=t.className,n=t.popupClassName,i=t.clearable,r=t.value,a=l.initialized,u=l.isActivated,c=l.isAniVisible,s=l.visiblePanel,p=t.computeSize,d=t.computeIsDisabled,f=t.computeBtnTransfer;return t.computeFormReadonly?e("div",{ref:"refElem",class:["vxe-color-picker--readonly",o]},[e("div",{class:"vxe-color-picker--readonly-color",style:{backgroundColor:r}})]):e("div",{ref:"refElem",class:["vxe-color-picker",o?_xeUtils.default.isFunction(o)?o({$colorPicker:t}):o:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(p),p),"is--selected",!!r),"is--visible",s),"is--disabled",d),"is--active",u)]},[e("input",{ref:"refInputTarget",class:"vxe-color-picker--input",on:{focus:t.focusEvent,blur:t.blurEvent}}),e("div",{class:"vxe-color-picker--inner",on:{click:t.clickEvent}},[e("div",{class:"vxe-color-picker--inner-color",style:{backgroundColor:r}})]),e("div",{ref:"refOptionPanel",class:["vxe-table--ignore-clear vxe-color-picker--panel",n?_xeUtils.default.isFunction(n)?n({$colorPicker:t}):n:"",_defineProperty(_defineProperty(_defineProperty(_defineProperty({},"size--".concat(p),p),"is--transfer",f),"ani--leave",c),"ani--enter",s)],attrs:{placement:l.panelPlacement},style:l.panelStyle},[a&&(s||c)?e("div",{class:"vxe-color-picker--panel-wrapper",on:{click:t.handlePanelClickEvent}},[t.renderColorWrapper(e),t.renderColorBar(e),t.renderQuickWrapper(e),e("div",{class:"vxe-color-picker--footer-wrapper"},[i?e(_button.default,{props:{content:(0,_ui.getI18n)("vxe.colorPicker.clear"),size:"mini"},on:{click:t.clearEvent}}):(0,_ui.renderEmptyElement)(t),e(_button.default,{props:{content:(0,_ui.getI18n)("vxe.colorPicker.confirm"),size:"mini",status:"primary"},on:{click:t.confirmEvent}})])]):(0,_ui.renderEmptyElement)(t)])])}},watch:{value:function(){this.updateMode()},type:function(){this.updateType()}},created:function(){var e=this;e.reactData.selectColor="".concat(e.value||""),e.updateType(),_ui.globalEvents.on(e,"mousewheel",e.handleGlobalMousewheelEvent),_ui.globalEvents.on(e,"mousedown",e.handleGlobalMousedownEvent),_ui.globalEvents.on(e,"blur",e.handleGlobalBlurEvent),_ui.globalEvents.on(e,"resize",e.handleGlobalResizeEvent)},beforeDestroy:function(){var e=this,t=e.$refs.refOptionPanel;t&&t.parentNode&&t.parentNode.removeChild(t),_ui.globalEvents.off(e,"mousewheel"),_ui.globalEvents.off(e,"mousedown"),_ui.globalEvents.off(e,"blur"),_ui.globalEvents.off(e,"resize")},render:function(e){return this.renderVN(e)}});
@@ -3,15 +3,24 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.darken = void 0;
6
7
  exports.hasHex = hasHex;
7
8
  exports.hasRgb = hasRgb;
8
9
  exports.hexToHsv = hexToHsv;
9
10
  exports.hexToRgb = hexToRgb;
10
11
  exports.hsvToRgb = hsvToRgb;
12
+ exports.lighten = void 0;
11
13
  exports.parseColor = parseColor;
12
- exports.rgbToHex = rgbToHex;
14
+ exports.parseValColor = parseValColor;
15
+ exports.rgbToHexVal = rgbToHexVal;
13
16
  exports.rgbToHsv = rgbToHsv;
17
+ exports.toHex = toHex;
18
+ exports.toHexString = toHexString;
19
+ exports.toHsl = toHsl;
20
+ exports.toHsv = toHsv;
14
21
  exports.toRgb = toRgb;
22
+ exports.toRgbString = toRgbString;
23
+ exports.toValRgb = toValRgb;
15
24
  exports.updateColorAlpha = updateColorAlpha;
16
25
  var _xeUtils = _interopRequireDefault(require("xe-utils"));
17
26
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -24,13 +33,148 @@ var hexAlphaNumMaps = {};
24
33
  });
25
34
  var rgbRE = /^rgb(a?)\((\d{1,3})[,\s]+(\d{1,3})[,\s]+(\d{1,3})([,//\s]+([0-9.]{1,4})(%?))?\)$/;
26
35
  function hasRgb(value) {
27
- return value && rgbRE.test(value);
36
+ return !!(value && rgbRE.test(value));
28
37
  }
29
38
  var hexRE = /^(#?)([0-9A-Fa-f]{6})([0-9A-Fa-f]{2})?$/;
30
39
  function hasHex(value) {
31
- return value && hexRE.test(value);
40
+ return !!(value && hexRE.test(value));
32
41
  }
33
- function parseColor(value) {
42
+ function toRgb(value) {
43
+ if (value) {
44
+ if (hexRE.test(value)) {
45
+ return hexToRgb(value);
46
+ }
47
+ return parseRgbVal(value);
48
+ }
49
+ return null;
50
+ }
51
+ function toRgbString(value) {
52
+ var rgbRest = toRgb(value);
53
+ if (rgbRest) {
54
+ return rgbRest.label;
55
+ }
56
+ return '';
57
+ }
58
+ function toHex(value) {
59
+ if (value) {
60
+ if (rgbRE.test(value)) {
61
+ return rgbValToHex(value);
62
+ }
63
+ return parseHexVal(value);
64
+ }
65
+ return null;
66
+ }
67
+ function toHexString(value) {
68
+ var hexRest = toHex(value);
69
+ if (hexRest) {
70
+ return hexRest.label;
71
+ }
72
+ return '';
73
+ }
74
+ function toHsl(value) {
75
+ var rgbRest = toRgb(value);
76
+ if (rgbRest) {
77
+ var hslRest = rgbToHsl(rgbRest);
78
+ if (hslRest) {
79
+ var rest = Object.assign({
80
+ value: value,
81
+ type: 'hsl'
82
+ }, hslRest);
83
+ return rest;
84
+ }
85
+ }
86
+ return null;
87
+ }
88
+ function toHsv(value) {
89
+ var rgbRest = toRgb(value);
90
+ if (rgbRest) {
91
+ var hslRest = rgbToHsv(rgbRest);
92
+ if (hslRest) {
93
+ var rest = Object.assign({
94
+ value: value,
95
+ type: 'hsv'
96
+ }, hslRest);
97
+ return rest;
98
+ }
99
+ }
100
+ return null;
101
+ }
102
+ function parseColor(val, format) {
103
+ if (val) {
104
+ if (format === 'hex') {
105
+ return toHex(val);
106
+ }
107
+ if (format === 'hsl') {
108
+ return toHsl(val);
109
+ }
110
+ if (format === 'hsv') {
111
+ return toHsv(val);
112
+ }
113
+ return toRgb(val);
114
+ }
115
+ return null;
116
+ }
117
+ function handleNumClamp(val) {
118
+ return Math.min(1, Math.max(0, val));
119
+ }
120
+ function createLightenDarken(isAdd) {
121
+ return function (val, ratio) {
122
+ var colorRest = parseColor(val);
123
+ var hslRest = toHsl(val);
124
+ if (colorRest && hslRest) {
125
+ ratio = ratio === 0 ? 0 : ratio || 10;
126
+ hslRest.l += (isAdd ? ratio : -ratio) / 100;
127
+ hslRest.l = handleNumClamp(hslRest.l);
128
+ var rgbRest = hslToRgb(hslRest);
129
+ if (rgbRest) {
130
+ if ((colorRest === null || colorRest === void 0 ? void 0 : colorRest.type) === 'hex') {
131
+ return rgbToHexVal(rgbRest.r, rgbRest.g, rgbRest.b, hslRest.a);
132
+ }
133
+ return toValRgb(rgbRest.r, rgbRest.g, rgbRest.b, hslRest.a);
134
+ }
135
+ }
136
+ return val;
137
+ };
138
+ }
139
+ var lighten = exports.lighten = createLightenDarken(1);
140
+ var darken = exports.darken = createLightenDarken(0);
141
+ function parseHexVal(value) {
142
+ if (value) {
143
+ var hexRest = value.match(hexRE);
144
+ if (hexRest) {
145
+ var rest = {
146
+ value: value,
147
+ label: value,
148
+ type: 'hex',
149
+ hex: value,
150
+ hexV: hexRest[2],
151
+ hexA: hexRest[3] || '',
152
+ a: (hexRest[3] ? hexAlphaKeyMaps[hexRest[3].toUpperCase()] : 1) || 1
153
+ };
154
+ return rest;
155
+ }
156
+ }
157
+ return null;
158
+ }
159
+ function parseRgbVal(value) {
160
+ if (value) {
161
+ var rgbRest = value.match(rgbRE);
162
+ if (rgbRest) {
163
+ var rest = {
164
+ value: value,
165
+ label: value,
166
+ type: rgbRest[6] ? 'rgba' : 'rgb',
167
+ r: parseInt(rgbRest[2]),
168
+ g: parseInt(rgbRest[3]),
169
+ b: parseInt(rgbRest[4]),
170
+ a: rgbRest[7] ? parseInt(rgbRest[6]) / 100 : rgbRest[6] ? parseFloat(rgbRest[6]) : 1
171
+ };
172
+ return rest;
173
+ }
174
+ }
175
+ return null;
176
+ }
177
+ function parseValColor(value) {
34
178
  var rest = {
35
179
  value: '',
36
180
  type: '',
@@ -43,58 +187,44 @@ function parseColor(value) {
43
187
  a: 1
44
188
  };
45
189
  if (value) {
46
- var hexRest = value.match(hexRE);
47
- if (hexRest) {
48
- rest.value = value;
49
- rest.type = 'hex';
50
- rest.hex = value;
51
- rest.hexV = hexRest[2];
52
- rest.hexA = hexRest[3] || '';
53
- rest.a = (hexRest[3] ? hexAlphaKeyMaps[hexRest[3].toUpperCase()] : 1) || 1;
54
- }
55
- var rgbRest = value.match(rgbRE);
56
- if (rgbRest) {
57
- rest.value = value;
58
- rest.type = rgbRest[6] ? 'rgba' : 'rgb';
59
- rest.r = parseInt(rgbRest[2]);
60
- rest.g = parseInt(rgbRest[3]);
61
- rest.b = parseInt(rgbRest[4]);
62
- rest.a = rgbRest[7] ? parseInt(rgbRest[6]) / 100 : rgbRest[6] ? parseFloat(rgbRest[6]) : 1;
190
+ if (hexRE.test(value)) {
191
+ return Object.assign(rest, parseHexVal(value));
192
+ } else if (rgbRE.test(value)) {
193
+ return Object.assign(rest, parseRgbVal(value));
63
194
  }
64
195
  }
65
196
  return rest;
66
197
  }
67
198
  function updateColorAlpha(value) {
68
199
  var alpha = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;
69
- var colorRest = parseColor(value);
70
- var type = colorRest.type,
71
- hexV = colorRest.hexV,
72
- r = colorRest.r,
73
- g = colorRest.g,
74
- b = colorRest.b;
75
- if (type === 'rgb' || type === 'rgba') {
76
- return toRgb(r, g, b, alpha);
77
- }
78
- if (type === 'hex') {
79
- return "#".concat(hexV).concat(alpha === 1 ? '' : hexAlphaNumMaps[alpha] || '');
200
+ var colorRest = parseValColor(value);
201
+ if (colorRest) {
202
+ var type = colorRest.type;
203
+ if (type === 'hex') {
204
+ return "#".concat(colorRest.hexV).concat(alpha === 1 ? '' : hexAlphaNumMaps[alpha] || '');
205
+ }
206
+ return toValRgb(colorRest.r, colorRest.g, colorRest.b, alpha);
80
207
  }
81
208
  return '';
82
209
  }
83
- function toRgb(r, g, b, a) {
84
- if (_xeUtils.default.eqNull(a)) {
210
+ function toValRgb(r, g, b, a) {
211
+ if (_xeUtils.default.eqNull(a) || a === 1) {
85
212
  return "rgb(".concat(r, ",").concat(g, ",").concat(b, ")");
86
213
  }
87
214
  return "rgba(".concat(r, ",").concat(g, ",").concat(b, ",").concat(a, ")");
88
215
  }
89
- function rgbToHex(rgbRest) {
90
- if (!rgbRest) {
91
- return '';
216
+ function rgbValToHex(value) {
217
+ var rgbRest = parseRgbVal(value);
218
+ if (rgbRest) {
219
+ var hexVal = rgbToHexVal(rgbRest.r, rgbRest.g, rgbRest.b, rgbRest.a);
220
+ if (hexVal) {
221
+ return parseHexVal(hexVal);
222
+ }
92
223
  }
93
- var r = rgbRest.r,
94
- g = rgbRest.g,
95
- b = rgbRest.b,
96
- _rgbRest$a = rgbRest.a,
97
- a = _rgbRest$a === void 0 ? 1 : _rgbRest$a;
224
+ return null;
225
+ }
226
+ function rgbToHexVal(r, g, b, a) {
227
+ a = _xeUtils.default.isNumber(a) ? a : 1;
98
228
  var hexR = r.toString(16).padStart(2, '0');
99
229
  var hexG = g.toString(16).padStart(2, '0');
100
230
  var hexB = b.toString(16).padStart(2, '0');
@@ -145,6 +275,89 @@ function rgbToHsv(rgbRest) {
145
275
  v: _xeUtils.default.round(val, 2)
146
276
  };
147
277
  }
278
+ function rgbToHsl(rgbRest) {
279
+ if (!rgbRest) {
280
+ return null;
281
+ }
282
+ var r = rgbRest.r,
283
+ g = rgbRest.g,
284
+ b = rgbRest.b,
285
+ a = rgbRest.a;
286
+ var rNorm = r / 255;
287
+ var gNorm = g / 255;
288
+ var bNorm = b / 255;
289
+ var max = Math.max(rNorm, gNorm, bNorm);
290
+ var min = Math.min(rNorm, gNorm, bNorm);
291
+ var delta = max - min;
292
+ var h = 0;
293
+ var s = 0;
294
+ var l = (max + min) / 2;
295
+ if (delta !== 0) {
296
+ s = l > 0.5 ? delta / (2 - max - min) : delta / (max + min);
297
+ if (max === rNorm) {
298
+ h = (gNorm - bNorm) / delta % 6;
299
+ } else if (max === gNorm) {
300
+ h = (bNorm - rNorm) / delta + 2;
301
+ } else {
302
+ h = (rNorm - gNorm) / delta + 4;
303
+ }
304
+ h *= 60;
305
+ if (h < 0) {
306
+ h += 360;
307
+ }
308
+ }
309
+ return {
310
+ h: h,
311
+ s: s,
312
+ l: l,
313
+ a: _xeUtils.default.isNumber(a) ? a : 1
314
+ };
315
+ }
316
+ function hslToRgb(slRest) {
317
+ if (!slRest) {
318
+ return null;
319
+ }
320
+ var h = slRest.h,
321
+ s = slRest.s,
322
+ l = slRest.l;
323
+ var sNorm = s;
324
+ var lNorm = l;
325
+ h = (h % 360 + 360) % 360;
326
+ var c = (1 - Math.abs(2 * lNorm - 1)) * sNorm;
327
+ var x = c * (1 - Math.abs(h / 60 % 2 - 1));
328
+ var m = lNorm - c / 2;
329
+ var r, g, b;
330
+ if (h >= 0 && h < 60) {
331
+ r = c;
332
+ g = x;
333
+ b = 0;
334
+ } else if (h >= 60 && h < 120) {
335
+ r = x;
336
+ g = c;
337
+ b = 0;
338
+ } else if (h >= 120 && h < 180) {
339
+ r = 0;
340
+ g = c;
341
+ b = x;
342
+ } else if (h >= 180 && h < 240) {
343
+ r = 0;
344
+ g = x;
345
+ b = c;
346
+ } else if (h >= 240 && h < 300) {
347
+ r = x;
348
+ g = 0;
349
+ b = c;
350
+ } else {
351
+ r = c;
352
+ g = 0;
353
+ b = x;
354
+ }
355
+ return {
356
+ r: Math.round((r + m) * 255),
357
+ g: Math.round((g + m) * 255),
358
+ b: Math.round((b + m) * 255)
359
+ };
360
+ }
148
361
  function hsvToRgb(h, s, v) {
149
362
  var r = 0;
150
363
  var g = 0;
@@ -203,11 +416,18 @@ function hexToRgb(str) {
203
416
  if (str) {
204
417
  var rests = str.match(/^(#?)([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})([0-9A-Fa-f]{2})?$/);
205
418
  if (rests) {
419
+ var r = parseInt(rests[2], 16);
420
+ var g = parseInt(rests[3], 16);
421
+ var b = parseInt(rests[4], 16);
422
+ var a = (rests[5] ? hexAlphaKeyMaps[rests[5].toUpperCase()] : 1) || 1;
206
423
  return {
207
- r: parseInt(rests[2], 16),
208
- g: parseInt(rests[3], 16),
209
- b: parseInt(rests[4], 16),
210
- a: (rests[5] ? hexAlphaKeyMaps[rests[5].toUpperCase()] : 1) || 1
424
+ value: str,
425
+ label: toValRgb(r, g, b, rests[5] ? a : null),
426
+ type: rests[5] ? 'rgba' : 'rgb',
427
+ r: r,
428
+ g: g,
429
+ b: b,
430
+ a: a
211
431
  };
212
432
  }
213
433
  }