{"version":3,"file":"color-picker.vue2.mjs","sources":["../../../../../../packages/components/color-picker/src/color-picker.vue"],"sourcesContent":["<template>\n  <el-tooltip\n    ref=\"popper\"\n    :visible=\"showPicker\"\n    :show-arrow=\"false\"\n    :fallback-placements=\"['bottom', 'top', 'right', 'left']\"\n    :offset=\"0\"\n    :gpu-acceleration=\"false\"\n    :popper-class=\"[ns.be('picker', 'panel'), popperClass!]\"\n    :popper-style=\"popperStyle\"\n    :stop-popper-mouse-event=\"false\"\n    pure\n    loop\n    role=\"dialog\"\n    effect=\"light\"\n    trigger=\"click\"\n    :teleported=\"teleported\"\n    :transition=\"`${ns.namespace.value}-zoom-in-top`\"\n    :persistent=\"persistent\"\n    :append-to=\"appendTo\"\n    @show=\"handleShowTooltip\"\n    @hide=\"setShowPicker(false)\"\n  >\n    <template #content>\n      <el-color-picker-panel\n        ref=\"pickerPanelRef\"\n        v-bind=\"panelProps\"\n        v-click-outside:[triggerRef]=\"handleClickOutside\"\n        :border=\"false\"\n        :validate-event=\"false\"\n        @keydown.esc=\"handleEsc\"\n      >\n        <template #footer>\n          <div>\n            <el-button\n              v-if=\"clearable\"\n              :class=\"ns.be('footer', 'link-btn')\"\n              text\n              size=\"small\"\n              @click=\"clear\"\n            >\n              {{ t('el.colorpicker.clear') }}\n            </el-button>\n            <el-button\n              plain\n              size=\"small\"\n              :class=\"ns.be('footer', 'btn')\"\n              @click=\"confirmValue\"\n            >\n              {{ t('el.colorpicker.confirm') }}\n            </el-button>\n          </div>\n        </template>\n      </el-color-picker-panel>\n    </template>\n    <template #default>\n      <div\n        :id=\"buttonId\"\n        ref=\"triggerRef\"\n        v-bind=\"$attrs\"\n        :class=\"btnKls\"\n        role=\"button\"\n        :aria-label=\"buttonAriaLabel\"\n        :aria-labelledby=\"buttonAriaLabelledby\"\n        :aria-description=\"\n          t('el.colorpicker.description', { color: modelValue || '' })\n        \"\n        :aria-disabled=\"colorDisabled\"\n        :tabindex=\"colorDisabled ? undefined : tabindex\"\n        @keydown=\"handleKeyDown\"\n        @focus=\"handleFocus\"\n        @blur=\"handleBlur\"\n      >\n        <div :class=\"ns.be('picker', 'trigger')\" @click=\"handleTrigger\">\n          <span :class=\"[ns.be('picker', 'color'), ns.is('alpha', showAlpha)]\">\n            <span\n              :class=\"ns.be('picker', 'color-inner')\"\n              :style=\"{\n                backgroundColor: displayedColor,\n              }\"\n            >\n              <el-icon\n                v-show=\"modelValue || showPanelColor\"\n                :class=\"[ns.be('picker', 'icon'), ns.is('icon-arrow-down')]\"\n              >\n                <arrow-down />\n              </el-icon>\n              <el-icon\n                v-show=\"!modelValue && !showPanelColor\"\n                :class=\"[ns.be('picker', 'empty'), ns.is('icon-close')]\"\n              >\n                <close />\n              </el-icon>\n            </span>\n          </span>\n        </div>\n      </div>\n    </template>\n  </el-tooltip>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, nextTick, provide, ref, watch } from 'vue'\nimport { debounce, pick } from 'lodash-unified'\nimport { ElIcon } from '@element-plus/components/icon'\nimport { reactiveComputed } from '@vueuse/core'\nimport { ClickOutside as vClickOutside } from '@element-plus/directives'\nimport { ElTooltip } from '@element-plus/components/tooltip'\nimport { ElButton } from '@element-plus/components/button'\nimport {\n  useFormDisabled,\n  useFormItem,\n  useFormItemInputId,\n  useFormSize,\n} from '@element-plus/components/form'\nimport {\n  useEmptyValues,\n  useFocusController,\n  useLocale,\n  useNamespace,\n} from '@element-plus/hooks'\nimport {\n  CHANGE_EVENT,\n  EVENT_CODE,\n  UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { debugWarn, getEventCode } from '@element-plus/utils'\nimport { ArrowDown, Close } from '@element-plus/icons-vue'\nimport { colorPickerEmits, colorPickerPropsDefaults } from './color-picker'\nimport {\n  ElColorPickerPanel,\n  ROOT_COMMON_COLOR_INJECTION_KEY,\n  colorPickerPanelProps,\n} from '@element-plus/components/color-picker-panel'\nimport Color from '@element-plus/components/color-picker-panel/src/utils/color'\nimport { useCommonColor } from '@element-plus/components/color-picker-panel/src/composables/use-common-color'\n\nimport type { ColorPickerPanelInstance } from '@element-plus/components/color-picker-panel'\nimport type { TooltipInstance } from '@element-plus/components/tooltip'\nimport type { ColorPickerProps } from './color-picker'\n\ndefineOptions({\n  name: 'ElColorPicker',\n})\nconst props = withDefaults(\n  defineProps<ColorPickerProps>(),\n  colorPickerPropsDefaults\n)\n\nconst emit = defineEmits(colorPickerEmits)\n\nconst { t } = useLocale()\nconst ns = useNamespace('color')\nconst { formItem } = useFormItem()\nconst colorSize = useFormSize()\nconst colorDisabled = useFormDisabled()\nconst { valueOnClear, isEmptyValue } = useEmptyValues(props, null)\nconst commonColor = useCommonColor(props, emit)\nconst { inputId: buttonId, isLabeledByFormItem } = useFormItemInputId(props, {\n  formItemContext: formItem,\n})\n\nconst popper = ref<TooltipInstance>()\nconst triggerRef = ref()\nconst pickerPanelRef = ref<ColorPickerPanelInstance>()\nconst showPicker = ref(false)\nconst showPanelColor = ref(false)\n\n// active-change is used to prevent modelValue changes from triggering.\nlet shouldActiveChange = true\n\nconst { isFocused, handleFocus, handleBlur } = useFocusController(triggerRef, {\n  disabled: colorDisabled,\n  beforeBlur(event) {\n    return popper.value?.isFocusInsideContent(event)\n  },\n  afterBlur() {\n    setShowPicker(false)\n    resetColor()\n    if (props.validateEvent) {\n      formItem?.validate?.('blur').catch((err) => debugWarn(err))\n    }\n  },\n})\n\nconst color = reactiveComputed(\n  () => pickerPanelRef.value?.color ?? commonColor.color\n) as Color\n\nconst panelProps = computed(() =>\n  pick(props, Object.keys(colorPickerPanelProps))\n)\n\nconst displayedColor = computed(() => {\n  if (!props.modelValue && !showPanelColor.value) {\n    return 'transparent'\n  }\n  return displayedRgb(color, props.showAlpha)\n})\n\nconst currentColor = computed(() => {\n  return !props.modelValue && !showPanelColor.value ? '' : color.value\n})\n\nconst buttonAriaLabel = computed<string | undefined>(() => {\n  return !isLabeledByFormItem.value\n    ? props.ariaLabel || t('el.colorpicker.defaultLabel')\n    : undefined\n})\n\nconst buttonAriaLabelledby = computed<string | undefined>(() => {\n  return isLabeledByFormItem.value ? formItem?.labelId : undefined\n})\n\nconst btnKls = computed(() => {\n  return [\n    ns.b('picker'),\n    ns.is('disabled', colorDisabled.value),\n    ns.bm('picker', colorSize.value),\n    ns.is('focused', isFocused.value),\n  ]\n})\n\nfunction displayedRgb(color: Color, showAlpha: boolean) {\n  const { r, g, b, a } = color.toRgb()\n  return showAlpha ? `rgba(${r}, ${g}, ${b}, ${a})` : `rgb(${r}, ${g}, ${b})`\n}\n\nfunction setShowPicker(value: boolean) {\n  showPicker.value = value\n}\n\nconst debounceSetShowPicker = debounce(setShowPicker, 100, { leading: true })\nfunction show() {\n  if (colorDisabled.value) return\n  setShowPicker(true)\n}\n\nfunction hide() {\n  debounceSetShowPicker(false)\n  resetColor()\n}\n\nfunction resetColor() {\n  nextTick(() => {\n    if (props.modelValue) {\n      color.fromString(props.modelValue)\n    } else {\n      color.value = ''\n      nextTick(() => {\n        showPanelColor.value = false\n      })\n    }\n  })\n}\n\nfunction handleTrigger() {\n  if (colorDisabled.value) return\n  if (showPicker.value) {\n    resetColor()\n  }\n  debounceSetShowPicker(!showPicker.value)\n}\n\nfunction confirmValue() {\n  const value = isEmptyValue(color.value) ? valueOnClear.value : color.value\n  emit(UPDATE_MODEL_EVENT, value)\n  emit(CHANGE_EVENT, value)\n  if (props.validateEvent) {\n    formItem?.validate('change').catch((err) => debugWarn(err))\n  }\n  debounceSetShowPicker(false)\n  // check if modelValue change, if not change, then reset color.\n  nextTick(() => {\n    const newColor = new Color({\n      enableAlpha: props.showAlpha,\n      format: props.colorFormat || '',\n      value: props.modelValue,\n    })\n    if (!color.compare(newColor)) {\n      resetColor()\n    }\n  })\n}\n\nfunction clear() {\n  debounceSetShowPicker(false)\n  emit(UPDATE_MODEL_EVENT, valueOnClear.value)\n  emit(CHANGE_EVENT, valueOnClear.value)\n  if (props.modelValue !== valueOnClear.value && props.validateEvent) {\n    formItem?.validate('change').catch((err) => debugWarn(err))\n  }\n  resetColor()\n  emit('clear')\n}\n\nfunction handleShowTooltip() {\n  pickerPanelRef?.value?.inputRef?.focus()\n}\n\nfunction handleClickOutside() {\n  if (!showPicker.value) return\n  hide()\n  isFocused.value && focus()\n}\n\nfunction handleEsc(event: KeyboardEvent) {\n  event.preventDefault()\n  event.stopPropagation()\n  setShowPicker(false)\n  resetColor()\n}\n\nfunction handleKeyDown(event: KeyboardEvent) {\n  const code = getEventCode(event)\n\n  switch (code) {\n    case EVENT_CODE.enter:\n    case EVENT_CODE.numpadEnter:\n    case EVENT_CODE.space:\n      event.preventDefault()\n      event.stopPropagation()\n      show()\n      break\n    case EVENT_CODE.esc:\n      handleEsc(event)\n      break\n  }\n}\n\nfunction focus() {\n  triggerRef.value.focus()\n}\n\nfunction blur() {\n  triggerRef.value.blur()\n}\n\nwatch(\n  () => currentColor.value,\n  (val) => {\n    shouldActiveChange && emit('activeChange', val)\n    shouldActiveChange = true\n  }\n)\n\nwatch(\n  () => color.value,\n  () => {\n    if (!props.modelValue && !showPanelColor.value) {\n      showPanelColor.value = true\n    }\n  }\n)\n\nwatch(\n  () => props.modelValue,\n  (newVal) => {\n    if (!newVal) {\n      showPanelColor.value = false\n    } else if (newVal && newVal !== color.value) {\n      shouldActiveChange = false\n      color.fromString(newVal)\n    }\n  }\n)\n\nwatch(\n  () => showPicker.value,\n  () => {\n    pickerPanelRef.value && nextTick(pickerPanelRef.value.update)\n  }\n)\n\nprovide(ROOT_COMMON_COLOR_INJECTION_KEY, commonColor)\n\ndefineExpose({\n  /**\n   * @description current color object\n   */\n  color,\n  /**\n   * @description manually show ColorPicker\n   */\n  show,\n  /**\n   * @description manually hide ColorPicker\n   */\n  hide,\n  /**\n   * @description focus the input element\n   */\n  focus,\n  /**\n   * @description blur the input element\n   */\n  blur,\n})\n</script>\n"],"names":["color","_createBlock","_unref","_withDirectives","_openBlock","_mergeProps","_createElementVNode","_normalizeClass","_createVNode","vClickOutside","$attrs","_normalizeStyle","_vShow"],"mappings":"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"}