@arco-design/web-vue
Version:
Arco Design Vue 2.0: A Vue.js 3 UI Library
74 lines (73 loc) • 1.6 kB
JavaScript
"use strict";
var vue = require("vue");
var context = require("./context.js");
var pluginVue_exportHelper = require("../_virtual/plugin-vue_export-helper.js");
const _sfc_main = vue.defineComponent({
name: "ConfigProvider",
props: {
prefixCls: {
type: String,
default: "arco"
},
locale: {
type: Object
},
size: {
type: String
},
global: {
type: Boolean,
default: false
},
updateAtScroll: {
type: Boolean,
default: false
},
scrollToClose: {
type: Boolean,
default: false
},
exchangeTime: {
type: Boolean,
default: true
},
rtl: {
type: Boolean,
default: false
}
},
setup(props, { slots }) {
const {
prefixCls,
locale,
size,
updateAtScroll,
scrollToClose,
exchangeTime,
rtl
} = vue.toRefs(props);
const config = vue.reactive({
slots,
prefixCls,
locale,
size,
updateAtScroll,
scrollToClose,
exchangeTime,
rtl
});
if (props.global) {
const instance = vue.getCurrentInstance();
if (instance) {
instance.appContext.app.provide(context.configProviderInjectionKey, config);
}
} else {
vue.provide(context.configProviderInjectionKey, config);
}
}
});
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return vue.renderSlot(_ctx.$slots, "default");
}
var _ConfigProvider = /* @__PURE__ */ pluginVue_exportHelper(_sfc_main, [["render", _sfc_render]]);
module.exports = _ConfigProvider;