UNPKG

@gechiui/block-editor

Version:
58 lines (55 loc) 2.07 kB
import { createElement } from "@gechiui/element"; /** * GeChiUI dependencies */ import { store as blocksStore } from '@gechiui/blocks'; import { useMemo, useCallback } from '@gechiui/element'; import { __ } from '@gechiui/i18n'; import { SelectControl } from '@gechiui/components'; import { useSelect } from '@gechiui/data'; /** * Internal dependencies */ import { store as blockEditorStore } from '../../store'; export default function DefaultStylePicker(_ref) { let { blockName } = _ref; const { preferredStyle, onUpdatePreferredStyleVariations, styles } = useSelect(select => { var _preferredStyleVariat, _preferredStyleVariat2; const settings = select(blockEditorStore).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(blocksStore).getBlockStyles(blockName) }; }, [blockName]); const selectOptions = useMemo(() => [{ label: __('未设置'), value: '' }, ...styles.map(_ref2 => { let { label, name } = _ref2; return { label, value: name }; })], [styles]); const selectOnChange = useCallback(blockStyle => { onUpdatePreferredStyleVariations(blockName, blockStyle); }, [blockName, onUpdatePreferredStyleVariations]); return onUpdatePreferredStyleVariations && createElement(SelectControl, { options: selectOptions, value: preferredStyle || '', label: __('默认样式'), onChange: selectOnChange }); } //# sourceMappingURL=index.js.map