UNPKG

@wordpress/block-library

Version:
81 lines (79 loc) 3.7 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-library/src/gallery/gap-styles.js var gap_styles_exports = {}; __export(gap_styles_exports, { default: () => GalleryGapCustomProperties }); module.exports = __toCommonJS(gap_styles_exports); var import_block_editor = require("@wordpress/block-editor"); var import_data = require("@wordpress/data"); var import_global_styles_engine = require("@wordpress/global-styles-engine"); var import_lock_unlock = require("../lock-unlock.cjs"); var { getResponsiveMediaQueries } = (0, import_lock_unlock.unlock)(import_global_styles_engine.privateApis); var { globalStylesDataKey } = (0, import_lock_unlock.unlock)(import_block_editor.privateApis); var GALLERY_BLOCK_NAME = "core/gallery"; var FALLBACK_VALUE = `var( --wp--style--gallery-gap-default, var( --gallery-block--gutter-size, var( --wp--style--block-gap, 0.5em ) ) )`; function getGalleryGapCustomPropertyStyle(selector, blockGap) { let column = FALLBACK_VALUE; if (blockGap) { column = typeof blockGap === "string" ? (0, import_block_editor.__experimentalGetGapCSSValue)(blockGap) || FALLBACK_VALUE : (0, import_block_editor.__experimentalGetGapCSSValue)(blockGap?.left) || FALLBACK_VALUE; } return `${selector} { --wp--style--unstable-gallery-gap: ${column === "0" ? "0px" : column} }`; } function getBlockGapValue(style) { if (!Object.hasOwn(style?.spacing || {}, "blockGap")) { return void 0; } return style.spacing.blockGap; } function GalleryGapCustomProperties({ style, clientId }) { const selector = `#block-${clientId}`; const [viewportSettings] = (0, import_block_editor.useSettings)("viewport"); const globalStyles = (0, import_data.useSelect)( (select) => select(import_block_editor.store).getSettings()?.[globalStylesDataKey], [] ); const globalGalleryStyles = globalStyles?.blocks?.[GALLERY_BLOCK_NAME] || {}; const styleBlockGap = getBlockGapValue(style); const globalGalleryBlockGap = globalGalleryStyles?.spacing?.blockGap ?? FALLBACK_VALUE; const blockGap = styleBlockGap === void 0 ? globalGalleryBlockGap : styleBlockGap; let gap = getGalleryGapCustomPropertyStyle(selector, blockGap); Object.entries(getResponsiveMediaQueries(viewportSettings)).forEach( ([viewport, mediaQuery]) => { const styleViewportBlockGap = getBlockGapValue( style?.[viewport] ); const globalViewportBlockGap = styleBlockGap === void 0 ? globalGalleryStyles?.[viewport]?.spacing?.blockGap : void 0; const viewportBlockGap = styleViewportBlockGap === void 0 ? globalViewportBlockGap : styleViewportBlockGap; if (viewportBlockGap === void 0 || viewportBlockGap === null) { return; } gap += `${mediaQuery}{${getGalleryGapCustomPropertyStyle( selector, viewportBlockGap )}}`; } ); (0, import_block_editor.useStyleOverride)({ css: gap }); return null; } //# sourceMappingURL=gap-styles.cjs.map