UNPKG

@sanity/form-builder

Version:
42 lines (40 loc) 2.79 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _FileInput = _interopRequireDefault(require("../../inputs/files/FileInput")); var _resolveUploader = _interopRequireDefault(require("../uploads/resolveUploader")); var _legacyParts = require("../../legacyParts"); var _withValuePath = _interopRequireDefault(require("../../utils/withValuePath")); var _assets = require("./client-adapters/assets"); var _wrapWithDocument = require("./wrapWithDocument"); var _formBuilderConfig$fi; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } var globalAssetSources = _legacyParts.userDefinedFileAssetSources ? ensureArrayOfSources(_legacyParts.userDefinedFileAssetSources) : _legacyParts.defaultFileAssetSources; var SUPPORT_DIRECT_UPLOADS = (_legacyParts.formBuilderConfig === null || _legacyParts.formBuilderConfig === void 0 || (_formBuilderConfig$fi = _legacyParts.formBuilderConfig.files) === null || _formBuilderConfig$fi === void 0 ? void 0 : _formBuilderConfig$fi.directUploads) !== false; var FileInputWithValuePath = (0, _withValuePath.default)(_FileInput.default); var _default = /*#__PURE__*/_react.default.forwardRef(function SanityFileInput(props, forwardedRef) { var _props$type$options; var sourcesFromSchema = (_props$type$options = props.type.options) === null || _props$type$options === void 0 ? void 0 : _props$type$options.sources; // note: type.options.sources may be an empty array and in that case we're // disabling selecting images from asset source (it's a feature, not a bug) var assetSources = _react.default.useMemo(() => (sourcesFromSchema || globalAssetSources).map(_wrapWithDocument.wrapWithDocument), [sourcesFromSchema]); return /*#__PURE__*/_react.default.createElement(FileInputWithValuePath, _extends({}, props, { resolveUploader: _resolveUploader.default, observeAsset: _assets.observeFileAsset, assetSources: assetSources, directUploads: SUPPORT_DIRECT_UPLOADS, ref: forwardedRef })); }); exports.default = _default; function ensureArrayOfSources(sources) { if (Array.isArray(sources)) { return sources; } console.warn('Configured file asset sources is not an array - if `part:@sanity/form-builder/input/file/asset-sources` is defined, make sure it returns an array!'); return _legacyParts.defaultFileAssetSources; }