UNPKG

@sanity/default-layout

Version:

The default layout components for Sanity

61 lines (60 loc) 3.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ChangelogDialog = ChangelogDialog; var _ui = require("@sanity/ui"); var _react = _interopRequireDefault(require("react")); var _styledComponents = _interopRequireDefault(require("styled-components")); var _ChangelogList = require("./ChangelogList"); var _templateObject; 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); } function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } var StickyBox = (0, _styledComponents.default)(_ui.Box)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: sticky;\n top: 0;\n z-index: 1;\n"]))); function ChangelogDialog(props) { var changelog = props.changelog, currentVersion = props.currentVersion, dialogProps = props.dialogProps, latestVersion = props.latestVersion; var changelogWithChangeItems = (changelog || []).filter(c => { var _c$changeItems; return (c === null || c === void 0 || (_c$changeItems = c.changeItems) === null || _c$changeItems === void 0 ? void 0 : _c$changeItems.length) > 0; }); var hasChangelog = changelogWithChangeItems.length > 0; return /*#__PURE__*/_react.default.createElement(_ui.Dialog, _extends({ header: "Upgrade the Sanity Studio", width: 1 }, dialogProps, { id: "changelog-dialog" }), /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(StickyBox, null, /*#__PURE__*/_react.default.createElement(_ui.Card, { padding: 4, borderBottom: hasChangelog }, /*#__PURE__*/_react.default.createElement(_ui.Stack, { space: 4 }, /*#__PURE__*/_react.default.createElement(_ui.Stack, { space: 3 }, hasChangelog && /*#__PURE__*/_react.default.createElement(_ui.Text, { weight: "semibold" }, "Changelog"), /*#__PURE__*/_react.default.createElement(_ui.Text, { muted: true, size: 1 }, "Your Sanity Studio is version ", /*#__PURE__*/_react.default.createElement("code", null, currentVersion), ". The latest version is", ' ', /*#__PURE__*/_react.default.createElement("code", null, latestVersion), "."))))), hasChangelog && /*#__PURE__*/_react.default.createElement(_ui.Stack, { space: 5, paddingY: 4 }, changelogWithChangeItems === null || changelogWithChangeItems === void 0 ? void 0 : changelogWithChangeItems.map((log, index) => { var changeItems = log.changeItems, version = log.version; var showDivider = index < changelogWithChangeItems.length - 1; var isLatest = version === latestVersion; return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, { key: version }, /*#__PURE__*/_react.default.createElement(_ui.Box, { paddingX: 4 }, /*#__PURE__*/_react.default.createElement(_ChangelogList.ChangelogList, { changeItems: changeItems, version: version, isLatest: isLatest })), showDivider && /*#__PURE__*/_react.default.createElement(_ui.MenuDivider, null)); })))); }