{"version":3,"file":"select-dropdown.mjs","names":[],"sources":["../../../../../../packages/components/select/src/select-dropdown.vue"],"sourcesContent":["<template>\n  <div\n    :class=\"[ns.b('dropdown'), ns.is('multiple', isMultiple), popperClass]\"\n    :style=\"{ [isFitInputWidth ? 'width' : 'minWidth']: minWidth }\"\n  >\n    <div v-if=\"$slots.header\" :class=\"ns.be('dropdown', 'header')\">\n      <slot name=\"header\" />\n    </div>\n    <slot />\n    <div v-if=\"$slots.footer\" :class=\"ns.be('dropdown', 'footer')\">\n      <slot name=\"footer\" />\n    </div>\n  </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, inject, onMounted, ref } from 'vue'\nimport { useResizeObserver } from '@vueuse/core'\nimport { useNamespace } from '@element-plus/hooks'\nimport { selectKey } from './token'\nimport { BORDER_HORIZONTAL_WIDTH } from '@element-plus/constants'\n\nexport default defineComponent({\n  name: 'ElSelectDropdown',\n\n  componentName: 'ElSelectDropdown',\n\n  setup() {\n    const select = inject(selectKey)!\n    const ns = useNamespace('select')\n\n    // computed\n    const popperClass = computed(() => select.props.popperClass)\n    const isMultiple = computed(() => select.props.multiple)\n    const isFitInputWidth = computed(() => select.props.fitInputWidth)\n    const minWidth = ref('')\n\n    function updateMinWidth() {\n      const offsetWidth = select.selectRef?.offsetWidth\n      if (offsetWidth) {\n        minWidth.value = `${offsetWidth - BORDER_HORIZONTAL_WIDTH}px`\n      } else {\n        minWidth.value = ''\n      }\n    }\n\n    onMounted(() => {\n      // TODO: updatePopper\n      // popper.value.update()\n      updateMinWidth()\n      useResizeObserver(select.selectRef, updateMinWidth)\n    })\n\n    return {\n      ns,\n      minWidth,\n      popperClass,\n      isMultiple,\n      isFitInputWidth,\n    }\n  },\n})\n</script>\n"],"mappings":";;;;;;qBACE,mBAWM,OAAA;EAVH,OAAK,eAAA;GAAG,KAAA,GAAG,EAAC,WAAA;GAAc,KAAA,GAAG,GAAE,YAAa,KAAA,WAAU;GAAG,KAAA;GAAW,CAAA;EACpE,OAAK,eAAA,GAAK,KAAA,kBAAe,UAAA,aAA0B,KAAA,UAAQ,CAAA;EAAA;EAEjD,KAAA,OAAO,UAAA,WAAA,EAAlB,mBAEM,OAAA;GAAA,KAAA;GAFqB,OAAK,eAAE,KAAA,GAAG,GAAE,YAAA,SAAA,CAAA;GAAA,GACrC,WAAsB,KAAA,QAAA,SAAA,CAAA;EAExB,WAAQ,KAAA,QAAA,UAAA;EACG,KAAA,OAAO,UAAA,WAAA,EAAlB,mBAEM,OAAA;GAAA,KAAA;GAFqB,OAAK,eAAE,KAAA,GAAG,GAAE,YAAA,SAAA,CAAA;GAAA,GACrC,WAAsB,KAAA,QAAA,SAAA,CAAA"}