UNPKG

@wordpress/edit-post

Version:
76 lines (59 loc) 1.59 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _element = require("@wordpress/element"); var _lodash = require("lodash"); var _data = require("@wordpress/data"); var _compose = require("@wordpress/compose"); var _components = require("@wordpress/components"); var _i18n = require("@wordpress/i18n"); var _icons = require("@wordpress/icons"); var _a11y = require("@wordpress/a11y"); var _store = require("../../../store"); /** * External dependencies */ /** * WordPress dependencies */ /** * Internal dependencies */ function FeatureToggle({ onToggle, isActive, label, info, messageActivated, messageDeactivated, shortcut }) { const speakMessage = () => { if (isActive) { (0, _a11y.speak)(messageDeactivated || (0, _i18n.__)('Feature deactivated')); } else { (0, _a11y.speak)(messageActivated || (0, _i18n.__)('Feature activated')); } }; return (0, _element.createElement)(_components.MenuItem, { icon: isActive && _icons.check, isSelected: isActive, onClick: (0, _lodash.flow)(onToggle, speakMessage), role: "menuitemcheckbox", info: info, shortcut: shortcut }, label); } var _default = (0, _compose.compose)([(0, _data.withSelect)((select, { feature }) => ({ isActive: select(_store.store).isFeatureActive(feature) })), (0, _data.withDispatch)((dispatch, ownProps) => ({ onToggle() { dispatch(_store.store).toggleFeature(ownProps.feature); } }))])(FeatureToggle); exports.default = _default; //# sourceMappingURL=index.js.map