UNPKG

@opensig/opendesign

Version:

61 lines (60 loc) 2.21 kB
"use strict"; const vue = require("vue"); const index = require("../select/index.js"); const OCascaderPanel_vue_vue_type_script_setup_true_lang = require("./OCascaderPanel.vue.js"); const types = require("./types.js"); const is = require("../_utils/is.js"); const vueUtils = require("../_utils/vue-utils.js"); const _sfc_main = /* @__PURE__ */ vue.defineComponent({ __name: "OCascader", props: types.cascaderProps, emits: ["change", "update:modelValue"], setup(__props, { emit: __emit }) { const props = __props; const emits = __emit; const handleChange = (val) => { emits("change", val); emits("update:modelValue", val); }; const innerTrigger = vue.computed(() => { if (!is.isTouchDevice) { return props.trigger; } if (props.trigger === "hover") { return "click"; } if (props.trigger === "hover-outclick") { return "click-outclick"; } return props.trigger; }); return (_ctx, _cache) => { return vue.openBlock(), vue.createBlock(vue.unref(index.OSelect), { "model-value": props.modelValue, round: props.round, variant: props.variant, placeholder: props.placeholder, trigger: innerTrigger.value, "option-position": props.optionPosition, "option-width-mode": "auto", "unmount-on-hide": props.unmountOnHide, transition: props.transition, "option-wrap-class": vue.unref(vueUtils.mergeClass)("o-cascader", props.optionWrapClass), size: props.size }, { default: vue.withCtx(() => [ vue.createVNode(OCascaderPanel_vue_vue_type_script_setup_true_lang, { options: props.options, "model-value": props.modelValue, "path-mode": props.pathMode, "expand-trigger": props.expandTrigger, onChange: handleChange }, null, 8, ["options", "model-value", "path-mode", "expand-trigger"]) ]), _: 1 /* STABLE */ }, 8, ["model-value", "round", "variant", "placeholder", "trigger", "option-position", "unmount-on-hide", "transition", "option-wrap-class", "size"]); }; } }); module.exports = _sfc_main;