{"version":3,"sources":["webpack:///./js/services/CloudinaryService.ts","webpack:///./js/react/shared/Image.tsx","webpack:///./js/react/blog/listing/BlogRelatedListing.tsx","webpack:///./node_modules/query-string/index.js","webpack:///./node_modules/query-string/node_modules/strict-uri-encode/index.js","webpack:///./node_modules/decode-uri-component/index.js","webpack:///./node_modules/split-on-first/index.js","webpack:///./js/react/shared/cards/BlogCard.tsx"],"names":["BASE_URI","createUrl","publicId","options","transforms","combineTransforms","crop","dpr","fetchFormat","gravity","quality","encodedId","encodeURIComponent","combineUrlSegments","constructor","this","url","memoize","strategy","strategies","variadic","length","removeExtension","toLowerCase","aspectRatio","background","defaultImageId","height","width","zoom","aspectRatioString","aspectRatioNumber","sanitizeBg","indexOf","substring","qualityString","qualityNumber","replace","substr","str","index","lastIndexOf","Image","alt","className","image","ratio","cdn","loading","otherProps","imageUrl1x","Cloudinary","imageUrl2x","imgRef","useObjectFit","React","createElement","Object","assign","ref","src","srcSet","Listing","nodeId","type","data","setData","useState","useEffect","async","query","nodeid","res","fetch","queryString","stringify","ok","resData","json","getData","Fragment","items","EOLocale","Text","id","map","item","BlogCard","key","strictUriEncode","require","decodeComponent","splitOnFirst","encode","value","strict","decode","removeHash","input","hashStart","slice","extract","queryStart","parseValue","parseNumbers","Number","isNaN","trim","parseBooleans","parse","formatter","result","arrayFormat","accumulator","exec","undefined","concat","newValue","split","parserForArrayFormat","sort","ret","create","param","keys","k","reduce","Boolean","Array","isArray","keysSorter","a","b","exports","object","skipNull","join","encoderForArrayFormat","objectCopy","filter","x","parseUrl","stringifyUrl","queryFromUrl","parsedQueryFromUrl","hash","getHash","module","singleMatcher","RegExp","multiMatcher","decodeComponents","components","decodeURIComponent","err","left","right","prototype","call","tokens","match","i","encodedURI","TypeError","replaceMap","entries","customDecodeURIComponent","string","separator","separatorIndex","specialCharacters","title","authorName","authorImage","date","readTime","pinText","href","includes","Intl","DateTimeFormat","year","month","day","format","Date"],"mappings":"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","file":"30-f419463f68fec492cb4d.js","sourcesContent":["import memoize from 'fast-memoize';\r\nconst CLOUDINARY_CLOUD_NAME = 'xperience-io';\r\nconst BASE_URI = `https://res.cloudinary.com/${CLOUDINARY_CLOUD_NAME}/image/upload`;\r\n/** Provides access to Cloudinary functionality. */\r\nclass CloudinaryService {\r\n constructor() {\r\n this.url = memoize(createUrl, {\r\n strategy: memoize.strategies.variadic,\r\n });\r\n }\r\n}\r\n/** Create a Cloudinary URL. */\r\nfunction createUrl(publicId, options = {}) {\r\n if (!publicId) {\r\n return createUrl('kentico_logo_kmlajq', options);\r\n }\r\n const transforms = combineTransforms({\r\n crop: 'lfill',\r\n dpr: 1,\r\n fetchFormat: 'auto',\r\n gravity: 'auto',\r\n quality: 'auto',\r\n ...options,\r\n });\r\n // Encode public id value to fix issue with spaces breaking srcset.\r\n const encodedId = encodeURIComponent(publicId);\r\n return combineUrlSegments(encodedId, transforms, options.fetchFormat);\r\n}\r\nexport default new CloudinaryService();\r\n/** Combine segments of URL together to form full Cloudinary URL. */\r\nfunction combineUrlSegments(publicId, transforms, fetchFormat = '') {\r\n let url = BASE_URI;\r\n if (transforms && transforms.length) {\r\n url += `/${transforms}`;\r\n }\r\n url += `/${removeExtension(publicId.toLowerCase())}`;\r\n if (fetchFormat && fetchFormat !== 'auto') {\r\n url += `.${fetchFormat}`;\r\n }\r\n return url;\r\n}\r\n/** Create combined transform string. */\r\nfunction combineTransforms({ aspectRatio, background, crop, defaultImageId, dpr, fetchFormat, gravity, height, quality, width, zoom, }) {\r\n let transforms = '';\r\n // Apply sizing and cropping transforms.\r\n const aspectRatioString = aspectRatio;\r\n const aspectRatioNumber = aspectRatio;\r\n if (aspectRatioString && aspectRatioString.length) {\r\n transforms += `,ar_${aspectRatioString}`;\r\n }\r\n else if (aspectRatioNumber && aspectRatioNumber > 0) {\r\n transforms += `,ar_${aspectRatioNumber}`;\r\n }\r\n if (background && background.length) {\r\n const sanitizeBg = background.indexOf('#') === 0 ? background.substring(1) : background;\r\n transforms += `,b_rgb:${sanitizeBg}`;\r\n }\r\n if (crop && crop.length) {\r\n transforms += `,c_${crop}`;\r\n }\r\n if (dpr && dpr > 0) {\r\n transforms += `,dpr_${dpr}`;\r\n }\r\n if (gravity && gravity.length) {\r\n transforms += `,g_${gravity}`;\r\n }\r\n if (height && height > 0) {\r\n transforms += `,h_${height}`;\r\n }\r\n if (width && width > 0) {\r\n transforms += `,w_${width}`;\r\n }\r\n if (zoom) {\r\n transforms += `,z_${zoom}`;\r\n }\r\n // Add separator for chained transform.\r\n transforms += '/';\r\n // Add default image.\r\n if (defaultImageId && defaultImageId.length) {\r\n transforms += `,d_${defaultImageId}`;\r\n }\r\n // Add separator for chained transform.\r\n transforms += '/';\r\n // Apply quality and format transforms.\r\n if (fetchFormat && fetchFormat === 'auto') {\r\n transforms += ',f_auto';\r\n }\r\n const qualityString = quality;\r\n const qualityNumber = quality;\r\n if (qualityString && qualityString.length) {\r\n transforms += `,q_${qualityString}`;\r\n }\r\n else if (qualityNumber && qualityNumber > 0) {\r\n transforms += `,q_${qualityNumber}`;\r\n }\r\n // Clean up separators.\r\n transforms = transforms.replace(/\\/\\//g, '/');\r\n transforms = transforms.replace(/\\/,/g, '/');\r\n // Remove preceeding comma.\r\n transforms = transforms.indexOf(',') === 0 ? transforms.substr(1) : transforms;\r\n return transforms;\r\n}\r\n/** Remove extension from string. */\r\nfunction removeExtension(str) {\r\n const index = str.lastIndexOf('.');\r\n if (index >= 0) {\r\n return str.substring(0, index);\r\n }\r\n return str;\r\n}\r\n","import React from 'react';\r\nimport { useObjectFit } from '@netc/hooks';\r\nimport Cloudinary from '@services/CloudinaryService';\r\nconst Image = ({ alt, className = '', height = null, image, ratio = null, width, options = {}, cdn, loading = \"eager\", ...otherProps }) => {\r\n if (cdn) {\r\n const imageUrl1x = Cloudinary.url(image, {\r\n ...options,\r\n aspectRatio: ratio || 0,\r\n height: height || 0,\r\n width,\r\n });\r\n const imageUrl2x = Cloudinary.url(image, {\r\n ...options,\r\n aspectRatio: ratio || 0,\r\n dpr: 2,\r\n height: height || 0,\r\n width,\r\n });\r\n const imgRef = useObjectFit();\r\n return (React.createElement(\"img\", Object.assign({ ref: imgRef }, otherProps, { alt: alt, className: `${className} js-object-fit`, src: imageUrl1x, srcSet: `${imageUrl1x} 1x, ${imageUrl2x} 2x`, loading: loading })));\r\n }\r\n else {\r\n return (React.createElement(\"img\", Object.assign({}, otherProps, { alt: alt, className: `${className} js-object-fit`, src: `${image}?width=${width}` })));\r\n }\r\n};\r\nexport default Image;\r\n","import queryString from 'query-string';\r\nimport React, { Fragment, useState, useEffect, } from 'react';\r\nimport BlogCard from '../../shared/cards/BlogCard';\r\nimport { EOLocale } from 'eo-locale';\r\nconst Listing = ({ nodeId, type }) => {\r\n const [data, setData] = useState(null);\r\n useEffect(() => {\r\n getData();\r\n async function getData() {\r\n const query = {\r\n nodeid: nodeId,\r\n type: type,\r\n };\r\n const res = await fetch(`/api/blog/related/?${queryString.stringify(query)}`);\r\n if (!res.ok) {\r\n return;\r\n }\r\n const resData = (await res.json());\r\n setData(resData);\r\n }\r\n }, []);\r\n if (!data) {\r\n return null;\r\n }\r\n return (React.createElement(Fragment, null,\r\n data.items.length && (React.createElement(\"section\", { className: \"standard-banner standard-banner--sub\" },\r\n React.createElement(\"div\", { className: \"site-wide grid-container grid-container--full\" },\r\n React.createElement(\"div\", { className: \"grid-column\" }, type === 'page' ?\r\n React.createElement(\"h2\", null,\r\n React.createElement(EOLocale.Text, { id: \"xperience.blogpost.pagerelatedarticles\" }))\r\n :\r\n React.createElement(\"h2\", null,\r\n React.createElement(EOLocale.Text, { id: \"xperience.blogpost.contactrelatedarticles\" })))))),\r\n data.items.length && (React.createElement(\"div\", { className: \"site-wide grid-container grid-container--third vert-padding-50\" }, data.items.map((item) => React.createElement(BlogCard, Object.assign({}, item, { key: item.id })))))));\r\n};\r\nexport default Listing;\r\n","'use strict';\nconst strictUriEncode = require('strict-uri-encode');\nconst decodeComponent = require('decode-uri-component');\nconst splitOnFirst = require('split-on-first');\n\nfunction encoderForArrayFormat(options) {\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tconst index = result.length;\n\t\t\t\tif (value === undefined || (options.skipNull && value === null)) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[', index, ']'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [\n\t\t\t\t\t...result,\n\t\t\t\t\t[encode(key, options), '[', encode(index, options), ']=', encode(value, options)].join('')\n\t\t\t\t];\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (value === undefined || (options.skipNull && value === null)) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, [encode(key, options), '[]'].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '[]=', encode(value, options)].join('')];\n\t\t\t};\n\n\t\tcase 'comma':\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (value === null || value === undefined || value.length === 0) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (result.length === 0) {\n\t\t\t\t\treturn [[encode(key, options), '=', encode(value, options)].join('')];\n\t\t\t\t}\n\n\t\t\t\treturn [[result, encode(value, options)].join(',')];\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn key => (result, value) => {\n\t\t\t\tif (value === undefined || (options.skipNull && value === null)) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tif (value === null) {\n\t\t\t\t\treturn [...result, encode(key, options)];\n\t\t\t\t}\n\n\t\t\t\treturn [...result, [encode(key, options), '=', encode(value, options)].join('')];\n\t\t\t};\n\t}\n}\n\nfunction parserForArrayFormat(options) {\n\tlet result;\n\n\tswitch (options.arrayFormat) {\n\t\tcase 'index':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /\\[(\\d*)\\]$/.exec(key);\n\n\t\t\t\tkey = key.replace(/\\[\\d*\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = {};\n\t\t\t\t}\n\n\t\t\t\taccumulator[key][result[1]] = value;\n\t\t\t};\n\n\t\tcase 'bracket':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tresult = /(\\[\\])$/.exec(key);\n\t\t\t\tkey = key.replace(/\\[\\]$/, '');\n\n\t\t\t\tif (!result) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = [value];\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\n\t\tcase 'comma':\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tconst isArray = typeof value === 'string' && value.split('').indexOf(',') > -1;\n\t\t\t\tconst newValue = isArray ? value.split(',') : value;\n\t\t\t\taccumulator[key] = newValue;\n\t\t\t};\n\n\t\tdefault:\n\t\t\treturn (key, value, accumulator) => {\n\t\t\t\tif (accumulator[key] === undefined) {\n\t\t\t\t\taccumulator[key] = value;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\taccumulator[key] = [].concat(accumulator[key], value);\n\t\t\t};\n\t}\n}\n\nfunction encode(value, options) {\n\tif (options.encode) {\n\t\treturn options.strict ? strictUriEncode(value) : encodeURIComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction decode(value, options) {\n\tif (options.decode) {\n\t\treturn decodeComponent(value);\n\t}\n\n\treturn value;\n}\n\nfunction keysSorter(input) {\n\tif (Array.isArray(input)) {\n\t\treturn input.sort();\n\t}\n\n\tif (typeof input === 'object') {\n\t\treturn keysSorter(Object.keys(input))\n\t\t\t.sort((a, b) => Number(a) - Number(b))\n\t\t\t.map(key => input[key]);\n\t}\n\n\treturn input;\n}\n\nfunction removeHash(input) {\n\tconst hashStart = input.indexOf('#');\n\tif (hashStart !== -1) {\n\t\tinput = input.slice(0, hashStart);\n\t}\n\n\treturn input;\n}\n\nfunction getHash(url) {\n\tlet hash = '';\n\tconst hashStart = url.indexOf('#');\n\tif (hashStart !== -1) {\n\t\thash = url.slice(hashStart);\n\t}\n\n\treturn hash;\n}\n\nfunction extract(input) {\n\tinput = removeHash(input);\n\tconst queryStart = input.indexOf('?');\n\tif (queryStart === -1) {\n\t\treturn '';\n\t}\n\n\treturn input.slice(queryStart + 1);\n}\n\nfunction parseValue(value, options) {\n\tif (options.parseNumbers && !Number.isNaN(Number(value)) && (typeof value === 'string' && value.trim() !== '')) {\n\t\tvalue = Number(value);\n\t} else if (options.parseBooleans && value !== null && (value.toLowerCase() === 'true' || value.toLowerCase() === 'false')) {\n\t\tvalue = value.toLowerCase() === 'true';\n\t}\n\n\treturn value;\n}\n\nfunction parse(input, options) {\n\toptions = Object.assign({\n\t\tdecode: true,\n\t\tsort: true,\n\t\tarrayFormat: 'none',\n\t\tparseNumbers: false,\n\t\tparseBooleans: false\n\t}, options);\n\n\tconst formatter = parserForArrayFormat(options);\n\n\t// Create an object with no prototype\n\tconst ret = Object.create(null);\n\n\tif (typeof input !== 'string') {\n\t\treturn ret;\n\t}\n\n\tinput = input.trim().replace(/^[?#&]/, '');\n\n\tif (!input) {\n\t\treturn ret;\n\t}\n\n\tfor (const param of input.split('&')) {\n\t\tlet [key, value] = splitOnFirst(options.decode ? param.replace(/\\+/g, ' ') : param, '=');\n\n\t\t// Missing `=` should be `null`:\n\t\t// http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters\n\t\tvalue = value === undefined ? null : decode(value, options);\n\t\tformatter(decode(key, options), value, ret);\n\t}\n\n\tfor (const key of Object.keys(ret)) {\n\t\tconst value = ret[key];\n\t\tif (typeof value === 'object' && value !== null) {\n\t\t\tfor (const k of Object.keys(value)) {\n\t\t\t\tvalue[k] = parseValue(value[k], options);\n\t\t\t}\n\t\t} else {\n\t\t\tret[key] = parseValue(value, options);\n\t\t}\n\t}\n\n\tif (options.sort === false) {\n\t\treturn ret;\n\t}\n\n\treturn (options.sort === true ? Object.keys(ret).sort() : Object.keys(ret).sort(options.sort)).reduce((result, key) => {\n\t\tconst value = ret[key];\n\t\tif (Boolean(value) && typeof value === 'object' && !Array.isArray(value)) {\n\t\t\t// Sort object keys, not values\n\t\t\tresult[key] = keysSorter(value);\n\t\t} else {\n\t\t\tresult[key] = value;\n\t\t}\n\n\t\treturn result;\n\t}, Object.create(null));\n}\n\nexports.extract = extract;\nexports.parse = parse;\n\nexports.stringify = (object, options) => {\n\tif (!object) {\n\t\treturn '';\n\t}\n\n\toptions = Object.assign({\n\t\tencode: true,\n\t\tstrict: true,\n\t\tarrayFormat: 'none'\n\t}, options);\n\n\tconst formatter = encoderForArrayFormat(options);\n\n\tconst objectCopy = Object.assign({}, object);\n\tif (options.skipNull) {\n\t\tfor (const key of Object.keys(objectCopy)) {\n\t\t\tif (objectCopy[key] === undefined || objectCopy[key] === null) {\n\t\t\t\tdelete objectCopy[key];\n\t\t\t}\n\t\t}\n\t}\n\n\tconst keys = Object.keys(objectCopy);\n\n\tif (options.sort !== false) {\n\t\tkeys.sort(options.sort);\n\t}\n\n\treturn keys.map(key => {\n\t\tconst value = object[key];\n\n\t\tif (value === undefined) {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (value === null) {\n\t\t\treturn encode(key, options);\n\t\t}\n\n\t\tif (Array.isArray(value)) {\n\t\t\treturn value\n\t\t\t\t.reduce(formatter(key), [])\n\t\t\t\t.join('&');\n\t\t}\n\n\t\treturn encode(key, options) + '=' + encode(value, options);\n\t}).filter(x => x.length > 0).join('&');\n};\n\nexports.parseUrl = (input, options) => {\n\treturn {\n\t\turl: removeHash(input).split('?')[0] || '',\n\t\tquery: parse(extract(input), options)\n\t};\n};\n\nexports.stringifyUrl = (input, options) => {\n\tconst url = removeHash(input.url).split('?')[0] || '';\n\tconst queryFromUrl = exports.extract(input.url);\n\tconst parsedQueryFromUrl = exports.parse(queryFromUrl);\n\tconst hash = getHash(input.url);\n\tconst query = Object.assign(parsedQueryFromUrl, input.query);\n\tlet queryString = exports.stringify(query, options);\n\tif (queryString) {\n\t\tqueryString = `?${queryString}`;\n\t}\n\n\treturn `${url}${queryString}${hash}`;\n};\n","'use strict';\nmodule.exports = str => encodeURIComponent(str).replace(/[!'()*]/g, x => `%${x.charCodeAt(0).toString(16).toUpperCase()}`);\n","'use strict';\nvar token = '%[a-f0-9]{2}';\nvar singleMatcher = new RegExp(token, 'gi');\nvar multiMatcher = new RegExp('(' + token + ')+', 'gi');\n\nfunction decodeComponents(components, split) {\n\ttry {\n\t\t// Try to decode the entire string first\n\t\treturn decodeURIComponent(components.join(''));\n\t} catch (err) {\n\t\t// Do nothing\n\t}\n\n\tif (components.length === 1) {\n\t\treturn components;\n\t}\n\n\tsplit = split || 1;\n\n\t// Split the array in 2 parts\n\tvar left = components.slice(0, split);\n\tvar right = components.slice(split);\n\n\treturn Array.prototype.concat.call([], decodeComponents(left), decodeComponents(right));\n}\n\nfunction decode(input) {\n\ttry {\n\t\treturn decodeURIComponent(input);\n\t} catch (err) {\n\t\tvar tokens = input.match(singleMatcher);\n\n\t\tfor (var i = 1; i < tokens.length; i++) {\n\t\t\tinput = decodeComponents(tokens, i).join('');\n\n\t\t\ttokens = input.match(singleMatcher);\n\t\t}\n\n\t\treturn input;\n\t}\n}\n\nfunction customDecodeURIComponent(input) {\n\t// Keep track of all the replacements and prefill the map with the `BOM`\n\tvar replaceMap = {\n\t\t'%FE%FF': '\\uFFFD\\uFFFD',\n\t\t'%FF%FE': '\\uFFFD\\uFFFD'\n\t};\n\n\tvar match = multiMatcher.exec(input);\n\twhile (match) {\n\t\ttry {\n\t\t\t// Decode as big chunks as possible\n\t\t\treplaceMap[match[0]] = decodeURIComponent(match[0]);\n\t\t} catch (err) {\n\t\t\tvar result = decode(match[0]);\n\n\t\t\tif (result !== match[0]) {\n\t\t\t\treplaceMap[match[0]] = result;\n\t\t\t}\n\t\t}\n\n\t\tmatch = multiMatcher.exec(input);\n\t}\n\n\t// Add `%C2` at the end of the map to make sure it does not replace the combinator before everything else\n\treplaceMap['%C2'] = '\\uFFFD';\n\n\tvar entries = Object.keys(replaceMap);\n\n\tfor (var i = 0; i < entries.length; i++) {\n\t\t// Replace all decoded components\n\t\tvar key = entries[i];\n\t\tinput = input.replace(new RegExp(key, 'g'), replaceMap[key]);\n\t}\n\n\treturn input;\n}\n\nmodule.exports = function (encodedURI) {\n\tif (typeof encodedURI !== 'string') {\n\t\tthrow new TypeError('Expected `encodedURI` to be of type `string`, got `' + typeof encodedURI + '`');\n\t}\n\n\ttry {\n\t\tencodedURI = encodedURI.replace(/\\+/g, ' ');\n\n\t\t// Try the built in decoder first\n\t\treturn decodeURIComponent(encodedURI);\n\t} catch (err) {\n\t\t// Fallback to a more advanced decoder\n\t\treturn customDecodeURIComponent(encodedURI);\n\t}\n};\n","'use strict';\n\nmodule.exports = (string, separator) => {\n\tif (!(typeof string === 'string' && typeof separator === 'string')) {\n\t\tthrow new TypeError('Expected the arguments to be of type `string`');\n\t}\n\n\tif (separator === '') {\n\t\treturn [string];\n\t}\n\n\tconst separatorIndex = string.indexOf(separator);\n\n\tif (separatorIndex === -1) {\n\t\treturn [string];\n\t}\n\n\treturn [\n\t\tstring.slice(0, separatorIndex),\n\t\tstring.slice(separatorIndex + separator.length)\n\t];\n};\n","import { EOLocale } from 'eo-locale';\r\nimport React, { Fragment } from 'react';\r\nimport Image from '@react/shared/Image';\r\nconst specialCharacters = ['!', '?', ':', ';'];\r\nconst BlogCard = ({ title, image, url, authorName, authorImage, date, readTime, pinText, }) => (React.createElement(\"div\", { className: \"grid-column\" },\r\n React.createElement(\"a\", { href: url, className: \"card card--blog\", \"data-aos\": \"animated\" },\r\n React.createElement(\"div\", { className: \"card__inner\" },\r\n React.createElement(\"div\", { className: \"card__media\" },\r\n React.createElement(\"div\", { className: \"card__media-holder\" },\r\n React.createElement(Image, { image: image, alt: title, width: 690, className: \"card__media-element\", cdn: true }))),\r\n React.createElement(\"div\", { className: \"card__content-external\" },\r\n React.createElement(\"div\", { className: \"tag tag--blue\" }, pinText),\r\n React.createElement(\"div\", { className: \"card__content-internal\" },\r\n React.createElement(\"h4\", { className: \"card__title \" + (specialCharacters.includes(title.substring(title.length - 1, title.length)) ? \"no-full-stop\" : \"\") }, title.trim().replace(/[.$]/, '')),\r\n React.createElement(\"div\", { className: \"card__author\" },\r\n authorImage && (React.createElement(\"div\", { className: \"card__author-img\" },\r\n React.createElement(Image, { image: authorImage, alt: authorName, ratio: 1, width: 32, className: \"card__author-element\", cdn: true, loading: \"lazy\" }))),\r\n authorName && React.createElement(\"span\", { className: \"card__author-name\" }, authorName)),\r\n React.createElement(\"p\", { className: \"card__blog-detail\" },\r\n new Intl.DateTimeFormat(undefined, {\r\n year: 'numeric',\r\n month: 'short',\r\n day: '2-digit',\r\n }).format(new Date(date)),\r\n readTime > 0 && (React.createElement(Fragment, null,\r\n React.createElement(\"span\", { className: \"bullet\" }, \"\\u2022\"),\r\n React.createElement(EOLocale.Text, { id: \"xperience.readtime\", readTime: readTime }))))))))));\r\nexport default BlogCard;\r\n"],"sourceRoot":""}