UNPKG

@wordpress/block-editor

Version:
61 lines (58 loc) 2.15 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useNotifyCopy = useNotifyCopy; var _element = require("@wordpress/element"); var _blocks = require("@wordpress/blocks"); var _data = require("@wordpress/data"); var _i18n = require("@wordpress/i18n"); var _notices = require("@wordpress/notices"); var _store = require("../store"); /** * WordPress dependencies */ /** * Internal dependencies */ function useNotifyCopy() { const { getBlockName } = (0, _data.useSelect)(_store.store); const { getBlockType } = (0, _data.useSelect)(_blocks.store); const { createSuccessNotice } = (0, _data.useDispatch)(_notices.store); return (0, _element.useCallback)((eventType, selectedBlockClientIds) => { let notice = ''; if (eventType === 'copyStyles') { notice = (0, _i18n.__)('Styles copied to clipboard.'); } else if (selectedBlockClientIds.length === 1) { const clientId = selectedBlockClientIds[0]; const title = getBlockType(getBlockName(clientId))?.title; if (eventType === 'copy') { notice = (0, _i18n.sprintf)( // Translators: Name of the block being copied, e.g. "Paragraph". (0, _i18n.__)('Copied "%s" to clipboard.'), title); } else { notice = (0, _i18n.sprintf)( // Translators: Name of the block being cut, e.g. "Paragraph". (0, _i18n.__)('Moved "%s" to clipboard.'), title); } } else if (eventType === 'copy') { notice = (0, _i18n.sprintf)( // Translators: %d: Number of blocks being copied. (0, _i18n._n)('Copied %d block to clipboard.', 'Copied %d blocks to clipboard.', selectedBlockClientIds.length), selectedBlockClientIds.length); } else { notice = (0, _i18n.sprintf)( // Translators: %d: Number of blocks being moved. (0, _i18n._n)('Moved %d block to clipboard.', 'Moved %d blocks to clipboard.', selectedBlockClientIds.length), selectedBlockClientIds.length); } createSuccessNotice(notice, { type: 'snackbar' }); }, [createSuccessNotice, getBlockName, getBlockType]); } //# sourceMappingURL=use-notify-copy.js.map