{
  "version": 3,
  "sources": ["../../src/slot-fill/index.tsx"],
  "sourcesContent": ["/**\n * External dependencies\n */\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef, useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Fill from './fill';\nimport BaseSlot from './slot';\nimport BubblesVirtuallySlot from './bubbles-virtually/slot';\nimport SlotFillProvider from './provider';\nimport SlotFillContext from './context';\nimport { jsx as _jsx, Fragment as _Fragment } from \"react/jsx-runtime\";\nexport { default as useSlot } from './bubbles-virtually/use-slot';\nexport { default as useSlotFills } from './bubbles-virtually/use-slot-fills';\nexport { Fill };\nexport const Slot = forwardRef((props, ref) => {\n  const {\n    bubblesVirtually,\n    ...restProps\n  } = props;\n  if (bubblesVirtually) {\n    return /*#__PURE__*/_jsx(BubblesVirtuallySlot, {\n      ...restProps,\n      ref: ref\n    });\n  }\n  return /*#__PURE__*/_jsx(BaseSlot, {\n    ...restProps\n  });\n});\nSlot.displayName = 'Slot';\nexport function Provider({\n  children,\n  passthrough = false\n}) {\n  const parent = useContext(SlotFillContext);\n  if (!parent.isDefault && passthrough) {\n    return /*#__PURE__*/_jsx(_Fragment, {\n      children: children\n    });\n  }\n  return /*#__PURE__*/_jsx(SlotFillProvider, {\n    children: children\n  });\n}\nProvider.displayName = 'SlotFillProvider';\nexport function createSlotFill(key) {\n  const baseName = typeof key === 'symbol' ? key.description : key;\n  const FillComponent = props => /*#__PURE__*/_jsx(Fill, {\n    name: key,\n    ...props\n  });\n  FillComponent.displayName = `${baseName}Fill`;\n\n  // Wrap SlotComponent with forwardRef to support ref forwarding\n  const SlotComponent = forwardRef((props, ref) => /*#__PURE__*/_jsx(Slot, {\n    name: key,\n    ref: ref,\n    ...props\n  }));\n  SlotComponent.displayName = `${baseName}Slot`;\n  /**\n   * @deprecated 6.8.0\n   * Please use `slotFill.name` instead of `slotFill.Slot.__unstableName`.\n   */\n  SlotComponent.__unstableName = key;\n  return {\n    name: key,\n    Fill: FillComponent,\n    Slot: SlotComponent\n  };\n}"],
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA,qBAAuC;AAKvC,kBAAiB;AACjB,kBAAqB;AACrB,IAAAC,eAAiC;AACjC,sBAA6B;AAC7B,qBAA4B;AAC5B,yBAAmD;AACnD,sBAAmC;AACnC,4BAAwC;AAEjC,IAAM,WAAO,2BAAW,CAAC,OAAO,QAAQ;AAC7C,QAAM;AAAA,IACJ;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AACJ,MAAI,kBAAkB;AACpB,WAAoB,uCAAAC,KAAK,aAAAC,SAAsB;AAAA,MAC7C,GAAG;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH;AACA,SAAoB,uCAAAD,KAAK,YAAAE,SAAU;AAAA,IACjC,GAAG;AAAA,EACL,CAAC;AACH,CAAC;AACD,KAAK,cAAc;AACZ,SAAS,SAAS;AAAA,EACvB;AAAA,EACA,cAAc;AAChB,GAAG;AACD,QAAM,aAAS,2BAAW,eAAAC,OAAe;AACzC,MAAI,CAAC,OAAO,aAAa,aAAa;AACpC,WAAoB,uCAAAH,KAAK,mBAAAI,UAAW;AAAA,MAClC;AAAA,IACF,CAAC;AAAA,EACH;AACA,SAAoB,uCAAAJ,KAAK,gBAAAK,SAAkB;AAAA,IACzC;AAAA,EACF,CAAC;AACH;AACA,SAAS,cAAc;AAChB,SAAS,eAAe,KAAK;AAClC,QAAM,WAAW,OAAO,QAAQ,WAAW,IAAI,cAAc;AAC7D,QAAM,gBAAgB,WAAsB,uCAAAL,KAAK,YAAAM,SAAM;AAAA,IACrD,MAAM;AAAA,IACN,GAAG;AAAA,EACL,CAAC;AACD,gBAAc,cAAc,GAAG,QAAQ;AAGvC,QAAM,oBAAgB,2BAAW,CAAC,OAAO,QAAqB,uCAAAN,KAAK,MAAM;AAAA,IACvE,MAAM;AAAA,IACN;AAAA,IACA,GAAG;AAAA,EACL,CAAC,CAAC;AACF,gBAAc,cAAc,GAAG,QAAQ;AAKvC,gBAAc,iBAAiB;AAC/B,SAAO;AAAA,IACL,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,EACR;AACF;",
  "names": ["Fill", "import_slot", "_jsx", "BubblesVirtuallySlot", "BaseSlot", "SlotFillContext", "_Fragment", "SlotFillProvider", "Fill"]
}
