@wordpress/edit-post
Version:
Edit Post module for WordPress.
76 lines (59 loc) • 1.59 kB
JavaScript
;
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