{"version":3,"file":"index.mjs","sources":["../../../../../../packages/components/select-v3/src/index.ts"],"sourcesContent":["import { defineComponent, h } from 'vue'\nimport { ElIcon, ElSelectV2, useLocale, useNamespace } from 'element-plus'\nimport * as IconsVue from '@element-plus/components/icons-vue'\nimport ElTextEllipsis from '@element-plus/components/text-ellipsis'\nimport { DIV_TAG } from '@element-plus/constants'\nimport { OptionTypeEnum, selectV3Emits, selectV3Props } from './select-v3'\nimport type { OptionType } from './select-v3'\nconst { BusinessWechat, Wechat } = IconsVue\n\nexport default defineComponent({\n  name: 'ElSelectV3',\n  inheritAttrs: false,\n  props: selectV3Props,\n  emits: selectV3Emits,\n  setup(props, { attrs, slots }) {\n    const { t } = useLocale()\n    const ns = useNamespace('select-v3')\n\n    const renderIcon = (item: OptionType) => {\n      const type = Number(item.type)\n      const isWechat = type === OptionTypeEnum.Wechat\n      const isBusinessWechat = type === OptionTypeEnum.BusinessWechat\n      const comp = props.icon\n        ? props.icon\n        : isWechat\n        ? Wechat\n        : isBusinessWechat\n        ? BusinessWechat\n        : ''\n      return comp\n        ? h(\n            ElIcon,\n            {\n              size: isWechat ? 16 : 18,\n              color: isWechat ? '#07C160' : '',\n              ...props.iconOptions,\n            },\n            {\n              default: () => h(comp),\n            }\n          )\n        : ''\n    }\n\n    const renderItem = (data: { item: OptionType; index: number }) => {\n      const { item, index } = data\n      return h(DIV_TAG, { class: ns.e('item'), key: item.value ?? index }, [\n        renderIcon(item),\n        h(ElTextEllipsis, {\n          rows: 1,\n          position: 'middle',\n          class: ns.e('item-text'),\n          content: String(item.label),\n          showOverflowTooltip: true,\n          tooltipOptions: {\n            hideAfter: 0,\n            placement: 'top',\n            transition: 'unknown',\n          },\n          ...props.textEllipsisOptions,\n        }),\n      ])\n    }\n\n    return () => {\n      return h(\n        ElSelectV2,\n        {\n          clearable: true,\n          filterable: true,\n          placeholder: t('epx.common.selectPlaceholder'),\n          ...(attrs as any),\n          options: props.options,\n          class: [attrs.class, ns.b()],\n          popperClass: ns.e('popper'),\n          persistent: false,\n        },\n        {\n          default: renderItem,\n          ...slots,\n        }\n      )\n    }\n  },\n})\n"],"names":["IconsVue"],"mappings":"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"}