29 lines
1.7 KiB
JavaScript
29 lines
1.7 KiB
JavaScript
|
import { inject, computed, shallowRef } from 'vue';
|
||
|
import { configProviderInjectionKey } from "../config-provider/src/context.mjs";
|
||
|
export const defaultClsPrefix = 'n';
|
||
|
export default function useConfig(props = {}, options = {
|
||
|
defaultBordered: true
|
||
|
}) {
|
||
|
const NConfigProvider = inject(configProviderInjectionKey, null);
|
||
|
return {
|
||
|
// NConfigProvider,
|
||
|
inlineThemeDisabled: NConfigProvider === null || NConfigProvider === void 0 ? void 0 : NConfigProvider.inlineThemeDisabled,
|
||
|
mergedRtlRef: NConfigProvider === null || NConfigProvider === void 0 ? void 0 : NConfigProvider.mergedRtlRef,
|
||
|
mergedComponentPropsRef: NConfigProvider === null || NConfigProvider === void 0 ? void 0 : NConfigProvider.mergedComponentPropsRef,
|
||
|
mergedBreakpointsRef: NConfigProvider === null || NConfigProvider === void 0 ? void 0 : NConfigProvider.mergedBreakpointsRef,
|
||
|
mergedBorderedRef: computed(() => {
|
||
|
var _a, _b;
|
||
|
const {
|
||
|
bordered
|
||
|
} = props;
|
||
|
if (bordered !== undefined) return bordered;
|
||
|
return (_b = (_a = NConfigProvider === null || NConfigProvider === void 0 ? void 0 : NConfigProvider.mergedBorderedRef.value) !== null && _a !== void 0 ? _a : options.defaultBordered) !== null && _b !== void 0 ? _b : true;
|
||
|
}),
|
||
|
mergedClsPrefixRef: NConfigProvider ? NConfigProvider.mergedClsPrefixRef : shallowRef(defaultClsPrefix),
|
||
|
namespaceRef: computed(() => NConfigProvider === null || NConfigProvider === void 0 ? void 0 : NConfigProvider.mergedNamespaceRef.value)
|
||
|
};
|
||
|
}
|
||
|
export function useMergedClsPrefix() {
|
||
|
const NConfigProvider = inject(configProviderInjectionKey, null);
|
||
|
return NConfigProvider ? NConfigProvider.mergedClsPrefixRef : shallowRef(defaultClsPrefix);
|
||
|
}
|