{"version":3,"file":"MenuItem.cjs","sources":["../../../../../../packages/components/menu/src/MenuItem.tsx"],"sourcesContent":["import type { CustomSlotsType } from '@antdv/types';\n\nimport type { MenuInfo } from './interface';\nimport { cloneElement, devWarning, flattenChildren, isValidElement, KeyCode } from '@antdv/utils';\nimport { VcOverflow } from '@antdv/vue-components/vc-overflow';\nimport {\n  computed,\n  defineComponent,\n  getCurrentInstance,\n  onBeforeUnmount,\n  shallowRef,\n  watch,\n} from 'vue';\n\nimport Tooltip from '../../tooltip';\nimport useDirectionStyle from './hooks/useDirectionStyle';\nimport { useInjectKeyPath, useMeasure } from './hooks/useKeyPath';\nimport { useInjectFirstLevel, useInjectMenu } from './hooks/useMenuContext';\nimport { menuItemProps } from './props';\n\nlet indexGuid = 0;\n\nexport default defineComponent({\n  compatConfig: { MODE: 3 },\n  name: 'AMenuItem',\n  inheritAttrs: false,\n  props: menuItemProps(),\n  slots: Object as CustomSlotsType<{\n    icon?: any\n    title?: any\n    default?: any\n  }>,\n\n  setup(props, { slots, emit, attrs }) {\n    const instance = getCurrentInstance();\n    const isMeasure = useMeasure();\n    const key\n      = typeof instance.vnode.key === 'symbol' ? String(instance.vnode.key) : instance.vnode.key;\n    devWarning(\n      typeof instance.vnode.key !== 'symbol',\n      'MenuItem',\n      `MenuItem \\`:key=\"${String(key)}\"\\` not support Symbol type`,\n    );\n\n    const eventKey = `menu_item_${++indexGuid}_$$_${key}`;\n    const { parentEventKeys, parentKeys } = useInjectKeyPath();\n    const {\n      prefixCls,\n      activeKeys,\n      disabled,\n      changeActiveKeys,\n      rtl,\n      inlineCollapsed,\n      siderCollapsed,\n      onItemClick,\n      selectedKeys,\n      registerMenuInfo,\n      unRegisterMenuInfo,\n    } = useInjectMenu();\n    const firstLevel = useInjectFirstLevel();\n    const isActive = shallowRef(false);\n    const keysPath = computed(() => {\n      return [...parentKeys.value, key];\n    });\n\n    // const keysPath = computed(() => [...parentEventKeys.value, eventKey]);\n    const menuInfo = {\n      eventKey,\n      key,\n      parentEventKeys,\n      parentKeys,\n      isLeaf: true,\n    };\n    registerMenuInfo(eventKey, menuInfo);\n\n    onBeforeUnmount(() => {\n      unRegisterMenuInfo(eventKey);\n    });\n\n    watch(\n      activeKeys,\n      () => {\n        isActive.value = !!activeKeys.value.find(val => val === key);\n      },\n      { immediate: true },\n    );\n    const mergedDisabled = computed(() => disabled.value || props.disabled);\n    const selected = computed(() => selectedKeys.value.includes(key));\n    const classNames = computed(() => {\n      const itemCls = `${prefixCls.value}-item`;\n      return {\n        [`${itemCls}`]: true,\n        [`${itemCls}-danger`]: props.danger,\n        [`${itemCls}-active`]: isActive.value,\n        [`${itemCls}-selected`]: selected.value,\n        [`${itemCls}-disabled`]: mergedDisabled.value,\n      };\n    });\n\n    const getEventInfo = (e: MouseEvent | KeyboardEvent): MenuInfo => {\n      return {\n        key,\n        eventKey,\n        keyPath: keysPath.value,\n        eventKeyPath: [...parentEventKeys.value, eventKey],\n        domEvent: e,\n        item: {\n          ...props,\n          ...attrs,\n        },\n      };\n    };\n\n    // ============================ Events ============================\n    const onInternalClick = (e: MouseEvent) => {\n      if (mergedDisabled.value)\n        return;\n\n      const info = getEventInfo(e);\n      emit('click', e);\n      onItemClick(info);\n    };\n\n    const onMouseEnter = (event: MouseEvent) => {\n      if (!mergedDisabled.value) {\n        changeActiveKeys(keysPath.value);\n        emit('mouseenter', event);\n      }\n    };\n    const onMouseLeave = (event: MouseEvent) => {\n      if (!mergedDisabled.value) {\n        changeActiveKeys([]);\n        emit('mouseleave', event);\n      }\n    };\n\n    const onInternalKeyDown = (e: KeyboardEvent) => {\n      emit('keydown', e);\n\n      if (e.which === KeyCode.ENTER) {\n        const info = getEventInfo(e);\n\n        // Legacy. Key will also trigger click event\n        emit('click', e);\n        onItemClick(info);\n      }\n    };\n\n    /**\n     * Used for accessibility. Helper will focus element without key board.\n     * We should manually trigger an active\n     */\n    const onInternalFocus = (e: FocusEvent) => {\n      changeActiveKeys(keysPath.value);\n      emit('focus', e);\n    };\n\n    const renderItemChildren = (icon: any, children: any) => {\n      const wrapNode = <span class={`${prefixCls.value}-title-content`}>{children}</span>;\n      // inline-collapsed.md demo 依赖 span 来隐藏文字,有 icon 属性，则内部包裹一个 span\n      // ref: https://github.com/ant-design/ant-design/pull/23456\n      if (!icon || (isValidElement(children) && children.type === 'span')) {\n        if (children && inlineCollapsed.value && firstLevel && typeof children === 'string') {\n          return (\n            <div class={`${prefixCls.value}-inline-collapsed-noicon`}>{children.charAt(0)}</div>\n          );\n        }\n      }\n      return wrapNode;\n    };\n\n    // ========================== DirectionStyle ==========================\n    const directionStyle = useDirectionStyle(computed(() => keysPath.value.length));\n\n    return () => {\n      if (isMeasure) return null;\n      const title = props.title ?? slots.title?.();\n      const children = flattenChildren(slots.default?.());\n      const childrenLength = children.length;\n      let tooltipTitle: any = title;\n      if (typeof title === 'undefined')\n        tooltipTitle = firstLevel && childrenLength ? children : '';\n      else if (title === false)\n        tooltipTitle = '';\n\n      const tooltipProps: any = {\n        title: tooltipTitle,\n      };\n\n      if (!siderCollapsed.value && !inlineCollapsed.value) {\n        tooltipProps.title = null;\n        // Reset `visible` to fix control mode tooltip display not correct\n        // ref: https://github.com/ant-design/ant-design/issues/16742\n        tooltipProps.open = false;\n      }\n\n      // ============================ Render ============================\n      const optionRoleProps = {};\n\n      if (props.role === 'option')\n        optionRoleProps['aria-selected'] = selected.value;\n\n      const icon = props.icon ?? slots.icon?.(props);\n      return (\n        <Tooltip\n          {...tooltipProps}\n          placement={rtl.value ? 'left' : 'right'}\n          overlayClassName={`${prefixCls.value}-inline-collapsed-tooltip`}\n        >\n          <VcOverflow.Item\n            component=\"li\"\n            {...attrs}\n            id={props.id}\n            style={{ ...((attrs.style as any) || {}), ...directionStyle.value }}\n            class={[\n              classNames.value,\n              {\n                [`${attrs.class}`]: !!attrs.class,\n                [`${prefixCls.value}-item-only-child`]:\n                  (icon ? childrenLength + 1 : childrenLength) === 1,\n              },\n            ]}\n            role={props.role || 'menuitem'}\n            tabindex={props.disabled ? null : -1}\n            data-menu-id={key}\n            aria-disabled={props.disabled}\n            {...optionRoleProps}\n            onMouseenter={onMouseEnter}\n            onMouseleave={onMouseLeave}\n            onClick={onInternalClick}\n            onKeydown={onInternalKeyDown}\n            onFocus={onInternalFocus}\n            title={typeof title === 'string' ? title : undefined}\n          >\n            {cloneElement(\n              typeof icon === 'function' ? icon(props.originItemValue) : icon,\n              {\n                class: `${prefixCls.value}-item-icon`,\n              },\n              false,\n            )}\n            {renderItemChildren(icon, children)}\n          </VcOverflow.Item>\n        </Tooltip>\n      );\n    };\n  },\n});\n"],"names":["indexGuid","defineComponent","compatConfig","MODE","name","inheritAttrs","props","menuItemProps","slots","Object","setup","emit","attrs","instance","getCurrentInstance","isMeasure","useMeasure","key","vnode","String","devWarning","eventKey","parentEventKeys","parentKeys","useInjectKeyPath","prefixCls","activeKeys","disabled","changeActiveKeys","rtl","inlineCollapsed","siderCollapsed","onItemClick","selectedKeys","registerMenuInfo","unRegisterMenuInfo","useInjectMenu","firstLevel","useInjectFirstLevel","isActive","shallowRef","keysPath","computed","value","menuInfo","isLeaf","onBeforeUnmount","watch","find","val","immediate","mergedDisabled","selected","includes","classNames","itemCls","danger","getEventInfo","e","keyPath","eventKeyPath","domEvent","item","onInternalClick","info","onMouseEnter","event","onMouseLeave","onInternalKeyDown","which","KeyCode","ENTER","onInternalFocus","renderItemChildren","icon","children","wrapNode","_createVNode","isValidElement","type","charAt","directionStyle","useDirectionStyle","length","title","flattenChildren","default","childrenLength","tooltipTitle","tooltipProps","open","optionRoleProps","role","Tooltip","VcOverflow","Item","id","style","class","undefined","cloneElement","originItemValue"],"mappings":"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"}