{"version":3,"file":"tooltip.vue2.mjs","sources":["../../../../../../packages/components/tooltip/src/tooltip.vue"],"sourcesContent":["<template>\r\n  <a-tooltip\r\n    v-bind=\"attrs\"\r\n    :placement=\"placement\"\r\n    :arrow=\"props.arrow\"\r\n    :color=\"bgColor\"\r\n    :overlay-style=\"getOverlayStyle\"\r\n    :overlay-class-name=\"`${getOverlayClass} ${getIsWhiteBg} ${\r\n      !!bgColor || !!textColor ? 'custom-color' : ''\r\n    }`\"\r\n  >\r\n    <!-- title插槽 -->\r\n    <template #title>\r\n      <slot name=\"title\">\r\n        <ll-html :value=\"tip\" />\r\n      </slot>\r\n    </template>\r\n    <!-- 默认插槽 -->\r\n    <!-- focus trigger 时不套容器 div，让 slot 内容直接作为 a-tooltip 子元素，否则 focus 事件无法触达 -->\r\n    <div\r\n      v-if=\"useEllipsis || showContainer\"\r\n      :class=\"getContainerClass\"\r\n      :style=\"getContainerStyle\"\r\n    >\r\n      <slot>\r\n        <ll-icon icon-name=\"icon-question\" />\r\n      </slot>\r\n    </div>\r\n    <template v-else>\r\n      <slot>\r\n        <ll-icon icon-name=\"icon-question\" />\r\n      </slot>\r\n    </template>\r\n  </a-tooltip>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { addUnit, createNamespace } from '@ll-plus/utils'\r\nimport { useAttrs } from 'vue'\r\n\r\nimport { computed } from 'vue'\r\nimport { tooltipProps } from './tooltip'\r\n\r\n// 1.defineOptions\r\ndefineOptions({ name: 'LlTooltip' })\r\n\r\n// 2.props\r\nconst props = defineProps(tooltipProps)\r\nconst attrs = useAttrs()\r\n\r\n// 3.computes/const\r\nconst bem = createNamespace('tooltip')\r\nconst bemContainer = createNamespace('container-tooltip')\r\n\r\n// 是否显示白色背景\r\nconst getIsWhiteBg = computed(() =>\r\n  props.isWhiteBg && !props.bgColor && !props.textColor ? 'is-white-bg' : '',\r\n)\r\n\r\n// 根据ellipsis设置设置插槽容器的文字超出样式\r\nconst getContainerClass = computed(() => {\r\n  const ellipsisClass = props.ellipsis ? bemContainer.m('ellipsis') : ''\r\n  return `${bemContainer.b()} ${ellipsisClass}`\r\n})\r\n// 设置插槽容器的宽度\r\nconst getContainerStyle = computed(() => {\r\n  const width = addUnit(props.width)\r\n  return {\r\n    width: width ? width : '',\r\n    ...props.containerStyle,\r\n  }\r\n})\r\n\r\n// 根据ellipsis/width设置设置tip弹窗的类名\r\nconst getOverlayClass = computed(() => {\r\n  const ellipsisClass = props.tipEllipsis ? bem.m('ellipsis') : ''\r\n  return `${bem.b()} ${ellipsisClass} ${props.overlayClassName}`\r\n})\r\n// 根据ellipsis/width设置设置tip弹窗的样式\r\nconst getOverlayStyle = computed(() => {\r\n  const maxWidth = addUnit(props.maxWidth)\r\n  return {\r\n    WebkitLineClamp: props.tipEllipsis ? props.tipEllipsisLine : 'none',\r\n    'max-width': maxWidth,\r\n    color: props.textColor || '#fff',\r\n    ...props.overlayStyle,\r\n  }\r\n})\r\n\r\nconst useEllipsis = computed(() => {\r\n  return !!props.ellipsis || !!addUnit(props.width)\r\n})\r\n</script>\r\n"],"names":["_createBlock","_mergeProps","_unref","placement","bgColor","textColor","_renderSlot","_createVNode","tip","showContainer","_createElementBlock"],"mappings":"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"}