{"version":3,"file":"select-dropdown.mjs","sources":["../../../../../../packages/components/select/src/select-dropdown.vue"],"sourcesContent":["<template>\r\n  <div\r\n    class=\"sg-select-dropdown\"\r\n    :class=\"[{ 'is-multiple': isMultiple }, popperClass]\"\r\n    :style=\"{ [isFitInputWidth || scrollwidth ? 'width' : 'minWidth']: scrollwidth ? `${scrollwidth}px` : minWidth }\"\r\n  >\r\n    <slot></slot>\r\n  </div>\r\n</template>\r\n\r\n<script lang=\"ts\">\r\nimport {\r\n  defineComponent,\r\n  computed,\r\n  onMounted,\r\n  onBeforeUnmount,\r\n  inject,\r\n  ref,\r\n} from 'vue'\r\nimport {\r\n  addResizeListener,\r\n  removeResizeListener,\r\n} from '@sgui-plus/utils/resize-event'\r\nimport { SelectContextKey } from './token'\r\nimport type { ResizableElement } from '@sgui-plus/utils/resize-event'\r\n\r\nexport default defineComponent({\r\n  name: 'SgSelectDropdown',\r\n\r\n  componentName: 'SgSelectDropdown',\r\n\r\n  setup() {\r\n    const select = inject(SelectContextKey)!\r\n    // computed\r\n    const popperClass = computed(() => select.props.popperClass)\r\n    const isMultiple = computed(() => select.props.multiple)\r\n    const isFitInputWidth = computed(() => select.props.dropWidthLinked)\r\n    const minWidth = ref('')\r\n    const scrollwidth = computed(() => select.props.scrollwidth)\r\n    function updateMinWidth() {\r\n\r\n      minWidth.value = `${\r\n        select.selectWrapper?.getBoundingClientRect().width\r\n      }px`\r\n    }\r\n\r\n    onMounted(() => {\r\n      // TODO: updatePopper\r\n      // popper.value.update()\r\n      updateMinWidth()\r\n      addResizeListener(\r\n        select.selectWrapper as ResizableElement,\r\n        updateMinWidth\r\n      )\r\n    })\r\n\r\n    onBeforeUnmount(() => {\r\n      removeResizeListener(\r\n        select.selectWrapper as ResizableElement,\r\n        updateMinWidth\r\n      )\r\n    })\r\n\r\n    return {\r\n      minWidth,\r\n      scrollwidth,\r\n      popperClass,\r\n      isMultiple,\r\n      isFitInputWidth,\r\n    }\r\n  },\r\n})\r\n</script>\r\n"],"names":["_openBlock","_createElementBlock","_normalizeClass","_normalizeStyle"],"mappings":";;;;AAES,SAAA,WAAA,CAAA,IAAA,EAAA,MAAA,EAAC,gBAAoB,KACA,EAAA,QAAA,EAAA;AACpB,EAAA,OAAAA,SAAA,EAAA,EAAAC,kBAAA,CAAK,KAAe,EAAA;AAAA,IAAA,KAAA,EAAAC,cAAA,CAAA,CAAA,oBAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,CAAA,UAAA,EAAA,EAAA,IAAA,CAAA,WAAA,CAAA,CAAA,CAAA;IAE1B,KAAa,EAAAC,cAAA,CAAA,EAAA,CAAA,IAAA,CAAA,eAAA,IAAA,IAAA,CAAA,WAAA,GAAA,OAAA,GAAA,UAAA,GAAA,IAAA,CAAA,WAAA,GAAA,CAAA,EAAA,IAAA,CAAA,WAAA,CAAA,EAAA,CAAA,GAAA,IAAA,CAAA,QAAA,EAAA,CAAA;AAAA,GAAA,EAAA;;;;;;;;"}