{"version":3,"file":"ellipsis2.mjs","sources":["../../../../../../packages/components/ellipsis/src/ellipsis.vue"],"sourcesContent":["<template>\n  <tooltip\n    v-if=\"showTooltip\"\n    :content=\"content\"\n    placement=\"top-start\"\n    popper-class=\"overflow-tip\"\n    :raw-content=\"rawContent\"\n    :effect=\"effect\"\n  >\n    <template #content>\n      <div\n        :style=\"{\n          width: popperContentWidth !== 'auto' ? popperContentWidth + 'px' : '',\n        }\"\n      >\n        <slot v-if=\"$slots.content\" name=\"content\" /><span v-else>{{\n          content\n        }}</span>\n      </div>\n    </template>\n    <div :style=\"getDisplayStyle()\" :class=\"ns.b()\" @click=\"handleClick\">\n      <slot v-if=\"$slots.content\" name=\"content\" /><span v-else>{{\n        content\n      }}</span>\n    </div>\n  </tooltip>\n  <div v-else :style=\"getDisplayStyle()\" :class=\"ns.b()\" @click=\"handleClick\">\n    {{ content }}\n  </div>\n</template>\n<script lang=\"ts\" setup>\nimport { ref } from 'vue'\nimport tooltip from '@lit-element/components/tooltip/src/tooltip.vue'\nimport { useNamespace } from '@lit-element/hooks'\nimport { ellipsisProps } from './ellipsis'\nimport type { StyleValue } from 'vue'\n\ndefineOptions({\n  name: 'LtEllipsis',\n})\n\nconst ns = useNamespace('ellipsis')\nconst rawContent = ref(false)\nconst props = defineProps(ellipsisProps)\nconst isExpanded = ref(false) // 初始化为 false，表示默认折叠\n\nconst getEllipsisStyle = (): StyleValue => {\n  if (props.maxLines > 0) {\n    return {\n      '-webkit-line-clamp': props.maxLines,\n      display: '-webkit-box',\n      '-webkit-box-orient': 'vertical',\n      overflow: 'hidden',\n      'text-overflow': 'ellipsis',\n      'word-break': 'break-all',\n      cursor: 'pointer',\n    }\n  }\n  return {}\n}\n\nconst getDisplayStyle = (): StyleValue => {\n  if (isExpanded.value) {\n    return {}\n  }\n  const baseStyle = getEllipsisStyle() as Record<string, string | number>\n  return {\n    ...baseStyle,\n    width: `${props.width}px`,\n    overflow: 'hidden',\n    cursor: 'pointer',\n    'text-overflow': 'ellipsis',\n  }\n}\n\nconst handleClick = () => {\n  if (props.expandTrigger === 'click') {\n    isExpanded.value = !isExpanded.value\n  }\n}\n</script>\n<style lang=\"scss\" scoped></style>\n"],"names":[],"mappings":";;;;;;;mCAqCc,CAAA;AAAA,EACZ,IAAM,EAAA,YAAA;AACR,CAAA,CAAA,CAAA;;;;;;AAEA,IAAM,MAAA,EAAA,GAAK,aAAa,UAAU,CAAA,CAAA;AAClC,IAAM,MAAA,UAAA,GAAa,IAAI,KAAK,CAAA,CAAA;AAE5B,IAAM,MAAA,UAAA,GAAa,IAAI,KAAK,CAAA,CAAA;AAE5B,IAAA,MAAM,mBAAmB,MAAkB;AACzC,MAAI,IAAA,KAAA,CAAM,WAAW,CAAG,EAAA;AACtB,QAAO,OAAA;AAAA,UACL,sBAAsB,KAAM,CAAA,QAAA;AAAA,UAC5B,OAAS,EAAA,aAAA;AAAA,UACT,oBAAsB,EAAA,UAAA;AAAA,UACtB,QAAU,EAAA,QAAA;AAAA,UACV,eAAiB,EAAA,UAAA;AAAA,UACjB,YAAc,EAAA,WAAA;AAAA,UACd,MAAQ,EAAA,SAAA;AAAA,SACV,CAAA;AAAA,OACF;AACA,MAAA,OAAO,EAAC,CAAA;AAAA,KACV,CAAA;AAEA,IAAA,MAAM,kBAAkB,MAAkB;AACxC,MAAA,IAAI,WAAW,KAAO,EAAA;AACpB,QAAA,OAAO,EAAC,CAAA;AAAA,OACV;AACA,MAAA,MAAM,YAAY,gBAAiB,EAAA,CAAA;AACnC,MAAO,OAAA;AAAA,QACL,GAAG,SAAA;AAAA,QACH,KAAA,EAAO,CAAG,EAAA,KAAA,CAAM,KAAK,CAAA,EAAA,CAAA;AAAA,QACrB,QAAU,EAAA,QAAA;AAAA,QACV,MAAQ,EAAA,SAAA;AAAA,QACR,eAAiB,EAAA,UAAA;AAAA,OACnB,CAAA;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,cAAc,MAAM;AACxB,MAAI,IAAA,KAAA,CAAM,kBAAkB,OAAS,EAAA;AACnC,QAAW,UAAA,CAAA,KAAA,GAAQ,CAAC,UAAW,CAAA,KAAA,CAAA;AAAA,OACjC;AAAA,KACF,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}