UNPKG

@wordpress/components

Version:
38 lines (35 loc) 1.06 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = Fill; var _element = require("@wordpress/element"); var _context = _interopRequireDefault(require("./context")); /** * WordPress dependencies */ /** * Internal dependencies */ function Fill({ name, children }) { const registry = (0, _element.useContext)(_context.default); const instanceRef = (0, _element.useRef)({}); const childrenRef = (0, _element.useRef)(children); (0, _element.useLayoutEffect)(() => { childrenRef.current = children; }, [children]); (0, _element.useLayoutEffect)(() => { const instance = instanceRef.current; registry.registerFill(name, instance, childrenRef.current); return () => registry.unregisterFill(name, instance); }, [registry, name]); (0, _element.useLayoutEffect)(() => { registry.updateFill(name, instanceRef.current, childrenRef.current); }); return null; } //# sourceMappingURL=fill.js.map