index.js 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import _extends from "@babel/runtime/helpers/esm/extends";
  2. import { provide, defineComponent, reactive, watch } from 'vue';
  3. import { changeConfirmLocale } from '../modal/locale';
  4. import warning from '../_util/warning';
  5. import { withInstall } from '../_util/type';
  6. export const ANT_MARK = 'internalMark';
  7. const LocaleProvider = defineComponent({
  8. compatConfig: {
  9. MODE: 3
  10. },
  11. name: 'ALocaleProvider',
  12. props: {
  13. locale: {
  14. type: Object
  15. },
  16. ANT_MARK__: String
  17. },
  18. setup(props, _ref) {
  19. let {
  20. slots
  21. } = _ref;
  22. warning(props.ANT_MARK__ === ANT_MARK, 'LocaleProvider', '`LocaleProvider` is deprecated. Please use `locale` with `ConfigProvider` instead');
  23. const state = reactive({
  24. antLocale: _extends(_extends({}, props.locale), {
  25. exist: true
  26. }),
  27. ANT_MARK__: ANT_MARK
  28. });
  29. provide('localeData', state);
  30. watch(() => props.locale, locale => {
  31. changeConfirmLocale(locale && locale.Modal);
  32. state.antLocale = _extends(_extends({}, locale), {
  33. exist: true
  34. });
  35. }, {
  36. immediate: true
  37. });
  38. return () => {
  39. var _a;
  40. return (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots);
  41. };
  42. }
  43. });
  44. /* istanbul ignore next */
  45. LocaleProvider.install = function (app) {
  46. app.component(LocaleProvider.name, LocaleProvider);
  47. return app;
  48. };
  49. export default withInstall(LocaleProvider);