{"version":3,"file":"static/chunks/pages/compliance/regulatory-changes/enacted-law-bulletin-bead5ee2ac3485ab.js","mappings":"0OAWMA,EAAgB,CACpBC,QAAS,GACTC,UAAW,G,KAyCb,WAAeC,EAAAA,EAAAA,KACb,SAAAC,GAGE,MAAO,CAAEC,WAFQD,EAATE,KACAD,cAGV,KANF,EAtC2B,SAAAE,GACzB,IAAMC,GAASC,EAAAA,EAAAA,aACPC,EAA0BH,EAA1BG,UAAWL,EAAeE,EAAfF,WACbM,EAAaD,GAAaF,EAAOI,MAAMC,MAAQ,EACrD,GAA2BC,EAAAA,EAAAA,GAAcd,EAAeW,GAAxD,eAAOI,EAAP,KAAgBC,EAAhB,KAEA,OAAkBX,GAGhB,QAAC,IAAD,CACEY,MAAM,uBACNC,aAAa,iBAAG,mCAChBF,QAASA,EACTG,uBAAqB,EACrBnB,cAAeA,EACfU,UAAWC,EACXI,QAASA,EACTK,YAAY,GACZC,UAAU,yDAZuB,QAAC,UAAD,CAAOC,OAAQ,U,oGCZtD,UAAeC,EAAf,S,uuBCEe,SAAST,EAAcd,EAAeU,GACnD,IAAMc,EAAgB,EAAH,KACdxB,GACCU,GAAa,CAAEe,UAAWf,IAE1BgB,GAAeC,EAAAA,EAAAA,mBAAkB,CACrCC,QAASC,gCACTC,IAAK,aACLC,MAAMC,EAAAA,EAAAA,GAAiBR,GACvBS,OAAQ,SAGJC,GAAQC,EAAAA,EAAAA,KACZ,SAAA/B,GAAK,mBAAI,UAAAgC,KAAKC,OAAW,OAALjC,QAAK,IAALA,GAAA,UAAAA,EAAOkC,gBAAP,mBAAiBC,kBAAjB,mBAA8Bb,UAA9B,eAA6CK,OAAQ,aAAhE,eAAuES,UAAW,MAE7F,GAA8BC,EAAAA,EAAAA,UAAS,IAAhCzB,EAAP,KAAgB0B,EAAhB,KACA,GAA8BD,EAAAA,EAAAA,WAAS,GAAhC1B,EAAP,KAAgB4B,EAAhB,KACA,GAA4BF,EAAAA,EAAAA,WAAS,GAA9BG,EAAP,KAAeC,EAAf,KA4CA,OA1CAC,EAAAA,EAAAA,YAAU,WACJZ,GAASA,EAAMa,OACjBF,GAAU,GAGZ,yCAAC,oGAEGF,GAAW,GAFd,UAG0BK,EAAAA,EAAAA,GAAcxB,GAHxC,OAGSyB,EAHT,OAKGP,EAAWO,EAASjC,SACpB6B,EAAUI,EAASL,QACnBD,GAAW,GAPd,kDASGD,EAAW,IACXC,GAAW,GAVd,0DAAD,yDAaC,KAEHG,EAAAA,EAAAA,YAAU,WACJF,GACF,yCAAC,8GAE0BI,EAAAA,EAAAA,GAAcxB,EAAe,CAClD0B,aAAa,EACbC,gBAAgB,IAJrB,OAESF,EAFT,OAMOb,KAAKgB,UAAUH,EAASjC,WAAaoB,KAAKgB,UAAUpC,IAEtD0B,EAAWO,EAASjC,SAItB6B,GAAU,GAZb,yGAAD,yDAkBD,CAACD,IAEG,CAAC7B,EAASC,EAAQ+B,OAAS/B,EAAUkB,K,uBCxEzCmB,OAAOC,SAAWD,OAAOC,UAAY,IAAIC,KAAK,CAC7C,sDACA,WACE,OAAO,EAAQ,Y","sources":["webpack://_N_E/./pages/compliance/regulatory-changes/enacted-law-bulletin/[slug].js","webpack://_N_E/./pages/compliance/regulatory-changes/enacted-law-bulletin/index.js","webpack://_N_E/./src/shared/hooks/useListSearch.js","webpack://_N_E/?587d"],"sourcesContent":["import { useRouter } from 'next/router';\nimport React from 'react';\nimport { connect } from 'react-redux';\n\nimport Error from '@/pages/_error';\nimport ListPageStates from '@/src/shared/components/ListPage/ListPageStates';\nimport useListSearch from '@/src/shared/hooks/useListSearch';\nimport states from '@/utils/states';\n\nconst isBrowser = typeof window !== 'undefined';\n\nconst searchOptions = {\n pubCode: 81,\n yearsBack: 2,\n};\n\nconst EnactedLawBulletin = props => {\n const router = useRouter();\n const { statecode, isLoggedIn } = props;\n const _statecode = statecode || router.query.slug || 0;\n const [loading, results] = useListSearch(searchOptions, _statecode);\n\n if (isBrowser && !isLoggedIn) return ;\n\n return (\n Documents from the last 2 years

}\n results={results}\n truncateResultSummary\n searchOptions={searchOptions}\n statecode={_statecode}\n loading={loading}\n titlePrefix=\"\"\n routeBase=\"/compliance/regulatory-changes/enacted-law-bulletin\"\n />\n );\n};\n\nexport async function getStaticPaths() {\n return {\n paths: states.map(s => ({ params: { slug: s.StateCode } })),\n fallback: false,\n };\n}\n\nexport async function getStaticProps({ params }) {\n return {\n props: {\n statecode: params.slug || 0,\n },\n };\n}\n\nexport default connect(\n state => {\n const { auth } = state;\n const { isLoggedIn } = auth;\n return { isLoggedIn };\n },\n null\n)(EnactedLawBulletin);\n","import EnactedLawBulletin from './[slug]';\n\nexport async function getStaticProps() {\n return {\n props: {\n statecode: 0,\n },\n };\n}\n\nexport default EnactedLawBulletin;\n","import { useEffect, useState } from 'react';\nimport { useSelector } from 'react-redux';\n\nimport searchContent, { generatePostData } from '@/utils/searchContent';\nimport { getPathWithParams } from '@/utils/utils';\n\n/**\n *\n * @param {object} searchOptions searchContent options. See utils/searchContent\n * @param {number|String} statecode -\n * @returns {[boolean, Array]} Search Results\n */\nexport default function useListSearch(searchOptions, statecode) {\n const searchPayload = {\n ...searchOptions,\n ...(statecode && { stateCode: statecode }),\n };\n const pathWithData = getPathWithParams({\n baseURL: process.env.NEW_API_URL,\n url: 'cms/search',\n data: generatePostData(searchPayload),\n method: 'post',\n });\n\n const cache = useSelector(\n state => JSON.parse(state?.pageLoad?.pageCaches?.[pathWithData]?.data || '{}')?.Results || []\n );\n const [results, setResults] = useState([]);\n const [loading, setLoading] = useState(false);\n const [cached, setCached] = useState(false);\n\n useEffect(() => {\n if (cache && cache.length) {\n setCached(true);\n return;\n }\n (async function mounted() {\n try {\n setLoading(true);\n const response = await searchContent(searchPayload);\n\n setResults(response.results);\n setCached(response.cached);\n setLoading(false);\n } catch (error) {\n setResults([]);\n setLoading(false);\n }\n })();\n }, []);\n\n useEffect(() => {\n if (cached) {\n (async function reMounted() {\n try {\n const response = await searchContent(searchPayload, {\n triggerLoad: false,\n serveFromCache: false,\n });\n if (JSON.stringify(response.results) !== JSON.stringify(results)) {\n // diff detected\n setResults(response.results);\n } else {\n // results are the same\n }\n setCached(false);\n } catch (error) {\n // noop\n }\n })();\n }\n }, [cached]);\n\n return [loading, results.length ? results : cache];\n}\n","\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/compliance/regulatory-changes/enacted-law-bulletin\",\n function () {\n return require(\"private-next-pages/compliance/regulatory-changes/enacted-law-bulletin/index.js\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/compliance/regulatory-changes/enacted-law-bulletin\"])\n });\n }\n "],"names":["searchOptions","pubCode","yearsBack","connect","state","isLoggedIn","auth","props","router","useRouter","statecode","_statecode","query","slug","useListSearch","loading","results","title","heroContent","truncateResultSummary","titlePrefix","routeBase","status","EnactedLawBulletin","searchPayload","stateCode","pathWithData","getPathWithParams","baseURL","process","url","data","generatePostData","method","cache","useSelector","JSON","parse","pageLoad","pageCaches","Results","useState","setResults","setLoading","cached","setCached","useEffect","length","searchContent","response","triggerLoad","serveFromCache","stringify","window","__NEXT_P","push"],"sourceRoot":""}