vxe-pc-ui 3.3.43 → 3.3.45

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