UNPKG

@wordpress/block-editor

Version:
50 lines (41 loc) 1.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = useAvailableAlignments; var _data = require("@wordpress/data"); var _layout = require("../block-list/layout"); var _store = require("../../store"); /** * WordPress dependencies */ /** * Internal dependencies */ const DEFAULT_CONTROLS = ['left', 'center', 'right', 'wide', 'full']; const WIDE_CONTROLS = ['wide', 'full']; function useAvailableAlignments(controls = DEFAULT_CONTROLS) { const { wideControlsEnabled = false } = (0, _data.useSelect)(select => { const { getSettings } = select(_store.store); const settings = getSettings(); return { wideControlsEnabled: settings.alignWide }; }, []); const layout = (0, _layout.useLayout)(); const supportsAlignments = layout.type === 'default'; if (!supportsAlignments) { return []; } const { alignments: availableAlignments = DEFAULT_CONTROLS } = layout; const enabledControls = controls.filter(control => (layout.alignments || // Ignore the global wideAlignment check if the layout explicitely defines alignments. wideControlsEnabled || !WIDE_CONTROLS.includes(control)) && availableAlignments.includes(control)); return enabledControls; } //# sourceMappingURL=use-available-alignments.js.map