useSize.js 837 B

1234567891011121314151617181920212223242526
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = void 0;
  7. var _react = _interopRequireDefault(require("react"));
  8. var _SizeContext = _interopRequireDefault(require("../SizeContext"));
  9. const useSize = customSize => {
  10. const size = _react.default.useContext(_SizeContext.default);
  11. const mergedSize = _react.default.useMemo(() => {
  12. if (!customSize) {
  13. return size;
  14. }
  15. if (typeof customSize === 'string') {
  16. return customSize !== null && customSize !== void 0 ? customSize : size;
  17. }
  18. if (typeof customSize === 'function') {
  19. return customSize(size);
  20. }
  21. return size;
  22. }, [customSize, size]);
  23. return mergedSize;
  24. };
  25. var _default = exports.default = useSize;