@wordpress/preferences
Version:
Utilities for managing WordPress preferences.
42 lines (39 loc) • 1.13 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _data = require("@wordpress/data");
var _store = require("../../store");
var _preferenceBaseOption = _interopRequireDefault(require("../preference-base-option"));
var _jsxRuntime = require("react/jsx-runtime");
/**
* WordPress dependencies
*/
/**
* Internal dependencies
*/
function PreferenceToggleControl(props) {
const {
scope,
featureName,
onToggle = () => {},
...remainingProps
} = props;
const isChecked = (0, _data.useSelect)(select => !!select(_store.store).get(scope, featureName), [scope, featureName]);
const {
toggle
} = (0, _data.useDispatch)(_store.store);
const onChange = () => {
onToggle();
toggle(scope, featureName);
};
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_preferenceBaseOption.default, {
onChange: onChange,
isChecked: isChecked,
...remainingProps
});
}
var _default = exports.default = PreferenceToggleControl;
//# sourceMappingURL=index.js.map