{"version":3,"file":"DropdownContent.cjs","sources":["../../../src/components/Dropdown/DropdownContent.tsx"],"sourcesContent":["'use client'\n\nimport { type FC, type PropsWithChildren, createContext, useContext } from 'react'\n\nimport { DropdownContext } from './Dropdown'\nimport {\n  DropdownContentInner,\n  type ElementProps as InnerElementProps,\n} from './DropdownContentInner'\n\nexport const DropdownContentContext = createContext<{\n  onClickCloser: () => void\n  controllable: boolean\n}>({\n  onClickCloser: () => {\n    /* noop */\n  },\n  controllable: false,\n})\n\ntype AbstractProps = PropsWithChildren<{\n  /**\n   * `true` のとき、ドロップダウン内のコンテンツをクリックしてもドロップダウンが閉じなくなる。。\n   *  この場合は、 `DropdownCloser` を用いてドロップダウンを閉じることができる。\n   */\n  controllable?: boolean\n}>\n\ntype Props = AbstractProps & Omit<InnerElementProps, keyof AbstractProps>\n\nexport const DropdownContent: FC<Props> = ({ controllable = false, ...rest }) => {\n  const { DropdownContentRoot, triggerRect, onClickCloser } = useContext(DropdownContext)\n\n  return (\n    <DropdownContentRoot>\n      <DropdownContentContext.Provider value={{ onClickCloser, controllable }}>\n        <DropdownContentInner {...rest} triggerRect={triggerRect} controllable={controllable} />\n      </DropdownContentContext.Provider>\n    </DropdownContentRoot>\n  )\n}\n"],"names":[],"mappings":";;;;;;;;AAUO;;;;AAOL;AACD;AAYM;AACL;AAEA;AAOF;;;"}