32751c4e605dacd3c7cc16c9cf867ddbb873ba861ef9f6248cd503672665dec49fe924e9e0fc8a381386b699cd8454103e10bc84de0fc2cf9dbdec5c0c88b4 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. 'use strict';
  2. Object.defineProperty(exports, '__esModule', { value: true });
  3. var vue = require('vue');
  4. var index$1 = require('../../input/index.js');
  5. var alphaSlider = require('./components/alpha-slider.js');
  6. var hueSlider = require('./components/hue-slider.js');
  7. var predefine = require('./components/predefine.js');
  8. var svPanel = require('./components/sv-panel.js');
  9. var colorPickerPanel = require('./color-picker-panel.js');
  10. var useCommonColor = require('./composables/use-common-color.js');
  11. var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
  12. var index = require('../../../hooks/use-namespace/index.js');
  13. var useFormCommonProps = require('../../form/src/hooks/use-form-common-props.js');
  14. var event = require('../../../constants/event.js');
  15. const __default__ = vue.defineComponent({
  16. name: "ElColorPickerPanel"
  17. });
  18. const _sfc_main = /* @__PURE__ */ vue.defineComponent({
  19. ...__default__,
  20. props: colorPickerPanel.colorPickerPanelProps,
  21. emits: colorPickerPanel.colorPickerPanelEmits,
  22. setup(__props, { expose, emit }) {
  23. const props = __props;
  24. const ns = index.useNamespace("color-picker-panel");
  25. const disabled = useFormCommonProps.useFormDisabled();
  26. const hue = vue.ref();
  27. const sv = vue.ref();
  28. const alpha = vue.ref();
  29. const inputRef = vue.ref();
  30. const customInput = vue.ref("");
  31. const { color } = vue.inject(colorPickerPanel.ROOT_COMMON_COLOR_INJECTION_KEY, () => useCommonColor.useCommonColor(props, emit), true);
  32. function handleConfirm() {
  33. color.fromString(customInput.value);
  34. if (color.value !== customInput.value) {
  35. customInput.value = color.value;
  36. }
  37. }
  38. vue.onMounted(() => {
  39. if (props.modelValue) {
  40. customInput.value = color.value;
  41. }
  42. vue.nextTick(() => {
  43. var _a, _b, _c;
  44. (_a = hue.value) == null ? void 0 : _a.update();
  45. (_b = sv.value) == null ? void 0 : _b.update();
  46. (_c = alpha.value) == null ? void 0 : _c.update();
  47. });
  48. });
  49. vue.watch(() => props.modelValue, (newVal) => {
  50. if (newVal && newVal !== color.value) {
  51. color.fromString(newVal);
  52. }
  53. });
  54. vue.watch(() => color.value, (val) => {
  55. emit(event.UPDATE_MODEL_EVENT, val);
  56. customInput.value = val;
  57. });
  58. vue.provide(colorPickerPanel.colorPickerPanelContextKey, {
  59. currentColor: vue.computed(() => color.value)
  60. });
  61. expose({
  62. color,
  63. inputRef
  64. });
  65. return (_ctx, _cache) => {
  66. return vue.openBlock(), vue.createElementBlock("div", {
  67. class: vue.normalizeClass([vue.unref(ns).b(), vue.unref(ns).is("disabled", vue.unref(disabled)), vue.unref(ns).is("border", _ctx.border)])
  68. }, [
  69. vue.createElementVNode("div", {
  70. class: vue.normalizeClass(vue.unref(ns).e("wrapper"))
  71. }, [
  72. vue.createVNode(hueSlider["default"], {
  73. ref_key: "hue",
  74. ref: hue,
  75. class: "hue-slider",
  76. color: vue.unref(color),
  77. vertical: "",
  78. disabled: vue.unref(disabled)
  79. }, null, 8, ["color", "disabled"]),
  80. vue.createVNode(svPanel["default"], {
  81. ref_key: "sv",
  82. ref: sv,
  83. color: vue.unref(color),
  84. disabled: vue.unref(disabled)
  85. }, null, 8, ["color", "disabled"])
  86. ], 2),
  87. _ctx.showAlpha ? (vue.openBlock(), vue.createBlock(alphaSlider["default"], {
  88. key: 0,
  89. ref_key: "alpha",
  90. ref: alpha,
  91. color: vue.unref(color),
  92. disabled: vue.unref(disabled)
  93. }, null, 8, ["color", "disabled"])) : vue.createCommentVNode("v-if", true),
  94. _ctx.predefine ? (vue.openBlock(), vue.createBlock(predefine["default"], {
  95. key: 1,
  96. ref: "predefine",
  97. "enable-alpha": _ctx.showAlpha,
  98. color: vue.unref(color),
  99. colors: _ctx.predefine,
  100. disabled: vue.unref(disabled)
  101. }, null, 8, ["enable-alpha", "color", "colors", "disabled"])) : vue.createCommentVNode("v-if", true),
  102. vue.createElementVNode("div", {
  103. class: vue.normalizeClass(vue.unref(ns).e("footer"))
  104. }, [
  105. vue.createVNode(vue.unref(index$1.ElInput), {
  106. ref_key: "inputRef",
  107. ref: inputRef,
  108. modelValue: customInput.value,
  109. "onUpdate:modelValue": ($event) => customInput.value = $event,
  110. "validate-event": false,
  111. size: "small",
  112. disabled: vue.unref(disabled),
  113. onChange: handleConfirm
  114. }, null, 8, ["modelValue", "onUpdate:modelValue", "disabled"]),
  115. vue.renderSlot(_ctx.$slots, "footer")
  116. ], 2)
  117. ], 2);
  118. };
  119. }
  120. });
  121. var ColorPickerPanel = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["__file", "color-picker-panel.vue"]]);
  122. exports["default"] = ColorPickerPanel;
  123. //# sourceMappingURL=color-picker-panel2.js.map