UNPKG

@wordpress/block-editor

Version:
68 lines (48 loc) 2.9 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.TypographyPanel = TypographyPanel; exports.TYPOGRAPHY_SUPPORT_KEYS = void 0; var _element = require("@wordpress/element"); var _blocks = require("@wordpress/blocks"); var _components = require("@wordpress/components"); var _i18n = require("@wordpress/i18n"); var _inspectorControls = _interopRequireDefault(require("../components/inspector-controls")); var _textDecorationAndTransform = _interopRequireDefault(require("../components/text-decoration-and-transform")); var _lineHeight = require("./line-height"); var _fontAppearance = require("./font-appearance"); var _fontFamily = require("./font-family"); var _fontSize = require("./font-size"); var _textDecoration = require("./text-decoration"); var _textTransform = require("./text-transform"); /** * WordPress dependencies */ /** * External dependencies */ /** * Internal dependencies */ const TYPOGRAPHY_SUPPORT_KEYS = [_lineHeight.LINE_HEIGHT_SUPPORT_KEY, _fontSize.FONT_SIZE_SUPPORT_KEY, _fontAppearance.FONT_STYLE_SUPPORT_KEY, _fontAppearance.FONT_WEIGHT_SUPPORT_KEY, _fontFamily.FONT_FAMILY_SUPPORT_KEY, _textDecoration.TEXT_DECORATION_SUPPORT_KEY, _textTransform.TEXT_TRANSFORM_SUPPORT_KEY]; exports.TYPOGRAPHY_SUPPORT_KEYS = TYPOGRAPHY_SUPPORT_KEYS; function TypographyPanel(props) { const isDisabled = useIsTypographyDisabled(props); const isSupported = hasTypographySupport(props.name); if (isDisabled || !isSupported) return null; return (0, _element.createElement)(_inspectorControls.default, null, (0, _element.createElement)(_components.PanelBody, { title: (0, _i18n.__)('Typography') }, (0, _element.createElement)(_components.__unstableComponentSystemProvider, { __unstableNextInclude: ['WPComponentsFontSizePicker'] }, (0, _element.createElement)(_fontFamily.FontFamilyEdit, props), (0, _element.createElement)(_fontSize.FontSizeEdit, props), (0, _element.createElement)(_fontAppearance.FontAppearanceEdit, props), (0, _element.createElement)(_lineHeight.LineHeightEdit, props), (0, _element.createElement)(_textDecorationAndTransform.default, props)))); } const hasTypographySupport = blockName => { return _element.Platform.OS === 'web' && TYPOGRAPHY_SUPPORT_KEYS.some(key => (0, _blocks.hasBlockSupport)(blockName, key)); }; function useIsTypographyDisabled(props = {}) { const configs = [(0, _fontAppearance.useIsFontAppearanceDisabled)(props), (0, _fontSize.useIsFontSizeDisabled)(props), (0, _lineHeight.useIsLineHeightDisabled)(props), (0, _fontFamily.useIsFontFamilyDisabled)(props), (0, _textDecoration.useIsTextDecorationDisabled)(props), (0, _textTransform.useIsTextTransformDisabled)(props)]; return configs.filter(Boolean).length === configs.length; } //# sourceMappingURL=typography.js.map