UNPKG

@wordpress/components

Version:
46 lines (38 loc) 970 B
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _element = require("@wordpress/element"); var _context = _interopRequireDefault(require("./context")); /** * WordPress dependencies */ /** * Internal dependencies */ /** * React hook returning the active slot given a name. * * @param {string} name Slot name. * @return {Object} Slot object. */ const useSlot = name => { const { getSlot, subscribe } = (0, _element.useContext)(_context.default); const [slot, setSlot] = (0, _element.useState)(getSlot(name)); (0, _element.useEffect)(() => { setSlot(getSlot(name)); const unsubscribe = subscribe(() => { setSlot(getSlot(name)); }); return unsubscribe; }, [name]); return slot; }; var _default = useSlot; exports.default = _default; //# sourceMappingURL=use-slot.js.map