UNPKG

@wordpress/block-editor

Version:
169 lines (167 loc) 7.95 kB
"use strict"; var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); } return to; }; var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); // packages/block-editor/src/hooks/supports.js var supports_exports = {}; __export(supports_exports, { getAlignSupport: () => getAlignSupport, getAlignWideSupport: () => getAlignWideSupport, getBorderSupport: () => getBorderSupport, getColorSupport: () => getColorSupport, getCustomClassNameSupport: () => getCustomClassNameSupport, getFontFamilySupport: () => getFontFamilySupport, getFontSizeSupport: () => getFontSizeSupport, getLayoutSupport: () => getLayoutSupport, getTextAlignSupport: () => getTextAlignSupport, hasAlignSupport: () => hasAlignSupport, hasAlignWideSupport: () => hasAlignWideSupport, hasBackgroundColorSupport: () => hasBackgroundColorSupport, hasBorderSupport: () => hasBorderSupport, hasColorSupport: () => hasColorSupport, hasCustomClassNameSupport: () => hasCustomClassNameSupport, hasFontFamilySupport: () => hasFontFamilySupport, hasFontSizeSupport: () => hasFontSizeSupport, hasGradientSupport: () => hasGradientSupport, hasLayoutSupport: () => hasLayoutSupport, hasLinkColorSupport: () => hasLinkColorSupport, hasStyleSupport: () => hasStyleSupport, hasTextAlignSupport: () => hasTextAlignSupport, hasTextColorSupport: () => hasTextColorSupport }); module.exports = __toCommonJS(supports_exports); var import_blocks = require("@wordpress/blocks"); var import_element = require("@wordpress/element"); var ALIGN_SUPPORT_KEY = "align"; var ALIGN_WIDE_SUPPORT_KEY = "alignWide"; var BORDER_SUPPORT_KEY = "__experimentalBorder"; var COLOR_SUPPORT_KEY = "color"; var CUSTOM_CLASS_NAME_SUPPORT_KEY = "customClassName"; var FONT_FAMILY_SUPPORT_KEY = "typography.__experimentalFontFamily"; var FONT_SIZE_SUPPORT_KEY = "typography.fontSize"; var LINE_HEIGHT_SUPPORT_KEY = "typography.lineHeight"; var FONT_STYLE_SUPPORT_KEY = "typography.__experimentalFontStyle"; var FONT_WEIGHT_SUPPORT_KEY = "typography.__experimentalFontWeight"; var TEXT_ALIGN_SUPPORT_KEY = "typography.textAlign"; var TEXT_COLUMNS_SUPPORT_KEY = "typography.textColumns"; var TEXT_DECORATION_SUPPORT_KEY = "typography.__experimentalTextDecoration"; var WRITING_MODE_SUPPORT_KEY = "typography.__experimentalWritingMode"; var TEXT_TRANSFORM_SUPPORT_KEY = "typography.__experimentalTextTransform"; var LETTER_SPACING_SUPPORT_KEY = "typography.__experimentalLetterSpacing"; var LAYOUT_SUPPORT_KEY = "layout"; var TYPOGRAPHY_SUPPORT_KEYS = [ LINE_HEIGHT_SUPPORT_KEY, FONT_SIZE_SUPPORT_KEY, FONT_STYLE_SUPPORT_KEY, FONT_WEIGHT_SUPPORT_KEY, FONT_FAMILY_SUPPORT_KEY, TEXT_ALIGN_SUPPORT_KEY, TEXT_COLUMNS_SUPPORT_KEY, TEXT_DECORATION_SUPPORT_KEY, TEXT_TRANSFORM_SUPPORT_KEY, WRITING_MODE_SUPPORT_KEY, LETTER_SPACING_SUPPORT_KEY ]; var EFFECTS_SUPPORT_KEYS = ["shadow"]; var SPACING_SUPPORT_KEY = "spacing"; var styleSupportKeys = [ ...EFFECTS_SUPPORT_KEYS, ...TYPOGRAPHY_SUPPORT_KEYS, BORDER_SUPPORT_KEY, COLOR_SUPPORT_KEY, SPACING_SUPPORT_KEY ]; var hasAlignSupport = (nameOrType) => (0, import_blocks.hasBlockSupport)(nameOrType, ALIGN_SUPPORT_KEY); var getAlignSupport = (nameOrType) => (0, import_blocks.getBlockSupport)(nameOrType, ALIGN_SUPPORT_KEY); var hasAlignWideSupport = (nameOrType) => (0, import_blocks.hasBlockSupport)(nameOrType, ALIGN_WIDE_SUPPORT_KEY); var getAlignWideSupport = (nameOrType) => (0, import_blocks.getBlockSupport)(nameOrType, ALIGN_WIDE_SUPPORT_KEY); function hasBorderSupport(nameOrType, feature = "any") { if (import_element.Platform.OS !== "web") { return false; } const support = (0, import_blocks.getBlockSupport)(nameOrType, BORDER_SUPPORT_KEY); if (support === true) { return true; } if (feature === "any") { return !!(support?.color || support?.radius || support?.width || support?.style); } return !!support?.[feature]; } var getBorderSupport = (nameOrType, feature) => (0, import_blocks.getBlockSupport)(nameOrType, [BORDER_SUPPORT_KEY, feature]); var hasColorSupport = (nameOrType) => { const colorSupport = (0, import_blocks.getBlockSupport)(nameOrType, COLOR_SUPPORT_KEY); return colorSupport && (colorSupport.link === true || colorSupport.gradient === true || colorSupport.background !== false || colorSupport.text !== false); }; var hasLinkColorSupport = (nameOrType) => { if (import_element.Platform.OS !== "web") { return false; } const colorSupport = (0, import_blocks.getBlockSupport)(nameOrType, COLOR_SUPPORT_KEY); return colorSupport !== null && typeof colorSupport === "object" && !!colorSupport.link; }; var hasGradientSupport = (nameOrType) => { const colorSupport = (0, import_blocks.getBlockSupport)(nameOrType, COLOR_SUPPORT_KEY); return colorSupport !== null && typeof colorSupport === "object" && !!colorSupport.gradients; }; var hasBackgroundColorSupport = (nameOrType) => { const colorSupport = (0, import_blocks.getBlockSupport)(nameOrType, COLOR_SUPPORT_KEY); return colorSupport && colorSupport.background !== false; }; var hasTextAlignSupport = (nameOrType) => (0, import_blocks.hasBlockSupport)(nameOrType, TEXT_ALIGN_SUPPORT_KEY); var getTextAlignSupport = (nameOrType) => (0, import_blocks.getBlockSupport)(nameOrType, TEXT_ALIGN_SUPPORT_KEY); var hasTextColorSupport = (nameOrType) => { const colorSupport = (0, import_blocks.getBlockSupport)(nameOrType, COLOR_SUPPORT_KEY); return colorSupport && colorSupport.text !== false; }; var getColorSupport = (nameOrType, feature) => (0, import_blocks.getBlockSupport)(nameOrType, [COLOR_SUPPORT_KEY, feature]); var hasCustomClassNameSupport = (nameOrType) => (0, import_blocks.hasBlockSupport)(nameOrType, CUSTOM_CLASS_NAME_SUPPORT_KEY, true); var getCustomClassNameSupport = (nameOrType) => (0, import_blocks.getBlockSupport)(nameOrType, CUSTOM_CLASS_NAME_SUPPORT_KEY, true); var hasFontFamilySupport = (nameOrType) => (0, import_blocks.hasBlockSupport)(nameOrType, FONT_FAMILY_SUPPORT_KEY); var getFontFamilySupport = (nameOrType) => (0, import_blocks.getBlockSupport)(nameOrType, FONT_FAMILY_SUPPORT_KEY); var hasFontSizeSupport = (nameOrType) => (0, import_blocks.hasBlockSupport)(nameOrType, FONT_SIZE_SUPPORT_KEY); var getFontSizeSupport = (nameOrType) => (0, import_blocks.getBlockSupport)(nameOrType, FONT_SIZE_SUPPORT_KEY); var hasLayoutSupport = (nameOrType) => (0, import_blocks.hasBlockSupport)(nameOrType, LAYOUT_SUPPORT_KEY); var getLayoutSupport = (nameOrType) => (0, import_blocks.getBlockSupport)(nameOrType, LAYOUT_SUPPORT_KEY); var hasStyleSupport = (nameOrType) => styleSupportKeys.some((key) => (0, import_blocks.hasBlockSupport)(nameOrType, key)); // Annotate the CommonJS export names for ESM import in node: 0 && (module.exports = { getAlignSupport, getAlignWideSupport, getBorderSupport, getColorSupport, getCustomClassNameSupport, getFontFamilySupport, getFontSizeSupport, getLayoutSupport, getTextAlignSupport, hasAlignSupport, hasAlignWideSupport, hasBackgroundColorSupport, hasBorderSupport, hasColorSupport, hasCustomClassNameSupport, hasFontFamilySupport, hasFontSizeSupport, hasGradientSupport, hasLayoutSupport, hasLinkColorSupport, hasStyleSupport, hasTextAlignSupport, hasTextColorSupport }); //# sourceMappingURL=supports.cjs.map