{
  "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": []
}
