UNPKG

@matthew.ngo/react-filter-pilot

Version:

Powerful filtering, pagination, and sorting for React with TanStack Query integration

1 lines 1.81 kB
{"version":3,"sources":["../../src/hooks/useUrlHandler.ts"],"names":["useDefaultUrlHandler","searchParams","setSearchParams","useState","useEffect","handlePopState","__name","params","newUrl"],"mappings":";iFAMO,SAASA,CAAAA,EAAmC,CACjD,KAAM,CAACC,EAAcC,CAAe,CAAA,CAAIC,eACtC,IAAM,IAAI,gBAAgB,MAAO,CAAA,QAAA,CAAS,MAAM,CAClD,CAAA,CAEA,OAAAC,eAAU,CAAA,IAAM,CACd,MAAMC,CAAAA,CAAiBC,EAAA,IAAM,CAC3BJ,EAAgB,IAAI,eAAA,CAAgB,OAAO,QAAS,CAAA,MAAM,CAAC,EAC7D,CAAA,CAFuB,kBAIvB,OAAO,MAAA,CAAA,gBAAA,CAAiB,WAAYG,CAAc,CAAA,CAC3C,IAAM,MAAO,CAAA,mBAAA,CAAoB,WAAYA,CAAc,CACpE,EAAG,EAAE,EAEE,CACL,SAAA,CAAWC,EAAA,IAAML,CAAAA,CAAN,aACX,SAAWK,CAAAA,CAAAA,CAACC,GAA4B,CACtC,MAAMC,EAAS,CAAG,EAAA,MAAA,CAAO,SAAS,QAAQ,CAAA,CAAA,EAAID,EAAO,QAAS,EAAC,GAC/D,MAAO,CAAA,OAAA,CAAQ,UAAU,IAAM,CAAA,EAAA,CAAIC,CAAM,CACzCN,CAAAA,CAAAA,CAAgBK,CAAM,EACxB,CAAA,CAJW,YAKb,CACF,CAtBgBD,EAAAN,CAAA,CAAA,sBAAA,CAAA","file":"useUrlHandler.cjs","sourcesContent":["import { useState, useEffect } from 'react';\nimport { UrlHandler } from '../types';\n\n/**\n * Default URL handler using browser's history API\n */\nexport function useDefaultUrlHandler(): UrlHandler {\n const [searchParams, setSearchParams] = useState<URLSearchParams>(\n () => new URLSearchParams(window.location.search)\n );\n\n useEffect(() => {\n const handlePopState = () => {\n setSearchParams(new URLSearchParams(window.location.search));\n };\n\n window.addEventListener('popstate', handlePopState);\n return () => window.removeEventListener('popstate', handlePopState);\n }, []);\n\n return {\n getParams: () => searchParams,\n setParams: (params: URLSearchParams) => {\n const newUrl = `${window.location.pathname}?${params.toString()}`;\n window.history.pushState(null, '', newUrl);\n setSearchParams(params);\n },\n };\n}"]}