UNPKG

netlify-cms-widget-file

Version:

Widget for uploading files in Netlify CMS.

91 lines (75 loc) 4.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _styledBase = _interopRequireDefault(require("@emotion/styled-base")); var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _immutable = require("immutable"); var _netlifyCmsUiDefault = require("netlify-cms-ui-default"); var _core = require("@emotion/core"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } const FileLink = ( /*#__PURE__*/0, _styledBase.default)(_ref => { let { href, path } = _ref; return (0, _core.jsx)("a", { href: href, rel: "noopener noreferrer", target: "_blank" }, path); }, { target: "e1sxjo0z0", label: "FileLink" })(process.env.NODE_ENV === "production" ? { name: "13o7eu2", styles: "display:block;" } : { name: "13o7eu2", styles: "display:block;", map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9GaWxlUHJldmlldy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVRSIsImZpbGUiOiIuLi8uLi9zcmMvRmlsZVByZXZpZXcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IExpc3QgfSBmcm9tICdpbW11dGFibGUnO1xuaW1wb3J0IHsgV2lkZ2V0UHJldmlld0NvbnRhaW5lciB9IGZyb20gJ25ldGxpZnktY21zLXVpLWRlZmF1bHQnO1xuXG5jb25zdCBGaWxlTGluayA9IHN0eWxlZCgoeyBocmVmLCBwYXRoIH0pID0+IChcbiAgPGEgaHJlZj17aHJlZn0gcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiIHRhcmdldD1cIl9ibGFua1wiPlxuICAgIHtwYXRofVxuICA8L2E+XG4pKWBcbiAgZGlzcGxheTogYmxvY2s7XG5gO1xuXG5mdW5jdGlvbiBGaWxlTGlua0xpc3QoeyB2YWx1ZXMsIGdldEFzc2V0LCBmaWVsZCB9KSB7XG4gIHJldHVybiAoXG4gICAgPGRpdj5cbiAgICAgIHt2YWx1ZXMubWFwKHZhbHVlID0+IChcbiAgICAgICAgPEZpbGVMaW5rIGtleT17dmFsdWV9IHBhdGg9e3ZhbHVlfSBocmVmPXtnZXRBc3NldCh2YWx1ZSwgZmllbGQpfSAvPlxuICAgICAgKSl9XG4gICAgPC9kaXY+XG4gICk7XG59XG5cbmZ1bmN0aW9uIEZpbGVDb250ZW50KHByb3BzKSB7XG4gIGNvbnN0IHsgdmFsdWUsIGdldEFzc2V0LCBmaWVsZCB9ID0gcHJvcHM7XG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSB8fCBMaXN0LmlzTGlzdCh2YWx1ZSkpIHtcbiAgICByZXR1cm4gPEZpbGVMaW5rTGlzdCB2YWx1ZXM9e3ZhbHVlfSBnZXRBc3NldD17Z2V0QXNzZXR9IGZpZWxkPXtmaWVsZH0gLz47XG4gIH1cbiAgcmV0dXJuIDxGaWxlTGluayBrZXk9e3ZhbHVlfSBwYXRoPXt2YWx1ZX0gaHJlZj17Z2V0QXNzZXQodmFsdWUsIGZpZWxkKX0gLz47XG59XG5cbmZ1bmN0aW9uIEZpbGVQcmV2aWV3KHByb3BzKSB7XG4gIHJldHVybiAoXG4gICAgPFdpZGdldFByZXZpZXdDb250YWluZXI+XG4gICAgICB7cHJvcHMudmFsdWUgPyA8RmlsZUNvbnRlbnQgey4uLnByb3BzfSAvPiA6IG51bGx9XG4gICAgPC9XaWRnZXRQcmV2aWV3Q29udGFpbmVyPlxuICApO1xufVxuXG5GaWxlUHJldmlldy5wcm9wVHlwZXMgPSB7XG4gIGdldEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICB2YWx1ZTogUHJvcFR5cGVzLm5vZGUsXG59O1xuXG5leHBvcnQgZGVmYXVsdCBGaWxlUHJldmlldztcbiJdfQ== */", toString: _EMOTION_STRINGIFIED_CSS_ERROR__ }); function FileLinkList(_ref2) { let { values, getAsset, field } = _ref2; return (0, _core.jsx)("div", null, values.map(value => (0, _core.jsx)(FileLink, { key: value, path: value, href: getAsset(value, field) }))); } function FileContent(props) { const { value, getAsset, field } = props; if (Array.isArray(value) || _immutable.List.isList(value)) { return (0, _core.jsx)(FileLinkList, { values: value, getAsset: getAsset, field: field }); } return (0, _core.jsx)(FileLink, { key: value, path: value, href: getAsset(value, field) }); } function FilePreview(props) { return (0, _core.jsx)(_netlifyCmsUiDefault.WidgetPreviewContainer, null, props.value ? (0, _core.jsx)(FileContent, props) : null); } FilePreview.propTypes = { getAsset: _propTypes.default.func.isRequired, value: _propTypes.default.node }; var _default = FilePreview; exports.default = _default;