vxe-pc-ui 3.3.43 → 3.3.44

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 (150) hide show
  1. package/es/button/style.css +1 -1
  2. package/es/button/style.min.css +1 -1
  3. package/es/color-picker/src/color-picker.js +991 -7
  4. package/es/color-picker/src/util.js +190 -0
  5. package/es/color-picker/style.css +355 -0
  6. package/es/color-picker/style.min.css +1 -0
  7. package/es/icon/style.css +1 -1
  8. package/es/input/src/input.js +19 -8
  9. package/es/language/ar-EG.js +9 -0
  10. package/es/language/de-DE.js +9 -0
  11. package/es/language/en-US.js +9 -0
  12. package/es/language/es-ES.js +9 -0
  13. package/es/language/fr-FR.js +9 -0
  14. package/es/language/hu-HU.js +9 -0
  15. package/es/language/hy-AM.js +9 -0
  16. package/es/language/ja-JP.js +9 -0
  17. package/es/language/ko-KR.js +9 -0
  18. package/es/language/nb-NO.js +9 -0
  19. package/es/language/pt-BR.js +9 -0
  20. package/es/language/ru-RU.js +9 -0
  21. package/es/language/ug-CN.js +9 -0
  22. package/es/language/uk-UA.js +9 -0
  23. package/es/language/vi-VN.js +9 -0
  24. package/es/language/zh-CHT.js +9 -0
  25. package/es/language/zh-CN.js +9 -0
  26. package/es/number-input/src/number-input.js +3 -1
  27. package/es/slider/src/slider.js +2 -4
  28. package/es/style.css +1 -1
  29. package/es/style.min.css +1 -1
  30. package/es/ui/index.js +11 -3
  31. package/es/ui/src/log.js +1 -1
  32. package/es/vxe-button/style.css +1 -1
  33. package/es/vxe-button/style.min.css +1 -1
  34. package/es/vxe-color-picker/style.css +355 -0
  35. package/es/vxe-color-picker/style.min.css +1 -0
  36. package/helper/vetur/attributes.json +1 -1
  37. package/helper/vetur/tags.json +1 -1
  38. package/lib/button/style/style.css +1 -1
  39. package/lib/button/style/style.min.css +1 -1
  40. package/lib/color-picker/src/color-picker.js +950 -7
  41. package/lib/color-picker/src/color-picker.min.js +1 -1
  42. package/lib/color-picker/src/util.js +215 -0
  43. package/lib/color-picker/src/util.min.js +1 -0
  44. package/lib/color-picker/style/style.css +355 -0
  45. package/lib/color-picker/style/style.min.css +1 -0
  46. package/lib/icon/style/style.css +1 -1
  47. package/lib/icon/style/style.min.css +1 -1
  48. package/lib/index.umd.js +10294 -9116
  49. package/lib/index.umd.min.js +1 -1
  50. package/lib/input/src/input.js +17 -7
  51. package/lib/input/src/input.min.js +1 -1
  52. package/lib/language/ar-EG.js +9 -0
  53. package/lib/language/ar-EG.min.js +1 -1
  54. package/lib/language/de-DE.js +9 -0
  55. package/lib/language/de-DE.min.js +1 -1
  56. package/lib/language/en-US.js +9 -0
  57. package/lib/language/en-US.min.js +1 -1
  58. package/lib/language/en-US.umd.js +9 -0
  59. package/lib/language/es-ES.js +9 -0
  60. package/lib/language/es-ES.min.js +1 -1
  61. package/lib/language/es-ES.umd.js +9 -0
  62. package/lib/language/fr-FR.js +9 -0
  63. package/lib/language/fr-FR.min.js +1 -1
  64. package/lib/language/hu-HU.js +9 -0
  65. package/lib/language/hu-HU.min.js +1 -1
  66. package/lib/language/hu-HU.umd.js +9 -0
  67. package/lib/language/hy-AM.js +9 -0
  68. package/lib/language/hy-AM.min.js +1 -1
  69. package/lib/language/ja-JP.js +9 -0
  70. package/lib/language/ja-JP.min.js +1 -1
  71. package/lib/language/ja-JP.umd.js +9 -0
  72. package/lib/language/ko-KR.js +9 -0
  73. package/lib/language/ko-KR.min.js +1 -1
  74. package/lib/language/ko-KR.umd.js +9 -0
  75. package/lib/language/nb-NO.js +9 -0
  76. package/lib/language/nb-NO.min.js +1 -1
  77. package/lib/language/pt-BR.js +9 -0
  78. package/lib/language/pt-BR.min.js +1 -1
  79. package/lib/language/pt-BR.umd.js +9 -0
  80. package/lib/language/ru-RU.js +9 -0
  81. package/lib/language/ru-RU.min.js +1 -1
  82. package/lib/language/ru-RU.umd.js +9 -0
  83. package/lib/language/ug-CN.js +9 -0
  84. package/lib/language/ug-CN.min.js +1 -1
  85. package/lib/language/uk-UA.js +9 -0
  86. package/lib/language/uk-UA.min.js +1 -1
  87. package/lib/language/uk-UA.umd.js +9 -0
  88. package/lib/language/vi-VN.js +9 -0
  89. package/lib/language/vi-VN.min.js +1 -1
  90. package/lib/language/zh-CHT.js +9 -0
  91. package/lib/language/zh-CHT.min.js +1 -1
  92. package/lib/language/zh-CHT.umd.js +9 -0
  93. package/lib/language/zh-CN.js +9 -0
  94. package/lib/language/zh-CN.min.js +1 -1
  95. package/lib/language/zh-CN.umd.js +9 -0
  96. package/lib/number-input/src/number-input.js +3 -1
  97. package/lib/number-input/src/number-input.min.js +1 -1
  98. package/lib/slider/src/slider.js +2 -4
  99. package/lib/slider/src/slider.min.js +1 -1
  100. package/lib/style.css +1 -1
  101. package/lib/style.min.css +1 -1
  102. package/lib/ui/index.js +11 -3
  103. package/lib/ui/index.min.js +1 -1
  104. package/lib/ui/src/log.js +1 -1
  105. package/lib/ui/src/log.min.js +1 -1
  106. package/lib/vxe-button/style/style.css +1 -1
  107. package/lib/vxe-button/style/style.min.css +1 -1
  108. package/lib/vxe-color-picker/style/style.css +355 -0
  109. package/lib/vxe-color-picker/style/style.min.css +1 -0
  110. package/package.json +1 -1
  111. package/packages/color-picker/src/color-picker.ts +1036 -9
  112. package/packages/color-picker/src/util.ts +198 -0
  113. package/packages/input/src/input.ts +18 -8
  114. package/packages/language/ar-EG.ts +9 -0
  115. package/packages/language/de-DE.ts +9 -0
  116. package/packages/language/en-US.ts +9 -0
  117. package/packages/language/es-ES.ts +9 -0
  118. package/packages/language/fr-FR.ts +9 -0
  119. package/packages/language/hu-HU.ts +9 -0
  120. package/packages/language/hy-AM.ts +9 -0
  121. package/packages/language/ja-JP.ts +9 -0
  122. package/packages/language/ko-KR.ts +9 -0
  123. package/packages/language/nb-NO.ts +9 -0
  124. package/packages/language/pt-BR.ts +9 -0
  125. package/packages/language/ru-RU.ts +9 -0
  126. package/packages/language/ug-CN.ts +9 -0
  127. package/packages/language/uk-UA.ts +9 -0
  128. package/packages/language/vi-VN.ts +9 -0
  129. package/packages/language/zh-CHT.ts +9 -0
  130. package/packages/language/zh-CN.ts +9 -0
  131. package/packages/number-input/src/number-input.ts +3 -1
  132. package/packages/slider/src/slider.ts +2 -4
  133. package/packages/ui/index.ts +11 -2
  134. package/styles/components/button.scss +1 -1
  135. package/styles/components/color-picker.scss +345 -0
  136. package/types/components/color-picker.d.ts +21 -0
  137. package/types/components/table.d.ts +4 -2
  138. package/types/ui/global-icon.d.ts +3 -0
  139. /package/es/icon/{iconfont.1734680304044.ttf → iconfont.1734950846147.ttf} +0 -0
  140. /package/es/icon/{iconfont.1734680304044.woff → iconfont.1734950846147.woff} +0 -0
  141. /package/es/icon/{iconfont.1734680304044.woff2 → iconfont.1734950846147.woff2} +0 -0
  142. /package/es/{iconfont.1734680304044.ttf → iconfont.1734950846147.ttf} +0 -0
  143. /package/es/{iconfont.1734680304044.woff → iconfont.1734950846147.woff} +0 -0
  144. /package/es/{iconfont.1734680304044.woff2 → iconfont.1734950846147.woff2} +0 -0
  145. /package/lib/icon/style/{iconfont.1734680304044.ttf → iconfont.1734950846147.ttf} +0 -0
  146. /package/lib/icon/style/{iconfont.1734680304044.woff → iconfont.1734950846147.woff} +0 -0
  147. /package/lib/icon/style/{iconfont.1734680304044.woff2 → iconfont.1734950846147.woff2} +0 -0
  148. /package/lib/{iconfont.1734680304044.ttf → iconfont.1734950846147.ttf} +0 -0
  149. /package/lib/{iconfont.1734680304044.woff → iconfont.1734950846147.woff} +0 -0
  150. /package/lib/{iconfont.1734680304044.woff2 → iconfont.1734950846147.woff2} +0 -0
@@ -7,15 +7,96 @@ exports.default = void 0;
7
7
  var _comp = require("../../ui/src/comp");
8
8
  var _xeUtils = _interopRequireDefault(require("xe-utils"));
9
9
  var _ui = require("../../ui");
10
+ var _dom = require("../../ui/src/dom");
11
+ var _utils = require("../../ui/src/utils");
12
+ var _util = require("./util");
13
+ var _button = _interopRequireDefault(require("../../button/src/button"));
14
+ var _input = _interopRequireDefault(require("../../input/src/input"));
10
15
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
- var _default = exports.default = (0, _comp.defineVxeComponent)({
16
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
17
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
18
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
19
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
20
+ var _default2 = exports.default = (0, _comp.defineVxeComponent)({
12
21
  name: 'VxeColorPicker',
13
- props: {},
22
+ mixins: [_ui.globalMixins.sizeMixin],
23
+ model: {
24
+ prop: 'value',
25
+ event: 'modelValue'
26
+ },
27
+ props: {
28
+ value: String,
29
+ placeholder: String,
30
+ clearable: Boolean,
31
+ type: {
32
+ type: String,
33
+ default: function _default() {
34
+ return (0, _ui.getConfig)().colorPicker.type;
35
+ }
36
+ },
37
+ size: {
38
+ type: String,
39
+ default: function _default() {
40
+ return (0, _ui.getConfig)().colorPicker.size || (0, _ui.getConfig)().size;
41
+ }
42
+ },
43
+ className: [String, Function],
44
+ popupClassName: [String, Function],
45
+ colors: {
46
+ type: Array,
47
+ default: function _default() {
48
+ return _xeUtils.default.clone((0, _ui.getConfig)().colorPicker.colors, true) || [];
49
+ }
50
+ },
51
+ showAlpha: {
52
+ type: Boolean,
53
+ default: function _default() {
54
+ return (0, _ui.getConfig)().colorPicker.showAlpha;
55
+ }
56
+ },
57
+ showColorExtractor: {
58
+ type: Boolean,
59
+ default: function _default() {
60
+ return (0, _ui.getConfig)().colorPicker.showColorExtractor;
61
+ }
62
+ },
63
+ showQuick: {
64
+ type: Boolean,
65
+ default: function _default() {
66
+ return (0, _ui.getConfig)().colorPicker.showQuick;
67
+ }
68
+ },
69
+ readonly: {
70
+ type: Boolean,
71
+ default: null
72
+ },
73
+ disabled: {
74
+ type: Boolean,
75
+ default: null
76
+ },
77
+ clickToCopy: {
78
+ type: Boolean,
79
+ default: function _default() {
80
+ return (0, _ui.getConfig)().colorPicker.clickToCopy;
81
+ }
82
+ },
83
+ placement: String,
84
+ transfer: {
85
+ type: Boolean,
86
+ default: null
87
+ }
88
+ },
14
89
  data: function data() {
15
90
  var xID = _xeUtils.default.uniqueId();
16
91
  var reactData = {
17
92
  initialized: false,
18
93
  selectColor: '',
94
+ panelColor: '',
95
+ hexValue: '',
96
+ rValue: 0,
97
+ gValue: 0,
98
+ bValue: 0,
99
+ aValue: 0,
19
100
  panelIndex: 0,
20
101
  panelStyle: {},
21
102
  panelPlacement: null,
@@ -23,11 +104,96 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
23
104
  isAniVisible: false,
24
105
  isActivated: false
25
106
  };
107
+ var internalData = {
108
+ hpTimeout: undefined
109
+ };
26
110
  return {
27
111
  xID: xID,
28
- reactData: reactData
112
+ reactData: reactData,
113
+ internalData: internalData
29
114
  };
30
115
  },
116
+ computed: Object.assign(Object.assign({}, {}), {
117
+ computeFormReadonly: function computeFormReadonly() {
118
+ var $xeColorPicker = this;
119
+ var props = $xeColorPicker;
120
+ var $xeForm = $xeColorPicker.$xeForm;
121
+ var readonly = props.readonly;
122
+ if (readonly === null) {
123
+ if ($xeForm) {
124
+ return $xeForm.readonly;
125
+ }
126
+ return false;
127
+ }
128
+ return readonly;
129
+ },
130
+ computeIsDisabled: function computeIsDisabled() {
131
+ var $xeColorPicker = this;
132
+ var props = $xeColorPicker;
133
+ var $xeForm = $xeColorPicker.$xeForm;
134
+ var disabled = props.disabled;
135
+ if (disabled === null) {
136
+ if ($xeForm) {
137
+ return $xeForm.disabled;
138
+ }
139
+ return false;
140
+ }
141
+ return disabled;
142
+ },
143
+ computeBtnTransfer: function computeBtnTransfer() {
144
+ var $xeColorPicker = this;
145
+ var props = $xeColorPicker;
146
+ var $xeTable = $xeColorPicker.$xeTable;
147
+ var $xeModal = $xeColorPicker.$xeModal;
148
+ var $xeDrawer = $xeColorPicker.$xeDrawer;
149
+ var $xeForm = $xeColorPicker.$xeForm;
150
+ var transfer = props.transfer;
151
+ if (transfer === null) {
152
+ var globalTransfer = (0, _ui.getConfig)().iconPicker.transfer;
153
+ if (_xeUtils.default.isBoolean(globalTransfer)) {
154
+ return globalTransfer;
155
+ }
156
+ if ($xeTable || $xeModal || $xeDrawer || $xeForm) {
157
+ return true;
158
+ }
159
+ }
160
+ return transfer;
161
+ },
162
+ computeColorList: function computeColorList() {
163
+ var $xeColorPicker = this;
164
+ var props = $xeColorPicker;
165
+ var colors = props.colors;
166
+ if (colors) {
167
+ return colors.map(function (item) {
168
+ if (_xeUtils.default.isString(item)) {
169
+ return {
170
+ label: item,
171
+ value: item
172
+ };
173
+ }
174
+ return {
175
+ label: _xeUtils.default.eqNull(item.label) ? item.value : item.label,
176
+ value: item.value
177
+ };
178
+ });
179
+ }
180
+ return [];
181
+ },
182
+ computeValueType: function computeValueType() {
183
+ var $xeColorPicker = this;
184
+ var props = $xeColorPicker;
185
+ var type = props.type;
186
+ if (type === 'rgb' || type === 'rgba') {
187
+ return 'rgb';
188
+ }
189
+ return 'hex';
190
+ },
191
+ computeIsRgb: function computeIsRgb() {
192
+ var $xeColorPicker = this;
193
+ var valueType = $xeColorPicker.computeValueType;
194
+ return valueType === 'rgb';
195
+ }
196
+ }),
31
197
  methods: {
32
198
  //
33
199
  // Method
@@ -47,18 +213,795 @@ var _default = exports.default = (0, _comp.defineVxeComponent)({
47
213
  $xeColorPicker.$emit('model-value', value);
48
214
  }
49
215
  },
216
+ updateMode: function updateMode() {
217
+ var $xeColorPicker = this;
218
+ var props = $xeColorPicker;
219
+ var reactData = $xeColorPicker.reactData;
220
+ var value = props.value;
221
+ reactData.selectColor = _xeUtils.default.toValueString(value);
222
+ $xeColorPicker.updateModelColor();
223
+ },
224
+ updateModelColor: function updateModelColor() {
225
+ var $xeColorPicker = this;
226
+ var reactData = $xeColorPicker.reactData;
227
+ var selectColor = reactData.selectColor,
228
+ isAniVisible = reactData.isAniVisible;
229
+ var isRgb = $xeColorPicker.computeIsRgb;
230
+ var hueSliderEl = $xeColorPicker.$refs.refHueSliderElem;
231
+ var alphaSliderEl = $xeColorPicker.$refs.refAlphaSliderElem;
232
+ var colorRest = (0, _util.parseColor)(selectColor);
233
+ reactData.hexValue = colorRest.hex;
234
+ reactData.rValue = colorRest.r;
235
+ reactData.gValue = colorRest.g;
236
+ reactData.bValue = colorRest.b;
237
+ reactData.aValue = colorRest.a;
238
+ if (colorRest.value) {
239
+ if (isRgb) {
240
+ if (colorRest.type === 'hex') {
241
+ var rgbRest = (0, _util.hexToRgb)(colorRest.hex);
242
+ if (rgbRest) {
243
+ reactData.rValue = rgbRest.r;
244
+ reactData.gValue = rgbRest.g;
245
+ reactData.bValue = rgbRest.b;
246
+ reactData.aValue = rgbRest.a;
247
+ }
248
+ }
249
+ } else {
250
+ if (colorRest.type !== 'hex') {
251
+ reactData.hexValue = (0, _util.rgbToHex)(colorRest);
252
+ }
253
+ }
254
+ }
255
+ if (isAniVisible) {
256
+ var hsvRest = colorRest.type === 'hex' ? (0, _util.hexToHsv)(colorRest.hex) : (0, _util.rgbToHsv)(colorRest);
257
+ var colorPanelEl = $xeColorPicker.$refs.refColorPanelElem;
258
+ if (hsvRest) {
259
+ if (colorPanelEl) {
260
+ var offsetTop = colorPanelEl.clientHeight * (1 - hsvRest.v);
261
+ var offsetLeft = colorPanelEl.clientWidth * hsvRest.s;
262
+ $xeColorPicker.handlePanelColor(offsetLeft, offsetTop);
263
+ }
264
+ if (hueSliderEl) {
265
+ $xeColorPicker.handleHueColor(_xeUtils.default.ceil((1 - hsvRest.h / 360) * hueSliderEl.clientWidth));
266
+ }
267
+ }
268
+ if (alphaSliderEl) {
269
+ $xeColorPicker.handleAlphaColor(alphaSliderEl.clientWidth * colorRest.a);
270
+ }
271
+ }
272
+ },
273
+ updateZindex: function updateZindex() {
274
+ var $xeColorPicker = this;
275
+ var reactData = $xeColorPicker.reactData;
276
+ if (reactData.panelIndex < (0, _utils.getLastZIndex)()) {
277
+ reactData.panelIndex = (0, _utils.nextZIndex)();
278
+ }
279
+ },
280
+ updatePlacement: function updatePlacement() {
281
+ var $xeColorPicker = this;
282
+ var props = $xeColorPicker;
283
+ var reactData = $xeColorPicker.reactData;
284
+ return $xeColorPicker.$nextTick().then(function () {
285
+ var placement = props.placement;
286
+ var panelIndex = reactData.panelIndex;
287
+ var el = $xeColorPicker.$refs.refElem;
288
+ var panelElem = $xeColorPicker.$refs.refOptionPanel;
289
+ var btnTransfer = $xeColorPicker.computeBtnTransfer;
290
+ if (panelElem && el) {
291
+ var targetHeight = el.offsetHeight;
292
+ var targetWidth = el.offsetWidth;
293
+ var panelHeight = panelElem.offsetHeight;
294
+ var panelWidth = panelElem.offsetWidth;
295
+ var marginSize = 5;
296
+ var panelStyle = {
297
+ zIndex: panelIndex
298
+ };
299
+ var _getAbsolutePos = (0, _dom.getAbsolutePos)(el),
300
+ boundingTop = _getAbsolutePos.boundingTop,
301
+ boundingLeft = _getAbsolutePos.boundingLeft,
302
+ visibleHeight = _getAbsolutePos.visibleHeight,
303
+ visibleWidth = _getAbsolutePos.visibleWidth;
304
+ var panelPlacement = 'bottom';
305
+ if (btnTransfer) {
306
+ var left = boundingLeft;
307
+ var top = boundingTop + targetHeight;
308
+ if (placement === 'top') {
309
+ panelPlacement = 'top';
310
+ top = boundingTop - panelHeight;
311
+ } else if (!placement) {
312
+ // 如果下面不够放,则向上
313
+ if (top + panelHeight + marginSize > visibleHeight) {
314
+ panelPlacement = 'top';
315
+ top = boundingTop - panelHeight;
316
+ }
317
+ // 如果上面不够放,则向下(优先)
318
+ if (top < marginSize) {
319
+ panelPlacement = 'bottom';
320
+ top = boundingTop + targetHeight;
321
+ }
322
+ }
323
+ // 如果溢出右边
324
+ if (left + panelWidth + marginSize > visibleWidth) {
325
+ left -= left + panelWidth + marginSize - visibleWidth;
326
+ }
327
+ // 如果溢出左边
328
+ if (left < marginSize) {
329
+ left = marginSize;
330
+ }
331
+ Object.assign(panelStyle, {
332
+ left: "".concat(left, "px"),
333
+ top: "".concat(top, "px"),
334
+ minWidth: "".concat(targetWidth, "px")
335
+ });
336
+ } else {
337
+ if (placement === 'top') {
338
+ panelPlacement = 'top';
339
+ panelStyle.bottom = "".concat(targetHeight, "px");
340
+ } else if (!placement) {
341
+ // 如果下面不够放,则向上
342
+ if (boundingTop + targetHeight + panelHeight > visibleHeight) {
343
+ // 如果上面不够放,则向下(优先)
344
+ if (boundingTop - targetHeight - panelHeight > marginSize) {
345
+ panelPlacement = 'top';
346
+ panelStyle.bottom = "".concat(targetHeight, "px");
347
+ }
348
+ }
349
+ }
350
+ }
351
+ reactData.panelStyle = panelStyle;
352
+ reactData.panelPlacement = panelPlacement;
353
+ return $xeColorPicker.$nextTick();
354
+ }
355
+ });
356
+ },
357
+ showOptionPanel: function showOptionPanel() {
358
+ var $xeColorPicker = this;
359
+ var reactData = $xeColorPicker.reactData;
360
+ var internalData = $xeColorPicker.internalData;
361
+ var hpTimeout = internalData.hpTimeout;
362
+ var isDisabled = $xeColorPicker.computeIsDisabled;
363
+ if (!isDisabled) {
364
+ if (hpTimeout) {
365
+ clearTimeout(hpTimeout);
366
+ internalData.hpTimeout = undefined;
367
+ }
368
+ var btnTransfer = $xeColorPicker.computeBtnTransfer;
369
+ var panelElem = $xeColorPicker.$refs.refOptionPanel;
370
+ if (!reactData.initialized) {
371
+ reactData.initialized = true;
372
+ if (btnTransfer) {
373
+ if (panelElem) {
374
+ document.body.appendChild(panelElem);
375
+ }
376
+ }
377
+ }
378
+ reactData.isActivated = true;
379
+ reactData.isAniVisible = true;
380
+ setTimeout(function () {
381
+ $xeColorPicker.updateModelColor();
382
+ reactData.visiblePanel = true;
383
+ }, 10);
384
+ $xeColorPicker.updateZindex();
385
+ $xeColorPicker.updatePlacement();
386
+ }
387
+ },
388
+ hideOptionPanel: function hideOptionPanel() {
389
+ var $xeColorPicker = this;
390
+ var reactData = $xeColorPicker.reactData;
391
+ var internalData = $xeColorPicker.internalData;
392
+ reactData.visiblePanel = false;
393
+ internalData.hpTimeout = window.setTimeout(function () {
394
+ reactData.isAniVisible = false;
395
+ }, 350);
396
+ },
397
+ changeEvent: function changeEvent(evnt, value) {
398
+ var $xeColorPicker = this;
399
+ var props = $xeColorPicker;
400
+ var reactData = $xeColorPicker.reactData;
401
+ var $xeForm = $xeColorPicker.$xeForm;
402
+ var formItemInfo = $xeColorPicker.formItemInfo;
403
+ reactData.selectColor = value;
404
+ if (value !== props.value) {
405
+ $xeColorPicker.emitModel(value);
406
+ $xeColorPicker.dispatchEvent('change', {
407
+ value: value
408
+ }, evnt);
409
+ // 自动更新校验状态
410
+ if ($xeForm && formItemInfo) {
411
+ $xeForm.triggerItemEvent(evnt, formItemInfo.itemConfig.field, value);
412
+ }
413
+ }
414
+ },
415
+ clearValueEvent: function clearValueEvent(evnt, selectValue) {
416
+ var $xeColorPicker = this;
417
+ $xeColorPicker.changeEvent(evnt, selectValue);
418
+ $xeColorPicker.dispatchEvent('clear', {
419
+ value: selectValue
420
+ }, evnt);
421
+ },
422
+ clearEvent: function clearEvent(evnt) {
423
+ var $xeColorPicker = this;
424
+ $xeColorPicker.clearValueEvent(evnt, null);
425
+ $xeColorPicker.hideOptionPanel();
426
+ },
427
+ confirmEvent: function confirmEvent(evnt) {
428
+ var $xeColorPicker = this;
429
+ var reactData = $xeColorPicker.reactData;
430
+ var selectColor = reactData.selectColor;
431
+ $xeColorPicker.changeEvent(evnt, selectColor);
432
+ $xeColorPicker.hideOptionPanel();
433
+ },
434
+ togglePanelEvent: function togglePanelEvent(evnt) {
435
+ var $xeColorPicker = this;
436
+ var reactData = $xeColorPicker.reactData;
437
+ evnt.preventDefault();
438
+ if (reactData.visiblePanel) {
439
+ $xeColorPicker.hideOptionPanel();
440
+ } else {
441
+ $xeColorPicker.showOptionPanel();
442
+ }
443
+ },
444
+ clickEvent: function clickEvent(evnt) {
445
+ var $xeColorPicker = this;
446
+ $xeColorPicker.togglePanelEvent(evnt);
447
+ $xeColorPicker.dispatchEvent('click', {}, evnt);
448
+ },
449
+ handleHueColor: function handleHueColor(offsetLeft) {
450
+ var $xeColorPicker = this;
451
+ var reactData = $xeColorPicker.reactData;
452
+ var hueSliderEl = $xeColorPicker.$refs.refHueSliderElem;
453
+ var hueSliderBtnEl = $xeColorPicker.$refs.refHueSliderBtnElem;
454
+ if (hueSliderEl && hueSliderBtnEl) {
455
+ if (offsetLeft < 0) {
456
+ offsetLeft = 0;
457
+ }
458
+ var barWidth = _xeUtils.default.toInteger(hueSliderEl.clientWidth);
459
+ var itemNum = 255;
460
+ var countNum = itemNum * 6;
461
+ var offsetX = _xeUtils.default.ceil(countNum / barWidth * offsetLeft);
462
+ var offsetNum = offsetX % itemNum;
463
+ var rNum = 0;
464
+ var gNum = 0;
465
+ var bNum = 0;
466
+ switch (Math.ceil(offsetX / itemNum)) {
467
+ case 1:
468
+ rNum = itemNum;
469
+ bNum = offsetNum;
470
+ break;
471
+ case 2:
472
+ rNum = itemNum - offsetNum;
473
+ bNum = itemNum;
474
+ break;
475
+ case 3:
476
+ gNum = offsetNum;
477
+ bNum = itemNum;
478
+ break;
479
+ case 4:
480
+ gNum = itemNum;
481
+ bNum = itemNum - offsetNum;
482
+ break;
483
+ case 5:
484
+ rNum = offsetNum;
485
+ gNum = itemNum;
486
+ break;
487
+ case 6:
488
+ rNum = itemNum;
489
+ gNum = itemNum - offsetNum;
490
+ break;
491
+ }
492
+ reactData.panelColor = (0, _util.toRgb)(rNum, gNum, bNum);
493
+ hueSliderBtnEl.style.left = (0, _dom.toCssUnit)(offsetLeft);
494
+ }
495
+ },
496
+ handleHueBarEvent: function handleHueBarEvent(evnt) {
497
+ var $xeColorPicker = this;
498
+ var hueSliderEl = $xeColorPicker.$refs.refHueSliderElem;
499
+ var hueSliderBtnEl = $xeColorPicker.$refs.refHueSliderBtnElem;
500
+ if (hueSliderEl && hueSliderBtnEl) {
501
+ var hueSliderRect = hueSliderEl.getBoundingClientRect();
502
+ var barWidth = _xeUtils.default.toInteger(hueSliderEl.clientWidth);
503
+ var offsetLeft = _xeUtils.default.ceil(Math.min(barWidth - 1, Math.max(1, evnt.clientX - hueSliderRect.x)));
504
+ $xeColorPicker.handleHueColor(offsetLeft);
505
+ }
506
+ },
507
+ handleHueSliderMousedownEvent: function handleHueSliderMousedownEvent(evnt) {
508
+ var $xeColorPicker = this;
509
+ evnt.preventDefault();
510
+ document.onmousemove = function (evnt) {
511
+ evnt.preventDefault();
512
+ $xeColorPicker.handleHueBarEvent(evnt);
513
+ };
514
+ document.onmouseup = function (evnt) {
515
+ document.onmousemove = null;
516
+ document.onmouseup = null;
517
+ $xeColorPicker.handleHueBarEvent(evnt);
518
+ };
519
+ },
520
+ handleAlphaColor: function handleAlphaColor(offsetLeft) {
521
+ var $xeColorPicker = this;
522
+ var reactData = $xeColorPicker.reactData;
523
+ var selectColor = reactData.selectColor;
524
+ var alphaSliderEl = $xeColorPicker.$refs.refAlphaSliderElem;
525
+ var alphaSliderBtnEl = $xeColorPicker.$refs.refAlphaSliderBtnElem;
526
+ if (alphaSliderEl && alphaSliderBtnEl) {
527
+ var alphaSliderRect = alphaSliderEl.getBoundingClientRect();
528
+ var barWidth = alphaSliderRect.width;
529
+ if (offsetLeft < 0) {
530
+ offsetLeft = 0;
531
+ }
532
+ if (offsetLeft > barWidth) {
533
+ offsetLeft = barWidth;
534
+ }
535
+ var alpha = _xeUtils.default.ceil(100 / barWidth * offsetLeft / 100, 2);
536
+ reactData.aValue = alpha;
537
+ alphaSliderBtnEl.style.left = (0, _dom.toCssUnit)(offsetLeft);
538
+ reactData.selectColor = (0, _util.updateColorAlpha)(selectColor, alpha);
539
+ }
540
+ },
541
+ handleAlphaBarEvent: function handleAlphaBarEvent(evnt) {
542
+ var $xeColorPicker = this;
543
+ var alphaSliderEl = $xeColorPicker.$refs.refAlphaSliderElem;
544
+ var alphaSliderBtnEl = $xeColorPicker.$refs.refAlphaSliderBtnElem;
545
+ if (alphaSliderEl && alphaSliderBtnEl) {
546
+ var alphaSliderRect = alphaSliderEl.getBoundingClientRect();
547
+ var barWidth = alphaSliderRect.width;
548
+ var offsetLeft = Math.min(barWidth, Math.max(0, evnt.clientX - alphaSliderRect.x));
549
+ $xeColorPicker.handleAlphaColor(offsetLeft);
550
+ $xeColorPicker.updateModelColor();
551
+ }
552
+ },
553
+ handleAlphaSliderMousedownEvent: function handleAlphaSliderMousedownEvent(evnt) {
554
+ var $xeColorPicker = this;
555
+ evnt.preventDefault();
556
+ document.onmousemove = function (evnt) {
557
+ evnt.preventDefault();
558
+ $xeColorPicker.handleAlphaBarEvent(evnt);
559
+ };
560
+ document.onmouseup = function (evnt) {
561
+ document.onmousemove = null;
562
+ document.onmouseup = null;
563
+ $xeColorPicker.handleAlphaBarEvent(evnt);
564
+ };
565
+ },
566
+ handleInputRgbEvent: function handleInputRgbEvent() {
567
+ var $xeColorPicker = this;
568
+ var reactData = $xeColorPicker.reactData;
569
+ var rValue = reactData.rValue,
570
+ gValue = reactData.gValue,
571
+ bValue = reactData.bValue,
572
+ aValue = reactData.aValue;
573
+ reactData.selectColor = (0, _util.toRgb)(rValue, gValue, bValue, aValue);
574
+ $xeColorPicker.updateModelColor();
575
+ },
576
+ handleInputAlphaEvent: function handleInputAlphaEvent() {
577
+ var $xeColorPicker = this;
578
+ var reactData = $xeColorPicker.reactData;
579
+ var aValue = reactData.aValue;
580
+ var alphaSliderEl = $xeColorPicker.$refs.refAlphaSliderElem;
581
+ var alphaSliderBtnEl = $xeColorPicker.$refs.refAlphaSliderBtnElem;
582
+ if (alphaSliderEl && alphaSliderBtnEl) {
583
+ var alphaSliderRect = alphaSliderEl.getBoundingClientRect();
584
+ var barWidth = alphaSliderRect.width;
585
+ var offsetLeft = barWidth * aValue;
586
+ $xeColorPicker.handleAlphaColor(offsetLeft);
587
+ }
588
+ },
589
+ handleQuickEvent: function handleQuickEvent(evnt, item) {
590
+ var $xeColorPicker = this;
591
+ var reactData = $xeColorPicker.reactData;
592
+ var value = item.value;
593
+ reactData.selectColor = value;
594
+ $xeColorPicker.updateModelColor();
595
+ },
596
+ handlePanelColor: function handlePanelColor(offsetLeft, offsetTop) {
597
+ var $xeColorPicker = this;
598
+ var colorActiveEl = $xeColorPicker.$refs.refColorActiveElem;
599
+ if (colorActiveEl) {
600
+ colorActiveEl.style.top = (0, _dom.toCssUnit)(offsetTop);
601
+ colorActiveEl.style.left = (0, _dom.toCssUnit)(offsetLeft);
602
+ }
603
+ },
604
+ handleSelectColorMousedownEvent: function handleSelectColorMousedownEvent(evnt) {
605
+ var $xeColorPicker = this;
606
+ var props = $xeColorPicker;
607
+ var reactData = $xeColorPicker.reactData;
608
+ var showAlpha = props.showAlpha;
609
+ var panelColor = reactData.panelColor,
610
+ aValue = reactData.aValue;
611
+ var colorPanelEl = $xeColorPicker.$refs.refColorPanelElem;
612
+ var colorActiveEl = $xeColorPicker.$refs.refColorActiveElem;
613
+ if (colorPanelEl && colorActiveEl) {
614
+ var colorPanelRect = colorPanelEl.getBoundingClientRect();
615
+ var offsetTop = evnt.clientY - colorPanelRect.y;
616
+ var offsetLeft = evnt.clientX - colorPanelRect.x;
617
+ var colorRest = (0, _util.parseColor)(panelColor);
618
+ if (colorRest) {
619
+ var hsvRest = colorRest.type === 'hex' ? (0, _util.hexToHsv)(colorRest.hex) : (0, _util.rgbToHsv)(colorRest);
620
+ if (hsvRest) {
621
+ var ragRest = (0, _util.hsvToRgb)(hsvRest.h, offsetLeft / colorPanelEl.clientWidth, 1 - offsetTop / colorPanelEl.clientHeight);
622
+ reactData.selectColor = (0, _util.toRgb)(ragRest.r, ragRest.g, ragRest.b, showAlpha ? aValue : null);
623
+ $xeColorPicker.handlePanelColor(offsetLeft, offsetTop);
624
+ $xeColorPicker.updateModelColor();
625
+ }
626
+ }
627
+ }
628
+ },
629
+ handleCopyColorEvent: function handleCopyColorEvent() {
630
+ var $xeColorPicker = this;
631
+ var reactData = $xeColorPicker.reactData;
632
+ var selectColor = reactData.selectColor;
633
+ if (selectColor) {
634
+ if (_ui.VxeUI.clipboard.copy(selectColor)) {
635
+ if (_ui.VxeUI.modal) {
636
+ _ui.VxeUI.modal.message({
637
+ content: (0, _ui.getI18n)('vxe.colorPicker.copySuccess', [selectColor]),
638
+ status: 'success'
639
+ });
640
+ }
641
+ }
642
+ }
643
+ },
644
+ handleGlobalMousewheelEvent: function handleGlobalMousewheelEvent(evnt) {
645
+ var $xeColorPicker = this;
646
+ var reactData = $xeColorPicker.reactData;
647
+ var visiblePanel = reactData.visiblePanel;
648
+ var isDisabled = $xeColorPicker.computeIsDisabled;
649
+ if (!isDisabled) {
650
+ if (visiblePanel) {
651
+ var panelElem = $xeColorPicker.$refs.refOptionPanel;
652
+ if ((0, _dom.getEventTargetNode)(evnt, panelElem).flag) {
653
+ $xeColorPicker.updatePlacement();
654
+ } else {
655
+ $xeColorPicker.hideOptionPanel();
656
+ }
657
+ }
658
+ }
659
+ },
660
+ handleGlobalMousedownEvent: function handleGlobalMousedownEvent(evnt) {
661
+ var $xeColorPicker = this;
662
+ var reactData = $xeColorPicker.reactData;
663
+ var visiblePanel = reactData.visiblePanel;
664
+ var isDisabled = $xeColorPicker.computeIsDisabled;
665
+ if (!isDisabled) {
666
+ var el = $xeColorPicker.$refs.refElem;
667
+ var panelElem = $xeColorPicker.$refs.refOptionPanel;
668
+ reactData.isActivated = (0, _dom.getEventTargetNode)(evnt, el).flag || (0, _dom.getEventTargetNode)(evnt, panelElem).flag;
669
+ if (visiblePanel && !reactData.isActivated) {
670
+ $xeColorPicker.hideOptionPanel();
671
+ }
672
+ }
673
+ },
674
+ handleGlobalBlurEvent: function handleGlobalBlurEvent() {
675
+ var $xeColorPicker = this;
676
+ $xeColorPicker.hideOptionPanel();
677
+ },
50
678
  //
51
679
  // Render
52
680
  //
681
+ renderColorWrapper: function renderColorWrapper(h) {
682
+ var $xeColorPicker = this;
683
+ var props = $xeColorPicker;
684
+ var reactData = $xeColorPicker.reactData;
685
+ var showColorExtractor = props.showColorExtractor;
686
+ var panelColor = reactData.panelColor;
687
+ if (showColorExtractor) {
688
+ return h('div', {
689
+ ref: 'refColorPanelElem',
690
+ class: 'vxe-color-picker--color-wrapper',
691
+ on: {
692
+ mousedown: $xeColorPicker.handleSelectColorMousedownEvent
693
+ }
694
+ }, [h('div', {
695
+ class: 'vxe-color-picker--color-bg',
696
+ style: {
697
+ backgroundColor: panelColor
698
+ }
699
+ }), h('div', {
700
+ class: 'vxe-color-picker--white-bg'
701
+ }), h('div', {
702
+ class: 'vxe-color-picker--black-bg'
703
+ }), h('div', {
704
+ ref: 'refColorActiveElem',
705
+ class: 'vxe-color-picker--color-active'
706
+ })]);
707
+ }
708
+ return (0, _ui.renderEmptyElement)($xeColorPicker);
709
+ },
710
+ renderColorBar: function renderColorBar(h) {
711
+ var $xeColorPicker = this;
712
+ var props = $xeColorPicker;
713
+ var reactData = $xeColorPicker.reactData;
714
+ var showAlpha = props.showAlpha,
715
+ clickToCopy = props.clickToCopy;
716
+ var hexValue = reactData.hexValue,
717
+ rValue = reactData.rValue,
718
+ gValue = reactData.gValue,
719
+ bValue = reactData.bValue,
720
+ aValue = reactData.aValue,
721
+ selectColor = reactData.selectColor,
722
+ panelColor = reactData.panelColor;
723
+ var valueType = $xeColorPicker.computeValueType;
724
+ var isRgb = $xeColorPicker.computeIsRgb;
725
+ return h('div', {
726
+ class: 'vxe-color-picker--bar-wrapper'
727
+ }, [h('div', {
728
+ class: 'vxe-color-picker--slider-wrapper'
729
+ }, [h('div', {
730
+ class: 'vxe-color-picker--slider-preview'
731
+ }, [h('div', {
732
+ class: 'vxe-color-picker--preview-btn'
733
+ }, [h('div', {
734
+ class: 'vxe-color-picker--preview-color',
735
+ style: {
736
+ backgroundColor: selectColor
737
+ }
738
+ }, clickToCopy ? [h('span', {
739
+ class: 'vxe-color-picker--preview-copy-btn',
740
+ on: {
741
+ click: $xeColorPicker.handleCopyColorEvent
742
+ }
743
+ }, [h('i', {
744
+ class: (0, _ui.getIcon)().COLOR_COPY
745
+ })])] : [])])]), h('div', {
746
+ class: 'vxe-color-picker--slider-handle'
747
+ }, [h('div', {
748
+ ref: 'refHueSliderElem',
749
+ class: 'vxe-color-picker--bar-hue-slider',
750
+ on: {
751
+ click: $xeColorPicker.handleHueBarEvent
752
+ }
753
+ }, [h('div', {
754
+ ref: 'refHueSliderBtnElem',
755
+ class: 'vxe-color-picker--bar-hue-btn',
756
+ on: {
757
+ mousedown: $xeColorPicker.handleHueSliderMousedownEvent
758
+ }
759
+ })]), showAlpha ? h('div', {
760
+ ref: 'refAlphaSliderElem',
761
+ class: 'vxe-color-picker--bar-alpha-slider',
762
+ on: {
763
+ click: $xeColorPicker.handleAlphaBarEvent
764
+ }
765
+ }, [h('div', {
766
+ class: 'vxe-color-picker--bar-alpha-bg',
767
+ style: {
768
+ background: "linear-gradient(to right, rgba(0, 0, 0, 0), ".concat(panelColor, ")")
769
+ }
770
+ }), h('div', {
771
+ ref: 'refAlphaSliderBtnElem',
772
+ class: 'vxe-color-picker--bar-alpha-btn',
773
+ on: {
774
+ mousedown: $xeColorPicker.handleAlphaSliderMousedownEvent
775
+ }
776
+ })]) : (0, _ui.renderEmptyElement)($xeColorPicker)])]), h('div', {
777
+ class: "vxe-color-picker--".concat(valueType, "-wrapper")
778
+ }, isRgb ? [h('div', {
779
+ class: 'vxe-color-picker--input-wrapper'
780
+ }, [h(_input.default, {
781
+ props: {
782
+ type: 'integer',
783
+ size: 'mini',
784
+ align: 'center',
785
+ min: 0,
786
+ max: 255,
787
+ maxLength: 3,
788
+ placeholder: '',
789
+ value: rValue
790
+ },
791
+ on: {
792
+ 'modelValue': function modelValue(val) {
793
+ reactData.rValue = val;
794
+ },
795
+ change: $xeColorPicker.handleInputRgbEvent
796
+ }
797
+ }), h(_input.default, {
798
+ props: {
799
+ type: 'integer',
800
+ size: 'mini',
801
+ align: 'center',
802
+ min: 0,
803
+ max: 255,
804
+ maxLength: 3,
805
+ placeholder: '',
806
+ value: gValue
807
+ },
808
+ on: {
809
+ 'modelValue': function modelValue(val) {
810
+ reactData.gValue = val;
811
+ },
812
+ change: $xeColorPicker.handleInputRgbEvent
813
+ }
814
+ }), h(_input.default, {
815
+ props: {
816
+ type: 'integer',
817
+ size: 'mini',
818
+ align: 'center',
819
+ min: 0,
820
+ max: 255,
821
+ maxLength: 3,
822
+ placeholder: '',
823
+ value: bValue
824
+ },
825
+ on: {
826
+ 'modelValue': function modelValue(val) {
827
+ reactData.bValue = val;
828
+ },
829
+ change: $xeColorPicker.handleInputRgbEvent
830
+ }
831
+ }), h(_input.default, {
832
+ props: {
833
+ type: 'number',
834
+ size: 'mini',
835
+ align: 'center',
836
+ min: 0,
837
+ max: 1,
838
+ step: 0.01,
839
+ maxLength: 4,
840
+ placeholder: '',
841
+ value: aValue
842
+ },
843
+ on: {
844
+ 'modelValue': function modelValue(val) {
845
+ reactData.aValue = val;
846
+ },
847
+ change: $xeColorPicker.handleInputAlphaEvent
848
+ }
849
+ })]), h('div', {
850
+ class: 'vxe-color-picker--input-title'
851
+ }, [h('span', 'R'), h('span', 'G'), h('span', 'B'), h('span', 'A')])] : [h('div', {
852
+ class: 'vxe-color-picker--input-title'
853
+ }, 'HEX'), h('div', {
854
+ class: 'vxe-color-picker--input-wrapper'
855
+ }, [h(_input.default, {
856
+ props: {
857
+ type: 'text',
858
+ size: 'mini',
859
+ align: 'center',
860
+ maxLength: 9,
861
+ placeholder: '',
862
+ value: hexValue
863
+ },
864
+ on: {
865
+ 'modelValue': function modelValue(val) {
866
+ reactData.hexValue = val;
867
+ },
868
+ change: function change() {
869
+ var colorRest = (0, _util.parseColor)(reactData.hexValue);
870
+ if (colorRest) {
871
+ if (colorRest.value) {
872
+ reactData.selectColor = colorRest.value;
873
+ $xeColorPicker.updateModelColor();
874
+ }
875
+ }
876
+ }
877
+ }
878
+ })])])]);
879
+ },
880
+ renderQuickWrapper: function renderQuickWrapper(h) {
881
+ var $xeColorPicker = this;
882
+ var props = $xeColorPicker;
883
+ var showQuick = props.showQuick;
884
+ var colorList = $xeColorPicker.computeColorList;
885
+ if (showQuick && colorList.length) {
886
+ return h('div', {
887
+ class: 'vxe-color-picker--quick-wrapper'
888
+ }, colorList.map(function (item, i) {
889
+ return h('div', {
890
+ key: i,
891
+ class: 'vxe-color-picker--quick-item',
892
+ attrs: {
893
+ title: item.label || ''
894
+ },
895
+ style: {
896
+ backgroundColor: item.value
897
+ },
898
+ on: {
899
+ click: function click(evnt) {
900
+ $xeColorPicker.handleQuickEvent(evnt, item);
901
+ }
902
+ }
903
+ });
904
+ }));
905
+ }
906
+ return (0, _ui.renderEmptyElement)($xeColorPicker);
907
+ },
53
908
  renderVN: function renderVN(h) {
54
909
  var $xeColorPicker = this;
55
- var slots = $xeColorPicker.$scopedSlots;
56
- var defaultSlot = slots.default;
910
+ var props = $xeColorPicker;
911
+ var reactData = $xeColorPicker.reactData;
912
+ var className = props.className,
913
+ popupClassName = props.popupClassName,
914
+ clearable = props.clearable,
915
+ value = props.value;
916
+ var initialized = reactData.initialized,
917
+ isActivated = reactData.isActivated,
918
+ isAniVisible = reactData.isAniVisible,
919
+ visiblePanel = reactData.visiblePanel;
920
+ var vSize = $xeColorPicker.computeSize;
921
+ var isDisabled = $xeColorPicker.computeIsDisabled;
922
+ var btnTransfer = $xeColorPicker.computeBtnTransfer;
923
+ var formReadonly = $xeColorPicker.computeFormReadonly;
924
+ if (formReadonly) {
925
+ return h('div', {
926
+ ref: 'refElem',
927
+ class: ['vxe-color-picker--readonly', className]
928
+ }, 'x');
929
+ }
57
930
  return h('div', {
58
931
  ref: 'refElem',
59
- class: 'vxe-color-picker'
60
- }, defaultSlot ? defaultSlot({}) : []);
932
+ class: ['vxe-color-picker', className ? _xeUtils.default.isFunction(className) ? className({
933
+ $colorPicker: $xeColorPicker
934
+ }) : className : '', _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "size--".concat(vSize), vSize), 'is--selected', !!value), 'is--visible', visiblePanel), 'is--disabled', isDisabled), 'is--active', isActivated)]
935
+ }, [h('div', {
936
+ class: 'vxe-color-picker--inner',
937
+ on: {
938
+ click: $xeColorPicker.clickEvent
939
+ }
940
+ }, [h('div', {
941
+ class: 'vxe-color-picker--inner-color',
942
+ style: {
943
+ backgroundColor: value
944
+ }
945
+ })]), h('div', {
946
+ ref: 'refOptionPanel',
947
+ class: ['vxe-table--ignore-clear vxe-color-picker--panel', popupClassName ? _xeUtils.default.isFunction(popupClassName) ? popupClassName({
948
+ $colorPicker: $xeColorPicker
949
+ }) : popupClassName : '', _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, "size--".concat(vSize), vSize), 'is--transfer', btnTransfer), 'ani--leave', isAniVisible), 'ani--enter', visiblePanel)],
950
+ attrs: {
951
+ placement: reactData.panelPlacement
952
+ },
953
+ style: reactData.panelStyle
954
+ }, [initialized && (visiblePanel || isAniVisible) ? h('div', {
955
+ class: 'vxe-color-picker--panel-wrapper'
956
+ }, [h('div', {
957
+ class: ''
958
+ }, [$xeColorPicker.renderColorWrapper(h), $xeColorPicker.renderColorBar(h), $xeColorPicker.renderQuickWrapper(h), h('div', {
959
+ class: 'vxe-color-picker--footer-wrapper'
960
+ }, [clearable ? h(_button.default, {
961
+ props: {
962
+ content: (0, _ui.getI18n)('vxe.colorPicker.clear'),
963
+ size: 'mini'
964
+ },
965
+ on: {
966
+ click: $xeColorPicker.clearEvent
967
+ }
968
+ }) : (0, _ui.renderEmptyElement)($xeColorPicker), h(_button.default, {
969
+ props: {
970
+ content: (0, _ui.getI18n)('vxe.colorPicker.confirm'),
971
+ size: 'mini',
972
+ status: 'primary'
973
+ },
974
+ on: {
975
+ click: $xeColorPicker.confirmEvent
976
+ }
977
+ })])])]) : (0, _ui.renderEmptyElement)($xeColorPicker)])]);
978
+ }
979
+ },
980
+ watch: {
981
+ value: function value() {
982
+ var $xeColorPicker = this;
983
+ $xeColorPicker.updateMode();
984
+ }
985
+ },
986
+ created: function created() {
987
+ var $xeColorPicker = this;
988
+ var props = $xeColorPicker;
989
+ var reactData = $xeColorPicker.reactData;
990
+ reactData.selectColor = props.value;
991
+ $xeColorPicker.updateMode();
992
+ _ui.globalEvents.on($xeColorPicker, 'mousewheel', $xeColorPicker.handleGlobalMousewheelEvent);
993
+ _ui.globalEvents.on($xeColorPicker, 'mousedown', $xeColorPicker.handleGlobalMousedownEvent);
994
+ _ui.globalEvents.on($xeColorPicker, 'blur', $xeColorPicker.handleGlobalBlurEvent);
995
+ },
996
+ beforeDestroy: function beforeDestroy() {
997
+ var $xeColorPicker = this;
998
+ var panelElem = $xeColorPicker.$refs.refOptionPanel;
999
+ if (panelElem && panelElem.parentNode) {
1000
+ panelElem.parentNode.removeChild(panelElem);
61
1001
  }
1002
+ _ui.globalEvents.off($xeColorPicker, 'mousewheel');
1003
+ _ui.globalEvents.off($xeColorPicker, 'mousedown');
1004
+ _ui.globalEvents.off($xeColorPicker, 'blur');
62
1005
  },
63
1006
  render: function render(h) {
64
1007
  return this.renderVN(h);