{ "version": 3, "sources": ["../../../app/elemason/core/ProductList/hooks.ts"], "sourcesContent": ["import { useFetcher } from '@remix-run/react';\nimport { useEffect } from 'react';\nimport { stringify } from '~/utils/url';\n\nimport type { ProductListWidgetConfig } from '~/elemason/typings';\nimport type { ProductsFetcherData } from './ProductList.types';\n\n// TODO: Move it to hooks/fetchers\nconst useProductsFetcher = ({\n source,\n maxProductToDisplay,\n}: Pick) => {\n const { data: fetcherData, load } = useFetcher();\n\n const { query } = source;\n const products = fetcherData?.data?.hits ?? [];\n const count = fetcherData?.data?.found ?? 0;\n\n useEffect(() => {\n const url = stringify('/api/widgets/product-list', {\n ...query,\n maxProductToDisplay,\n });\n load(url);\n }, [load, query, maxProductToDisplay]);\n\n return { products, count } as const;\n};\n\nexport { useProductsFetcher };\n"], "mappings": "oNACA,IAAAA,EAA0B,SAO1B,IAAMC,EAAqB,CAAC,CAC1B,OAAAC,EACA,oBAAAC,CACF,IAAuE,CACrE,GAAM,CAAE,KAAMC,EAAa,KAAAC,CAAK,EAAIC,EAAgC,EAE9D,CAAE,MAAAC,CAAM,EAAIL,EACZM,EAAWJ,GAAa,MAAM,MAAQ,CAAC,EACvCK,EAAQL,GAAa,MAAM,OAAS,EAE1C,sBAAU,IAAM,CACd,IAAMM,EAAMC,EAAU,4BAA6B,CACjD,GAAGJ,EACH,oBAAAJ,CACF,CAAC,EACDE,EAAKK,CAAG,CACV,EAAG,CAACL,EAAME,EAAOJ,CAAmB,CAAC,EAE9B,CAAE,SAAAK,EAAU,MAAAC,CAAM,CAC3B", "names": ["import_react", "useProductsFetcher", "source", "maxProductToDisplay", "fetcherData", "load", "useFetcher", "query", "products", "count", "url", "stringify"] }