{"version":3,"file":"button.vue2.mjs","sources":["../../../../../../packages/components/button/src/button.vue"],"sourcesContent":["<template>\r\n  <Button\r\n    ref=\"btnRef\"\r\n    :class=\"[\r\n      bem.b(),\r\n      useCustomStyle ? bem.is('btn-custom') : '',\r\n      isBlock ? bem.is('block') : '',\r\n    ]\"\r\n    v-bind=\"getBindValue\"\r\n    :type=\"useCustomStyle ? 'primary' : type\"\r\n    :disabled=\"disabled\"\r\n    :style=\"{ gap: `${props.iconSpace}px`, ...customStyle }\"\r\n    @mouseenter=\"handleHover(true)\"\r\n    @mouseleave=\"handleHover(false)\"\r\n  >\r\n    <template v-if=\"props.icon.iconName || $slots.icon\" #icon>\r\n      <slot v-if=\"$slots.icon\" name=\"icon\"></slot>\r\n      <ll-icon\r\n        v-else\r\n        :style=\"{ order: iconDirection === 'left' ? 0 : 1 }\"\r\n        :icon-name=\"icon.iconName\"\r\n        :color=\"icon.color\"\r\n        :size=\"icon.size\"\r\n      />\r\n    </template>\r\n    <slot>\r\n      <template v-if=\"label\">\r\n        <span>{{ label }}</span>\r\n      </template>\r\n    </slot>\r\n  </Button>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, ref, useAttrs } from 'vue'\r\n\r\nimport { Button } from 'ant-design-vue'\r\n\r\nimport { LlIcon } from '@ll-plus/components'\r\n\r\nimport { createNamespace } from '@ll-plus/utils'\r\n\r\nimport { omit } from 'lodash-es'\r\nimport { buttonProps } from './button'\r\n\r\ndefineOptions({ name: 'LlButton' })\r\n\r\nconst props = defineProps(buttonProps)\r\nconst emits = defineEmits(['mouseenter', 'mouseleave'])\r\nconst bem = createNamespace('button')\r\n\r\nconst attrs = useAttrs()\r\nconst btnRef = ref()\r\n\r\nconst isHovered = ref(false)\r\n\r\nconst getBindValue = computed(() => {\r\n  return omit({ ...attrs }, ['class'])\r\n})\r\n\r\n// 模拟悬浮效果\r\nconst handleHover = (v: boolean) => {\r\n  emits(v ? 'mouseenter' : 'mouseleave')\r\n  if (props.useCustomStyle) {\r\n    isHovered.value = v\r\n  }\r\n}\r\nconsole.log('测试发布')\r\nconst customStyle = computed(() => {\r\n  // 未开启自定义样式\r\n  if (!props.useCustomStyle) return {}\r\n\r\n  const baseStyle = {\r\n    border: `1px solid var(--btn-gray-bg)`,\r\n    'box-shadow': `0 2px 0 rgba(0, 0, 0, 0.02)`,\r\n  }\r\n\r\n  // 禁用状态样式（最高优先级）\r\n  if (props.disabled) {\r\n    return {\r\n      color: '#c9cdd4',\r\n      'border-color': 'var(--color-border)',\r\n      'background-color': 'rgba(0, 0, 0, 0.04)',\r\n      'box-shadow': 'none',\r\n    }\r\n  }\r\n\r\n  // 悬浮\r\n  else if (isHovered.value) {\r\n    return {\r\n      ...baseStyle,\r\n      'background-color': props.hoverBgColor || `var(--btn-gray-bg-hover)`,\r\n      color: props.hoverColor || `var(--color-text)`,\r\n    }\r\n  }\r\n  // 默认\r\n  else {\r\n    return {\r\n      ...baseStyle,\r\n      'background-color': props.bgColor || `var(--btn-gray-bg)`,\r\n      color: props.color || `var(--color-text)`,\r\n    }\r\n  }\r\n})\r\n\r\nconst blur = () => {\r\n  btnRef.value.blur()\r\n}\r\n\r\ndefineExpose({ blur })\r\n</script>\r\n"],"names":["_openBlock","_createBlock","_unref","_mergeProps","useCustomStyle","isBlock","type","disabled","_renderSlot","label","_createElementBlock","$slots","iconDirection","icon"],"mappings":"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"}