useConfigInject.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import { computed, inject } from 'vue';
  2. import { defaultConfigProvider } from '../../config-provider';
  3. export default (function (name, props) {
  4. var configProvider = inject('configProvider', defaultConfigProvider);
  5. var prefixCls = computed(function () {
  6. return configProvider.getPrefixCls(name, props.prefixCls);
  7. });
  8. var direction = computed(function () {
  9. var _props$direction;
  10. return (_props$direction = props.direction) !== null && _props$direction !== void 0 ? _props$direction : configProvider.direction;
  11. });
  12. var rootPrefixCls = computed(function () {
  13. return configProvider.getPrefixCls();
  14. });
  15. var autoInsertSpaceInButton = computed(function () {
  16. return configProvider.autoInsertSpaceInButton;
  17. });
  18. var renderEmpty = computed(function () {
  19. return configProvider.renderEmpty;
  20. });
  21. var space = computed(function () {
  22. return configProvider.space;
  23. });
  24. var pageHeader = computed(function () {
  25. return configProvider.pageHeader;
  26. });
  27. var form = computed(function () {
  28. return configProvider.form;
  29. });
  30. var getTargetContainer = computed(function () {
  31. return props.getTargetContainer || configProvider.getTargetContainer;
  32. });
  33. var getPopupContainer = computed(function () {
  34. return props.getPopupContainer || configProvider.getPopupContainer;
  35. });
  36. var dropdownMatchSelectWidth = computed(function () {
  37. var _props$dropdownMatchS;
  38. return (_props$dropdownMatchS = props.dropdownMatchSelectWidth) !== null && _props$dropdownMatchS !== void 0 ? _props$dropdownMatchS : configProvider.dropdownMatchSelectWidth;
  39. });
  40. var virtual = computed(function () {
  41. return (props.virtual === undefined ? configProvider.virtual !== false : props.virtual !== false) && dropdownMatchSelectWidth.value !== false;
  42. });
  43. var size = computed(function () {
  44. return props.size || configProvider.componentSize;
  45. });
  46. var autocomplete = computed(function () {
  47. var _configProvider$input;
  48. return props.autocomplete || ((_configProvider$input = configProvider.input) === null || _configProvider$input === void 0 ? void 0 : _configProvider$input.autocomplete);
  49. });
  50. var csp = computed(function () {
  51. return configProvider.csp;
  52. });
  53. return {
  54. configProvider: configProvider,
  55. prefixCls: prefixCls,
  56. direction: direction,
  57. size: size,
  58. getTargetContainer: getTargetContainer,
  59. getPopupContainer: getPopupContainer,
  60. space: space,
  61. pageHeader: pageHeader,
  62. form: form,
  63. autoInsertSpaceInButton: autoInsertSpaceInButton,
  64. renderEmpty: renderEmpty,
  65. virtual: virtual,
  66. dropdownMatchSelectWidth: dropdownMatchSelectWidth,
  67. rootPrefixCls: rootPrefixCls,
  68. getPrefixCls: configProvider.getPrefixCls,
  69. autocomplete: autocomplete,
  70. csp: csp
  71. };
  72. });