| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | import { createVNode as _createVNode } from "vue";import { provide, computed, watchEffect, defineComponent } from "vue";import { kebabCase, makeStringProp, createNamespace } from "../utils/index.mjs";import { setGlobalZIndex } from "../composables/use-global-z-index.mjs";const [name, bem] = createNamespace("config-provider");const CONFIG_PROVIDER_KEY = Symbol(name);const configProviderProps = {  tag: makeStringProp("div"),  zIndex: Number,  themeVars: Object,  iconPrefix: String};function mapThemeVarsToCSSVars(themeVars) {  const cssVars = {};  Object.keys(themeVars).forEach((key) => {    cssVars[`--van-${kebabCase(key)}`] = themeVars[key];  });  return cssVars;}var stdin_default = defineComponent({  name,  props: configProviderProps,  setup(props, {    slots  }) {    const style = computed(() => {      if (props.themeVars) {        return mapThemeVarsToCSSVars(props.themeVars);      }    });    provide(CONFIG_PROVIDER_KEY, props);    watchEffect(() => {      if (props.zIndex !== void 0) {        setGlobalZIndex(props.zIndex);      }    });    return () => _createVNode(props.tag, {      "class": bem(),      "style": style.value    }, {      default: () => {        var _a;        return [(_a = slots.default) == null ? void 0 : _a.call(slots)];      }    });  }});export {  CONFIG_PROVIDER_KEY,  stdin_default as default};
 |