@sanity/form-builder
Version:
Sanity form builder
102 lines (100 loc) • 3.87 kB
JavaScript
;
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;