useSize.js 1.0 KB

123456789101112131415161718192021222324252627282930
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.useProvideSize = exports.useInjectSize = exports.sizeProvider = exports.default = void 0;
  6. var _vue = require("vue");
  7. var _configProvider = require("../../config-provider");
  8. var sizeProvider = Symbol('SizeProvider');
  9. exports.sizeProvider = sizeProvider;
  10. var useProvideSize = function useProvideSize(props) {
  11. var configProvider = (0, _vue.inject)('configProvider', _configProvider.defaultConfigProvider);
  12. var size = (0, _vue.computed)(function () {
  13. return props.size || configProvider.componentSize;
  14. });
  15. (0, _vue.provide)(sizeProvider, size);
  16. return size;
  17. };
  18. exports.useProvideSize = useProvideSize;
  19. var useInjectSize = function useInjectSize(props) {
  20. var size = props ? (0, _vue.computed)(function () {
  21. return props.size;
  22. }) : (0, _vue.inject)(sizeProvider, (0, _vue.computed)(function () {
  23. return 'default';
  24. }));
  25. return size;
  26. };
  27. exports.useInjectSize = useInjectSize;
  28. var _default = useProvideSize;
  29. exports.default = _default;