{"ast":null,"code":"import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { useControlledState as $bQTqs$useControlledState } from \"@react-stately/utils\";\n\nfunction $parcel$export(e, n, v, s) {\n  Object.defineProperty(e, n, {\n    get: v,\n    set: s,\n    enumerable: true,\n    configurable: true\n  });\n}\n\nvar $fe9463a5ee71924b$exports = {};\n$parcel$export($fe9463a5ee71924b$exports, \"useOverlayTriggerState\", function () {\n  return $fe9463a5ee71924b$export$61c6a8c84e605fb6;\n});\n\nfunction $fe9463a5ee71924b$export$61c6a8c84e605fb6(props) {\n  var _$bQTqs$useControlled = $bQTqs$useControlledState(props.isOpen, props.defaultOpen || false, props.onOpenChange),\n      _$bQTqs$useControlled2 = _slicedToArray(_$bQTqs$useControlled, 2),\n      isOpen = _$bQTqs$useControlled2[0],\n      setOpen = _$bQTqs$useControlled2[1];\n\n  return {\n    isOpen: isOpen,\n    open: function open() {\n      setOpen(true);\n    },\n    close: function close() {\n      setOpen(false);\n    },\n    toggle: function toggle() {\n      setOpen(!isOpen);\n    }\n  };\n}\n\nexport { $fe9463a5ee71924b$export$61c6a8c84e605fb6 as useOverlayTriggerState };","map":{"version":3,"sources":["packages/@react-stately/overlays/src/useOverlayTriggerState.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;SA8BgB,yC,CAAuB,K,EAAkD;AACvF,8BAAwB,yBAAkB,CAAC,KAAK,CAAC,MAAP,EAAe,KAAK,CAAC,WAAN,IAAqB,KAApC,EAA2C,KAAK,CAAC,YAAjD,CAA1C;AAAA;AAAA,MAAK,MAAL;AAAA,MAAa,OAAb;;AAEA,SAAO;YACL,MADK;AAEL,IAAA,IAFK,kBAEE;AACL,MAAA,OAAO,CAAC,IAAD,CAAP;AACD,KAJI;AAKL,IAAA,KALK,mBAKG;AACN,MAAA,OAAO,CAAC,KAAD,CAAP;AACD,KAPI;AAQL,IAAA,MARK,oBAQI;AACP,MAAA,OAAO,CAAA,CAAE,MAAF,CAAP;AACD;AAVI,GAAP;AAYD","sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {OverlayTriggerProps} from '@react-types/overlays';\nimport {useControlledState} from '@react-stately/utils';\n\nexport interface OverlayTriggerState {\n  /** Whether the overlay is currently open. */\n  readonly isOpen: boolean,\n  /** Opens the overlay. */\n  open(): void,\n  /** Closes the overlay. */\n  close(): void,\n  /** Toggles the overlay's visibility. */\n  toggle(): void\n}\n\n/**\n * Manages state for an overlay trigger. Tracks whether the overlay is open, and provides\n * methods to toggle this state.\n */\nexport function useOverlayTriggerState(props: OverlayTriggerProps): OverlayTriggerState  {\n  let [isOpen, setOpen] = useControlledState(props.isOpen, props.defaultOpen || false, props.onOpenChange);\n\n  return {\n    isOpen,\n    open() {\n      setOpen(true);\n    },\n    close() {\n      setOpen(false);\n    },\n    toggle() {\n      setOpen(!isOpen);\n    }\n  };\n}\n"]},"metadata":{},"sourceType":"module"}