{"version":3,"file":"select-dropdown.mjs","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    data-test-name=\"select-dropdown\"\n    data-test-variant=\"\"\n    data-test-state=\"\"\n  >\n    <div v-if=\"$slots.header\" :class=\"[ns.e('header')]\">\n      <slot name=\"header\" />\n    </div>\n    <slot />\n    <div v-if=\"$slots.footer\" :class=\"[ns.e('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 '@bigin/hooks'\nimport { selectKey } from './token'\n\nexport default defineComponent({\n  name: 'BSelectDropdown',\n\n  componentName: 'BSelectDropdown',\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      minWidth.value = `${select.selectWrapper?.offsetWidth}px`\n    }\n\n    onMounted(() => {\n      // TODO: updatePopper\n      // popper.value.update()\n      updateMinWidth()\n      useResizeObserver(select.selectWrapper, updateMinWidth)\n    })\n\n    return {\n      ns,\n      minWidth,\n      popperClass,\n      isMultiple,\n      isFitInputWidth,\n    }\n  },\n})\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_normalizeStyle","_renderSlot","_createCommentVNode"],"mappings":";;;;;;;AAwBA,MAAK,YAAa,eAAa,CAAA;AAAA,EAC7B,IAAM,EAAA,iBAAA;AAAA,EAEN,aAAe,EAAA,iBAAA;AAAA,EAEf,KAAQ,GAAA;AACA,IAAA,MAAA,MAAA,GAAS,OAAO,SAAS,CAAA,CAAA;AACzB,IAAA,MAAA,EAAA,GAAK,aAAa,QAAQ,CAAA,CAAA;AAGhC,IAAA,MAAM,WAAc,GAAA,QAAA,CAAS,MAAM,MAAA,CAAO,MAAM,WAAW,CAAA,CAAA;AAC3D,IAAA,MAAM,UAAa,GAAA,QAAA,CAAS,MAAM,MAAA,CAAO,MAAM,QAAQ,CAAA,CAAA;AACvD,IAAA,MAAM,eAAkB,GAAA,QAAA,CAAS,MAAM,MAAA,CAAO,MAAM,aAAa,CAAA,CAAA;AAC3D,IAAA,MAAA,QAAA,GAAW,IAAI,EAAE,CAAA,CAAA;AAEvB,IAAA,SAAS,cAAiB,GAAA;AACf,MAAA,QAAA,CAAA,KAAA,GAAQ,CAAG,EAAA,MAAA,CAAO,aAAe,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA;AAAA,KAC5C;AAEA,IAAA,SAAA,CAAU,MAAM;AAGC,MAAA,cAAA,EAAA,CAAA;AACG,MAAA,iBAAA,CAAA,MAAA,CAAO,eAAe,cAAc,CAAA,CAAA;AAAA,KACvD,CAAA,CAAA;AAEM,IAAA,OAAA;AAAA,MACL,EAAA;AAAA,MACA,QAAA;AAAA,MACA,WAAA;AAAA,MACA,UAAA;AAAA,MACA,eAAA;AAAA,KACF,CAAA;AAAA,GACF;AACF,CAAC,CAAA,CAAA;;oBAzDC,EAAAA,kBAAA,CAcM,KAAA,EAAA;AAAA,IAbH,OAAKC,cAAG,CAAA,CAAA,IAAA,CAAA,EAAA,CAAG,EAAC,UAAA,CAAA,EAAc,QAAG,GAAE,UAAa,EAAA,IAAA,CAAU,UAAA,CAAG,EAAA,IAAA,CAAW,WAAA,CAAA,CAAA;AAAA,IACpE,KAAA,EAAKC,cAAA,CAAA,EAAA,CAAK,IAAA,CAAe,kBAAA,OAAA,GAAA,UAAA,GAA0B,IAAQ,CAAA,QAAA,EAAA,CAAA;AAAA,IAC5D,gBAAe,EAAA,iBAAA;AAAA,IACf,mBAAkB,EAAA,EAAA;AAAA,IAClB,iBAAgB,EAAA,EAAA;AAAA,GAAA,EAAA;AAAA,IAEL,KAAA,MAAO,CAAA,MAAA,iBAAlBF,mBAEM,KAAA,EAAA;AAAA,MAAA,GAAA,EAAA,CAAA;AAAA,MAFqB,KAAA,EAAKC,eAAA,CAAG,IAAA,IAAG,CAAC,CAAA,QAAA,CAAA,CAAA,CAAA;AAAA,KAAA,EAAA;AAAA,MACrCE,UAAA,CAAsB,IAAA,CAAA,MAAA,EAAA,QAAA,CAAA;AAAA,KAAA,EAAA,CAAA,CAAA,IAAAC,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA,IAExBD,UAAA,CAAQ,IAAA,CAAA,MAAA,EAAA,SAAA,CAAA;AAAA,IACG,KAAA,MAAO,CAAA,MAAA,iBAAlBH,mBAEM,KAAA,EAAA;AAAA,MAAA,GAAA,EAAA,CAAA;AAAA,MAFqB,KAAA,EAAKC,eAAA,CAAG,IAAA,IAAG,CAAC,CAAA,QAAA,CAAA,CAAA,CAAA;AAAA,KAAA,EAAA;AAAA,MACrCE,UAAA,CAAsB,IAAA,CAAA,MAAA,EAAA,QAAA,CAAA;AAAA,KAAA,EAAA,CAAA,CAAA,IAAAC,kBAAA,CAAA,QAAA,IAAA,CAAA;AAAA;;;;;;"}