{"version":3,"sources":["../src/components/Popover/popoverContext.ts"],"sourcesContent":["'use client';\n\nimport { createContext, useContextSelector } from '@fluentui/react-context-selector';\nimport type { ContextSelector, Context } from '@fluentui/react-context-selector';\nimport type { PopoverContextValue } from './Popover.types';\n\nexport const PopoverContext: Context<PopoverContextValue> = createContext<PopoverContextValue | undefined>(\n  undefined,\n) as Context<PopoverContextValue>;\n\nconst popoverContextDefaultValue: PopoverContextValue = {\n  open: false,\n  setOpen: () => null,\n  toggleOpen: () => null,\n  triggerRef: { current: null },\n  contentRef: { current: null },\n  arrowRef: { current: null },\n  openOnContext: false,\n  openOnHover: false,\n  withArrow: false,\n  trapFocus: false,\n  positioning: {\n    targetRef: () => undefined,\n    containerRef: () => undefined,\n  },\n  surfaceId: '',\n};\n\nexport const PopoverProvider = PopoverContext.Provider;\n\n/**\n * Hook to consume PopoverContext with a selector for optimized re-renders.\n */\nexport const usePopoverContext = <T>(selector: ContextSelector<PopoverContextValue, T>): T =>\n  useContextSelector(PopoverContext, (ctx = popoverContextDefaultValue) => selector(ctx));\n"],"names":["PopoverContext","PopoverProvider","usePopoverContext","createContext","undefined","popoverContextDefaultValue","open","setOpen","toggleOpen","triggerRef","current","contentRef","arrowRef","openOnContext","openOnHover","withArrow","trapFocus","positioning","targetRef","containerRef","surfaceId","Provider","selector","useContextSelector","ctx"],"mappings":"AAAA;;;;;;;;;;;;IAMaA,cAAc;eAAdA;;IAsBAC,eAAe;eAAfA;;IAKAC,iBAAiB;eAAjBA;;;sCA/BqC;AAI3C,MAAMF,iBAA+CG,IAAAA,mCAAa,EACvEC;AAGF,MAAMC,6BAAkD;IACtDC,MAAM;IACNC,SAAS,IAAM;IACfC,YAAY,IAAM;IAClBC,YAAY;QAAEC,SAAS;IAAK;IAC5BC,YAAY;QAAED,SAAS;IAAK;IAC5BE,UAAU;QAAEF,SAAS;IAAK;IAC1BG,eAAe;IACfC,aAAa;IACbC,WAAW;IACXC,WAAW;IACXC,aAAa;QACXC,WAAW,IAAMd;QACjBe,cAAc,IAAMf;IACtB;IACAgB,WAAW;AACb;AAEO,MAAMnB,kBAAkBD,eAAeqB,QAAQ;AAK/C,MAAMnB,oBAAoB,CAAIoB,WACnCC,IAAAA,wCAAkB,EAACvB,gBAAgB,CAACwB,MAAMnB,0BAA0B,GAAKiB,SAASE"}