{"version":3,"file":"useFetchCouponCollectionProducts.5BPybNS7.mjs","names":["forwardRef"],"sources":["https:/asset.29cm.co.kr/contents/framer/components/@shared/Tag/Tag.js","https:/asset.29cm.co.kr/contents/framer/hooks/fetchers/useFetchCouponCollectionProducts.js"],"sourcesContent":["import { jsx } from \"react/jsx-runtime\";\nimport { forwardRef } from \"react\";\nconst Tag = forwardRef(({\n  style,\n  theme = \"light\",\n  children,\n  active = false,\n  ...rest\n}, ref) => {\n  return /* @__PURE__ */ jsx(\"div\", { ref, ...rest, style: {\n    ...containerStyle,\n    ...defaultColorByTheme[theme],\n    ...active ? activeStyleByTheme[theme] : {},\n    ...style\n  }, children });\n});\nconst containerStyle = {\n  height: \"29px\",\n  flex: \"0 0 auto\",\n  display: \"flex\",\n  alignItems: \"center\",\n  justifyContent: \"center\",\n  padding: \"0 14px\",\n  borderRadius: \"20px\",\n  fontFamily: \"'Pretendard Medium', 'Pretendard Medium Placeholder', sans-serif\",\n  fontSize: \"14px\",\n  whiteSpace: \"nowrap\",\n  cursor: \"pointer\"\n};\nconst defaultColorByTheme = {\n  light: {\n    backgroundColor: \"#f4f4f4\",\n    color: \"#474747\"\n  },\n  dark: {\n    backgroundColor: \"#19191a\",\n    color: \"#a0a0a0\"\n  }\n};\nconst activeStyleByTheme = {\n  light: {\n    backgroundColor: \"#000\",\n    color: \"#fff\"\n  },\n  dark: {\n    backgroundColor: \"#3d3d3d\",\n    color: \"#fff\"\n  }\n};\nexport {\n  Tag\n};\n","import useSWRInfinite from \"../../node_modules/swr/infinite/dist/index.js\";\nimport { brandSaleApi } from \"../../apis/brand-sale/BrandSaleApiService.js\";\nconst DEFAULT_SIZE = 20;\nconst DEFAULT_SORT = \"BEST\";\nconst getKey = (couponCollectionId, enabled, sort) => (pageIndex, previousPageData) => {\n  if (!enabled) {\n    return null;\n  }\n  if (previousPageData && previousPageData.hasNext === false) {\n    return null;\n  }\n  return {\n    couponCollectionId,\n    query: {\n      page: pageIndex,\n      size: DEFAULT_SIZE,\n      sort\n    }\n  };\n};\nconst useFetchCouponCollectionProducts = (couponCollectionId, enabled, sort) => {\n  const {\n    data,\n    isLoading,\n    error,\n    size,\n    isValidating,\n    setSize\n  } = useSWRInfinite(getKey(couponCollectionId, enabled, sort ?? DEFAULT_SORT), (key) => {\n    return brandSaleApi.getCouponCollectionProducts(couponCollectionId, key.query);\n  }, {\n    keepPreviousData: true,\n    revalidateFirstPage: false\n  });\n  const hasError = error !== void 0;\n  const isPending = isLoading || hasError || !enabled || isValidating;\n  const products = (data == null ? void 0 : data.flatMap(({\n    resultList\n  }) => resultList)) ?? [];\n  const hasNext = (data == null ? void 0 : data[data.length - 1].hasNext) && products.length < 100;\n  return {\n    products: products.slice(0, 100),\n    isPending,\n    hasError,\n    size,\n    hasNext,\n    setSize\n  };\n};\nexport {\n  useFetchCouponCollectionProducts\n};\n"],"mappings":"8MAAwC,IACL,CAC7B,EAAMA,GAAY,CACtB,QACA,QAAQ,QACR,WACA,SAAS,GACT,GAAG,GACF,IACsB,EAAI,MAAO,CAAE,MAAK,GAAG,EAAM,MAAO,CACvD,GAAG,EACH,GAAG,EAAoB,GACvB,GAAG,EAAS,EAAmB,GAAS,EAAE,CAC1C,GAAG,EACJ,CAAE,WAAU,CAAC,CACd,CACI,EAAiB,CACrB,OAAQ,OACR,KAAM,WACN,QAAS,OACT,WAAY,SACZ,eAAgB,SAChB,QAAS,SACT,aAAc,OACd,WAAY,mEACZ,SAAU,OACV,WAAY,SACZ,OAAQ,UACT,CACK,EAAsB,CAC1B,MAAO,CACL,gBAAiB,UACjB,MAAO,UACR,CACD,KAAM,CACJ,gBAAiB,UACjB,MAAO,UACR,CACF,CACK,EAAqB,CACzB,MAAO,CACL,gBAAiB,OACjB,MAAO,OACR,CACD,KAAM,CACJ,gBAAiB,UACjB,MAAO,OACR,CACF,yBChD0E,IACC,CACtE,EAAe,GACf,EAAe,OACf,GAAU,EAAoB,EAAS,KAAU,EAAW,IAC5D,CAAC,GAGD,GAAoB,EAAiB,UAAY,GAC5C,KAEF,CACL,qBACA,MAAO,CACL,KAAM,EACN,KAAM,EACN,OACD,CACF,CAEG,GAAoC,EAAoB,EAAS,IAAS,CAC9E,GAAM,CACJ,OACA,YACA,QACA,OACA,eACA,WACE,EAAe,EAAO,EAAoB,EAAS,GAAQ,EAAa,CAAG,GACtE,EAAa,4BAA4B,EAAoB,EAAI,MAAM,CAC7E,CACD,iBAAkB,GAClB,oBAAqB,GACtB,CAAC,CACI,EAAW,IAAU,IAAK,GAC1B,EAAY,GAAa,GAAY,CAAC,GAAW,EACjD,EAAY,GAA6B,SAAS,CACtD,gBACI,EAAW,EAAK,EAAE,CAClB,EAAW,IAA6B,EAAK,OAAS,GAAG,SAAY,EAAS,OAAS,IAC7F,MAAO,CACL,SAAU,EAAS,MAAM,EAAG,IAAI,CAChC,YACA,WACA,OACA,UACA,UACD"}