UNPKG

@sanity/form-builder

Version:
102 lines (100 loc) 3.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FileInputTester = exports.DEFAULT_PROPS = void 0; var _rxjs = require("rxjs"); var _imageUrl = _interopRequireDefault(require("@sanity/image-url")); var _react = _interopRequireDefault(require("react")); var _ui = require("@sanity/ui"); var _formBuilder = require("../../sanity/legacyPartImplementations/form-builder"); var _FileInput = _interopRequireDefault(require("../../inputs/files/FileInput")); var _excluded = ["schema"]; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } var resolveUploaderStub = () => ({ priority: 1, type: 'file', accepts: 'file/*', upload: (file, type, options) => _rxjs.EMPTY }); var observeAssetStub = id => (0, _rxjs.of)({ originalFilename: 'cats.txt', url: 'https://cdn.sanity.io/files/ppsg7ml5/test/26db46ec62059d6cd491b4343afaecc92ff1b4d5.txt', size: 31, _id: 'file-26db46ec62059d6cd491b4343afaecc92ff1b4d5-txt', _rev: 'slQurnjRhOy7Fj3dkfUHei', _type: 'sanity.fileAsset' }); var imageUrlBuilderStub = (0, _imageUrl.default)({ dataset: 'some-dataset', projectId: 'some-project-id' }); var DEFAULT_PROPS = { value: {}, compareValue: {}, type: { description: '', fields: [{ name: 'asset', type: { fields: [], jsonType: 'object', name: 'reference', title: 'Reference to file', to: [], type: { name: 'reference', type: null, jsonType: 'object', validation: [] }, validation: [] } }], isCustomized: false, jsonType: 'object', name: '', options: {}, preview: {}, title: '', type: { jsonType: 'object', name: 'file', type: null } }, level: 1, onChange: () => undefined, resolveUploader: resolveUploaderStub, observeAsset: observeAssetStub, onBlur: () => undefined, onFocus: () => undefined, readOnly: false, focusPath: [], directUploads: true, assetSources: [{}], markers: [], presence: [], imageUrlBuilder: imageUrlBuilderStub, getValuePath: () => ['File'] }; // Use this in your test to get full control when testing the form builder // the default props are available in DEFAULT_props exports.DEFAULT_PROPS = DEFAULT_PROPS; var FileInputTester = /*#__PURE__*/_react.default.forwardRef(function ImageInputTester(props, ref) { var schema = props.schema, rest = _objectWithoutProperties(props, _excluded); return /*#__PURE__*/_react.default.createElement(_ui.ThemeProvider, { scheme: "light", theme: _ui.studioTheme }, /*#__PURE__*/_react.default.createElement(_ui.LayerProvider, null, /*#__PURE__*/_react.default.createElement(_ui.ToastProvider, null, /*#__PURE__*/_react.default.createElement(_formBuilder.FormBuilderContext, { value: undefined, patchChannel: { onPatch: _rxjs.noop }, schema: schema }, /*#__PURE__*/_react.default.createElement(_FileInput.default, rest))))); }); exports.FileInputTester = FileInputTester;