UNPKG

@aplus-frontend/antdv

Version:

Vue basic component library maintained based on ant-design-vue

74 lines (73 loc) 2.56 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; exports.useLocaleReceiver = useLocaleReceiver; var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _vue = require("vue"); var _en_US = _interopRequireDefault(require("./en_US")); var _default = exports.default = (0, _vue.defineComponent)({ compatConfig: { MODE: 3 }, name: 'LocaleReceiver', props: { componentName: String, defaultLocale: { type: [Object, Function] }, children: { type: Function } }, setup(props, _ref) { let { slots } = _ref; const localeData = (0, _vue.inject)('localeData', {}); const locale = (0, _vue.computed)(() => { const { componentName = 'global', defaultLocale } = props; const locale = defaultLocale || _en_US.default[componentName || 'global']; const { antLocale } = localeData; const localeFromContext = componentName && antLocale ? antLocale[componentName] : {}; return (0, _extends2.default)((0, _extends2.default)({}, typeof locale === 'function' ? locale() : locale), localeFromContext || {}); }); const localeCode = (0, _vue.computed)(() => { const { antLocale } = localeData; const localeCode = antLocale && antLocale.locale; // Had use LocaleProvide but didn't set locale if (antLocale && antLocale.exist && !localeCode) { return _en_US.default.locale; } return localeCode; }); return () => { const children = props.children || slots.default; const { antLocale } = localeData; return children === null || children === void 0 ? void 0 : children(locale.value, localeCode.value, antLocale); }; } }); function useLocaleReceiver(componentName, defaultLocale, propsLocale) { const localeData = (0, _vue.inject)('localeData', {}); const componentLocale = (0, _vue.computed)(() => { const { antLocale } = localeData; const locale = (0, _vue.unref)(defaultLocale) || _en_US.default[componentName || 'global']; const localeFromContext = componentName && antLocale ? antLocale[componentName] : {}; return (0, _extends2.default)((0, _extends2.default)((0, _extends2.default)({}, typeof locale === 'function' ? locale() : locale), localeFromContext || {}), (0, _vue.unref)(propsLocale) || {}); }); return [componentLocale]; }