@opensig/opendesign
Version:
90 lines (89 loc) • 2.7 kB
JavaScript
;
const vue = require("vue");
const OScrollbar_vue_vue_type_script_setup_true_lang = require("./OScrollbar.vue.js");
const types = require("./types.js");
const vueUtils = require("../_utils/vue-utils.js");
const _hoisted_1 = { class: "o-scroller o-scrollbar-wrapper" };
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
__name: "OScroller",
props: types.scrollerProps,
emits: ["scroll"],
setup(__props, { expose: __expose, emit: __emit }) {
const props = __props;
const emits = __emit;
const targetRef = vue.ref(null);
const scrollTo = (options) => {
if (!targetRef.value) {
return;
}
targetRef.value.scrollTo(options);
};
const scrollBy = (options) => {
if (!targetRef.value) {
return;
}
targetRef.value.scrollBy(options);
};
__expose({
scrollTo,
/**
* 按偏移量滚动
* @since 1.2.4
*/
scrollBy,
/**
* 获取容器DOM元素
*/
getContainerEl() {
return targetRef.value;
}
});
return (_ctx, _cache) => {
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
vue.createElementVNode(
"div",
{
ref_key: "targetRef",
ref: targetRef,
class: vue.normalizeClass(
vue.unref(vueUtils.mergeClass)(
"o-scroller-container",
{
"is-x-disabled": props.disabledX,
"is-y-disabled": props.disabledY
},
props.wrapClass
)
),
onScrollPassive: _cache[0] || (_cache[0] = (e) => emits("scroll", e))
},
[
vue.renderSlot(_ctx.$slots, "default")
],
34
/* CLASS, NEED_HYDRATION */
),
vue.createVNode(OScrollbar_vue_vue_type_script_setup_true_lang, {
target: targetRef.value,
"disabled-x": props.disabledX,
"disabled-y": props.disabledY,
duration: props.duration,
"show-type": props.showType,
size: props.size,
"bar-class": props.barClass,
"auto-update-on-scroll-size": props.autoUpdateOnScrollSize
}, {
thumb: vue.withCtx(() => [
vue.renderSlot(_ctx.$slots, "thumb")
]),
track: vue.withCtx(() => [
vue.renderSlot(_ctx.$slots, "track")
]),
_: 3
/* FORWARDED */
}, 8, ["target", "disabled-x", "disabled-y", "duration", "show-type", "size", "bar-class", "auto-update-on-scroll-size"])
]);
};
}
});
module.exports = _sfc_main;