{"version":3,"sources":["pages/advertiser-ads-page/advertiser-card.js","pages/advertiser-ads-page/advertiser-ads-page.js","assets/no-associated-ad.svg","../../../node_modules/react-masonry-css/dist/react-masonry-css.module.js"],"names":["getStyles","cardContainer","width","padding","marginTop","cardTitle","fontStyle","fontWeight","fontSize","lineHeight","color","cardSubtitle","verified","display","flexDirection","alignItems","justifyContent","& span","marginLeft","tooltip","position","top","Header","_ref","classes","name","isVerified","react_default","a","createElement","Fragment","Text","className","TooltipHost","content","href","target","rel","chunk_2","tabIndex","id","primaryFill","ICON_FILL_COLOR","aria-labelledby","concat","aria-label","AdvertiserCard","compose","WrappedComponent","withDefaultStyles","props","AdvertiserName","country","AdvertiserCountry","IsVerified","Card","classnames","CardHeader","image","Avatar","shape","size","header","advertiser_card_Header","description","pageOuterContainer","height","overflowY","background","pageInnerContainer","marginBottom","@media (max-width: 1200px)","@media (max-width: 950px)","resultTextContainer","resultCardContainer","flexWrap","gap","paginationContainer","filterRow","filterContainer","noResultWrapper","& .first-row","& b","sortText","textAlign","invalidMessageWrapper","AdSearchResults","memo","advertiserId","adQueryString","searchConfig","adCount","setAdCount","perfMarker","logger","searchResultPerfMarker","createChild","_useState","useState","_useState2","Object","slicedToArray","ads","setAds","_useState3","_useState4","lastRID","setLastRID","_useState5","_useState6","fetchComplete","setFetchComplete","_useState7","_useState8","massonryCols","setMassonryCols","willInit","_useFetch","useFetch","get","response","loading","error","handleResize","useCallback","window","innerWidth","_loadAds","asyncToGenerator","_regeneratorRuntime","mark","_callee","requestId","results","wrap","_context","prev","next","generateGuid","logTrace","RID","QueryString","sent","willRender","ok","Response","stop","apply","this","arguments","useEffect","willFetchData","loadAds","isNumber","done","addEventListener","removeEventListener","logError","Error","status","src","error_page","Image","NoAssociatedAdImg","react_masonry_css_module","breakpointCols","columnClassName","value","map","ad","updatedAd","_objectSpread","AdId","toString","AdvertiserId","assign","key","prevProps","nextProps","AdvertiserBanner","_ref2","setAdvertiserName","setIsInvalidID","bannerPerfMarker","_useState9","_useState10","advertiser","setAdvertiser","_useState11","_useState12","_useState13","_useState14","_useFetch2","_loadAdvertiserById","_callee2","_context2","isEmpty","data","loadAdvertiserById","InvalidIdMessage","_ref3","StyledAdvertiserAdsPage","useContext","InstrumentationServiceContext","useCreateChildPerfMarker","_useState15","_useState16","_useState17","_useState18","advertiserName","_useState19","_useState20","prevPageState","setPrevPageState","_useState21","_useState22","isInvalidID","location","useLocation","navigate","useNavigate","state","useParams","_useSearchParams","useSearchParams","_useSearchParams2","searchParams","setSearchParams","countryCodeList","split","filterStartDate","filterEndDate","filterExtraInput","currentPage","buildGetAdsQueryString","DEFAULT_AD_PAGE_SIZE","skip","startDate","endDate","searchText","totalPage","useMemo","Math","ceil","onPageChange","newPage","newSearchParams","object","toConsumableArray","page","adPreviewContent","document","getElementsByClassName","length","focus","onBackButtonClick","t","q","advertiser_ads_page_InvalidIdMessage","adQueryInput","Number","module","exports","__webpack_require__","p","react__WEBPACK_IMPORTED_MODULE_0__","react__WEBPACK_IMPORTED_MODULE_0___default","n","_objectWithoutProperties","source","excluded","i","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call","_extends","hasOwnProperty","ownKeys","enumerableOnly","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","configurable","writable","defaultProps","undefined","children","columnAttrs","column","DEFAULT_COLUMNS","Masonry","Component","[object Object]","columnCount","super","reCalculateColumnCount","bind","reCalculateColumnCountDebounce","default","parseInt","requestAnimationFrame","cancelAnimationFrame","_lastRecalculateAnimationFrame","windowWidth","Infinity","breakpointColsObject","matchedBreakpoint","columns","breakpoint","optBreakpoint","max","setState","currentColumnCount","itemsInColumns","Array","items","Children","toArray","columnIndex","childrenInColumns","columnWidth","logDeprecated","columnAttributes","style","message","console","_this$props","rest","classNameOutput","renderColumns","__webpack_exports__"],"mappings":"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","file":"static/js/4.2f9ffb82.chunk.js","sourcesContent":["import React from 'react';\r\nimport classnames from 'classnames';\r\nimport Proptypes from 'prop-types';\r\nimport { compose } from 'underscore';\r\nimport { withDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport { ICON_FILL_COLOR } from '@bingads-webui-adlibrary/common-components';\r\nimport {\r\n Avatar,\r\n Card,\r\n CardHeader,\r\n Text,\r\n} from '@fluentui/react-components';\r\nimport {\r\n CheckmarkCircle16Filled,\r\n} from '@fluentui/react-icons';\r\nimport {\r\n TooltipHost,\r\n} from '@fluentui/react/lib/Tooltip';\r\n\r\n\r\nconst getStyles = () => ({\r\n cardContainer: {\r\n width: '100%',\r\n padding: '16px',\r\n marginTop: '16px',\r\n },\r\n cardTitle: {\r\n fontStyle: 'normal',\r\n fontWeight: '600',\r\n fontSize: '14px',\r\n lineHeight: '20px',\r\n color: '#242424',\r\n },\r\n cardSubtitle: {\r\n fontStyle: 'normal',\r\n fontWeight: '400',\r\n fontSize: '12px',\r\n lineHeight: '16px',\r\n color: '#616161',\r\n },\r\n verified: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n justifyContent: 'flex-start',\r\n '& span': {\r\n marginLeft: '4px',\r\n },\r\n },\r\n tooltip: {\r\n marginLeft: '5px',\r\n position: 'relative',\r\n top: '2px',\r\n },\r\n});\r\n\r\nconst Header = ({ classes, name, isVerified }) => {\r\n const Content = () => (\r\n <span>\r\n Learn more about Microsoft's Advertiser Identity Verification Program <a href=\"https://help.ads.microsoft.com/#apex/ads/en/60151/-1\" target=\"_blank\" rel=\"noopener noreferrer\">here</a>\r\n </span>\r\n );\r\n return (\r\n <>\r\n <Text className={classes.cardTitle}>\r\n {name}\r\n </Text>\r\n { isVerified ?\r\n <span className={classes.tooltip}>\r\n <TooltipHost\r\n content={<Content />}\r\n >\r\n <CheckmarkCircle16Filled\r\n tabIndex={0}\r\n id={name}\r\n primaryFill={ICON_FILL_COLOR}\r\n aria-labelledby={`${name} verified`}\r\n aria-label={name}\r\n />\r\n </TooltipHost>\r\n </span> : null}\r\n </>\r\n );\r\n};\r\n\r\nconst UnStyledAdvertiserCard = (props) => {\r\n const {\r\n classes,\r\n AdvertiserName: name,\r\n AdvertiserCountry: country,\r\n IsVerified: isVerified,\r\n } = props;\r\n\r\n return (\r\n <Card className={classnames('advertiser-card', classes.cardContainer)}>\r\n <CardHeader\r\n image={<Avatar name={name} shape=\"square\" color=\"colorful\" size={48} />}\r\n header={<Header classes={classes} name={name} isVerified={isVerified} />}\r\n description={\r\n <Text className={classes.cardSubtitle}>Advertiser | {country}</Text>\r\n }\r\n />\r\n </Card>\r\n );\r\n};\r\n\r\nUnStyledAdvertiserCard.propTypes = {\r\n classes: Proptypes.shape({\r\n cardContainer: Proptypes.string.isRequired,\r\n cardTitle: Proptypes.string.isRequired,\r\n cardSubtitle: Proptypes.string.isRequired,\r\n }).isRequired,\r\n};\r\n\r\nexport const AdvertiserCard = compose(WrappedComponent => withDefaultStyles(WrappedComponent, getStyles))(UnStyledAdvertiserCard);\r\n","/* eslint-disable react-hooks/exhaustive-deps */\r\nimport React, { memo, useCallback, useContext, useEffect, useMemo, useState } from 'react';\r\nimport { useLocation, useNavigate, useParams, useSearchParams } from 'react-router-dom';\r\nimport { compose, object, isEmpty, isNumber } from 'underscore';\r\nimport classnames from 'classnames';\r\nimport useFetch from 'use-http';\r\nimport Masonry from 'react-masonry-css';\r\nimport { InstrumentationServiceContext } from '@bingads-webui/adlibrary-instrumentation';\r\nimport { withDefaultStyles } from '@bingads-webui-react/with-default-styles';\r\nimport {\r\n Text,\r\n Image,\r\n} from '@fluentui/react-components';\r\nimport { useCreateChildPerfMarker } from '@bingads-webui-campaign-react/performance-marker-provider';\r\nimport { generateGuid } from '@bingads-webui-universal/primitive-utilities';\r\nimport {\r\n AdResultCard,\r\n BackButton,\r\n CountryFilter,\r\n DateRangeFilter,\r\n ExtraInputFilter,\r\n Pagination,\r\n buildGetAdsQueryString,\r\n DEFAULT_AD_PAGE_SIZE,\r\n FallbackSpinner,\r\n AdResultLoadingEffect,\r\n ErrorMessage500,\r\n} from '@bingads-webui-adlibrary/common-components';\r\nimport { AdvertiserCard } from './advertiser-card';\r\nimport NoAssociatedAdImg from '../../assets/no-associated-ad.svg';\r\nimport { StyledErrorPage } from '../error-page/error-page';\r\n\r\nconst getStyles = () => ({\r\n pageOuterContainer: {\r\n height: '100%',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n overflowY: 'auto',\r\n background: '#FAFAFA',\r\n alignItems: 'center',\r\n },\r\n pageInnerContainer: {\r\n width: '1122px',\r\n display: 'flex',\r\n flexDirection: 'column',\r\n justifyContent: 'center',\r\n marginTop: '36px',\r\n marginBottom: '36px',\r\n '@media (max-width: 1200px)': {\r\n width: '738px',\r\n },\r\n '@media (max-width: 950px)': {\r\n width: '358px',\r\n },\r\n },\r\n resultTextContainer: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n marginTop: '40px',\r\n justifyContent: 'space-between',\r\n },\r\n resultCardContainer: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n flexWrap: 'wrap',\r\n alignItems: 'flex-start',\r\n justifyContent: 'center',\r\n marginTop: '36px',\r\n gap: '24px',\r\n },\r\n paginationContainer: {\r\n marginTop: '36px',\r\n display: 'flex',\r\n justifyContent: 'center',\r\n },\r\n filterRow: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n marginTop: '16px',\r\n alignItems: 'flex-end',\r\n justifyContent: 'space-between',\r\n flexWrap: 'wrap',\r\n },\r\n filterContainer: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n gap: '24px',\r\n flexWrap: 'wrap',\r\n },\r\n noResultWrapper: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n marginTop: '100px',\r\n '& .first-row': {\r\n marginTop: '24px',\r\n fontWeight: '400',\r\n fontSize: '24px',\r\n lineHeight: '36px',\r\n '& b': {\r\n fontWeight: '600',\r\n },\r\n },\r\n },\r\n sortText: {\r\n fontStyle: 'normal',\r\n fontWeight: '600',\r\n fontSize: '14px',\r\n lineHeight: '20px',\r\n textAlign: 'right',\r\n color: '#646464',\r\n },\r\n invalidMessageWrapper: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n justifyContent: 'center',\r\n marginTop: '100px',\r\n width: '1122px',\r\n },\r\n});\r\n\r\nconst AdSearchResults = memo(({\r\n classes,\r\n advertiserId,\r\n adQueryString,\r\n searchConfig,\r\n adCount,\r\n setAdCount,\r\n perfMarker,\r\n logger,\r\n}) => {\r\n const searchResultPerfMarker = perfMarker.createChild('results');\r\n const [ads, setAds] = useState({});\r\n const [lastRID, setLastRID] = useState(-1);\r\n const [fetchComplete, setFetchComplete] = useState(false);\r\n const [massonryCols, setMassonryCols] = useState(3);\r\n\r\n if (!fetchComplete && adCount === -1) {\r\n searchResultPerfMarker.willInit();\r\n }\r\n\r\n const {\r\n get,\r\n response,\r\n loading,\r\n error,\r\n } = useFetch();\r\n\r\n const handleResize = useCallback(() => {\r\n if (window.innerWidth < 950) {\r\n setMassonryCols(1);\r\n } else if (window.innerWidth < 1200) {\r\n setMassonryCols(2);\r\n } else {\r\n setMassonryCols(3);\r\n }\r\n }, []);\r\n\r\n async function loadAds() {\r\n const requestId = generateGuid();\r\n setLastRID(requestId);\r\n logger.logTrace(`Start fetching results of advertiserId=${advertiserId}`, {\r\n RID: requestId,\r\n QueryString: adQueryString,\r\n });\r\n const results = await get(`/api/v1/Ads?${adQueryString}&ReqId=${requestId}`);\r\n searchResultPerfMarker.willRender();\r\n setFetchComplete(true);\r\n if (response.ok) {\r\n logger.logTrace(`Succeed to fetch results of advertiserId=${advertiserId}`, {\r\n RID: requestId,\r\n QueryString: adQueryString,\r\n Response: response,\r\n });\r\n setAds(results);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n searchResultPerfMarker.willFetchData();\r\n loadAds();\r\n }, [adQueryString]);\r\n\r\n useEffect(() => {\r\n if (isNumber(ads['@odata.count'])) setAdCount(ads['@odata.count']);\r\n }, [ads['@odata.count']]);\r\n\r\n useEffect(() => {\r\n if (fetchComplete) {\r\n searchResultPerfMarker.done();\r\n }\r\n }, [fetchComplete]);\r\n\r\n useEffect(() => {\r\n window.addEventListener('resize', handleResize);\r\n handleResize();\r\n return () => window.removeEventListener('resize', handleResize);\r\n }, []);\r\n\r\n if (error) {\r\n logger.logError(`Failed to fetch results of advertiserId=${advertiserId}`, {\r\n RID: lastRID,\r\n QueryString: adQueryString,\r\n Error: error,\r\n });\r\n if (response.status === 500) return <ErrorMessage500 />;\r\n return <StyledErrorPage />;\r\n }\r\n if (loading) return <AdResultLoadingEffect />;\r\n\r\n return adCount === 0 ? (\r\n <div className={classes.noResultWrapper}>\r\n <Image src={NoAssociatedAdImg} height=\"200\" width=\"222\" />\r\n <Text className=\"first-row\">There are no ads associated with this advertiser</Text>\r\n </div>\r\n ) : (\r\n <Masonry\r\n breakpointCols={massonryCols}\r\n className=\"masonry-grid\"\r\n columnClassName=\"masonry-grid_column\"\r\n >\r\n {\r\n ads.value && ads.value.map((ad) => {\r\n const updatedAd = { ...ad };\r\n if (updatedAd.AdId) updatedAd.AdId = updatedAd.AdId.toString();\r\n if (updatedAd.AdvertiserId) updatedAd.AdvertiserId = updatedAd.AdvertiserId.toString();\r\n return <AdResultCard key={updatedAd.AdId} {...updatedAd} searchConfig={searchConfig} />;\r\n })\r\n }\r\n </Masonry>\r\n );\r\n}, (prevProps, nextProps) => prevProps.adQueryString === nextProps.adQueryString && prevProps.adCount === nextProps.adCount);\r\n\r\nconst AdvertiserBanner = memo(({\r\n advertiserId,\r\n setAdvertiserName,\r\n setIsInvalidID,\r\n perfMarker,\r\n logger,\r\n}) => {\r\n const bannerPerfMarker = perfMarker.createChild('banner');\r\n\r\n const [advertiser, setAdvertiser] = useState({});\r\n const [lastRID, setLastRID] = useState(-1);\r\n const [fetchComplete, setFetchComplete] = useState(false);\r\n\r\n if (!fetchComplete && lastRID === -1) {\r\n bannerPerfMarker.willInit();\r\n }\r\n\r\n const {\r\n get,\r\n response,\r\n loading,\r\n error,\r\n } = useFetch();\r\n\r\n async function loadAdvertiserById() {\r\n const requestId = generateGuid();\r\n setLastRID(requestId);\r\n logger.logTrace(`Start fetching summary of advertiserId=${advertiserId}`, {\r\n RID: requestId,\r\n AdvertiserId: advertiserId,\r\n });\r\n const results = await get(`/api/v1/Advertisers/${advertiserId}?&ReqId=${requestId}`);\r\n bannerPerfMarker.willRender();\r\n setFetchComplete(true);\r\n if (response.ok) {\r\n logger.logTrace(`Succeed to fetch summary of advertiserId='${advertiserId}'`, {\r\n RID: requestId,\r\n AdvertiserId: advertiserId,\r\n Response: results,\r\n });\r\n setAdvertiser(results);\r\n if (response.status === 200 && isEmpty(response.data)) {\r\n setIsInvalidID(true);\r\n }\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n bannerPerfMarker.willFetchData();\r\n loadAdvertiserById();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (advertiser) {\r\n setAdvertiserName(advertiser.AdvertiserName);\r\n }\r\n }, [advertiser]);\r\n\r\n useEffect(() => {\r\n if (fetchComplete) {\r\n bannerPerfMarker.done();\r\n }\r\n }, [fetchComplete]);\r\n\r\n if (error) {\r\n logger.logError(`Failed to fetch summary of advertiserId='${advertiserId}'`, {\r\n RID: lastRID,\r\n AdvertiserId: advertiserId,\r\n Error: error,\r\n });\r\n return <div>Oops, something went wrong...</div>;\r\n }\r\n if (loading) return <FallbackSpinner />;\r\n\r\n return (\r\n <AdvertiserCard\r\n AdvertiserName={advertiser.AdvertiserName}\r\n AdvertiserCountry={advertiser.AdvertiserCountry}\r\n IsVerified={advertiser.IsVerified}\r\n />\r\n );\r\n}, (prevProps, nextProps) => !prevProps || prevProps.advertiserId === nextProps.advertiserId);\r\n\r\nconst InvalidIdMessage = ({ classes }) => (\r\n <div className={classes.invalidMessageWrapper}>\r\n <h2>No data found for this advertiser ID.</h2>\r\n <h2>Either it is invalid or this advertiser has not yet served any ads in the European Economic Area.</h2>\r\n </div>\r\n);\r\n\r\nconst AdvertiserAdsPage = (props) => {\r\n const { classes } = props;\r\n const logger = useContext(InstrumentationServiceContext);\r\n const perfMarker = useCreateChildPerfMarker('advertiser_page');\r\n\r\n perfMarker.willInit();\r\n\r\n const [adCount, setAdCount] = useState(-1);\r\n const [advertiserName, setAdvertiserName] = useState('');\r\n const [prevPageState, setPrevPageState] = useState(null);\r\n const [isInvalidID, setIsInvalidID] = useState(false);\r\n\r\n const location = useLocation();\r\n const navigate = useNavigate();\r\n const searchConfig = location.state ? location.state : null;\r\n\r\n const { id } = useParams();\r\n const [searchParams, setSearchParams] = useSearchParams();\r\n\r\n const countryCodeList = searchParams.get('ctrs') ? searchParams.get('ctrs').split(',') : [];\r\n const filterStartDate = searchParams.get('start') || '';\r\n const filterEndDate = searchParams.get('end') || '';\r\n const filterExtraInput = searchParams.get('aq') || '';\r\n const currentPage = searchParams.get('page') || 1;\r\n const adQueryString = buildGetAdsQueryString({\r\n top: DEFAULT_AD_PAGE_SIZE,\r\n skip: (currentPage - 1) * DEFAULT_AD_PAGE_SIZE,\r\n startDate: filterStartDate,\r\n endDate: filterEndDate,\r\n countryCodeList,\r\n advertiserId: id,\r\n searchText: filterExtraInput,\r\n });\r\n\r\n const totalPage = useMemo(() => Math.ceil(adCount / DEFAULT_AD_PAGE_SIZE), [adCount]);\r\n const onPageChange = useCallback((newPage) => {\r\n logger.logTrace(`Changing page to ${newPage}`);\r\n const newSearchParams = object([...searchParams]);\r\n if (newPage) {\r\n newSearchParams.page = newPage;\r\n }\r\n setSearchParams(newSearchParams);\r\n const adPreviewContent = document.getElementsByClassName('responsive-ad-preview-content');\r\n if (adPreviewContent.length > 0) {\r\n adPreviewContent[0].focus();\r\n }\r\n }, [searchParams, setSearchParams]);\r\n\r\n const onBackButtonClick = useCallback(() => {\r\n logger.logTrace('Clicking back button');\r\n if (prevPageState !== null) {\r\n navigate(`/?t=${searchConfig.t}&q=${searchConfig.q}`);\r\n } else {\r\n navigate('/');\r\n }\r\n }, [prevPageState]);\r\n\r\n useEffect(() => {\r\n logger.logTrace('Rendered the advertiser page');\r\n if (searchConfig !== null) {\r\n setPrevPageState(searchConfig);\r\n }\r\n perfMarker.done();\r\n }, []);\r\n\r\n if (!id) return null;\r\n\r\n perfMarker.willRender();\r\n\r\n return (\r\n <div className={classnames('advertiser-page', classes.pageOuterContainer)}>\r\n {\r\n isInvalidID && adCount === 0 ? <InvalidIdMessage classes={classes} /> :\r\n <div className={classes.pageInnerContainer}>\r\n {\r\n prevPageState !== null ? (\r\n <BackButton onBackButtonClick={onBackButtonClick} />\r\n ) : null\r\n }\r\n <AdvertiserBanner\r\n advertiserId={id}\r\n setAdvertiserName={setAdvertiserName}\r\n setIsInvalidID={setIsInvalidID}\r\n perfMarker={perfMarker}\r\n logger={logger}\r\n />\r\n <div className={classes.resultTextContainer}>\r\n <Text>All ads by <b>{`${advertiserName} (${adCount === -1 ? '...' : adCount}${adCount === 1000 ? ' or more' : ''} results)`}</b></Text>\r\n </div>\r\n <div className={classes.filterRow}>\r\n <div className={classes.filterContainer}>\r\n <CountryFilter\r\n countryCodeList={countryCodeList}\r\n searchParams={searchParams}\r\n setSearchParams={setSearchParams}\r\n />\r\n <DateRangeFilter\r\n startDate={filterStartDate}\r\n endDate={filterEndDate}\r\n searchParams={searchParams}\r\n setSearchParams={setSearchParams}\r\n />\r\n </div>\r\n <ExtraInputFilter\r\n adQueryInput={filterExtraInput}\r\n searchParams={searchParams}\r\n setSearchParams={setSearchParams}\r\n />\r\n </div>\r\n <AdSearchResults\r\n classes={classes}\r\n advertiserId={id}\r\n adQueryString={adQueryString}\r\n adCount={adCount}\r\n setAdCount={setAdCount}\r\n searchConfig={{ id, ...object([...searchParams]) }}\r\n perfMarker={perfMarker}\r\n logger={logger}\r\n />\r\n {\r\n adCount > 0 && (\r\n <div className={classes.paginationContainer}>\r\n <Pagination\r\n totalPage={totalPage}\r\n currentPage={Number(currentPage)}\r\n onPageChange={onPageChange}\r\n />\r\n </div>\r\n )\r\n }\r\n </div>\r\n }\r\n </div>\r\n );\r\n};\r\n\r\nexport const StyledAdvertiserAdsPage = compose(WrappedComponent => withDefaultStyles(WrappedComponent, getStyles))(AdvertiserAdsPage);\r\n","module.exports = __webpack_public_path__ + \"static/media/no-associated-ad.d844c8b3.svg\";","import React from 'react';\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nconst defaultProps = {\n breakpointCols: undefined,\n // optional, number or object { default: number, [key: number]: number }\n className: undefined,\n // required, string\n columnClassName: undefined,\n // optional, string\n // Any React children. Typically an array of JSX items\n children: undefined,\n // Custom attributes, however it is advised against\n // using these to prevent unintended issues and future conflicts\n // ...any other attribute, will be added to the container\n columnAttrs: undefined,\n // object, added to the columns\n // Deprecated props\n // The column property is deprecated.\n // It is an alias of the `columnAttrs` property\n column: undefined\n};\nconst DEFAULT_COLUMNS = 2;\n\nclass Masonry extends React.Component {\n constructor(props) {\n super(props); // Correct scope for when methods are accessed externally\n\n this.reCalculateColumnCount = this.reCalculateColumnCount.bind(this);\n this.reCalculateColumnCountDebounce = this.reCalculateColumnCountDebounce.bind(this); // default state\n\n let columnCount;\n\n if (this.props.breakpointCols && this.props.breakpointCols.default) {\n columnCount = this.props.breakpointCols.default;\n } else {\n columnCount = parseInt(this.props.breakpointCols) || DEFAULT_COLUMNS;\n }\n\n this.state = {\n columnCount\n };\n }\n\n componentDidMount() {\n this.reCalculateColumnCount(); // window may not be available in some environments\n\n if (window) {\n window.addEventListener('resize', this.reCalculateColumnCountDebounce);\n }\n }\n\n componentDidUpdate() {\n this.reCalculateColumnCount();\n }\n\n componentWillUnmount() {\n if (window) {\n window.removeEventListener('resize', this.reCalculateColumnCountDebounce);\n }\n }\n\n reCalculateColumnCountDebounce() {\n if (!window || !window.requestAnimationFrame) {\n // IE10+\n this.reCalculateColumnCount();\n return;\n }\n\n if (window.cancelAnimationFrame) {\n // IE10+\n window.cancelAnimationFrame(this._lastRecalculateAnimationFrame);\n }\n\n this._lastRecalculateAnimationFrame = window.requestAnimationFrame(() => {\n this.reCalculateColumnCount();\n });\n }\n\n reCalculateColumnCount() {\n const windowWidth = window && window.innerWidth || Infinity;\n let breakpointColsObject = this.props.breakpointCols; // Allow passing a single number to `breakpointCols` instead of an object\n\n if (typeof breakpointColsObject !== 'object') {\n breakpointColsObject = {\n default: parseInt(breakpointColsObject) || DEFAULT_COLUMNS\n };\n }\n\n let matchedBreakpoint = Infinity;\n let columns = breakpointColsObject.default || DEFAULT_COLUMNS;\n\n for (let breakpoint in breakpointColsObject) {\n const optBreakpoint = parseInt(breakpoint);\n const isCurrentBreakpoint = optBreakpoint > 0 && windowWidth <= optBreakpoint;\n\n if (isCurrentBreakpoint && optBreakpoint < matchedBreakpoint) {\n matchedBreakpoint = optBreakpoint;\n columns = breakpointColsObject[breakpoint];\n }\n }\n\n columns = Math.max(1, parseInt(columns) || 1);\n\n if (this.state.columnCount !== columns) {\n this.setState({\n columnCount: columns\n });\n }\n }\n\n itemsInColumns() {\n const currentColumnCount = this.state.columnCount;\n const itemsInColumns = new Array(currentColumnCount); // Force children to be handled as an array\n\n const items = React.Children.toArray(this.props.children);\n\n for (let i = 0; i < items.length; i++) {\n const columnIndex = i % currentColumnCount;\n\n if (!itemsInColumns[columnIndex]) {\n itemsInColumns[columnIndex] = [];\n }\n\n itemsInColumns[columnIndex].push(items[i]);\n }\n\n return itemsInColumns;\n }\n\n renderColumns() {\n const {\n column,\n columnAttrs = {},\n columnClassName\n } = this.props;\n const childrenInColumns = this.itemsInColumns();\n const columnWidth = `${100 / childrenInColumns.length}%`;\n let className = columnClassName;\n\n if (className && typeof className !== 'string') {\n this.logDeprecated('The property \"columnClassName\" requires a string'); // This is a deprecated default and will be removed soon.\n\n if (typeof className === 'undefined') {\n className = 'my-masonry-grid_column';\n }\n }\n\n const columnAttributes = _objectSpread(_objectSpread(_objectSpread({}, column), columnAttrs), {}, {\n style: _objectSpread(_objectSpread({}, columnAttrs.style), {}, {\n width: columnWidth\n }),\n className\n });\n\n return childrenInColumns.map((items, i) => {\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, columnAttributes, {\n key: i\n }), items);\n });\n }\n\n logDeprecated(message) {\n console.error('[Masonry]', message);\n }\n\n render() {\n const _this$props = this.props,\n {\n // ignored\n children,\n breakpointCols,\n columnClassName,\n columnAttrs,\n column,\n // used\n className\n } = _this$props,\n rest = _objectWithoutProperties(_this$props, [\"children\", \"breakpointCols\", \"columnClassName\", \"columnAttrs\", \"column\", \"className\"]);\n\n let classNameOutput = className;\n\n if (typeof className !== 'string') {\n this.logDeprecated('The property \"className\" requires a string'); // This is a deprecated default and will be removed soon.\n\n if (typeof className === 'undefined') {\n classNameOutput = 'my-masonry-grid';\n }\n }\n\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, rest, {\n className: classNameOutput\n }), this.renderColumns());\n }\n\n}\n\nMasonry.defaultProps = defaultProps;\n\nexport default Masonry;\n"],"sourceRoot":""}