{"ast":null,"code":"import { useMultiStyleConfig, omitThemingProps, useTheme, StylesProvider, forwardRef, chakra, useStyles } from '@chakra-ui/system';\nimport { focus, getOwnerDocument, normalizeEventKey, dataAttr, callAllHandlers, isHTMLElement, getNextItemFromSearch, determineLazyBehavior, isActiveElement, isString, isArray, removeItem, addItem, runIfFn, __DEV__, cx, callAll } from '@chakra-ui/utils';\nimport { motion } from 'framer-motion';\nimport * as React from 'react';\nimport { useClickable } from '@chakra-ui/clickable';\nimport { createDescendantContext } from '@chakra-ui/descendant';\nimport { useDisclosure, useOutsideClick, useUpdateEffect, useFocusOnHide, useIds, useUnmountEffect, useShortcut, useId, useControllableState } from '@chakra-ui/hooks';\nimport { useAnimationState } from '@chakra-ui/hooks/use-animation-state';\nimport { usePopper } from '@chakra-ui/popper';\nimport { createContext, mergeRefs, getValidChildren } from '@chakra-ui/react-utils';\nfunction _extends() {\n  _extends = Object.assign || function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n  return target;\n}\nvar _excluded$1 = [\"id\", \"closeOnSelect\", \"closeOnBlur\", \"autoSelect\", \"isLazy\", \"isOpen\", \"defaultIsOpen\", \"onClose\", \"onOpen\", \"placement\", \"lazyBehavior\", \"direction\", \"computePositionOnMount\"],\n  _excluded2$1 = [\"onMouseEnter\", \"onMouseMove\", \"onMouseLeave\", \"onClick\", \"isDisabled\", \"isFocusable\", \"closeOnSelect\", \"type\"],\n  _excluded3$1 = [\"type\", \"isChecked\"],\n  _excluded4$1 = [\"children\", \"type\", \"value\", \"defaultValue\", \"onChange\"];\n/* -------------------------------------------------------------------------------------------------\n * Create context to track descendants and their indices\n * -----------------------------------------------------------------------------------------------*/\n\nvar _createDescendantCont = createDescendantContext(),\n  MenuDescendantsProvider = _createDescendantCont[0],\n  useMenuDescendantsContext = _createDescendantCont[1],\n  useMenuDescendants = _createDescendantCont[2],\n  useMenuDescendant = _createDescendantCont[3];\nvar _createContext = createContext({\n    strict: false,\n    name: \"MenuContext\"\n  }),\n  MenuProvider = _createContext[0],\n  useMenuContext = _createContext[1];\n\n/**\n * React Hook to manage a menu\n *\n * It provides the logic and will be used with react context\n * to propagate its return value to all children\n */\nfunction useMenu(props) {\n  if (props === void 0) {\n    props = {};\n  }\n  var _props = props,\n    id = _props.id,\n    _props$closeOnSelect = _props.closeOnSelect,\n    closeOnSelect = _props$closeOnSelect === void 0 ? true : _props$closeOnSelect,\n    _props$closeOnBlur = _props.closeOnBlur,\n    closeOnBlur = _props$closeOnBlur === void 0 ? true : _props$closeOnBlur,\n    _props$autoSelect = _props.autoSelect,\n    autoSelect = _props$autoSelect === void 0 ? true : _props$autoSelect,\n    isLazy = _props.isLazy,\n    isOpenProp = _props.isOpen,\n    defaultIsOpen = _props.defaultIsOpen,\n    onCloseProp = _props.onClose,\n    onOpenProp = _props.onOpen,\n    _props$placement = _props.placement,\n    placement = _props$placement === void 0 ? \"bottom-start\" : _props$placement,\n    _props$lazyBehavior = _props.lazyBehavior,\n    lazyBehavior = _props$lazyBehavior === void 0 ? \"unmount\" : _props$lazyBehavior,\n    direction = _props.direction,\n    _props$computePositio = _props.computePositionOnMount,\n    computePositionOnMount = _props$computePositio === void 0 ? false : _props$computePositio,\n    popperProps = _objectWithoutPropertiesLoose(_props, _excluded$1);\n  /**\n   * Prepare the reference to the menu and disclosure\n   */\n\n  var menuRef = React.useRef(null);\n  var buttonRef = React.useRef(null);\n  /**\n   * Context to register all menu item nodes\n   */\n\n  var descendants = useMenuDescendants();\n  var focusMenu = React.useCallback(function () {\n    focus(menuRef.current, {\n      nextTick: true,\n      selectTextIfInput: false\n    });\n  }, []);\n  var focusFirstItem = React.useCallback(function () {\n    var id = setTimeout(function () {\n      var first = descendants.firstEnabled();\n      if (first) setFocusedIndex(first.index);\n    });\n    timeoutIds.current.add(id);\n  }, [descendants]);\n  var focusLastItem = React.useCallback(function () {\n    var id = setTimeout(function () {\n      var last = descendants.lastEnabled();\n      if (last) setFocusedIndex(last.index);\n    });\n    timeoutIds.current.add(id);\n  }, [descendants]);\n  var onOpenInternal = React.useCallback(function () {\n    onOpenProp == null ? void 0 : onOpenProp();\n    if (autoSelect) {\n      focusFirstItem();\n    } else {\n      focusMenu();\n    }\n  }, [autoSelect, focusFirstItem, focusMenu, onOpenProp]);\n  var _useDisclosure = useDisclosure({\n      isOpen: isOpenProp,\n      defaultIsOpen: defaultIsOpen,\n      onClose: onCloseProp,\n      onOpen: onOpenInternal\n    }),\n    isOpen = _useDisclosure.isOpen,\n    onOpen = _useDisclosure.onOpen,\n    onClose = _useDisclosure.onClose,\n    onToggle = _useDisclosure.onToggle;\n  useOutsideClick({\n    enabled: isOpen && closeOnBlur,\n    ref: menuRef,\n    handler: function handler(event) {\n      var _buttonRef$current;\n      if (!((_buttonRef$current = buttonRef.current) != null && _buttonRef$current.contains(event.target))) {\n        onClose();\n      }\n    }\n  });\n  /**\n   * Add some popper.js for dynamic positioning\n   */\n\n  var popper = usePopper(_extends({}, popperProps, {\n    enabled: isOpen || computePositionOnMount,\n    placement: placement,\n    direction: direction\n  }));\n  var _React$useState = React.useState(-1),\n    focusedIndex = _React$useState[0],\n    setFocusedIndex = _React$useState[1];\n  /**\n   * Focus the button when we close the menu\n   */\n\n  useUpdateEffect(function () {\n    if (!isOpen) {\n      setFocusedIndex(-1);\n    }\n  }, [isOpen]);\n  useFocusOnHide(menuRef, {\n    focusRef: buttonRef,\n    visible: isOpen,\n    shouldFocus: true\n  });\n  var animationState = useAnimationState({\n    isOpen: isOpen,\n    ref: menuRef\n  });\n  /**\n   * Generate unique ids for menu's list and button\n   */\n\n  var _useIds = useIds(id, \"menu-button\", \"menu-list\"),\n    buttonId = _useIds[0],\n    menuId = _useIds[1];\n  var openAndFocusMenu = React.useCallback(function () {\n    onOpen();\n    focusMenu();\n  }, [onOpen, focusMenu]);\n  var timeoutIds = React.useRef(new Set([]));\n  useUnmountEffect(function () {\n    timeoutIds.current.forEach(function (id) {\n      return clearTimeout(id);\n    });\n    timeoutIds.current.clear();\n  });\n  var openAndFocusFirstItem = React.useCallback(function () {\n    onOpen();\n    focusFirstItem();\n  }, [focusFirstItem, onOpen]);\n  var openAndFocusLastItem = React.useCallback(function () {\n    onOpen();\n    focusLastItem();\n  }, [onOpen, focusLastItem]);\n  var refocus = React.useCallback(function () {\n    var _menuRef$current, _descendants$item;\n    var doc = getOwnerDocument(menuRef.current);\n    var hasFocusWithin = (_menuRef$current = menuRef.current) == null ? void 0 : _menuRef$current.contains(doc.activeElement);\n    var shouldRefocus = isOpen && !hasFocusWithin;\n    if (!shouldRefocus) return;\n    var node = (_descendants$item = descendants.item(focusedIndex)) == null ? void 0 : _descendants$item.node;\n    if (node) {\n      focus(node, {\n        selectTextIfInput: false,\n        preventScroll: false\n      });\n    }\n  }, [isOpen, focusedIndex, descendants]);\n  return {\n    openAndFocusMenu: openAndFocusMenu,\n    openAndFocusFirstItem: openAndFocusFirstItem,\n    openAndFocusLastItem: openAndFocusLastItem,\n    onTransitionEnd: refocus,\n    unstable__animationState: animationState,\n    descendants: descendants,\n    popper: popper,\n    buttonId: buttonId,\n    menuId: menuId,\n    forceUpdate: popper.forceUpdate,\n    orientation: \"vertical\",\n    isOpen: isOpen,\n    onToggle: onToggle,\n    onOpen: onOpen,\n    onClose: onClose,\n    menuRef: menuRef,\n    buttonRef: buttonRef,\n    focusedIndex: focusedIndex,\n    closeOnSelect: closeOnSelect,\n    closeOnBlur: closeOnBlur,\n    autoSelect: autoSelect,\n    setFocusedIndex: setFocusedIndex,\n    isLazy: isLazy,\n    lazyBehavior: lazyBehavior\n  };\n}\n\n/**\n * React Hook to manage a menu button.\n *\n * The assumption here is that the `useMenu` hook is used\n * in a component higher up the tree, and its return value\n * is passed as `context` to this hook.\n */\nfunction useMenuButton(props, externalRef) {\n  if (props === void 0) {\n    props = {};\n  }\n  if (externalRef === void 0) {\n    externalRef = null;\n  }\n  var menu = useMenuContext();\n  var onToggle = menu.onToggle,\n    popper = menu.popper,\n    openAndFocusFirstItem = menu.openAndFocusFirstItem,\n    openAndFocusLastItem = menu.openAndFocusLastItem;\n  var onKeyDown = React.useCallback(function (event) {\n    var eventKey = normalizeEventKey(event);\n    var keyMap = {\n      Enter: openAndFocusFirstItem,\n      ArrowDown: openAndFocusFirstItem,\n      ArrowUp: openAndFocusLastItem\n    };\n    var action = keyMap[eventKey];\n    if (action) {\n      event.preventDefault();\n      event.stopPropagation();\n      action(event);\n    }\n  }, [openAndFocusFirstItem, openAndFocusLastItem]);\n  return _extends({}, props, {\n    ref: mergeRefs(menu.buttonRef, externalRef, popper.referenceRef),\n    id: menu.buttonId,\n    \"data-active\": dataAttr(menu.isOpen),\n    \"aria-expanded\": menu.isOpen,\n    \"aria-haspopup\": \"menu\",\n    \"aria-controls\": menu.menuId,\n    onClick: callAllHandlers(props.onClick, onToggle),\n    onKeyDown: callAllHandlers(props.onKeyDown, onKeyDown)\n  });\n}\nfunction isTargetMenuItem(target) {\n  var _target$getAttribute;\n\n  // this will catch `menuitem`, `menuitemradio`, `menuitemcheckbox`\n  return isHTMLElement(target) && !!((_target$getAttribute = target.getAttribute(\"role\")) != null && _target$getAttribute.startsWith(\"menuitem\"));\n}\n/* -------------------------------------------------------------------------------------------------\n * useMenuList\n * -----------------------------------------------------------------------------------------------*/\n\n/**\n * React Hook to manage a menu list.\n *\n * The assumption here is that the `useMenu` hook is used\n * in a component higher up the tree, and its return value\n * is passed as `context` to this hook.\n */\nfunction useMenuList(props, ref) {\n  if (props === void 0) {\n    props = {};\n  }\n  if (ref === void 0) {\n    ref = null;\n  }\n  var menu = useMenuContext();\n  if (!menu) {\n    throw new Error(\"useMenuContext: context is undefined. Seems you forgot to wrap component within <Menu>\");\n  }\n  var focusedIndex = menu.focusedIndex,\n    setFocusedIndex = menu.setFocusedIndex,\n    menuRef = menu.menuRef,\n    isOpen = menu.isOpen,\n    onClose = menu.onClose,\n    menuId = menu.menuId,\n    isLazy = menu.isLazy,\n    lazyBehavior = menu.lazyBehavior,\n    animated = menu.unstable__animationState;\n  var descendants = useMenuDescendantsContext();\n  /**\n   * Hook that creates a keydown event handler that listens\n   * to printable keyboard character press\n   */\n\n  var createTypeaheadHandler = useShortcut({\n    preventDefault: function preventDefault(event) {\n      return event.key !== \" \" && isTargetMenuItem(event.target);\n    }\n  });\n  var onKeyDown = React.useCallback(function (event) {\n    var eventKey = normalizeEventKey(event);\n    var keyMap = {\n      Tab: function Tab(event) {\n        return event.preventDefault();\n      },\n      Escape: onClose,\n      ArrowDown: function ArrowDown() {\n        var next = descendants.nextEnabled(focusedIndex);\n        if (next) setFocusedIndex(next.index);\n      },\n      ArrowUp: function ArrowUp() {\n        var prev = descendants.prevEnabled(focusedIndex);\n        if (prev) setFocusedIndex(prev.index);\n      }\n    };\n    var fn = keyMap[eventKey];\n    if (fn) {\n      event.preventDefault();\n      fn(event);\n      return;\n    }\n    /**\n     * Typeahead: Based on current character pressed,\n     * find the next item to be selected\n     */\n\n    var onTypeahead = createTypeaheadHandler(function (character) {\n      var nextItem = getNextItemFromSearch(descendants.values(), character, function (item) {\n        var _item$node$textConten, _item$node;\n        return (_item$node$textConten = item == null ? void 0 : (_item$node = item.node) == null ? void 0 : _item$node.textContent) != null ? _item$node$textConten : \"\";\n      }, descendants.item(focusedIndex));\n      if (nextItem) {\n        var index = descendants.indexOf(nextItem.node);\n        setFocusedIndex(index);\n      }\n    });\n    if (isTargetMenuItem(event.target)) {\n      onTypeahead(event);\n    }\n  }, [descendants, focusedIndex, createTypeaheadHandler, onClose, setFocusedIndex]);\n  var hasBeenOpened = React.useRef(false);\n  if (isOpen) {\n    hasBeenOpened.current = true;\n  }\n  var shouldRenderChildren = determineLazyBehavior({\n    hasBeenSelected: hasBeenOpened.current,\n    isLazy: isLazy,\n    lazyBehavior: lazyBehavior,\n    isSelected: animated.present\n  });\n  return _extends({}, props, {\n    ref: mergeRefs(menuRef, ref),\n    children: shouldRenderChildren ? props.children : null,\n    tabIndex: -1,\n    role: \"menu\",\n    id: menuId,\n    style: _extends({}, props.style, {\n      transformOrigin: \"var(--popper-transform-origin)\"\n    }),\n    \"aria-orientation\": \"vertical\",\n    onKeyDown: callAllHandlers(props.onKeyDown, onKeyDown)\n  });\n}\n/* -------------------------------------------------------------------------------------------------\n * useMenuPosition: Composes usePopper to position the menu\n * -----------------------------------------------------------------------------------------------*/\n\nfunction useMenuPositioner(props) {\n  if (props === void 0) {\n    props = {};\n  }\n  var _useMenuContext = useMenuContext(),\n    popper = _useMenuContext.popper,\n    isOpen = _useMenuContext.isOpen;\n  return popper.getPopperProps(_extends({}, props, {\n    style: _extends({\n      visibility: isOpen ? \"visible\" : \"hidden\"\n    }, props.style)\n  }));\n}\n/* -------------------------------------------------------------------------------------------------\n * useMenuItem: Hook for each menu item within the menu list.\n   We also use it in `useMenuItemOption`\n * -----------------------------------------------------------------------------------------------*/\n\nfunction useMenuItem(props, externalRef) {\n  if (props === void 0) {\n    props = {};\n  }\n  if (externalRef === void 0) {\n    externalRef = null;\n  }\n  var _props2 = props,\n    onMouseEnterProp = _props2.onMouseEnter,\n    onMouseMoveProp = _props2.onMouseMove,\n    onMouseLeaveProp = _props2.onMouseLeave,\n    onClickProp = _props2.onClick,\n    isDisabled = _props2.isDisabled,\n    isFocusable = _props2.isFocusable,\n    closeOnSelect = _props2.closeOnSelect,\n    typeProp = _props2.type,\n    htmlProps = _objectWithoutPropertiesLoose(_props2, _excluded2$1);\n  var menu = useMenuContext();\n  var setFocusedIndex = menu.setFocusedIndex,\n    focusedIndex = menu.focusedIndex,\n    menuCloseOnSelect = menu.closeOnSelect,\n    onClose = menu.onClose,\n    menuRef = menu.menuRef,\n    isOpen = menu.isOpen,\n    menuId = menu.menuId;\n  var ref = React.useRef(null);\n  var id = menuId + \"-menuitem-\" + useId();\n  /**\n   * Register the menuitem's node into the domContext\n   */\n\n  var _useMenuDescendant = useMenuDescendant({\n      disabled: isDisabled && !isFocusable\n    }),\n    index = _useMenuDescendant.index,\n    register = _useMenuDescendant.register;\n  var onMouseEnter = React.useCallback(function (event) {\n    onMouseEnterProp == null ? void 0 : onMouseEnterProp(event);\n    if (isDisabled) return;\n    setFocusedIndex(index);\n  }, [setFocusedIndex, index, isDisabled, onMouseEnterProp]);\n  var onMouseMove = React.useCallback(function (event) {\n    onMouseMoveProp == null ? void 0 : onMouseMoveProp(event);\n    if (ref.current && !isActiveElement(ref.current)) {\n      onMouseEnter(event);\n    }\n  }, [onMouseEnter, onMouseMoveProp]);\n  var onMouseLeave = React.useCallback(function (event) {\n    onMouseLeaveProp == null ? void 0 : onMouseLeaveProp(event);\n    if (isDisabled) return;\n    setFocusedIndex(-1);\n  }, [setFocusedIndex, isDisabled, onMouseLeaveProp]);\n  var onClick = React.useCallback(function (event) {\n    onClickProp == null ? void 0 : onClickProp(event);\n    if (!isTargetMenuItem(event.currentTarget)) return;\n    /**\n     * Close menu and parent menus, allowing the MenuItem\n     * to override its parent menu's `closeOnSelect` prop.\n     */\n\n    if (closeOnSelect != null ? closeOnSelect : menuCloseOnSelect) {\n      onClose();\n    }\n  }, [onClose, onClickProp, menuCloseOnSelect, closeOnSelect]);\n  var isFocused = index === focusedIndex;\n  var trulyDisabled = isDisabled && !isFocusable;\n  useUpdateEffect(function () {\n    if (!isOpen) return;\n    if (isFocused && !trulyDisabled && ref.current) {\n      focus(ref.current, {\n        nextTick: true,\n        selectTextIfInput: false,\n        preventScroll: false\n      });\n    } else if (menuRef.current && !isActiveElement(menuRef.current)) {\n      focus(menuRef.current, {\n        preventScroll: false\n      });\n    }\n  }, [isFocused, trulyDisabled, menuRef, isOpen]);\n  var clickableProps = useClickable({\n    onClick: onClick,\n    onMouseEnter: onMouseEnter,\n    onMouseMove: onMouseMove,\n    onMouseLeave: onMouseLeave,\n    ref: mergeRefs(register, ref, externalRef),\n    isDisabled: isDisabled,\n    isFocusable: isFocusable\n  });\n  return _extends({}, htmlProps, clickableProps, {\n    type: typeProp != null ? typeProp : clickableProps.type,\n    id: id,\n    role: \"menuitem\",\n    tabIndex: isFocused ? 0 : -1\n  });\n}\n/* -------------------------------------------------------------------------------------------------\n * useMenuOption: Composes useMenuItem to provide a selectable/checkable menu item\n * -----------------------------------------------------------------------------------------------*/\n\nfunction useMenuOption(props, ref) {\n  if (props === void 0) {\n    props = {};\n  }\n  if (ref === void 0) {\n    ref = null;\n  }\n  var _props3 = props,\n    _props3$type = _props3.type,\n    type = _props3$type === void 0 ? \"radio\" : _props3$type,\n    isChecked = _props3.isChecked,\n    rest = _objectWithoutPropertiesLoose(_props3, _excluded3$1);\n  var ownProps = useMenuItem(rest, ref);\n  return _extends({}, ownProps, {\n    role: \"menuitem\" + type,\n    \"aria-checked\": isChecked\n  });\n}\n/* -------------------------------------------------------------------------------------------------\n * useMenuOptionGroup: Manages the state of multiple selectable menuitem or menu option\n * -----------------------------------------------------------------------------------------------*/\n\nfunction useMenuOptionGroup(props) {\n  if (props === void 0) {\n    props = {};\n  }\n  var _props4 = props,\n    children = _props4.children,\n    _props4$type = _props4.type,\n    type = _props4$type === void 0 ? \"radio\" : _props4$type,\n    valueProp = _props4.value,\n    defaultValue = _props4.defaultValue,\n    onChangeProp = _props4.onChange,\n    htmlProps = _objectWithoutPropertiesLoose(_props4, _excluded4$1);\n  var isRadio = type === \"radio\";\n  var fallback = isRadio ? \"\" : [];\n  var _useControllableState = useControllableState({\n      defaultValue: defaultValue != null ? defaultValue : fallback,\n      value: valueProp,\n      onChange: onChangeProp\n    }),\n    value = _useControllableState[0],\n    setValue = _useControllableState[1];\n  var onChange = React.useCallback(function (selectedValue) {\n    if (type === \"radio\" && isString(value)) {\n      setValue(selectedValue);\n    }\n    if (type === \"checkbox\" && isArray(value)) {\n      var nextValue = value.includes(selectedValue) ? removeItem(value, selectedValue) : addItem(value, selectedValue);\n      setValue(nextValue);\n    }\n  }, [value, setValue, type]);\n  var validChildren = getValidChildren(children);\n  var clones = validChildren.map(function (child) {\n    /**\n     * We've added an internal `id` to each `MenuItemOption`,\n     * let's use that for type-checking.\n     *\n     * We can't rely on displayName or the element's type since\n     * they can be changed by the user.\n     */\n    if (child.type.id !== \"MenuItemOption\") return child;\n    var onClick = function onClick(event) {\n      onChange(child.props.value);\n      child.props.onClick == null ? void 0 : child.props.onClick(event);\n    };\n    var isChecked = type === \"radio\" ? child.props.value === value : value.includes(child.props.value);\n    return /*#__PURE__*/React.cloneElement(child, {\n      type: type,\n      onClick: onClick,\n      isChecked: isChecked\n    });\n  });\n  return _extends({}, htmlProps, {\n    children: clones\n  });\n}\nfunction useMenuState() {\n  var _useMenuContext2 = useMenuContext(),\n    isOpen = _useMenuContext2.isOpen,\n    onClose = _useMenuContext2.onClose;\n  return {\n    isOpen: isOpen,\n    onClose: onClose\n  };\n}\nvar _excluded = [\"descendants\"],\n  _excluded2 = [\"children\", \"as\"],\n  _excluded3 = [\"rootProps\"],\n  _excluded4 = [\"type\"],\n  _excluded5 = [\"icon\", \"iconSpacing\", \"command\", \"commandSpacing\", \"children\"],\n  _excluded6 = [\"icon\", \"iconSpacing\"],\n  _excluded7 = [\"className\", \"title\"],\n  _excluded8 = [\"title\", \"children\", \"className\"],\n  _excluded9 = [\"className\", \"children\"],\n  _excluded10 = [\"className\"];\n\n/**\n * Menu provides context, state, and focus management\n * to its sub-components. It doesn't render any DOM node.\n */\nvar Menu = function Menu(props) {\n  var children = props.children;\n  var styles = useMultiStyleConfig(\"Menu\", props);\n  var ownProps = omitThemingProps(props);\n  var _useTheme = useTheme(),\n    direction = _useTheme.direction;\n  var _useMenu = useMenu(_extends({}, ownProps, {\n      direction: direction\n    })),\n    descendants = _useMenu.descendants,\n    ctx = _objectWithoutPropertiesLoose(_useMenu, _excluded);\n  var context = React.useMemo(function () {\n    return ctx;\n  }, [ctx]);\n  var isOpen = context.isOpen,\n    onClose = context.onClose,\n    forceUpdate = context.forceUpdate;\n  return /*#__PURE__*/React.createElement(MenuDescendantsProvider, {\n    value: descendants\n  }, /*#__PURE__*/React.createElement(MenuProvider, {\n    value: context\n  }, /*#__PURE__*/React.createElement(StylesProvider, {\n    value: styles\n  }, runIfFn(children, {\n    isOpen: isOpen,\n    onClose: onClose,\n    forceUpdate: forceUpdate\n  }))));\n};\nif (__DEV__) {\n  Menu.displayName = \"Menu\";\n}\nvar StyledMenuButton = /*#__PURE__*/forwardRef(function (props, ref) {\n  var styles = useStyles();\n  return /*#__PURE__*/React.createElement(chakra.button, _extends({\n    ref: ref\n  }, props, {\n    __css: _extends({\n      display: \"inline-flex\",\n      appearance: \"none\",\n      alignItems: \"center\",\n      outline: 0\n    }, styles.button)\n  }));\n});\n/**\n * The trigger for the menu list. Must be a direct child of `Menu`.\n */\n\nvar MenuButton = /*#__PURE__*/forwardRef(function (props, ref) {\n  props.children;\n  var As = props.as,\n    rest = _objectWithoutPropertiesLoose(props, _excluded2);\n  var buttonProps = useMenuButton(rest, ref);\n  var Element = As || StyledMenuButton;\n  return /*#__PURE__*/React.createElement(Element, _extends({}, buttonProps, {\n    className: cx(\"chakra-menu__menu-button\", props.className)\n  }), /*#__PURE__*/React.createElement(chakra.span, {\n    __css: {\n      pointerEvents: \"none\",\n      flex: \"1 1 auto\",\n      minW: 0\n    }\n  }, props.children));\n});\nif (__DEV__) {\n  MenuButton.displayName = \"MenuButton\";\n}\nvar motionVariants = {\n  enter: {\n    visibility: \"visible\",\n    opacity: 1,\n    scale: 1,\n    transition: {\n      duration: 0.2,\n      ease: [0.4, 0, 0.2, 1]\n    }\n  },\n  exit: {\n    transitionEnd: {\n      visibility: \"hidden\"\n    },\n    opacity: 0,\n    scale: 0.8,\n    transition: {\n      duration: 0.1,\n      easings: \"easeOut\"\n    }\n  }\n};\nfunction __motion(el) {\n  var m = motion;\n  if (\"custom\" in m && typeof m.custom === \"function\") {\n    return m.custom(el);\n  }\n  return m(el);\n} // @future: only call `motion(chakra.div)` when we drop framer-motion v3 support\n\nvar MenuTransition = __motion(chakra.div);\nvar MenuList = /*#__PURE__*/forwardRef(function (props, ref) {\n  var _props$zIndex, _styles$list;\n  var rootProps = props.rootProps,\n    rest = _objectWithoutPropertiesLoose(props, _excluded3);\n  var _useMenuContext = useMenuContext(),\n    isOpen = _useMenuContext.isOpen,\n    onTransitionEnd = _useMenuContext.onTransitionEnd,\n    animated = _useMenuContext.unstable__animationState;\n  var ownProps = useMenuList(rest, ref);\n  var positionerProps = useMenuPositioner(rootProps);\n  var styles = useStyles();\n  return /*#__PURE__*/React.createElement(chakra.div, _extends({}, positionerProps, {\n    __css: {\n      zIndex: (_props$zIndex = props.zIndex) != null ? _props$zIndex : (_styles$list = styles.list) == null ? void 0 : _styles$list.zIndex\n    }\n  }), /*#__PURE__*/React.createElement(MenuTransition, _extends({}, ownProps, {\n    /**\n     * We could call this on either `onAnimationComplete` or `onUpdate`.\n     * It seems the re-focusing works better with the `onUpdate`\n     */\n    onUpdate: onTransitionEnd,\n    onAnimationComplete: callAll(animated.onComplete, ownProps.onAnimationComplete),\n    className: cx(\"chakra-menu__menu-list\", ownProps.className),\n    variants: motionVariants,\n    initial: false,\n    animate: isOpen ? \"enter\" : \"exit\",\n    __css: _extends({\n      outline: 0\n    }, styles.list)\n  })));\n});\nif (__DEV__) {\n  MenuList.displayName = \"MenuList\";\n}\nvar StyledMenuItem = /*#__PURE__*/forwardRef(function (props, ref) {\n  var type = props.type,\n    rest = _objectWithoutPropertiesLoose(props, _excluded4);\n  var styles = useStyles();\n  /**\n   * Given another component, use its type if present\n   * Else, use no type to avoid invalid html, e.g. <a type=\"button\" />\n   * Else, fall back to \"button\"\n   */\n\n  var btnType = rest.as || type ? type != null ? type : undefined : \"button\";\n  var buttonStyles = React.useMemo(function () {\n    return _extends({\n      textDecoration: \"none\",\n      color: \"inherit\",\n      userSelect: \"none\",\n      display: \"flex\",\n      width: \"100%\",\n      alignItems: \"center\",\n      textAlign: \"start\",\n      flex: \"0 0 auto\",\n      outline: 0\n    }, styles.item);\n  }, [styles.item]);\n  return /*#__PURE__*/React.createElement(chakra.button, _extends({\n    ref: ref,\n    type: btnType\n  }, rest, {\n    __css: buttonStyles\n  }));\n});\nvar MenuItem = /*#__PURE__*/forwardRef(function (props, ref) {\n  var icon = props.icon,\n    _props$iconSpacing = props.iconSpacing,\n    iconSpacing = _props$iconSpacing === void 0 ? \"0.75rem\" : _props$iconSpacing,\n    command = props.command,\n    _props$commandSpacing = props.commandSpacing,\n    commandSpacing = _props$commandSpacing === void 0 ? \"0.75rem\" : _props$commandSpacing,\n    children = props.children,\n    rest = _objectWithoutPropertiesLoose(props, _excluded5);\n  var menuitemProps = useMenuItem(rest, ref);\n  var shouldWrap = icon || command;\n  var _children = shouldWrap ? /*#__PURE__*/React.createElement(\"span\", {\n    style: {\n      pointerEvents: \"none\",\n      flex: 1\n    }\n  }, children) : children;\n  return /*#__PURE__*/React.createElement(StyledMenuItem, _extends({}, menuitemProps, {\n    className: cx(\"chakra-menu__menuitem\", menuitemProps.className)\n  }), icon && /*#__PURE__*/React.createElement(MenuIcon, {\n    fontSize: \"0.8em\",\n    marginEnd: iconSpacing\n  }, icon), _children, command && /*#__PURE__*/React.createElement(MenuCommand, {\n    marginStart: commandSpacing\n  }, command));\n});\nif (__DEV__) {\n  MenuItem.displayName = \"MenuItem\";\n}\nvar CheckIcon = function CheckIcon(props) {\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    viewBox: \"0 0 14 14\",\n    width: \"1em\",\n    height: \"1em\"\n  }, props), /*#__PURE__*/React.createElement(\"polygon\", {\n    fill: \"currentColor\",\n    points: \"5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039\"\n  }));\n};\nvar MenuItemOption = /*#__PURE__*/forwardRef(function (props, ref) {\n  // menu option item should always be `type=button`, so we omit `type`\n  var icon = props.icon,\n    _props$iconSpacing2 = props.iconSpacing,\n    iconSpacing = _props$iconSpacing2 === void 0 ? \"0.75rem\" : _props$iconSpacing2,\n    rest = _objectWithoutPropertiesLoose(props, _excluded6);\n  var optionProps = useMenuOption(rest, ref);\n  return /*#__PURE__*/React.createElement(StyledMenuItem, _extends({}, optionProps, {\n    className: cx(\"chakra-menu__menuitem-option\", rest.className)\n  }), icon !== null && /*#__PURE__*/React.createElement(MenuIcon, {\n    fontSize: \"0.8em\",\n    marginEnd: iconSpacing,\n    opacity: props.isChecked ? 1 : 0\n  }, icon || /*#__PURE__*/React.createElement(CheckIcon, null)), /*#__PURE__*/React.createElement(\"span\", {\n    style: {\n      flex: 1\n    }\n  }, optionProps.children));\n});\nMenuItemOption.id = \"MenuItemOption\";\nif (__DEV__) {\n  MenuItemOption.displayName = \"MenuItemOption\";\n}\nvar MenuOptionGroup = function MenuOptionGroup(props) {\n  var className = props.className,\n    title = props.title,\n    rest = _objectWithoutPropertiesLoose(props, _excluded7);\n  var ownProps = useMenuOptionGroup(rest);\n  return /*#__PURE__*/React.createElement(MenuGroup, _extends({\n    title: title,\n    className: cx(\"chakra-menu__option-group\", className)\n  }, ownProps));\n};\nif (__DEV__) {\n  MenuOptionGroup.displayName = \"MenuOptionGroup\";\n}\nvar MenuGroup = /*#__PURE__*/forwardRef(function (props, ref) {\n  var title = props.title,\n    children = props.children,\n    className = props.className,\n    rest = _objectWithoutPropertiesLoose(props, _excluded8);\n  var _className = cx(\"chakra-menu__group__title\", className);\n  var styles = useStyles();\n  return /*#__PURE__*/React.createElement(\"div\", {\n    ref: ref,\n    className: \"chakra-menu__group\",\n    role: \"group\"\n  }, title && /*#__PURE__*/React.createElement(chakra.p, _extends({\n    className: _className\n  }, rest, {\n    __css: styles.groupTitle\n  }), title), children);\n});\nif (__DEV__) {\n  MenuGroup.displayName = \"MenuGroup\";\n}\nvar MenuCommand = /*#__PURE__*/forwardRef(function (props, ref) {\n  var styles = useStyles();\n  return /*#__PURE__*/React.createElement(chakra.span, _extends({\n    ref: ref\n  }, props, {\n    __css: styles.command,\n    className: \"chakra-menu__command\"\n  }));\n});\nif (__DEV__) {\n  MenuCommand.displayName = \"MenuCommand\";\n}\nvar MenuIcon = function MenuIcon(props) {\n  var className = props.className,\n    children = props.children,\n    rest = _objectWithoutPropertiesLoose(props, _excluded9);\n  var child = React.Children.only(children);\n  var clone = /*#__PURE__*/React.isValidElement(child) ? /*#__PURE__*/React.cloneElement(child, {\n    focusable: \"false\",\n    \"aria-hidden\": true,\n    className: cx(\"chakra-menu__icon\", child.props.className)\n  }) : null;\n  var _className = cx(\"chakra-menu__icon-wrapper\", className);\n  return /*#__PURE__*/React.createElement(chakra.span, _extends({\n    className: _className\n  }, rest, {\n    __css: {\n      flexShrink: 0\n    }\n  }), clone);\n};\nif (__DEV__) {\n  MenuIcon.displayName = \"MenuIcon\";\n}\nvar MenuDivider = function MenuDivider(props) {\n  var className = props.className,\n    rest = _objectWithoutPropertiesLoose(props, _excluded10);\n  var styles = useStyles();\n  return /*#__PURE__*/React.createElement(chakra.hr, _extends({\n    role: \"separator\",\n    \"aria-orientation\": \"horizontal\",\n    className: cx(\"chakra-menu__divider\", className)\n  }, rest, {\n    __css: styles.divider\n  }));\n};\nif (__DEV__) {\n  MenuDivider.displayName = \"MenuDivider\";\n}\nexport { Menu, MenuButton, MenuCommand, MenuDescendantsProvider, MenuDivider, MenuGroup, MenuIcon, MenuItem, MenuItemOption, MenuList, MenuOptionGroup, MenuProvider, useMenu, useMenuButton, useMenuContext, useMenuDescendant, useMenuDescendants, useMenuDescendantsContext, useMenuItem, useMenuList, useMenuOption, useMenuOptionGroup, useMenuPositioner, useMenuState };","map":{"version":3,"names":["useMultiStyleConfig","omitThemingProps","useTheme","StylesProvider","forwardRef","chakra","useStyles","focus","getOwnerDocument","normalizeEventKey","dataAttr","callAllHandlers","isHTMLElement","getNextItemFromSearch","determineLazyBehavior","isActiveElement","isString","isArray","removeItem","addItem","runIfFn","__DEV__","cx","callAll","motion","React","useClickable","createDescendantContext","useDisclosure","useOutsideClick","useUpdateEffect","useFocusOnHide","useIds","useUnmountEffect","useShortcut","useId","useControllableState","useAnimationState","usePopper","createContext","mergeRefs","getValidChildren","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf","_excluded$1","_excluded2$1","_excluded3$1","_excluded4$1","_createDescendantCont","MenuDescendantsProvider","useMenuDescendantsContext","useMenuDescendants","useMenuDescendant","_createContext","strict","name","MenuProvider","useMenuContext","useMenu","props","_props","id","_props$closeOnSelect","closeOnSelect","_props$closeOnBlur","closeOnBlur","_props$autoSelect","autoSelect","isLazy","isOpenProp","isOpen","defaultIsOpen","onCloseProp","onClose","onOpenProp","onOpen","_props$placement","placement","_props$lazyBehavior","lazyBehavior","direction","_props$computePositio","computePositionOnMount","popperProps","menuRef","useRef","buttonRef","descendants","focusMenu","useCallback","current","nextTick","selectTextIfInput","focusFirstItem","setTimeout","first","firstEnabled","setFocusedIndex","index","timeoutIds","add","focusLastItem","last","lastEnabled","onOpenInternal","_useDisclosure","onToggle","enabled","ref","handler","event","_buttonRef$current","contains","popper","_React$useState","useState","focusedIndex","focusRef","visible","shouldFocus","animationState","_useIds","buttonId","menuId","openAndFocusMenu","Set","forEach","clearTimeout","clear","openAndFocusFirstItem","openAndFocusLastItem","refocus","_menuRef$current","_descendants$item","doc","hasFocusWithin","activeElement","shouldRefocus","node","item","preventScroll","onTransitionEnd","unstable__animationState","forceUpdate","orientation","useMenuButton","externalRef","menu","onKeyDown","eventKey","keyMap","Enter","ArrowDown","ArrowUp","action","preventDefault","stopPropagation","referenceRef","onClick","isTargetMenuItem","_target$getAttribute","getAttribute","startsWith","useMenuList","Error","animated","createTypeaheadHandler","Tab","Escape","next","nextEnabled","prev","prevEnabled","fn","onTypeahead","character","nextItem","values","_item$node$textConten","_item$node","textContent","hasBeenOpened","shouldRenderChildren","hasBeenSelected","isSelected","present","children","tabIndex","role","style","transformOrigin","useMenuPositioner","_useMenuContext","getPopperProps","visibility","useMenuItem","_props2","onMouseEnterProp","onMouseEnter","onMouseMoveProp","onMouseMove","onMouseLeaveProp","onMouseLeave","onClickProp","isDisabled","isFocusable","typeProp","type","htmlProps","menuCloseOnSelect","_useMenuDescendant","disabled","register","currentTarget","isFocused","trulyDisabled","clickableProps","useMenuOption","_props3","_props3$type","isChecked","rest","ownProps","useMenuOptionGroup","_props4","_props4$type","valueProp","value","defaultValue","onChangeProp","onChange","isRadio","fallback","_useControllableState","setValue","selectedValue","nextValue","includes","validChildren","clones","map","child","cloneElement","useMenuState","_useMenuContext2","_excluded","_excluded2","_excluded3","_excluded4","_excluded5","_excluded6","_excluded7","_excluded8","_excluded9","_excluded10","Menu","styles","_useTheme","_useMenu","ctx","context","useMemo","createElement","displayName","StyledMenuButton","button","__css","display","appearance","alignItems","outline","MenuButton","As","as","buttonProps","Element","className","span","pointerEvents","flex","minW","motionVariants","enter","opacity","scale","transition","duration","ease","exit","transitionEnd","easings","__motion","el","m","custom","MenuTransition","div","MenuList","_props$zIndex","_styles$list","rootProps","positionerProps","zIndex","list","onUpdate","onAnimationComplete","onComplete","variants","initial","animate","StyledMenuItem","btnType","undefined","buttonStyles","textDecoration","color","userSelect","width","textAlign","MenuItem","icon","_props$iconSpacing","iconSpacing","command","_props$commandSpacing","commandSpacing","menuitemProps","shouldWrap","_children","MenuIcon","fontSize","marginEnd","MenuCommand","marginStart","CheckIcon","viewBox","height","fill","points","MenuItemOption","_props$iconSpacing2","optionProps","MenuOptionGroup","title","MenuGroup","_className","p","groupTitle","Children","only","clone","isValidElement","focusable","flexShrink","MenuDivider","hr","divider"],"sources":["C:/LDT/DSP_Management/node_modules/@chakra-ui/menu/dist/chakra-ui-menu.esm.js"],"sourcesContent":["import { useMultiStyleConfig, omitThemingProps, useTheme, StylesProvider, forwardRef, chakra, useStyles } from '@chakra-ui/system';\nimport { focus, getOwnerDocument, normalizeEventKey, dataAttr, callAllHandlers, isHTMLElement, getNextItemFromSearch, determineLazyBehavior, isActiveElement, isString, isArray, removeItem, addItem, runIfFn, __DEV__, cx, callAll } from '@chakra-ui/utils';\nimport { motion } from 'framer-motion';\nimport * as React from 'react';\nimport { useClickable } from '@chakra-ui/clickable';\nimport { createDescendantContext } from '@chakra-ui/descendant';\nimport { useDisclosure, useOutsideClick, useUpdateEffect, useFocusOnHide, useIds, useUnmountEffect, useShortcut, useId, useControllableState } from '@chakra-ui/hooks';\nimport { useAnimationState } from '@chakra-ui/hooks/use-animation-state';\nimport { usePopper } from '@chakra-ui/popper';\nimport { createContext, mergeRefs, getValidChildren } from '@chakra-ui/react-utils';\n\nfunction _extends() {\n  _extends = Object.assign || function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n\n    return target;\n  };\n\n  return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n\n  return target;\n}\n\nvar _excluded$1 = [\"id\", \"closeOnSelect\", \"closeOnBlur\", \"autoSelect\", \"isLazy\", \"isOpen\", \"defaultIsOpen\", \"onClose\", \"onOpen\", \"placement\", \"lazyBehavior\", \"direction\", \"computePositionOnMount\"],\n    _excluded2$1 = [\"onMouseEnter\", \"onMouseMove\", \"onMouseLeave\", \"onClick\", \"isDisabled\", \"isFocusable\", \"closeOnSelect\", \"type\"],\n    _excluded3$1 = [\"type\", \"isChecked\"],\n    _excluded4$1 = [\"children\", \"type\", \"value\", \"defaultValue\", \"onChange\"];\n/* -------------------------------------------------------------------------------------------------\n * Create context to track descendants and their indices\n * -----------------------------------------------------------------------------------------------*/\n\nvar _createDescendantCont = createDescendantContext(),\n    MenuDescendantsProvider = _createDescendantCont[0],\n    useMenuDescendantsContext = _createDescendantCont[1],\n    useMenuDescendants = _createDescendantCont[2],\n    useMenuDescendant = _createDescendantCont[3];\n\nvar _createContext = createContext({\n  strict: false,\n  name: \"MenuContext\"\n}),\n    MenuProvider = _createContext[0],\n    useMenuContext = _createContext[1];\n\n/**\n * React Hook to manage a menu\n *\n * It provides the logic and will be used with react context\n * to propagate its return value to all children\n */\nfunction useMenu(props) {\n  if (props === void 0) {\n    props = {};\n  }\n\n  var _props = props,\n      id = _props.id,\n      _props$closeOnSelect = _props.closeOnSelect,\n      closeOnSelect = _props$closeOnSelect === void 0 ? true : _props$closeOnSelect,\n      _props$closeOnBlur = _props.closeOnBlur,\n      closeOnBlur = _props$closeOnBlur === void 0 ? true : _props$closeOnBlur,\n      _props$autoSelect = _props.autoSelect,\n      autoSelect = _props$autoSelect === void 0 ? true : _props$autoSelect,\n      isLazy = _props.isLazy,\n      isOpenProp = _props.isOpen,\n      defaultIsOpen = _props.defaultIsOpen,\n      onCloseProp = _props.onClose,\n      onOpenProp = _props.onOpen,\n      _props$placement = _props.placement,\n      placement = _props$placement === void 0 ? \"bottom-start\" : _props$placement,\n      _props$lazyBehavior = _props.lazyBehavior,\n      lazyBehavior = _props$lazyBehavior === void 0 ? \"unmount\" : _props$lazyBehavior,\n      direction = _props.direction,\n      _props$computePositio = _props.computePositionOnMount,\n      computePositionOnMount = _props$computePositio === void 0 ? false : _props$computePositio,\n      popperProps = _objectWithoutPropertiesLoose(_props, _excluded$1);\n  /**\n   * Prepare the reference to the menu and disclosure\n   */\n\n\n  var menuRef = React.useRef(null);\n  var buttonRef = React.useRef(null);\n  /**\n   * Context to register all menu item nodes\n   */\n\n  var descendants = useMenuDescendants();\n  var focusMenu = React.useCallback(function () {\n    focus(menuRef.current, {\n      nextTick: true,\n      selectTextIfInput: false\n    });\n  }, []);\n  var focusFirstItem = React.useCallback(function () {\n    var id = setTimeout(function () {\n      var first = descendants.firstEnabled();\n      if (first) setFocusedIndex(first.index);\n    });\n    timeoutIds.current.add(id);\n  }, [descendants]);\n  var focusLastItem = React.useCallback(function () {\n    var id = setTimeout(function () {\n      var last = descendants.lastEnabled();\n      if (last) setFocusedIndex(last.index);\n    });\n    timeoutIds.current.add(id);\n  }, [descendants]);\n  var onOpenInternal = React.useCallback(function () {\n    onOpenProp == null ? void 0 : onOpenProp();\n\n    if (autoSelect) {\n      focusFirstItem();\n    } else {\n      focusMenu();\n    }\n  }, [autoSelect, focusFirstItem, focusMenu, onOpenProp]);\n\n  var _useDisclosure = useDisclosure({\n    isOpen: isOpenProp,\n    defaultIsOpen: defaultIsOpen,\n    onClose: onCloseProp,\n    onOpen: onOpenInternal\n  }),\n      isOpen = _useDisclosure.isOpen,\n      onOpen = _useDisclosure.onOpen,\n      onClose = _useDisclosure.onClose,\n      onToggle = _useDisclosure.onToggle;\n\n  useOutsideClick({\n    enabled: isOpen && closeOnBlur,\n    ref: menuRef,\n    handler: function handler(event) {\n      var _buttonRef$current;\n\n      if (!((_buttonRef$current = buttonRef.current) != null && _buttonRef$current.contains(event.target))) {\n        onClose();\n      }\n    }\n  });\n  /**\n   * Add some popper.js for dynamic positioning\n   */\n\n  var popper = usePopper(_extends({}, popperProps, {\n    enabled: isOpen || computePositionOnMount,\n    placement: placement,\n    direction: direction\n  }));\n\n  var _React$useState = React.useState(-1),\n      focusedIndex = _React$useState[0],\n      setFocusedIndex = _React$useState[1];\n  /**\n   * Focus the button when we close the menu\n   */\n\n\n  useUpdateEffect(function () {\n    if (!isOpen) {\n      setFocusedIndex(-1);\n    }\n  }, [isOpen]);\n  useFocusOnHide(menuRef, {\n    focusRef: buttonRef,\n    visible: isOpen,\n    shouldFocus: true\n  });\n  var animationState = useAnimationState({\n    isOpen: isOpen,\n    ref: menuRef\n  });\n  /**\n   * Generate unique ids for menu's list and button\n   */\n\n  var _useIds = useIds(id, \"menu-button\", \"menu-list\"),\n      buttonId = _useIds[0],\n      menuId = _useIds[1];\n\n  var openAndFocusMenu = React.useCallback(function () {\n    onOpen();\n    focusMenu();\n  }, [onOpen, focusMenu]);\n  var timeoutIds = React.useRef(new Set([]));\n  useUnmountEffect(function () {\n    timeoutIds.current.forEach(function (id) {\n      return clearTimeout(id);\n    });\n    timeoutIds.current.clear();\n  });\n  var openAndFocusFirstItem = React.useCallback(function () {\n    onOpen();\n    focusFirstItem();\n  }, [focusFirstItem, onOpen]);\n  var openAndFocusLastItem = React.useCallback(function () {\n    onOpen();\n    focusLastItem();\n  }, [onOpen, focusLastItem]);\n  var refocus = React.useCallback(function () {\n    var _menuRef$current, _descendants$item;\n\n    var doc = getOwnerDocument(menuRef.current);\n    var hasFocusWithin = (_menuRef$current = menuRef.current) == null ? void 0 : _menuRef$current.contains(doc.activeElement);\n    var shouldRefocus = isOpen && !hasFocusWithin;\n    if (!shouldRefocus) return;\n    var node = (_descendants$item = descendants.item(focusedIndex)) == null ? void 0 : _descendants$item.node;\n\n    if (node) {\n      focus(node, {\n        selectTextIfInput: false,\n        preventScroll: false\n      });\n    }\n  }, [isOpen, focusedIndex, descendants]);\n  return {\n    openAndFocusMenu: openAndFocusMenu,\n    openAndFocusFirstItem: openAndFocusFirstItem,\n    openAndFocusLastItem: openAndFocusLastItem,\n    onTransitionEnd: refocus,\n    unstable__animationState: animationState,\n    descendants: descendants,\n    popper: popper,\n    buttonId: buttonId,\n    menuId: menuId,\n    forceUpdate: popper.forceUpdate,\n    orientation: \"vertical\",\n    isOpen: isOpen,\n    onToggle: onToggle,\n    onOpen: onOpen,\n    onClose: onClose,\n    menuRef: menuRef,\n    buttonRef: buttonRef,\n    focusedIndex: focusedIndex,\n    closeOnSelect: closeOnSelect,\n    closeOnBlur: closeOnBlur,\n    autoSelect: autoSelect,\n    setFocusedIndex: setFocusedIndex,\n    isLazy: isLazy,\n    lazyBehavior: lazyBehavior\n  };\n}\n\n/**\n * React Hook to manage a menu button.\n *\n * The assumption here is that the `useMenu` hook is used\n * in a component higher up the tree, and its return value\n * is passed as `context` to this hook.\n */\nfunction useMenuButton(props, externalRef) {\n  if (props === void 0) {\n    props = {};\n  }\n\n  if (externalRef === void 0) {\n    externalRef = null;\n  }\n\n  var menu = useMenuContext();\n  var onToggle = menu.onToggle,\n      popper = menu.popper,\n      openAndFocusFirstItem = menu.openAndFocusFirstItem,\n      openAndFocusLastItem = menu.openAndFocusLastItem;\n  var onKeyDown = React.useCallback(function (event) {\n    var eventKey = normalizeEventKey(event);\n    var keyMap = {\n      Enter: openAndFocusFirstItem,\n      ArrowDown: openAndFocusFirstItem,\n      ArrowUp: openAndFocusLastItem\n    };\n    var action = keyMap[eventKey];\n\n    if (action) {\n      event.preventDefault();\n      event.stopPropagation();\n      action(event);\n    }\n  }, [openAndFocusFirstItem, openAndFocusLastItem]);\n  return _extends({}, props, {\n    ref: mergeRefs(menu.buttonRef, externalRef, popper.referenceRef),\n    id: menu.buttonId,\n    \"data-active\": dataAttr(menu.isOpen),\n    \"aria-expanded\": menu.isOpen,\n    \"aria-haspopup\": \"menu\",\n    \"aria-controls\": menu.menuId,\n    onClick: callAllHandlers(props.onClick, onToggle),\n    onKeyDown: callAllHandlers(props.onKeyDown, onKeyDown)\n  });\n}\n\nfunction isTargetMenuItem(target) {\n  var _target$getAttribute;\n\n  // this will catch `menuitem`, `menuitemradio`, `menuitemcheckbox`\n  return isHTMLElement(target) && !!((_target$getAttribute = target.getAttribute(\"role\")) != null && _target$getAttribute.startsWith(\"menuitem\"));\n}\n/* -------------------------------------------------------------------------------------------------\n * useMenuList\n * -----------------------------------------------------------------------------------------------*/\n\n\n/**\n * React Hook to manage a menu list.\n *\n * The assumption here is that the `useMenu` hook is used\n * in a component higher up the tree, and its return value\n * is passed as `context` to this hook.\n */\nfunction useMenuList(props, ref) {\n  if (props === void 0) {\n    props = {};\n  }\n\n  if (ref === void 0) {\n    ref = null;\n  }\n\n  var menu = useMenuContext();\n\n  if (!menu) {\n    throw new Error(\"useMenuContext: context is undefined. Seems you forgot to wrap component within <Menu>\");\n  }\n\n  var focusedIndex = menu.focusedIndex,\n      setFocusedIndex = menu.setFocusedIndex,\n      menuRef = menu.menuRef,\n      isOpen = menu.isOpen,\n      onClose = menu.onClose,\n      menuId = menu.menuId,\n      isLazy = menu.isLazy,\n      lazyBehavior = menu.lazyBehavior,\n      animated = menu.unstable__animationState;\n  var descendants = useMenuDescendantsContext();\n  /**\n   * Hook that creates a keydown event handler that listens\n   * to printable keyboard character press\n   */\n\n  var createTypeaheadHandler = useShortcut({\n    preventDefault: function preventDefault(event) {\n      return event.key !== \" \" && isTargetMenuItem(event.target);\n    }\n  });\n  var onKeyDown = React.useCallback(function (event) {\n    var eventKey = normalizeEventKey(event);\n    var keyMap = {\n      Tab: function Tab(event) {\n        return event.preventDefault();\n      },\n      Escape: onClose,\n      ArrowDown: function ArrowDown() {\n        var next = descendants.nextEnabled(focusedIndex);\n        if (next) setFocusedIndex(next.index);\n      },\n      ArrowUp: function ArrowUp() {\n        var prev = descendants.prevEnabled(focusedIndex);\n        if (prev) setFocusedIndex(prev.index);\n      }\n    };\n    var fn = keyMap[eventKey];\n\n    if (fn) {\n      event.preventDefault();\n      fn(event);\n      return;\n    }\n    /**\n     * Typeahead: Based on current character pressed,\n     * find the next item to be selected\n     */\n\n\n    var onTypeahead = createTypeaheadHandler(function (character) {\n      var nextItem = getNextItemFromSearch(descendants.values(), character, function (item) {\n        var _item$node$textConten, _item$node;\n\n        return (_item$node$textConten = item == null ? void 0 : (_item$node = item.node) == null ? void 0 : _item$node.textContent) != null ? _item$node$textConten : \"\";\n      }, descendants.item(focusedIndex));\n\n      if (nextItem) {\n        var index = descendants.indexOf(nextItem.node);\n        setFocusedIndex(index);\n      }\n    });\n\n    if (isTargetMenuItem(event.target)) {\n      onTypeahead(event);\n    }\n  }, [descendants, focusedIndex, createTypeaheadHandler, onClose, setFocusedIndex]);\n  var hasBeenOpened = React.useRef(false);\n\n  if (isOpen) {\n    hasBeenOpened.current = true;\n  }\n\n  var shouldRenderChildren = determineLazyBehavior({\n    hasBeenSelected: hasBeenOpened.current,\n    isLazy: isLazy,\n    lazyBehavior: lazyBehavior,\n    isSelected: animated.present\n  });\n  return _extends({}, props, {\n    ref: mergeRefs(menuRef, ref),\n    children: shouldRenderChildren ? props.children : null,\n    tabIndex: -1,\n    role: \"menu\",\n    id: menuId,\n    style: _extends({}, props.style, {\n      transformOrigin: \"var(--popper-transform-origin)\"\n    }),\n    \"aria-orientation\": \"vertical\",\n    onKeyDown: callAllHandlers(props.onKeyDown, onKeyDown)\n  });\n}\n/* -------------------------------------------------------------------------------------------------\n * useMenuPosition: Composes usePopper to position the menu\n * -----------------------------------------------------------------------------------------------*/\n\nfunction useMenuPositioner(props) {\n  if (props === void 0) {\n    props = {};\n  }\n\n  var _useMenuContext = useMenuContext(),\n      popper = _useMenuContext.popper,\n      isOpen = _useMenuContext.isOpen;\n\n  return popper.getPopperProps(_extends({}, props, {\n    style: _extends({\n      visibility: isOpen ? \"visible\" : \"hidden\"\n    }, props.style)\n  }));\n}\n/* -------------------------------------------------------------------------------------------------\n * useMenuItem: Hook for each menu item within the menu list.\n   We also use it in `useMenuItemOption`\n * -----------------------------------------------------------------------------------------------*/\n\nfunction useMenuItem(props, externalRef) {\n  if (props === void 0) {\n    props = {};\n  }\n\n  if (externalRef === void 0) {\n    externalRef = null;\n  }\n\n  var _props2 = props,\n      onMouseEnterProp = _props2.onMouseEnter,\n      onMouseMoveProp = _props2.onMouseMove,\n      onMouseLeaveProp = _props2.onMouseLeave,\n      onClickProp = _props2.onClick,\n      isDisabled = _props2.isDisabled,\n      isFocusable = _props2.isFocusable,\n      closeOnSelect = _props2.closeOnSelect,\n      typeProp = _props2.type,\n      htmlProps = _objectWithoutPropertiesLoose(_props2, _excluded2$1);\n\n  var menu = useMenuContext();\n  var setFocusedIndex = menu.setFocusedIndex,\n      focusedIndex = menu.focusedIndex,\n      menuCloseOnSelect = menu.closeOnSelect,\n      onClose = menu.onClose,\n      menuRef = menu.menuRef,\n      isOpen = menu.isOpen,\n      menuId = menu.menuId;\n  var ref = React.useRef(null);\n  var id = menuId + \"-menuitem-\" + useId();\n  /**\n   * Register the menuitem's node into the domContext\n   */\n\n  var _useMenuDescendant = useMenuDescendant({\n    disabled: isDisabled && !isFocusable\n  }),\n      index = _useMenuDescendant.index,\n      register = _useMenuDescendant.register;\n\n  var onMouseEnter = React.useCallback(function (event) {\n    onMouseEnterProp == null ? void 0 : onMouseEnterProp(event);\n    if (isDisabled) return;\n    setFocusedIndex(index);\n  }, [setFocusedIndex, index, isDisabled, onMouseEnterProp]);\n  var onMouseMove = React.useCallback(function (event) {\n    onMouseMoveProp == null ? void 0 : onMouseMoveProp(event);\n\n    if (ref.current && !isActiveElement(ref.current)) {\n      onMouseEnter(event);\n    }\n  }, [onMouseEnter, onMouseMoveProp]);\n  var onMouseLeave = React.useCallback(function (event) {\n    onMouseLeaveProp == null ? void 0 : onMouseLeaveProp(event);\n    if (isDisabled) return;\n    setFocusedIndex(-1);\n  }, [setFocusedIndex, isDisabled, onMouseLeaveProp]);\n  var onClick = React.useCallback(function (event) {\n    onClickProp == null ? void 0 : onClickProp(event);\n    if (!isTargetMenuItem(event.currentTarget)) return;\n    /**\n     * Close menu and parent menus, allowing the MenuItem\n     * to override its parent menu's `closeOnSelect` prop.\n     */\n\n    if (closeOnSelect != null ? closeOnSelect : menuCloseOnSelect) {\n      onClose();\n    }\n  }, [onClose, onClickProp, menuCloseOnSelect, closeOnSelect]);\n  var isFocused = index === focusedIndex;\n  var trulyDisabled = isDisabled && !isFocusable;\n  useUpdateEffect(function () {\n    if (!isOpen) return;\n\n    if (isFocused && !trulyDisabled && ref.current) {\n      focus(ref.current, {\n        nextTick: true,\n        selectTextIfInput: false,\n        preventScroll: false\n      });\n    } else if (menuRef.current && !isActiveElement(menuRef.current)) {\n      focus(menuRef.current, {\n        preventScroll: false\n      });\n    }\n  }, [isFocused, trulyDisabled, menuRef, isOpen]);\n  var clickableProps = useClickable({\n    onClick: onClick,\n    onMouseEnter: onMouseEnter,\n    onMouseMove: onMouseMove,\n    onMouseLeave: onMouseLeave,\n    ref: mergeRefs(register, ref, externalRef),\n    isDisabled: isDisabled,\n    isFocusable: isFocusable\n  });\n  return _extends({}, htmlProps, clickableProps, {\n    type: typeProp != null ? typeProp : clickableProps.type,\n    id: id,\n    role: \"menuitem\",\n    tabIndex: isFocused ? 0 : -1\n  });\n}\n/* -------------------------------------------------------------------------------------------------\n * useMenuOption: Composes useMenuItem to provide a selectable/checkable menu item\n * -----------------------------------------------------------------------------------------------*/\n\nfunction useMenuOption(props, ref) {\n  if (props === void 0) {\n    props = {};\n  }\n\n  if (ref === void 0) {\n    ref = null;\n  }\n\n  var _props3 = props,\n      _props3$type = _props3.type,\n      type = _props3$type === void 0 ? \"radio\" : _props3$type,\n      isChecked = _props3.isChecked,\n      rest = _objectWithoutPropertiesLoose(_props3, _excluded3$1);\n\n  var ownProps = useMenuItem(rest, ref);\n  return _extends({}, ownProps, {\n    role: \"menuitem\" + type,\n    \"aria-checked\": isChecked\n  });\n}\n/* -------------------------------------------------------------------------------------------------\n * useMenuOptionGroup: Manages the state of multiple selectable menuitem or menu option\n * -----------------------------------------------------------------------------------------------*/\n\nfunction useMenuOptionGroup(props) {\n  if (props === void 0) {\n    props = {};\n  }\n\n  var _props4 = props,\n      children = _props4.children,\n      _props4$type = _props4.type,\n      type = _props4$type === void 0 ? \"radio\" : _props4$type,\n      valueProp = _props4.value,\n      defaultValue = _props4.defaultValue,\n      onChangeProp = _props4.onChange,\n      htmlProps = _objectWithoutPropertiesLoose(_props4, _excluded4$1);\n\n  var isRadio = type === \"radio\";\n  var fallback = isRadio ? \"\" : [];\n\n  var _useControllableState = useControllableState({\n    defaultValue: defaultValue != null ? defaultValue : fallback,\n    value: valueProp,\n    onChange: onChangeProp\n  }),\n      value = _useControllableState[0],\n      setValue = _useControllableState[1];\n\n  var onChange = React.useCallback(function (selectedValue) {\n    if (type === \"radio\" && isString(value)) {\n      setValue(selectedValue);\n    }\n\n    if (type === \"checkbox\" && isArray(value)) {\n      var nextValue = value.includes(selectedValue) ? removeItem(value, selectedValue) : addItem(value, selectedValue);\n      setValue(nextValue);\n    }\n  }, [value, setValue, type]);\n  var validChildren = getValidChildren(children);\n  var clones = validChildren.map(function (child) {\n    /**\n     * We've added an internal `id` to each `MenuItemOption`,\n     * let's use that for type-checking.\n     *\n     * We can't rely on displayName or the element's type since\n     * they can be changed by the user.\n     */\n    if (child.type.id !== \"MenuItemOption\") return child;\n\n    var onClick = function onClick(event) {\n      onChange(child.props.value);\n      child.props.onClick == null ? void 0 : child.props.onClick(event);\n    };\n\n    var isChecked = type === \"radio\" ? child.props.value === value : value.includes(child.props.value);\n    return /*#__PURE__*/React.cloneElement(child, {\n      type: type,\n      onClick: onClick,\n      isChecked: isChecked\n    });\n  });\n  return _extends({}, htmlProps, {\n    children: clones\n  });\n}\nfunction useMenuState() {\n  var _useMenuContext2 = useMenuContext(),\n      isOpen = _useMenuContext2.isOpen,\n      onClose = _useMenuContext2.onClose;\n\n  return {\n    isOpen: isOpen,\n    onClose: onClose\n  };\n}\n\nvar _excluded = [\"descendants\"],\n    _excluded2 = [\"children\", \"as\"],\n    _excluded3 = [\"rootProps\"],\n    _excluded4 = [\"type\"],\n    _excluded5 = [\"icon\", \"iconSpacing\", \"command\", \"commandSpacing\", \"children\"],\n    _excluded6 = [\"icon\", \"iconSpacing\"],\n    _excluded7 = [\"className\", \"title\"],\n    _excluded8 = [\"title\", \"children\", \"className\"],\n    _excluded9 = [\"className\", \"children\"],\n    _excluded10 = [\"className\"];\n\n/**\n * Menu provides context, state, and focus management\n * to its sub-components. It doesn't render any DOM node.\n */\nvar Menu = function Menu(props) {\n  var children = props.children;\n  var styles = useMultiStyleConfig(\"Menu\", props);\n  var ownProps = omitThemingProps(props);\n\n  var _useTheme = useTheme(),\n      direction = _useTheme.direction;\n\n  var _useMenu = useMenu(_extends({}, ownProps, {\n    direction: direction\n  })),\n      descendants = _useMenu.descendants,\n      ctx = _objectWithoutPropertiesLoose(_useMenu, _excluded);\n\n  var context = React.useMemo(function () {\n    return ctx;\n  }, [ctx]);\n  var isOpen = context.isOpen,\n      onClose = context.onClose,\n      forceUpdate = context.forceUpdate;\n  return /*#__PURE__*/React.createElement(MenuDescendantsProvider, {\n    value: descendants\n  }, /*#__PURE__*/React.createElement(MenuProvider, {\n    value: context\n  }, /*#__PURE__*/React.createElement(StylesProvider, {\n    value: styles\n  }, runIfFn(children, {\n    isOpen: isOpen,\n    onClose: onClose,\n    forceUpdate: forceUpdate\n  }))));\n};\n\nif (__DEV__) {\n  Menu.displayName = \"Menu\";\n}\n\nvar StyledMenuButton = /*#__PURE__*/forwardRef(function (props, ref) {\n  var styles = useStyles();\n  return /*#__PURE__*/React.createElement(chakra.button, _extends({\n    ref: ref\n  }, props, {\n    __css: _extends({\n      display: \"inline-flex\",\n      appearance: \"none\",\n      alignItems: \"center\",\n      outline: 0\n    }, styles.button)\n  }));\n});\n/**\n * The trigger for the menu list. Must be a direct child of `Menu`.\n */\n\nvar MenuButton = /*#__PURE__*/forwardRef(function (props, ref) {\n  props.children;\n      var As = props.as,\n      rest = _objectWithoutPropertiesLoose(props, _excluded2);\n\n  var buttonProps = useMenuButton(rest, ref);\n  var Element = As || StyledMenuButton;\n  return /*#__PURE__*/React.createElement(Element, _extends({}, buttonProps, {\n    className: cx(\"chakra-menu__menu-button\", props.className)\n  }), /*#__PURE__*/React.createElement(chakra.span, {\n    __css: {\n      pointerEvents: \"none\",\n      flex: \"1 1 auto\",\n      minW: 0\n    }\n  }, props.children));\n});\n\nif (__DEV__) {\n  MenuButton.displayName = \"MenuButton\";\n}\n\nvar motionVariants = {\n  enter: {\n    visibility: \"visible\",\n    opacity: 1,\n    scale: 1,\n    transition: {\n      duration: 0.2,\n      ease: [0.4, 0, 0.2, 1]\n    }\n  },\n  exit: {\n    transitionEnd: {\n      visibility: \"hidden\"\n    },\n    opacity: 0,\n    scale: 0.8,\n    transition: {\n      duration: 0.1,\n      easings: \"easeOut\"\n    }\n  }\n};\n\nfunction __motion(el) {\n  var m = motion;\n\n  if (\"custom\" in m && typeof m.custom === \"function\") {\n    return m.custom(el);\n  }\n\n  return m(el);\n} // @future: only call `motion(chakra.div)` when we drop framer-motion v3 support\n\n\nvar MenuTransition = __motion(chakra.div);\n\nvar MenuList = /*#__PURE__*/forwardRef(function (props, ref) {\n  var _props$zIndex, _styles$list;\n\n  var rootProps = props.rootProps,\n      rest = _objectWithoutPropertiesLoose(props, _excluded3);\n\n  var _useMenuContext = useMenuContext(),\n      isOpen = _useMenuContext.isOpen,\n      onTransitionEnd = _useMenuContext.onTransitionEnd,\n      animated = _useMenuContext.unstable__animationState;\n\n  var ownProps = useMenuList(rest, ref);\n  var positionerProps = useMenuPositioner(rootProps);\n  var styles = useStyles();\n  return /*#__PURE__*/React.createElement(chakra.div, _extends({}, positionerProps, {\n    __css: {\n      zIndex: (_props$zIndex = props.zIndex) != null ? _props$zIndex : (_styles$list = styles.list) == null ? void 0 : _styles$list.zIndex\n    }\n  }), /*#__PURE__*/React.createElement(MenuTransition, _extends({}, ownProps, {\n    /**\n     * We could call this on either `onAnimationComplete` or `onUpdate`.\n     * It seems the re-focusing works better with the `onUpdate`\n     */\n    onUpdate: onTransitionEnd,\n    onAnimationComplete: callAll(animated.onComplete, ownProps.onAnimationComplete),\n    className: cx(\"chakra-menu__menu-list\", ownProps.className),\n    variants: motionVariants,\n    initial: false,\n    animate: isOpen ? \"enter\" : \"exit\",\n    __css: _extends({\n      outline: 0\n    }, styles.list)\n  })));\n});\n\nif (__DEV__) {\n  MenuList.displayName = \"MenuList\";\n}\n\nvar StyledMenuItem = /*#__PURE__*/forwardRef(function (props, ref) {\n  var type = props.type,\n      rest = _objectWithoutPropertiesLoose(props, _excluded4);\n\n  var styles = useStyles();\n  /**\n   * Given another component, use its type if present\n   * Else, use no type to avoid invalid html, e.g. <a type=\"button\" />\n   * Else, fall back to \"button\"\n   */\n\n  var btnType = rest.as || type ? type != null ? type : undefined : \"button\";\n  var buttonStyles = React.useMemo(function () {\n    return _extends({\n      textDecoration: \"none\",\n      color: \"inherit\",\n      userSelect: \"none\",\n      display: \"flex\",\n      width: \"100%\",\n      alignItems: \"center\",\n      textAlign: \"start\",\n      flex: \"0 0 auto\",\n      outline: 0\n    }, styles.item);\n  }, [styles.item]);\n  return /*#__PURE__*/React.createElement(chakra.button, _extends({\n    ref: ref,\n    type: btnType\n  }, rest, {\n    __css: buttonStyles\n  }));\n});\nvar MenuItem = /*#__PURE__*/forwardRef(function (props, ref) {\n  var icon = props.icon,\n      _props$iconSpacing = props.iconSpacing,\n      iconSpacing = _props$iconSpacing === void 0 ? \"0.75rem\" : _props$iconSpacing,\n      command = props.command,\n      _props$commandSpacing = props.commandSpacing,\n      commandSpacing = _props$commandSpacing === void 0 ? \"0.75rem\" : _props$commandSpacing,\n      children = props.children,\n      rest = _objectWithoutPropertiesLoose(props, _excluded5);\n\n  var menuitemProps = useMenuItem(rest, ref);\n  var shouldWrap = icon || command;\n\n  var _children = shouldWrap ? /*#__PURE__*/React.createElement(\"span\", {\n    style: {\n      pointerEvents: \"none\",\n      flex: 1\n    }\n  }, children) : children;\n\n  return /*#__PURE__*/React.createElement(StyledMenuItem, _extends({}, menuitemProps, {\n    className: cx(\"chakra-menu__menuitem\", menuitemProps.className)\n  }), icon && /*#__PURE__*/React.createElement(MenuIcon, {\n    fontSize: \"0.8em\",\n    marginEnd: iconSpacing\n  }, icon), _children, command && /*#__PURE__*/React.createElement(MenuCommand, {\n    marginStart: commandSpacing\n  }, command));\n});\n\nif (__DEV__) {\n  MenuItem.displayName = \"MenuItem\";\n}\n\nvar CheckIcon = function CheckIcon(props) {\n  return /*#__PURE__*/React.createElement(\"svg\", _extends({\n    viewBox: \"0 0 14 14\",\n    width: \"1em\",\n    height: \"1em\"\n  }, props), /*#__PURE__*/React.createElement(\"polygon\", {\n    fill: \"currentColor\",\n    points: \"5.5 11.9993304 14 3.49933039 12.5 2 5.5 8.99933039 1.5 4.9968652 0 6.49933039\"\n  }));\n};\n\nvar MenuItemOption = /*#__PURE__*/forwardRef(function (props, ref) {\n  // menu option item should always be `type=button`, so we omit `type`\n  var icon = props.icon,\n      _props$iconSpacing2 = props.iconSpacing,\n      iconSpacing = _props$iconSpacing2 === void 0 ? \"0.75rem\" : _props$iconSpacing2,\n      rest = _objectWithoutPropertiesLoose(props, _excluded6);\n\n  var optionProps = useMenuOption(rest, ref);\n  return /*#__PURE__*/React.createElement(StyledMenuItem, _extends({}, optionProps, {\n    className: cx(\"chakra-menu__menuitem-option\", rest.className)\n  }), icon !== null && /*#__PURE__*/React.createElement(MenuIcon, {\n    fontSize: \"0.8em\",\n    marginEnd: iconSpacing,\n    opacity: props.isChecked ? 1 : 0\n  }, icon || /*#__PURE__*/React.createElement(CheckIcon, null)), /*#__PURE__*/React.createElement(\"span\", {\n    style: {\n      flex: 1\n    }\n  }, optionProps.children));\n});\nMenuItemOption.id = \"MenuItemOption\";\n\nif (__DEV__) {\n  MenuItemOption.displayName = \"MenuItemOption\";\n}\n\nvar MenuOptionGroup = function MenuOptionGroup(props) {\n  var className = props.className,\n      title = props.title,\n      rest = _objectWithoutPropertiesLoose(props, _excluded7);\n\n  var ownProps = useMenuOptionGroup(rest);\n  return /*#__PURE__*/React.createElement(MenuGroup, _extends({\n    title: title,\n    className: cx(\"chakra-menu__option-group\", className)\n  }, ownProps));\n};\n\nif (__DEV__) {\n  MenuOptionGroup.displayName = \"MenuOptionGroup\";\n}\n\nvar MenuGroup = /*#__PURE__*/forwardRef(function (props, ref) {\n  var title = props.title,\n      children = props.children,\n      className = props.className,\n      rest = _objectWithoutPropertiesLoose(props, _excluded8);\n\n  var _className = cx(\"chakra-menu__group__title\", className);\n\n  var styles = useStyles();\n  return /*#__PURE__*/React.createElement(\"div\", {\n    ref: ref,\n    className: \"chakra-menu__group\",\n    role: \"group\"\n  }, title && /*#__PURE__*/React.createElement(chakra.p, _extends({\n    className: _className\n  }, rest, {\n    __css: styles.groupTitle\n  }), title), children);\n});\n\nif (__DEV__) {\n  MenuGroup.displayName = \"MenuGroup\";\n}\n\nvar MenuCommand = /*#__PURE__*/forwardRef(function (props, ref) {\n  var styles = useStyles();\n  return /*#__PURE__*/React.createElement(chakra.span, _extends({\n    ref: ref\n  }, props, {\n    __css: styles.command,\n    className: \"chakra-menu__command\"\n  }));\n});\n\nif (__DEV__) {\n  MenuCommand.displayName = \"MenuCommand\";\n}\n\nvar MenuIcon = function MenuIcon(props) {\n  var className = props.className,\n      children = props.children,\n      rest = _objectWithoutPropertiesLoose(props, _excluded9);\n\n  var child = React.Children.only(children);\n  var clone = /*#__PURE__*/React.isValidElement(child) ? /*#__PURE__*/React.cloneElement(child, {\n    focusable: \"false\",\n    \"aria-hidden\": true,\n    className: cx(\"chakra-menu__icon\", child.props.className)\n  }) : null;\n\n  var _className = cx(\"chakra-menu__icon-wrapper\", className);\n\n  return /*#__PURE__*/React.createElement(chakra.span, _extends({\n    className: _className\n  }, rest, {\n    __css: {\n      flexShrink: 0\n    }\n  }), clone);\n};\n\nif (__DEV__) {\n  MenuIcon.displayName = \"MenuIcon\";\n}\n\nvar MenuDivider = function MenuDivider(props) {\n  var className = props.className,\n      rest = _objectWithoutPropertiesLoose(props, _excluded10);\n\n  var styles = useStyles();\n  return /*#__PURE__*/React.createElement(chakra.hr, _extends({\n    role: \"separator\",\n    \"aria-orientation\": \"horizontal\",\n    className: cx(\"chakra-menu__divider\", className)\n  }, rest, {\n    __css: styles.divider\n  }));\n};\n\nif (__DEV__) {\n  MenuDivider.displayName = \"MenuDivider\";\n}\n\nexport { Menu, MenuButton, MenuCommand, MenuDescendantsProvider, MenuDivider, MenuGroup, MenuIcon, MenuItem, MenuItemOption, MenuList, MenuOptionGroup, MenuProvider, useMenu, useMenuButton, useMenuContext, useMenuDescendant, useMenuDescendants, useMenuDescendantsContext, useMenuItem, useMenuList, useMenuOption, useMenuOptionGroup, useMenuPositioner, useMenuState };\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}