index.js 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
  3. var _typeof = require("@babel/runtime/helpers/typeof");
  4. Object.defineProperty(exports, "__esModule", {
  5. value: true
  6. });
  7. exports.globalConfigForApi = exports.globalConfig = exports.defaultPrefixCls = exports.defaultConfigProvider = exports.default = void 0;
  8. var _vue = require("vue");
  9. var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
  10. var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
  11. var _renderEmpty = _interopRequireDefault(require("./renderEmpty"));
  12. var _localeProvider = _interopRequireWildcard(require("../locale-provider"));
  13. var _LocaleReceiver = _interopRequireDefault(require("../locale-provider/LocaleReceiver"));
  14. var _message = _interopRequireDefault(require("../message"));
  15. var _notification = _interopRequireDefault(require("../notification"));
  16. var _cssVariables = require("./cssVariables");
  17. var _default3 = _interopRequireDefault(require("../locale/default"));
  18. var _context = require("./context");
  19. function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
  20. function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
  21. var defaultPrefixCls = 'ant';
  22. exports.defaultPrefixCls = defaultPrefixCls;
  23. function getGlobalPrefixCls() {
  24. return globalConfigForApi.prefixCls || defaultPrefixCls;
  25. }
  26. var globalConfigByCom = (0, _vue.reactive)({});
  27. var globalConfigBySet = (0, _vue.reactive)({}); // 权重最大
  28. var globalConfigForApi = (0, _vue.reactive)({});
  29. exports.globalConfigForApi = globalConfigForApi;
  30. (0, _vue.watchEffect)(function () {
  31. (0, _extends2.default)(globalConfigForApi, globalConfigByCom, globalConfigBySet);
  32. globalConfigForApi.prefixCls = getGlobalPrefixCls();
  33. globalConfigForApi.getPrefixCls = function (suffixCls, customizePrefixCls) {
  34. if (customizePrefixCls) return customizePrefixCls;
  35. return suffixCls ? "".concat(globalConfigForApi.prefixCls, "-").concat(suffixCls) : globalConfigForApi.prefixCls;
  36. };
  37. globalConfigForApi.getRootPrefixCls = function (rootPrefixCls, customizePrefixCls) {
  38. // Customize rootPrefixCls is first priority
  39. if (rootPrefixCls) {
  40. return rootPrefixCls;
  41. }
  42. // If Global prefixCls provided, use this
  43. if (globalConfigForApi.prefixCls) {
  44. return globalConfigForApi.prefixCls;
  45. }
  46. // [Legacy] If customize prefixCls provided, we cut it to get the prefixCls
  47. if (customizePrefixCls && customizePrefixCls.includes('-')) {
  48. return customizePrefixCls.replace(/^(.*)-[^-]*$/, '$1');
  49. }
  50. // Fallback to default prefixCls
  51. return getGlobalPrefixCls();
  52. };
  53. });
  54. var stopWatchEffect;
  55. var setGlobalConfig = function setGlobalConfig(params) {
  56. if (stopWatchEffect) {
  57. stopWatchEffect();
  58. }
  59. stopWatchEffect = (0, _vue.watchEffect)(function () {
  60. (0, _extends2.default)(globalConfigBySet, (0, _vue.reactive)(params));
  61. (0, _extends2.default)(globalConfigForApi, (0, _vue.reactive)(params));
  62. });
  63. if (params.theme) {
  64. (0, _cssVariables.registerTheme)(getGlobalPrefixCls(), params.theme);
  65. }
  66. };
  67. var globalConfig = function globalConfig() {
  68. return {
  69. getPrefixCls: function getPrefixCls(suffixCls, customizePrefixCls) {
  70. if (customizePrefixCls) return customizePrefixCls;
  71. return suffixCls ? "".concat(getGlobalPrefixCls(), "-").concat(suffixCls) : getGlobalPrefixCls();
  72. },
  73. getRootPrefixCls: function getRootPrefixCls(rootPrefixCls, customizePrefixCls) {
  74. // Customize rootPrefixCls is first priority
  75. if (rootPrefixCls) {
  76. return rootPrefixCls;
  77. }
  78. // If Global prefixCls provided, use this
  79. if (globalConfigForApi.prefixCls) {
  80. return globalConfigForApi.prefixCls;
  81. }
  82. // [Legacy] If customize prefixCls provided, we cut it to get the prefixCls
  83. if (customizePrefixCls && customizePrefixCls.includes('-')) {
  84. return customizePrefixCls.replace(/^(.*)-[^-]*$/, '$1');
  85. }
  86. // Fallback to default prefixCls
  87. return getGlobalPrefixCls();
  88. }
  89. };
  90. };
  91. exports.globalConfig = globalConfig;
  92. var ConfigProvider = (0, _vue.defineComponent)({
  93. compatConfig: {
  94. MODE: 3
  95. },
  96. name: 'AConfigProvider',
  97. inheritAttrs: false,
  98. props: (0, _context.configProviderProps)(),
  99. setup: function setup(props, _ref) {
  100. var slots = _ref.slots;
  101. var getPrefixCls = function getPrefixCls(suffixCls, customizePrefixCls) {
  102. var _props$prefixCls = props.prefixCls,
  103. prefixCls = _props$prefixCls === void 0 ? 'ant' : _props$prefixCls;
  104. if (customizePrefixCls) return customizePrefixCls;
  105. return suffixCls ? "".concat(prefixCls, "-").concat(suffixCls) : prefixCls;
  106. };
  107. var renderEmptyComponent = function renderEmptyComponent(name) {
  108. var renderEmpty = props.renderEmpty || slots.renderEmpty || _renderEmpty.default;
  109. return renderEmpty(name);
  110. };
  111. var getPrefixClsWrapper = function getPrefixClsWrapper(suffixCls, customizePrefixCls) {
  112. var prefixCls = props.prefixCls;
  113. if (customizePrefixCls) return customizePrefixCls;
  114. var mergedPrefixCls = prefixCls || getPrefixCls('');
  115. return suffixCls ? "".concat(mergedPrefixCls, "-").concat(suffixCls) : mergedPrefixCls;
  116. };
  117. var configProvider = (0, _vue.reactive)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, props), {}, {
  118. getPrefixCls: getPrefixClsWrapper,
  119. renderEmpty: renderEmptyComponent
  120. }));
  121. Object.keys(props).forEach(function (key) {
  122. (0, _vue.watch)(function () {
  123. return props[key];
  124. }, function () {
  125. configProvider[key] = props[key];
  126. });
  127. });
  128. if (!props.notUpdateGlobalConfig) {
  129. (0, _extends2.default)(globalConfigByCom, configProvider);
  130. (0, _vue.watch)(configProvider, function () {
  131. (0, _extends2.default)(globalConfigByCom, configProvider);
  132. });
  133. }
  134. var validateMessagesRef = (0, _vue.computed)(function () {
  135. // Additional Form provider
  136. var validateMessages = {};
  137. if (props.locale) {
  138. var _props$locale$Form, _defaultLocale$Form;
  139. validateMessages = ((_props$locale$Form = props.locale.Form) === null || _props$locale$Form === void 0 ? void 0 : _props$locale$Form.defaultValidateMessages) || ((_defaultLocale$Form = _default3.default.Form) === null || _defaultLocale$Form === void 0 ? void 0 : _defaultLocale$Form.defaultValidateMessages) || {};
  140. }
  141. if (props.form && props.form.validateMessages) {
  142. validateMessages = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, validateMessages), props.form.validateMessages);
  143. }
  144. return validateMessages;
  145. });
  146. (0, _context.useProvideGlobalForm)({
  147. validateMessages: validateMessagesRef
  148. });
  149. (0, _vue.provide)('configProvider', configProvider);
  150. var renderProvider = function renderProvider(legacyLocale) {
  151. var _slots$default;
  152. return (0, _vue.createVNode)(_localeProvider.default, {
  153. "locale": props.locale || legacyLocale,
  154. "ANT_MARK__": _localeProvider.ANT_MARK
  155. }, {
  156. default: function _default() {
  157. return [(_slots$default = slots.default) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)];
  158. }
  159. });
  160. };
  161. (0, _vue.watchEffect)(function () {
  162. if (props.direction) {
  163. _message.default.config({
  164. rtl: props.direction === 'rtl'
  165. });
  166. _notification.default.config({
  167. rtl: props.direction === 'rtl'
  168. });
  169. }
  170. });
  171. return function () {
  172. return (0, _vue.createVNode)(_LocaleReceiver.default, {
  173. "children": function children(_, __, legacyLocale) {
  174. return renderProvider(legacyLocale);
  175. }
  176. }, null);
  177. };
  178. }
  179. });
  180. var defaultConfigProvider = (0, _vue.reactive)({
  181. getPrefixCls: function getPrefixCls(suffixCls, customizePrefixCls) {
  182. if (customizePrefixCls) return customizePrefixCls;
  183. return suffixCls ? "ant-".concat(suffixCls) : 'ant';
  184. },
  185. renderEmpty: _renderEmpty.default,
  186. direction: 'ltr'
  187. });
  188. exports.defaultConfigProvider = defaultConfigProvider;
  189. ConfigProvider.config = setGlobalConfig;
  190. ConfigProvider.install = function (app) {
  191. app.component(ConfigProvider.name, ConfigProvider);
  192. };
  193. var _default2 = ConfigProvider;
  194. exports.default = _default2;