{"version":3,"file":"PanelContext.cjs","sources":["../../../../../../packages/vue-components/vc-picker/src/PanelContext.tsx"],"sourcesContent":["import type { InjectionKey, Ref } from 'vue';\nimport type { OnSelect, PanelMode } from './interface';\nimport { inject, provide } from 'vue';\n\nexport interface ContextOperationRefProps {\n  onKeydown?: (e: KeyboardEvent) => boolean;\n  onClose?: () => void;\n}\n\nexport interface PanelContextProps {\n  operationRef?: Ref<ContextOperationRefProps | null>;\n  /** Only work with time panel */\n  hideHeader?: Ref<boolean>;\n  panelRef?: Ref<HTMLDivElement>;\n  hidePrevBtn?: Ref<boolean>;\n  hideNextBtn?: Ref<boolean>;\n  onDateMouseenter?: (date: any) => void;\n  onDateMouseleave?: (date: any) => void;\n  onSelect?: OnSelect<any>;\n  hideRanges?: Ref<boolean>;\n  open?: Ref<boolean>;\n  mode?: Ref<PanelMode>;\n\n  /** Only used for TimePicker and this is a deprecated prop */\n  defaultOpenValue?: Ref<any>;\n}\n\nconst PanelContextKey: InjectionKey<PanelContextProps> = Symbol('PanelContextProps');\n\nexport function useProvidePanel(props: PanelContextProps) {\n  provide(PanelContextKey, props);\n}\n\nexport function useInjectPanel() {\n  return inject(PanelContextKey, {});\n}\n\nexport default PanelContextKey;\n"],"names":["PanelContextKey","Symbol","useProvidePanel","props","provide","useInjectPanel","inject"],"mappings":";;;;;;AA2BMA,MAAAA,eAAAA,GAAmDC,OAAO,mBAAmB,EAAA;AAE5E,SAASC,gBAAgBC,KAA0B,EAAA;AACxDC,EAAAA,WAAAA,CAAQJ,iBAAiBG,KAAK,CAAA,CAAA;AAChC,CAAA;AAEO,SAASE,cAAiB,GAAA;AAC/B,EAAOC,OAAAA,UAAAA,CAAON,eAAiB,EAAA,EAAE,CAAA,CAAA;AACnC;;;;;;"}