{"version":3,"file":"useKeyPath.cjs","sources":["../../../../../../../packages/components/menu/src/hooks/useKeyPath.ts"],"sourcesContent":["import type { Key } from '@antdv/types';\nimport type { ComputedRef, InjectionKey } from 'vue';\nimport type { StoreMenuInfo } from './useMenuContext';\nimport { computed, defineComponent, inject, provide } from 'vue';\n\nexport const OVERFLOW_KEY = '$$__vc-menu-more__key';\nconst KeyPathContext: InjectionKey<{\n  parentEventKeys: ComputedRef<string[]>\n  parentKeys: ComputedRef<Key[]>\n  parentInfo: StoreMenuInfo\n}> = Symbol('KeyPathContext');\n\nfunction useInjectKeyPath() {\n  return inject(KeyPathContext, {\n    parentEventKeys: computed(() => []),\n    parentKeys: computed(() => []),\n    parentInfo: {} as StoreMenuInfo,\n  });\n}\n\nfunction useProvideKeyPath(eventKey: string, key: Key, menuInfo: StoreMenuInfo) {\n  const { parentEventKeys, parentKeys } = useInjectKeyPath();\n  const eventKeys = computed(() => [...parentEventKeys.value, eventKey]);\n  const keys = computed(() => [...parentKeys.value, key]);\n  provide(KeyPathContext, { parentEventKeys: eventKeys, parentKeys: keys, parentInfo: menuInfo });\n  return keys;\n}\n\nconst measure = Symbol('measure');\nexport const PathContext = defineComponent({\n  compatConfig: { MODE: 3 },\n  setup(_props, { slots }) {\n    // 不需要响应式\n    provide(measure, true);\n    return () => slots.default?.();\n  },\n});\n\nexport function useMeasure() {\n  return inject(measure, false);\n}\n\nexport { KeyPathContext, useInjectKeyPath, useProvideKeyPath };\n\nexport default useProvideKeyPath;\n"],"names":["inject","computed","provide","defineComponent"],"mappings":";;;;;;AAKO,MAAM,YAAe,GAAA,wBAAA;AACtB,MAAA,cAAA,GAID,OAAO,gBAAgB,EAAA;AAE5B,SAAS,gBAAmB,GAAA;AAC1B,EAAA,OAAOA,WAAO,cAAgB,EAAA;AAAA,IAC5B,eAAiB,EAAAC,YAAA,CAAS,MAAM,EAAE,CAAA;AAAA,IAClC,UAAY,EAAAA,YAAA,CAAS,MAAM,EAAE,CAAA;AAAA,IAC7B,YAAY,EAAC;AAAA,GACd,CAAA,CAAA;AACH,CAAA;AAEA,SAAS,iBAAA,CAAkB,QAAkB,EAAA,GAAA,EAAU,QAAyB,EAAA;AAC9E,EAAA,MAAM,EAAE,eAAA,EAAiB,UAAW,EAAA,GAAI,gBAAiB,EAAA,CAAA;AACzD,EAAM,MAAA,SAAA,GAAYA,aAAS,MAAM,CAAC,GAAG,eAAgB,CAAA,KAAA,EAAO,QAAQ,CAAC,CAAA,CAAA;AACrE,EAAM,MAAA,IAAA,GAAOA,aAAS,MAAM,CAAC,GAAG,UAAW,CAAA,KAAA,EAAO,GAAG,CAAC,CAAA,CAAA;AACtD,EAAQC,WAAA,CAAA,cAAA,EAAgB,EAAE,eAAiB,EAAA,SAAA,EAAW,YAAY,IAAM,EAAA,UAAA,EAAY,UAAU,CAAA,CAAA;AAC9F,EAAO,OAAA,IAAA,CAAA;AACT,CAAA;AAEA,MAAM,OAAA,GAAU,OAAO,SAAS,CAAA,CAAA;AACzB,MAAM,cAAcC,mBAAgB,CAAA;AAAA,EACzC,YAAA,EAAc,EAAE,IAAA,EAAM,CAAE,EAAA;AAAA,EACxB,KAAM,CAAA,MAAA,EAAQ,EAAE,KAAA,EAAS,EAAA;AAEvB,IAAAD,WAAA,CAAQ,SAAS,IAAI,CAAA,CAAA;AACrB,IAAA,OAAO,MAAG;AAlCd,MAAA,IAAA,EAAA,CAAA;AAkCiB,MAAA,OAAA,CAAA,EAAA,GAAA,KAAA,CAAM,OAAN,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAAA,GACf;AACF,CAAC,EAAA;AAEM,SAAS,UAAa,GAAA;AAC3B,EAAO,OAAAF,UAAA,CAAO,SAAS,KAAK,CAAA,CAAA;AAC9B;;;;;;;;;;"}