{"version":3,"file":"icon-base-pro.vue2.mjs","sources":["../../../../../../packages/components/icon-base-pro/src/icon-base-pro.vue"],"sourcesContent":["<template>\r\n  <!-- 有文字提示弹窗 -->\r\n  <ll-tooltip\r\n    v-if=\"showTip\"\r\n    :tip=\"tipText\"\r\n    :is-white-bg=\"isWhiteBg\"\r\n    :arrow=\"arrow\"\r\n    :class=\"[bem.e('tooltip'), tooltipClass]\"\r\n  >\r\n    <ll-button\r\n      ref=\"btnRef\"\r\n      type=\"text\"\r\n      :disabled=\"disabled\"\r\n      :class=\"`${btnClass}`\"\r\n      :style=\"btnStyle\"\r\n      :label=\"label\"\r\n      :icon-space=\"8\"\r\n      @click=\"onClick\"\r\n      @mouseenter=\"handleHover(true)\"\r\n      @mouseleave=\"handleHover(false)\"\r\n    >\r\n      <template #icon>\r\n        <ll-icon :style=\"iconStyle\" :icon-name=\"iconName\" :size=\"iconSize\" />\r\n      </template>\r\n    </ll-button>\r\n  </ll-tooltip>\r\n\r\n  <!-- 没有文字提示弹窗 -->\r\n  <ll-button\r\n    v-else\r\n    ref=\"btnRef\"\r\n    type=\"text\"\r\n    :disabled=\"disabled\"\r\n    :class=\"`${btnClass}`\"\r\n    :style=\"btnStyle\"\r\n    :label=\"label\"\r\n    :icon-space=\"8\"\r\n    @click=\"onClick\"\r\n    @mouseenter=\"handleHover(true)\"\r\n    @mouseleave=\"handleHover(false)\"\r\n  >\r\n    <template #icon>\r\n      <ll-icon :style=\"iconStyle\" :icon-name=\"iconName\" :size=\"iconSize\" />\r\n    </template>\r\n  </ll-button>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { computed, ref } from 'vue'\r\n\r\nimport { createNamespace } from '@ll-plus/utils'\r\nimport { iconBaseProProps } from './icon-base-pro'\r\n\r\ndefineOptions({ name: 'LlIconBasePro' })\r\n\r\nconst bem = createNamespace('icon-base-pro')\r\n\r\nconst props = defineProps(iconBaseProProps)\r\nconst emits = defineEmits(['click'])\r\n\r\nconst btnRef = ref()\r\nconst isHover = ref(false)\r\n\r\nconst btnClass = computed(() => {\r\n  const isDefault = props.iconType === 'default' || !props.iconType\r\n\r\n  // 1.类型的class\r\n  const typeClass = isDefault ? bem.is('default') : bem.is('primary')\r\n\r\n  // 2.禁用的class\r\n  const disabledClass = props.disabled\r\n    ? isDefault\r\n      ? bem.is('default-disable')\r\n      : bem.is('primary-disable')\r\n    : ''\r\n\r\n  // 3. label\r\n  const labelClass = props.label ? bem.is('label') : ''\r\n\r\n  // 4.尺寸的class\r\n  const getSizeClass = () => {\r\n    switch (props.size) {\r\n      case 'large':\r\n        return 'large'\r\n      case 'middle':\r\n        return 'middle'\r\n      case 'small':\r\n        return 'small'\r\n      default:\r\n        'custom'\r\n    }\r\n  }\r\n  const sizeClass = bem.is(getSizeClass())\r\n\r\n  return `${\r\n    props.class\r\n  } ${bem.b()} ${typeClass} ${disabledClass} ${sizeClass} ${labelClass}`\r\n})\r\n\r\nconst btnStyle = computed(() => {\r\n  return {\r\n    'background-color': isHover.value ? props.hoverBgColor : props.bgColor,\r\n    ...(typeof props.size === 'number'\r\n      ? { width: props.size + 'px', height: props.size + 'px' }\r\n      : {}),\r\n  }\r\n})\r\n\r\nconst iconStyle = computed(() => ({\r\n  transform: `scale(${isHover.value ? props.hoverScale : 1})`,\r\n}))\r\n\r\nconst onClick = () => {\r\n  emits('click')\r\n  btnRef.value?.blur()\r\n}\r\n\r\nconst handleHover = (bool: boolean) => {\r\n  isHover.value = bool\r\n}\r\n</script>\r\n"],"names":["_createCommentVNode","showTip","_createBlock","tipText","isWhiteBg","arrow","_normalizeClass","_unref","tooltipClass","_createVNode","disabled","label","iconName","iconSize","_createElementBlock","_Fragment"],"mappings":"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"}