UNPKG

@wordpress/block-editor

Version:
65 lines (55 loc) 2.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = DefaultStylePicker; var _element = require("@wordpress/element"); var _blocks = require("@wordpress/blocks"); var _i18n = require("@wordpress/i18n"); var _components = require("@wordpress/components"); var _data = require("@wordpress/data"); var _store = require("../../store"); /** * WordPress dependencies */ /** * Internal dependencies */ function DefaultStylePicker({ blockName }) { const { preferredStyle, onUpdatePreferredStyleVariations, styles } = (0, _data.useSelect)(select => { var _preferredStyleVariat, _preferredStyleVariat2; const settings = select(_store.store).getSettings(); const preferredStyleVariations = settings.__experimentalPreferredStyleVariations; return { preferredStyle: preferredStyleVariations === null || preferredStyleVariations === void 0 ? void 0 : (_preferredStyleVariat = preferredStyleVariations.value) === null || _preferredStyleVariat === void 0 ? void 0 : _preferredStyleVariat[blockName], onUpdatePreferredStyleVariations: (_preferredStyleVariat2 = preferredStyleVariations === null || preferredStyleVariations === void 0 ? void 0 : preferredStyleVariations.onChange) !== null && _preferredStyleVariat2 !== void 0 ? _preferredStyleVariat2 : null, styles: select(_blocks.store).getBlockStyles(blockName) }; }, [blockName]); const selectOptions = (0, _element.useMemo)(() => [{ label: (0, _i18n.__)('Not set'), value: '' }, ...styles.map(({ label, name }) => ({ label, value: name }))], [styles]); const selectOnChange = (0, _element.useCallback)(blockStyle => { onUpdatePreferredStyleVariations(blockName, blockStyle); }, [blockName, onUpdatePreferredStyleVariations]); return onUpdatePreferredStyleVariations && (0, _element.createElement)(_components.SelectControl, { options: selectOptions, value: preferredStyle || '', label: (0, _i18n.__)('Default Style'), onChange: selectOnChange }); } //# sourceMappingURL=index.js.map