hongluan-ui
Version:
Hongluan Component Library for Vue 3
58 lines (53 loc) • 2.02 kB
JavaScript
'use strict';
Object.defineProperty(exports, '__esModule', { value: true });
var vue = require('vue');
var core = require('@vueuse/core');
var token = require('./token.js');
var pluginVue_exportHelper = require('../../../_virtual/plugin-vue_export-helper.js');
const _sfc_main = vue.defineComponent({
name: "SelectDropdown",
componentName: "SelectDropdown",
setup() {
const select = vue.inject(token.selectKey);
const popperClass = vue.computed(() => select.props.popperClass);
const isMultiple = vue.computed(() => select.props.multiple);
const minWidth = vue.ref("");
function updateMinWidth() {
var _a;
minWidth.value = ((_a = select.selectWrapper) == null ? void 0 : _a.getBoundingClientRect().width) + "px";
}
vue.onMounted(() => {
core.useResizeObserver(select.selectWrapper, updateMinWidth);
});
return {
minWidth,
popperClass,
isMultiple
};
}
});
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return vue.openBlock(), vue.createElementBlock("div", {
class: vue.normalizeClass(["select-dropdown", [{ "is-multiple": _ctx.isMultiple }, _ctx.popperClass]]),
style: vue.normalizeStyle({ minWidth: _ctx.minWidth }),
onMousedown: vue.withModifiers(() => {
}, ["stop"])
}, [
_ctx.$slots.header ? (vue.openBlock(), vue.createElementBlock("div", {
key: 0,
class: "select-dropdown-header"
}, [
vue.renderSlot(_ctx.$slots, "header")
])) : vue.createCommentVNode("v-if", true),
vue.renderSlot(_ctx.$slots, "default"),
_ctx.$slots.footer ? (vue.openBlock(), vue.createElementBlock("div", {
key: 1,
class: "select-dropdown-footer"
}, [
vue.renderSlot(_ctx.$slots, "footer")
])) : vue.createCommentVNode("v-if", true)
], 46, ["onMousedown"]);
}
var HlSelectMenu = /* @__PURE__ */ pluginVue_exportHelper["default"](_sfc_main, [["render", _sfc_render]]);
exports["default"] = HlSelectMenu;
//# sourceMappingURL=select-dropdown.js.map