@wordpress/components
Version:
UI components for WordPress.
8 lines (7 loc) • 2.54 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../../src/slot-fill/bubbles-virtually/slot.tsx"],
"sourcesContent": ["/**\n * External dependencies\n */\n\n/**\n * WordPress dependencies\n */\nimport { useRef, useLayoutEffect, useContext, forwardRef } from '@wordpress/element';\nimport { useMergeRefs } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { View } from '../../view';\nimport SlotFillContext from '../context';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction Slot(props, forwardedRef) {\n const {\n name,\n fillProps = {},\n as,\n // `children` is not allowed. However, if it is passed,\n // it will be displayed as is, so remove `children`.\n children,\n ...restProps\n } = props;\n const registry = useContext(SlotFillContext);\n const instanceRef = useRef({});\n const ref = useRef(null);\n const fillPropsRef = useRef(fillProps);\n useLayoutEffect(() => {\n fillPropsRef.current = fillProps;\n }, [fillProps]);\n useLayoutEffect(() => {\n const instance = instanceRef.current;\n registry.registerSlot(name, {\n type: 'portal',\n instance,\n ref,\n fillProps: fillPropsRef.current\n });\n return () => registry.unregisterSlot(name, instance);\n }, [registry, name]);\n useLayoutEffect(() => {\n registry.updateSlot(name, {\n type: 'portal',\n instance: instanceRef.current,\n ref,\n fillProps: fillPropsRef.current\n });\n });\n return /*#__PURE__*/_jsx(View, {\n as: as,\n ref: useMergeRefs([forwardedRef, ref]),\n ...restProps\n });\n}\nexport default forwardRef(Slot);"],
"mappings": ";AAOA,SAAS,QAAQ,iBAAiB,YAAY,kBAAkB;AAChE,SAAS,oBAAoB;AAK7B,SAAS,YAAY;AACrB,OAAO,qBAAqB;AAC5B,SAAS,OAAO,YAAY;AAC5B,SAAS,KAAK,OAAO,cAAc;AACjC,QAAM;AAAA,IACJ;AAAA,IACA,YAAY,CAAC;AAAA,IACb;AAAA;AAAA;AAAA,IAGA;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AACJ,QAAM,WAAW,WAAW,eAAe;AAC3C,QAAM,cAAc,OAAO,CAAC,CAAC;AAC7B,QAAM,MAAM,OAAO,IAAI;AACvB,QAAM,eAAe,OAAO,SAAS;AACrC,kBAAgB,MAAM;AACpB,iBAAa,UAAU;AAAA,EACzB,GAAG,CAAC,SAAS,CAAC;AACd,kBAAgB,MAAM;AACpB,UAAM,WAAW,YAAY;AAC7B,aAAS,aAAa,MAAM;AAAA,MAC1B,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA,WAAW,aAAa;AAAA,IAC1B,CAAC;AACD,WAAO,MAAM,SAAS,eAAe,MAAM,QAAQ;AAAA,EACrD,GAAG,CAAC,UAAU,IAAI,CAAC;AACnB,kBAAgB,MAAM;AACpB,aAAS,WAAW,MAAM;AAAA,MACxB,MAAM;AAAA,MACN,UAAU,YAAY;AAAA,MACtB;AAAA,MACA,WAAW,aAAa;AAAA,IAC1B,CAAC;AAAA,EACH,CAAC;AACD,SAAoB,qBAAK,MAAM;AAAA,IAC7B;AAAA,IACA,KAAK,aAAa,CAAC,cAAc,GAAG,CAAC;AAAA,IACrC,GAAG;AAAA,EACL,CAAC;AACH;AACA,IAAO,eAAQ,WAAW,IAAI;",
"names": []
}