{"version":3,"file":"OverrideContext.mjs","sources":["../../../../../../packages/components/menu/src/OverrideContext.ts"],"sourcesContent":["import type { ComputedRef, InjectionKey } from 'vue';\nimport type { MenuProps } from './props';\nimport { computed, inject, provide } from 'vue';\n\n// Used for Dropdown only\nexport interface OverrideContextProps {\n  prefixCls?: ComputedRef<string>\n  mode?: ComputedRef<MenuProps['mode']>\n  selectable?: ComputedRef<boolean>\n  validator?: (menuProps: Pick<MenuProps, 'mode'>) => void\n  onClick?: () => void\n  expandIcon?: ComputedRef<any>\n}\nexport const OverrideContextKey: InjectionKey<OverrideContextProps> = Symbol('OverrideContextKey');\nexport function useInjectOverride() {\n  return inject(OverrideContextKey, undefined);\n}\n\nexport function useProvideOverride(props: OverrideContextProps) {\n  const { prefixCls, mode, selectable, validator, onClick, expandIcon } = useInjectOverride() || {};\n  provide(OverrideContextKey, {\n    prefixCls: computed(() => (props.prefixCls?.value ?? prefixCls?.value) as string),\n    mode: computed(() => props.mode?.value ?? mode?.value),\n    selectable: computed(() => (props.selectable?.value ?? selectable?.value) as boolean),\n    validator: props.validator ?? validator,\n    onClick: props.onClick ?? onClick,\n    expandIcon: props.expandIcon ?? expandIcon?.value,\n  });\n}\n"],"names":["_a","_b"],"mappings":";;AAaa,MAAA,kBAAA,GAAyD,OAAO,oBAAoB,EAAA;AAC1F,SAAS,iBAAoB,GAAA;AAClC,EAAO,OAAA,MAAA,CAAO,oBAAoB,KAAS,CAAA,CAAA,CAAA;AAC7C,CAAA;AAEO,SAAS,mBAAmB,KAA6B,EAAA;AAlBhE,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA;AAmBE,EAAM,MAAA,EAAE,SAAW,EAAA,IAAA,EAAM,UAAY,EAAA,SAAA,EAAW,SAAS,UAAW,EAAA,GAAI,iBAAkB,EAAA,IAAK,EAAC,CAAA;AAChG,EAAA,OAAA,CAAQ,kBAAoB,EAAA;AAAA,IAC1B,SAAA,EAAW,SAAS,MAAG;AArB3B,MAAA,IAAAA,GAAAC,EAAAA,GAAAA,CAAAA;AAqB+B,MAAAA,OAAAA,CAAAA,GAAAA,GAAAA,CAAAD,MAAA,KAAM,CAAA,SAAA,KAAN,gBAAAA,GAAiB,CAAA,KAAA,KAAjB,IAAAC,GAAAA,GAAAA,GAA0B,SAAW,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,KAAA,CAAA;AAAA,KAAgB,CAAA;AAAA,IAChF,IAAA,EAAM,SAAS,MAAG;AAtBtB,MAAA,IAAAD,GAAAC,EAAAA,GAAAA,CAAAA;AAsByB,MAAAA,OAAAA,CAAAA,GAAAA,GAAAA,CAAAD,MAAA,KAAM,CAAA,IAAA,KAAN,gBAAAA,GAAY,CAAA,KAAA,KAAZ,IAAAC,GAAAA,GAAAA,GAAqB,IAAM,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAA,KAAA,CAAA;AAAA,KAAK,CAAA;AAAA,IACrD,UAAA,EAAY,SAAS,MAAG;AAvB5B,MAAA,IAAAD,GAAAC,EAAAA,GAAAA,CAAAA;AAuBgC,MAAAA,OAAAA,CAAAA,GAAAA,GAAAA,CAAAD,MAAA,KAAM,CAAA,UAAA,KAAN,gBAAAA,GAAkB,CAAA,KAAA,KAAlB,IAAAC,GAAAA,GAAAA,GAA2B,UAAY,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,UAAA,CAAA,KAAA,CAAA;AAAA,KAAiB,CAAA;AAAA,IACpF,SAAA,EAAA,CAAW,EAAM,GAAA,KAAA,CAAA,SAAA,KAAN,IAAmB,GAAA,EAAA,GAAA,SAAA;AAAA,IAC9B,OAAA,EAAA,CAAS,EAAM,GAAA,KAAA,CAAA,OAAA,KAAN,IAAiB,GAAA,EAAA,GAAA,OAAA;AAAA,IAC1B,UAAY,EAAA,CAAA,EAAA,GAAA,KAAA,CAAM,UAAN,KAAA,IAAA,GAAA,EAAA,GAAoB,UAAY,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,UAAA,CAAA,KAAA;AAAA,GAC7C,CAAA,CAAA;AACH;;;;"}