{"ast":null,"code":"import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nimport { useOverlayTriggerState as $eMjaQ$useOverlayTriggerState } from \"@react-stately/overlays\";\nimport { useState as $eMjaQ$useState } from \"react\";\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 $a2e5b61c2187a058$exports = {};\n$parcel$export($a2e5b61c2187a058$exports, \"useMenuTriggerState\", function () {\n  return $a2e5b61c2187a058$export$79fefeb1c2091ac3;\n});\n\nfunction $a2e5b61c2187a058$export$79fefeb1c2091ac3(props) {\n  var overlayTriggerState = $eMjaQ$useOverlayTriggerState(props);\n\n  var _$eMjaQ$useState = $eMjaQ$useState(null),\n      _$eMjaQ$useState2 = _slicedToArray(_$eMjaQ$useState, 2),\n      focusStrategy1 = _$eMjaQ$useState2[0],\n      setFocusStrategy = _$eMjaQ$useState2[1];\n\n  return _objectSpread(_objectSpread({\n    focusStrategy: focusStrategy1\n  }, overlayTriggerState), {}, {\n    open: function open() {\n      var focusStrategy = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n      setFocusStrategy(focusStrategy);\n      overlayTriggerState.open();\n    },\n    toggle: function toggle() {\n      var focusStrategy = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n      setFocusStrategy(focusStrategy);\n      overlayTriggerState.toggle();\n    }\n  });\n}\n\nexport { $a2e5b61c2187a058$export$79fefeb1c2091ac3 as useMenuTriggerState };","map":{"version":3,"sources":["packages/@react-stately/menu/src/useMenuTriggerState.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;SAgCgB,yC,CAAoB,K,EAA4C;AAC9E,MAAI,mBAAmB,GAAG,6BAAsB,CAAC,KAAD,CAAhD;;AACA,yBAAwC,eAAQ,CAAgB,IAAhB,CAAhD;AAAA;AAAA,MAAK,cAAL;AAAA,MAAoB,gBAApB;;AAEA;mBACE;AADF,KAEK,mBAFL;AAGE,IAAA,IAHF,kBAG4C;AAAA,UAArC,aAAqC,uEAAN,IAAM;AACxC,MAAA,gBAAgB,CAAC,aAAD,CAAhB;AACA,MAAA,mBAAmB,CAAC,IAApB;AACD,KANH;AAOE,IAAA,MAPF,oBAO8C;AAAA,UAArC,aAAqC,uEAAN,IAAM;AAC1C,MAAA,gBAAgB,CAAC,aAAD,CAAhB;AACA,MAAA,mBAAmB,CAAC,MAApB;AACD;AAVH;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 {FocusStrategy} from '@react-types/shared';\nimport {MenuTriggerProps} from '@react-types/menu';\nimport {OverlayTriggerState, useOverlayTriggerState} from '@react-stately/overlays';\nimport {useState} from 'react';\n\nexport interface MenuTriggerState extends OverlayTriggerState {\n  /** Controls which item will be auto focused when the menu opens. */\n  readonly focusStrategy: FocusStrategy,\n\n  /** Opens the menu. */\n  open(focusStrategy?: FocusStrategy | null): void,\n\n  /** Toggles the menu. */\n  toggle(focusStrategy?: FocusStrategy | null): void\n}\n\n/**\n * Manages state for a menu trigger. Tracks whether the menu is currently open,\n * and controls which item will receive focus when it opens.\n */\nexport function useMenuTriggerState(props: MenuTriggerProps): MenuTriggerState  {\n  let overlayTriggerState = useOverlayTriggerState(props);\n  let [focusStrategy, setFocusStrategy] = useState<FocusStrategy>(null);\n\n  return {\n    focusStrategy,\n    ...overlayTriggerState,\n    open(focusStrategy: FocusStrategy = null) {\n      setFocusStrategy(focusStrategy);\n      overlayTriggerState.open();\n    },\n    toggle(focusStrategy: FocusStrategy = null) {\n      setFocusStrategy(focusStrategy);\n      overlayTriggerState.toggle();\n    }\n  };\n}\n"]},"metadata":{},"sourceType":"module"}