UNPKG

@sanity/desk-tool

Version:

Tool for managing all sorts of content in a structured manner

60 lines (58 loc) 2.03 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DocumentBadges = DocumentBadges; var _reactHooks = require("@sanity/react-hooks"); var _ui = require("@sanity/ui"); var _utils = require("part:@sanity/base/actions/utils"); var _react = _interopRequireDefault(require("react")); var _useDocumentPane2 = require("../../useDocumentPane"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // @todo: remove the following line when part imports has been removed from this file ///<reference types="@sanity/types/parts" /> var BADGE_TONES = { primary: 'primary', success: 'positive', warning: 'caution', danger: 'critical' }; function DocumentBadgesInner(_ref) { var states = _ref.states; return /*#__PURE__*/_react.default.createElement(_ui.Inline, { space: 1 }, states.map((badge, index) => /*#__PURE__*/_react.default.createElement(_ui.Tooltip, { content: badge.title && /*#__PURE__*/_react.default.createElement(_ui.Box, { padding: 2 }, /*#__PURE__*/_react.default.createElement(_ui.Text, { size: 1 }, badge.title)), disabled: !badge.title, key: String(index), placement: "top", portal: true }, /*#__PURE__*/_react.default.createElement(_ui.Badge, { fontSize: 1, mode: "outline", paddingX: 2, paddingY: 1, radius: 4, tone: badge.color ? BADGE_TONES[badge.color] : undefined, style: { whiteSpace: 'nowrap' } }, badge.label)))); } function DocumentBadges() { var _useDocumentPane = (0, _useDocumentPane2.useDocumentPane)(), badges = _useDocumentPane.badges, documentId = _useDocumentPane.documentId, documentType = _useDocumentPane.documentType; var editState = (0, _reactHooks.useEditState)(documentId, documentType, 'low'); if (!badges) return null; return /*#__PURE__*/_react.default.createElement(_utils.RenderBadgeCollectionState, { component: DocumentBadgesInner, badges: badges, badgeProps: editState }); }