{"version":3,"file":"QueryProvider.mjs","names":["React","ReactNode","Suspense","lazy","QueryClient","QueryClientProvider","useQueryClient","ReactQueryDevtools","then","m","default","queryClient","defaultOptions","queries","staleTime","gcTime","retry","refetchOnWindowFocus","QueryProviderProps","children","showDevTools","useAppQueryClient","QueryProvider","FC","t0","$","_c","t1","undefined","t2","t3"],"sources":["../../src/providers/QueryProvider.tsx"],"sourcesContent":["import React, { ReactNode, Suspense, lazy } from 'react';\nimport { QueryClient, QueryClientProvider, useQueryClient } from '@tanstack/react-query';\n\nconst ReactQueryDevtools = lazy(() =>\n  import('@tanstack/react-query-devtools').then((m) => ({ default: m.ReactQueryDevtools })),\n);\n\nconst queryClient = new QueryClient({\n  defaultOptions: {\n    queries: {\n      staleTime: 5 * 60_000,\n      gcTime: 10 * 60_000,\n      retry: 1,\n      refetchOnWindowFocus: false,\n    },\n  },\n});\n\nexport interface QueryProviderProps {\n  children: ReactNode;\n  /** When true, renders the React Query DevTools panel. Defaults to false. */\n  showDevTools?: boolean;\n}\n\n/**\n * Sanctioned accessor for the library's TanStack `QueryClient`.\n *\n * Returns the same client `QueryProvider` (mounted by `UdpAppProvider`) supplies\n * via context. Use this instead of importing `useQueryClient` from\n * `@tanstack/react-query` directly — that package is only a transitive dependency\n * of consumer apps, so importing from it is a phantom dependency and only resolves\n * the right client by dedup luck.\n *\n * @example\n * const qc = useAppQueryClient();\n * // after a successful mutation, refresh a useApiQuery cache entry:\n * qc.invalidateQueries({ queryKey: [baseURL, url, config] });\n */\nexport const useAppQueryClient = (): QueryClient => useQueryClient();\n\nexport const QueryProvider: React.FC<QueryProviderProps> = ({ children, showDevTools = false }) => {\n  return (\n    <QueryClientProvider client={queryClient}>\n      {children}\n      {showDevTools && (\n        <Suspense fallback={null}>\n          <ReactQueryDevtools initialIsOpen={false} />\n        </Suspense>\n      )}\n    </QueryClientProvider>\n  );\n};\n"],"mappings":";;;;AAGA,MAAMO,qBAAqBJ,WACzB,OAAO,kCAAkCK,MAAMC,OAAO,EAAEC,SAASD,EAAEF,oBAAoB,EACzF,CAAC;AAED,MAAMI,cAAc,IAAIP,YAAY,EAClCQ,gBAAgB,EACdC,SAAS;CACPC,WAAW,IAAI;CACfC,QAAQ,KAAK;CACbC,OAAO;CACPC,sBAAsB;CACxB,EACF,EACD,CAAC;;;;;;;;;;;;;;;AAsBF,MAAaI,0BAAoB;AAAA,QAAmBf,gBAAgB;;AAEpE,MAAagB,iBAA8CE,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAC,MAAA,EAAAP,UAAAC,cAAAO,OAAAH;CAAY,MAAAJ,eAAAO,OAAAC,KAAAA,IAAA,QAAAD;CAAoB,IAAAE;AAAA,KAAAJ,EAAA,OAAAL,cAAA;AAIrFS,OAAAT,gBACC,sBAAA,cAAC,UAAD,EAAoB,UAAA,MAGrB,EAFG,sBAAA,cAAC,oBAAD,EAAmC,eAAA,OACrC,CAAA,CACD;AAAAK,IAAA,KAAAL;AAAAK,IAAA,KAAAI;OAAAA,MAAAJ,EAAA;CAAA,IAAAK;AAAA,KAAAL,EAAA,OAAAN,YAAAM,EAAA,OAAAI,IAAA;AANHC,OAAA,sBAAA,cAAC,qBAAD,EAA6BnB,QAAAA,aAOP,EANnBQ,UACAU,GAKmB;AAAAJ,IAAA,KAAAN;AAAAM,IAAA,KAAAI;AAAAJ,IAAA,KAAAK;OAAAA,MAAAL,EAAA;AAAA,QAPtBK"}