{
  "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": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,qBAAgE;AAChE,qBAA6B;AAK7B,kBAAqB;AACrB,qBAA4B;AAC5B,yBAA4B;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,eAAW,2BAAW,eAAAA,OAAe;AAC3C,QAAM,kBAAc,uBAAO,CAAC,CAAC;AAC7B,QAAM,UAAM,uBAAO,IAAI;AACvB,QAAM,mBAAe,uBAAO,SAAS;AACrC,sCAAgB,MAAM;AACpB,iBAAa,UAAU;AAAA,EACzB,GAAG,CAAC,SAAS,CAAC;AACd,sCAAgB,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,sCAAgB,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,uCAAAC,KAAK,kBAAM;AAAA,IAC7B;AAAA,IACA,SAAK,6BAAa,CAAC,cAAc,GAAG,CAAC;AAAA,IACrC,GAAG;AAAA,EACL,CAAC;AACH;AACA,IAAO,mBAAQ,2BAAW,IAAI;",
  "names": ["SlotFillContext", "_jsx"]
}
