{"version":3,"sources":["webpack://ingenieuses.ca/./node_modules/reactstrap/es/Card.js","webpack://ingenieuses.ca/./node_modules/reactstrap/es/CardBody.js","webpack://ingenieuses.ca/./node_modules/reactstrap/es/CardImg.js","webpack://ingenieuses.ca/./node_modules/reactstrap/es/CardTitle.js","webpack://ingenieuses.ca/./node_modules/reactstrap/es/Col.js","webpack://ingenieuses.ca/./node_modules/reactstrap/es/Row.js","webpack://ingenieuses.ca/./node_modules/slugify/slugify.js","webpack://ingenieuses.ca/./node_modules/reactstrap/es/CardText.js","webpack://ingenieuses.ca/./src/components/BlogPage/ArticleSection.tsx","webpack://ingenieuses.ca/./node_modules/reactstrap/es/PaginationItem.js","webpack://ingenieuses.ca/./node_modules/reactstrap/es/PaginationLink.js","webpack://ingenieuses.ca/./node_modules/reactstrap/es/Pagination.js","webpack://ingenieuses.ca/./src/components/BlogPage/PaginatedSection.tsx","webpack://ingenieuses.ca/./src/components/BlogPage/BlogList.tsx","webpack://ingenieuses.ca/./src/pages/blog.tsx","webpack://ingenieuses.ca/./src/utils/functions.ts"],"names":["Card","props","className","cssModule","color","body","inverse","outline","Tag","tag","innerRef","attributes","classes","ref","defaultProps","CardBody","CardImg","top","bottom","cardImgClassName","CardTitle","getColumnSizeClass","isXs","colWidth","colSize","Col","widths","colClasses","forEach","i","columnProp","_classNames","colSizeInterfix","colClass","size","push","order","offset","_colClass","length","Row","noGutters","form","factory","charMap","JSON","parse","locales","replace","string","options","Error","locale","replacement","undefined","slug","split","reduce","result","ch","remove","trim","RegExp","lower","toLowerCase","strict","extend","customMap","key","module","exports","CardText","id","title","author","date","summary","image","language","useIntl","urlWithLocale","BLOG_LIST","convertToSlug","md","lg","Container","style","cursor","onClick","navigate","alt","href","FormattedMessage","PaginationItem","active","disabled","PaginationLink","defaultAriaLabel","next","previous","first","last","defaultCaret","ariaLabel","children","Array","isArray","Pagination","listClassName","ListTag","listTag","label","listClasses","pageCount","paginatedItems","display","padding","justifyContent","blogPosts","Math","ceil","useState","slice","currentItems","setCurrentItems","map","blog","imageUrls","pageNumber","newOffset","location","data","content","mapToGeneralPageFields","contentfulGeneralPageData","allContentfulBlog","nodes","node","mapToBlogListFields","PageHelmet","genericTitle","description","genericdescription","url","baseUrl","homeImage","ScrollToTop","Header","contributionUrl","merchandiseUrl","BlogList","Footer","text","slugify","lastChar"],"mappings":"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","file":"component---src-pages-blog-tsx-6ca3efa69c117baeb907.js","sourcesContent":["import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport React from 'react';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\nvar defaultProps = {\n tag: 'div'\n};\n\nvar Card = function Card(props) {\n var className = props.className,\n cssModule = props.cssModule,\n color = props.color,\n body = props.body,\n inverse = props.inverse,\n outline = props.outline,\n Tag = props.tag,\n innerRef = props.innerRef,\n attributes = _objectWithoutPropertiesLoose(props, [\"className\", \"cssModule\", \"color\", \"body\", \"inverse\", \"outline\", \"tag\", \"innerRef\"]);\n\n var classes = mapToCssModules(classNames(className, 'card', inverse ? 'text-white' : false, body ? 'card-body' : false, color ? (outline ? 'border' : 'bg') + \"-\" + color : false), cssModule);\n return /*#__PURE__*/React.createElement(Tag, _extends({}, attributes, {\n className: classes,\n ref: innerRef\n }));\n};\n\nCard.defaultProps = defaultProps;\nexport default Card;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport React from 'react';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\nvar defaultProps = {\n tag: 'div'\n};\n\nvar CardBody = function CardBody(props) {\n var className = props.className,\n cssModule = props.cssModule,\n innerRef = props.innerRef,\n Tag = props.tag,\n attributes = _objectWithoutPropertiesLoose(props, [\"className\", \"cssModule\", \"innerRef\", \"tag\"]);\n\n var classes = mapToCssModules(classNames(className, 'card-body'), cssModule);\n return /*#__PURE__*/React.createElement(Tag, _extends({}, attributes, {\n className: classes,\n ref: innerRef\n }));\n};\n\nCardBody.defaultProps = defaultProps;\nexport default CardBody;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport React from 'react';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\nvar defaultProps = {\n tag: 'img'\n};\n\nvar CardImg = function CardImg(props) {\n var className = props.className,\n cssModule = props.cssModule,\n top = props.top,\n bottom = props.bottom,\n Tag = props.tag,\n attributes = _objectWithoutPropertiesLoose(props, [\"className\", \"cssModule\", \"top\", \"bottom\", \"tag\"]);\n\n var cardImgClassName = 'card-img';\n\n if (top) {\n cardImgClassName = 'card-img-top';\n }\n\n if (bottom) {\n cardImgClassName = 'card-img-bottom';\n }\n\n var classes = mapToCssModules(classNames(className, cardImgClassName), cssModule);\n return /*#__PURE__*/React.createElement(Tag, _extends({}, attributes, {\n className: classes\n }));\n};\n\nCardImg.defaultProps = defaultProps;\nexport default CardImg;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport React from 'react';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\nvar defaultProps = {\n tag: 'div'\n};\n\nvar CardTitle = function CardTitle(props) {\n var className = props.className,\n cssModule = props.cssModule,\n Tag = props.tag,\n attributes = _objectWithoutPropertiesLoose(props, [\"className\", \"cssModule\", \"tag\"]);\n\n var classes = mapToCssModules(classNames(className, 'card-title'), cssModule);\n return /*#__PURE__*/React.createElement(Tag, _extends({}, attributes, {\n className: classes\n }));\n};\n\nCardTitle.defaultProps = defaultProps;\nexport default CardTitle;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport React from 'react';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType, isObject } from './utils';\nvar colWidths = ['xs', 'sm', 'md', 'lg', 'xl'];\nvar defaultProps = {\n tag: 'div',\n widths: colWidths\n};\n\nvar getColumnSizeClass = function getColumnSizeClass(isXs, colWidth, colSize) {\n if (colSize === true || colSize === '') {\n return isXs ? 'col' : \"col-\" + colWidth;\n } else if (colSize === 'auto') {\n return isXs ? 'col-auto' : \"col-\" + colWidth + \"-auto\";\n }\n\n return isXs ? \"col-\" + colSize : \"col-\" + colWidth + \"-\" + colSize;\n};\n\nvar Col = function Col(props) {\n var className = props.className,\n cssModule = props.cssModule,\n widths = props.widths,\n Tag = props.tag,\n attributes = _objectWithoutPropertiesLoose(props, [\"className\", \"cssModule\", \"widths\", \"tag\"]);\n\n var colClasses = [];\n widths.forEach(function (colWidth, i) {\n var columnProp = props[colWidth];\n delete attributes[colWidth];\n\n if (!columnProp && columnProp !== '') {\n return;\n }\n\n var isXs = !i;\n\n if (isObject(columnProp)) {\n var _classNames;\n\n var colSizeInterfix = isXs ? '-' : \"-\" + colWidth + \"-\";\n var colClass = getColumnSizeClass(isXs, colWidth, columnProp.size);\n colClasses.push(mapToCssModules(classNames((_classNames = {}, _classNames[colClass] = columnProp.size || columnProp.size === '', _classNames[\"order\" + colSizeInterfix + columnProp.order] = columnProp.order || columnProp.order === 0, _classNames[\"offset\" + colSizeInterfix + columnProp.offset] = columnProp.offset || columnProp.offset === 0, _classNames)), cssModule));\n } else {\n var _colClass = getColumnSizeClass(isXs, colWidth, columnProp);\n\n colClasses.push(_colClass);\n }\n });\n\n if (!colClasses.length) {\n colClasses.push('col');\n }\n\n var classes = mapToCssModules(classNames(className, colClasses), cssModule);\n return /*#__PURE__*/React.createElement(Tag, _extends({}, attributes, {\n className: classes\n }));\n};\n\nCol.defaultProps = defaultProps;\nexport default Col;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport React from 'react';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\nvar rowColWidths = ['xs', 'sm', 'md', 'lg', 'xl'];\nvar defaultProps = {\n tag: 'div',\n widths: rowColWidths\n};\n\nvar Row = function Row(props) {\n var className = props.className,\n cssModule = props.cssModule,\n noGutters = props.noGutters,\n Tag = props.tag,\n form = props.form,\n widths = props.widths,\n attributes = _objectWithoutPropertiesLoose(props, [\"className\", \"cssModule\", \"noGutters\", \"tag\", \"form\", \"widths\"]);\n\n var colClasses = [];\n widths.forEach(function (colWidth, i) {\n var colSize = props[colWidth];\n delete attributes[colWidth];\n\n if (!colSize) {\n return;\n }\n\n var isXs = !i;\n colClasses.push(isXs ? \"row-cols-\" + colSize : \"row-cols-\" + colWidth + \"-\" + colSize);\n });\n var classes = mapToCssModules(classNames(className, noGutters ? 'no-gutters' : null, form ? 'form-row' : 'row', colClasses), cssModule);\n return /*#__PURE__*/React.createElement(Tag, _extends({}, attributes, {\n className: classes\n }));\n};\n\nRow.defaultProps = defaultProps;\nexport default Row;",";\n\n(function (name, root, factory) {\n if (typeof exports === 'object') {\n module.exports = factory();\n module.exports['default'] = factory();\n }\n /* istanbul ignore next */\n else if (typeof define === 'function' && define.amd) {\n define(factory);\n } else {\n root[name] = factory();\n }\n})('slugify', this, function () {\n var charMap = JSON.parse('{\"$\":\"dollar\",\"%\":\"percent\",\"&\":\"and\",\"<\":\"less\",\">\":\"greater\",\"|\":\"or\",\"¢\":\"cent\",\"£\":\"pound\",\"¤\":\"currency\",\"¥\":\"yen\",\"©\":\"(c)\",\"ª\":\"a\",\"®\":\"(r)\",\"º\":\"o\",\"À\":\"A\",\"Á\":\"A\",\"Â\":\"A\",\"Ã\":\"A\",\"Ä\":\"A\",\"Å\":\"A\",\"Æ\":\"AE\",\"Ç\":\"C\",\"È\":\"E\",\"É\":\"E\",\"Ê\":\"E\",\"Ë\":\"E\",\"Ì\":\"I\",\"Í\":\"I\",\"Î\":\"I\",\"Ï\":\"I\",\"Ð\":\"D\",\"Ñ\":\"N\",\"Ò\":\"O\",\"Ó\":\"O\",\"Ô\":\"O\",\"Õ\":\"O\",\"Ö\":\"O\",\"Ø\":\"O\",\"Ù\":\"U\",\"Ú\":\"U\",\"Û\":\"U\",\"Ü\":\"U\",\"Ý\":\"Y\",\"Þ\":\"TH\",\"ß\":\"ss\",\"à\":\"a\",\"á\":\"a\",\"â\":\"a\",\"ã\":\"a\",\"ä\":\"a\",\"å\":\"a\",\"æ\":\"ae\",\"ç\":\"c\",\"è\":\"e\",\"é\":\"e\",\"ê\":\"e\",\"ë\":\"e\",\"ì\":\"i\",\"í\":\"i\",\"î\":\"i\",\"ï\":\"i\",\"ð\":\"d\",\"ñ\":\"n\",\"ò\":\"o\",\"ó\":\"o\",\"ô\":\"o\",\"õ\":\"o\",\"ö\":\"o\",\"ø\":\"o\",\"ù\":\"u\",\"ú\":\"u\",\"û\":\"u\",\"ü\":\"u\",\"ý\":\"y\",\"þ\":\"th\",\"ÿ\":\"y\",\"Ā\":\"A\",\"ā\":\"a\",\"Ă\":\"A\",\"ă\":\"a\",\"Ą\":\"A\",\"ą\":\"a\",\"Ć\":\"C\",\"ć\":\"c\",\"Č\":\"C\",\"č\":\"c\",\"Ď\":\"D\",\"ď\":\"d\",\"Đ\":\"DJ\",\"đ\":\"dj\",\"Ē\":\"E\",\"ē\":\"e\",\"Ė\":\"E\",\"ė\":\"e\",\"Ę\":\"e\",\"ę\":\"e\",\"Ě\":\"E\",\"ě\":\"e\",\"Ğ\":\"G\",\"ğ\":\"g\",\"Ģ\":\"G\",\"ģ\":\"g\",\"Ĩ\":\"I\",\"ĩ\":\"i\",\"Ī\":\"i\",\"ī\":\"i\",\"Į\":\"I\",\"į\":\"i\",\"İ\":\"I\",\"ı\":\"i\",\"Ķ\":\"k\",\"ķ\":\"k\",\"Ļ\":\"L\",\"ļ\":\"l\",\"Ľ\":\"L\",\"ľ\":\"l\",\"Ł\":\"L\",\"ł\":\"l\",\"Ń\":\"N\",\"ń\":\"n\",\"Ņ\":\"N\",\"ņ\":\"n\",\"Ň\":\"N\",\"ň\":\"n\",\"Ō\":\"O\",\"ō\":\"o\",\"Ő\":\"O\",\"ő\":\"o\",\"Œ\":\"OE\",\"œ\":\"oe\",\"Ŕ\":\"R\",\"ŕ\":\"r\",\"Ř\":\"R\",\"ř\":\"r\",\"Ś\":\"S\",\"ś\":\"s\",\"Ş\":\"S\",\"ş\":\"s\",\"Š\":\"S\",\"š\":\"s\",\"Ţ\":\"T\",\"ţ\":\"t\",\"Ť\":\"T\",\"ť\":\"t\",\"Ũ\":\"U\",\"ũ\":\"u\",\"Ū\":\"u\",\"ū\":\"u\",\"Ů\":\"U\",\"ů\":\"u\",\"Ű\":\"U\",\"ű\":\"u\",\"Ų\":\"U\",\"ų\":\"u\",\"Ŵ\":\"W\",\"ŵ\":\"w\",\"Ŷ\":\"Y\",\"ŷ\":\"y\",\"Ÿ\":\"Y\",\"Ź\":\"Z\",\"ź\":\"z\",\"Ż\":\"Z\",\"ż\":\"z\",\"Ž\":\"Z\",\"ž\":\"z\",\"Ə\":\"E\",\"ƒ\":\"f\",\"Ơ\":\"O\",\"ơ\":\"o\",\"Ư\":\"U\",\"ư\":\"u\",\"Lj\":\"LJ\",\"lj\":\"lj\",\"Nj\":\"NJ\",\"nj\":\"nj\",\"Ș\":\"S\",\"ș\":\"s\",\"Ț\":\"T\",\"ț\":\"t\",\"ə\":\"e\",\"˚\":\"o\",\"Ά\":\"A\",\"Έ\":\"E\",\"Ή\":\"H\",\"Ί\":\"I\",\"Ό\":\"O\",\"Ύ\":\"Y\",\"Ώ\":\"W\",\"ΐ\":\"i\",\"Α\":\"A\",\"Β\":\"B\",\"Γ\":\"G\",\"Δ\":\"D\",\"Ε\":\"E\",\"Ζ\":\"Z\",\"Η\":\"H\",\"Θ\":\"8\",\"Ι\":\"I\",\"Κ\":\"K\",\"Λ\":\"L\",\"Μ\":\"M\",\"Ν\":\"N\",\"Ξ\":\"3\",\"Ο\":\"O\",\"Π\":\"P\",\"Ρ\":\"R\",\"Σ\":\"S\",\"Τ\":\"T\",\"Υ\":\"Y\",\"Φ\":\"F\",\"Χ\":\"X\",\"Ψ\":\"PS\",\"Ω\":\"W\",\"Ϊ\":\"I\",\"Ϋ\":\"Y\",\"ά\":\"a\",\"έ\":\"e\",\"ή\":\"h\",\"ί\":\"i\",\"ΰ\":\"y\",\"α\":\"a\",\"β\":\"b\",\"γ\":\"g\",\"δ\":\"d\",\"ε\":\"e\",\"ζ\":\"z\",\"η\":\"h\",\"θ\":\"8\",\"ι\":\"i\",\"κ\":\"k\",\"λ\":\"l\",\"μ\":\"m\",\"ν\":\"n\",\"ξ\":\"3\",\"ο\":\"o\",\"π\":\"p\",\"ρ\":\"r\",\"ς\":\"s\",\"σ\":\"s\",\"τ\":\"t\",\"υ\":\"y\",\"φ\":\"f\",\"χ\":\"x\",\"ψ\":\"ps\",\"ω\":\"w\",\"ϊ\":\"i\",\"ϋ\":\"y\",\"ό\":\"o\",\"ύ\":\"y\",\"ώ\":\"w\",\"Ё\":\"Yo\",\"Ђ\":\"DJ\",\"Є\":\"Ye\",\"І\":\"I\",\"Ї\":\"Yi\",\"Ј\":\"J\",\"Љ\":\"LJ\",\"Њ\":\"NJ\",\"Ћ\":\"C\",\"Џ\":\"DZ\",\"А\":\"A\",\"Б\":\"B\",\"В\":\"V\",\"Г\":\"G\",\"Д\":\"D\",\"Е\":\"E\",\"Ж\":\"Zh\",\"З\":\"Z\",\"И\":\"I\",\"Й\":\"J\",\"К\":\"K\",\"Л\":\"L\",\"М\":\"M\",\"Н\":\"N\",\"О\":\"O\",\"П\":\"P\",\"Р\":\"R\",\"С\":\"S\",\"Т\":\"T\",\"У\":\"U\",\"Ф\":\"F\",\"Х\":\"H\",\"Ц\":\"C\",\"Ч\":\"Ch\",\"Ш\":\"Sh\",\"Щ\":\"Sh\",\"Ъ\":\"U\",\"Ы\":\"Y\",\"Ь\":\"\",\"Э\":\"E\",\"Ю\":\"Yu\",\"Я\":\"Ya\",\"а\":\"a\",\"б\":\"b\",\"в\":\"v\",\"г\":\"g\",\"д\":\"d\",\"е\":\"e\",\"ж\":\"zh\",\"з\":\"z\",\"и\":\"i\",\"й\":\"j\",\"к\":\"k\",\"л\":\"l\",\"м\":\"m\",\"н\":\"n\",\"о\":\"o\",\"п\":\"p\",\"р\":\"r\",\"с\":\"s\",\"т\":\"t\",\"у\":\"u\",\"ф\":\"f\",\"х\":\"h\",\"ц\":\"c\",\"ч\":\"ch\",\"ш\":\"sh\",\"щ\":\"sh\",\"ъ\":\"u\",\"ы\":\"y\",\"ь\":\"\",\"э\":\"e\",\"ю\":\"yu\",\"я\":\"ya\",\"ё\":\"yo\",\"ђ\":\"dj\",\"є\":\"ye\",\"і\":\"i\",\"ї\":\"yi\",\"ј\":\"j\",\"љ\":\"lj\",\"њ\":\"nj\",\"ћ\":\"c\",\"ѝ\":\"u\",\"џ\":\"dz\",\"Ґ\":\"G\",\"ґ\":\"g\",\"Ғ\":\"GH\",\"ғ\":\"gh\",\"Қ\":\"KH\",\"қ\":\"kh\",\"Ң\":\"NG\",\"ң\":\"ng\",\"Ү\":\"UE\",\"ү\":\"ue\",\"Ұ\":\"U\",\"ұ\":\"u\",\"Һ\":\"H\",\"һ\":\"h\",\"Ә\":\"AE\",\"ә\":\"ae\",\"Ө\":\"OE\",\"ө\":\"oe\",\"฿\":\"baht\",\"ა\":\"a\",\"ბ\":\"b\",\"გ\":\"g\",\"დ\":\"d\",\"ე\":\"e\",\"ვ\":\"v\",\"ზ\":\"z\",\"თ\":\"t\",\"ი\":\"i\",\"კ\":\"k\",\"ლ\":\"l\",\"მ\":\"m\",\"ნ\":\"n\",\"ო\":\"o\",\"პ\":\"p\",\"ჟ\":\"zh\",\"რ\":\"r\",\"ს\":\"s\",\"ტ\":\"t\",\"უ\":\"u\",\"ფ\":\"f\",\"ქ\":\"k\",\"ღ\":\"gh\",\"ყ\":\"q\",\"შ\":\"sh\",\"ჩ\":\"ch\",\"ც\":\"ts\",\"ძ\":\"dz\",\"წ\":\"ts\",\"ჭ\":\"ch\",\"ხ\":\"kh\",\"ჯ\":\"j\",\"ჰ\":\"h\",\"Ẁ\":\"W\",\"ẁ\":\"w\",\"Ẃ\":\"W\",\"ẃ\":\"w\",\"Ẅ\":\"W\",\"ẅ\":\"w\",\"ẞ\":\"SS\",\"Ạ\":\"A\",\"ạ\":\"a\",\"Ả\":\"A\",\"ả\":\"a\",\"Ấ\":\"A\",\"ấ\":\"a\",\"Ầ\":\"A\",\"ầ\":\"a\",\"Ẩ\":\"A\",\"ẩ\":\"a\",\"Ẫ\":\"A\",\"ẫ\":\"a\",\"Ậ\":\"A\",\"ậ\":\"a\",\"Ắ\":\"A\",\"ắ\":\"a\",\"Ằ\":\"A\",\"ằ\":\"a\",\"Ẳ\":\"A\",\"ẳ\":\"a\",\"Ẵ\":\"A\",\"ẵ\":\"a\",\"Ặ\":\"A\",\"ặ\":\"a\",\"Ẹ\":\"E\",\"ẹ\":\"e\",\"Ẻ\":\"E\",\"ẻ\":\"e\",\"Ẽ\":\"E\",\"ẽ\":\"e\",\"Ế\":\"E\",\"ế\":\"e\",\"Ề\":\"E\",\"ề\":\"e\",\"Ể\":\"E\",\"ể\":\"e\",\"Ễ\":\"E\",\"ễ\":\"e\",\"Ệ\":\"E\",\"ệ\":\"e\",\"Ỉ\":\"I\",\"ỉ\":\"i\",\"Ị\":\"I\",\"ị\":\"i\",\"Ọ\":\"O\",\"ọ\":\"o\",\"Ỏ\":\"O\",\"ỏ\":\"o\",\"Ố\":\"O\",\"ố\":\"o\",\"Ồ\":\"O\",\"ồ\":\"o\",\"Ổ\":\"O\",\"ổ\":\"o\",\"Ỗ\":\"O\",\"ỗ\":\"o\",\"Ộ\":\"O\",\"ộ\":\"o\",\"Ớ\":\"O\",\"ớ\":\"o\",\"Ờ\":\"O\",\"ờ\":\"o\",\"Ở\":\"O\",\"ở\":\"o\",\"Ỡ\":\"O\",\"ỡ\":\"o\",\"Ợ\":\"O\",\"ợ\":\"o\",\"Ụ\":\"U\",\"ụ\":\"u\",\"Ủ\":\"U\",\"ủ\":\"u\",\"Ứ\":\"U\",\"ứ\":\"u\",\"Ừ\":\"U\",\"ừ\":\"u\",\"Ử\":\"U\",\"ử\":\"u\",\"Ữ\":\"U\",\"ữ\":\"u\",\"Ự\":\"U\",\"ự\":\"u\",\"Ỳ\":\"Y\",\"ỳ\":\"y\",\"Ỵ\":\"Y\",\"ỵ\":\"y\",\"Ỷ\":\"Y\",\"ỷ\":\"y\",\"Ỹ\":\"Y\",\"ỹ\":\"y\",\"‘\":\"\\'\",\"’\":\"\\'\",\"“\":\"\\\\\\\"\",\"”\":\"\\\\\\\"\",\"†\":\"+\",\"•\":\"*\",\"…\":\"...\",\"₠\":\"ecu\",\"₢\":\"cruzeiro\",\"₣\":\"french franc\",\"₤\":\"lira\",\"₥\":\"mill\",\"₦\":\"naira\",\"₧\":\"peseta\",\"₨\":\"rupee\",\"₩\":\"won\",\"₪\":\"new shequel\",\"₫\":\"dong\",\"€\":\"euro\",\"₭\":\"kip\",\"₮\":\"tugrik\",\"₯\":\"drachma\",\"₰\":\"penny\",\"₱\":\"peso\",\"₲\":\"guarani\",\"₳\":\"austral\",\"₴\":\"hryvnia\",\"₵\":\"cedi\",\"₸\":\"kazakhstani tenge\",\"₹\":\"indian rupee\",\"₺\":\"turkish lira\",\"₽\":\"russian ruble\",\"₿\":\"bitcoin\",\"℠\":\"sm\",\"™\":\"tm\",\"∂\":\"d\",\"∆\":\"delta\",\"∑\":\"sum\",\"∞\":\"infinity\",\"♥\":\"love\",\"元\":\"yuan\",\"円\":\"yen\",\"﷼\":\"rial\"}');\n var locales = JSON.parse('{\"de\":{\"Ä\":\"AE\",\"ä\":\"ae\",\"Ö\":\"OE\",\"ö\":\"oe\",\"Ü\":\"UE\",\"ü\":\"ue\",\"%\":\"prozent\",\"&\":\"und\",\"|\":\"oder\",\"∑\":\"summe\",\"∞\":\"unendlich\",\"♥\":\"liebe\"},\"vi\":{\"Đ\":\"D\",\"đ\":\"d\"},\"fr\":{\"%\":\"pourcent\",\"&\":\"et\",\"<\":\"plus petit\",\">\":\"plus grand\",\"|\":\"ou\",\"¢\":\"centime\",\"£\":\"livre\",\"¤\":\"devise\",\"₣\":\"franc\",\"∑\":\"somme\",\"∞\":\"infini\",\"♥\":\"amour\"}}');\n\n function replace(string, options) {\n if (typeof string !== 'string') {\n throw new Error('slugify: string argument expected');\n }\n\n options = typeof options === 'string' ? {\n replacement: options\n } : options || {};\n var locale = locales[options.locale] || {};\n var replacement = options.replacement === undefined ? '-' : options.replacement;\n var slug = string.split('') // replace characters based on charMap\n .reduce(function (result, ch) {\n return result + (locale[ch] || charMap[ch] || ch // remove not allowed characters\n ).replace(options.remove || /[^\\w\\s$*_+~.()'\"!\\-:@]+/g, '');\n }, '') // trim leading/trailing spaces\n .trim() // convert spaces to replacement character\n // also remove duplicates of the replacement character\n .replace(new RegExp('[\\\\s' + replacement + ']+', 'g'), replacement);\n\n if (options.lower) {\n slug = slug.toLowerCase();\n }\n\n if (options.strict) {\n // remove anything besides letters, numbers, and the replacement char\n slug = slug.replace(new RegExp('[^a-zA-Z0-9' + replacement + ']', 'g'), '') // remove duplicates of the replacement character\n .replace(new RegExp('[\\\\s' + replacement + ']+', 'g'), replacement);\n }\n\n return slug;\n }\n\n replace.extend = function (customMap) {\n for (var key in customMap) {\n charMap[key] = customMap[key];\n }\n };\n\n return replace;\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport React from 'react';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\nvar defaultProps = {\n tag: 'p'\n};\n\nvar CardText = function CardText(props) {\n var className = props.className,\n cssModule = props.cssModule,\n Tag = props.tag,\n attributes = _objectWithoutPropertiesLoose(props, [\"className\", \"cssModule\", \"tag\"]);\n\n var classes = mapToCssModules(classNames(className, 'card-text'), cssModule);\n return /*#__PURE__*/React.createElement(Tag, _extends({}, attributes, {\n className: classes\n }));\n};\n\nCardText.defaultProps = defaultProps;\nexport default CardText;","import React from 'react'\nimport { Container, Card, CardImg, CardTitle, CardText, CardBody, Col } from 'reactstrap'\nimport { navigate } from 'gatsby'\nimport { convertToSlug } from 'utils/functions'\nimport { BLOG_LIST } from 'shared/routes'\nimport { FormattedMessage, useIntl } from 'gatsby-plugin-intl'\n\ninterface ArticleSection {\n id: string\n title: string\n author: string\n date: string\n summary: React.ReactNode\n image?: string\n}\n\nconst ArticleSection = ({ id, title, author, date, summary, image }: ArticleSection): JSX.Element => {\n const language = useIntl().locale || 'fr'\n const urlWithLocale =\n language === 'en' ? `/${language}${BLOG_LIST}/${convertToSlug(title)}` : `${BLOG_LIST}/${convertToSlug(title)}`\n return (\n \n {\n navigate(urlWithLocale)\n }}\n >\n
\n \n {image && }\n \n \n \n

{title}

\n
\n
\n \n {author}\n \n
\n
{date}
\n
\n {summary}\n
\n
\n
\n
\n \n \n )\n}\n\nexport default ArticleSection\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport React from 'react';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\nvar defaultProps = {\n tag: 'li'\n};\n\nvar PaginationItem = function PaginationItem(props) {\n var active = props.active,\n className = props.className,\n cssModule = props.cssModule,\n disabled = props.disabled,\n Tag = props.tag,\n attributes = _objectWithoutPropertiesLoose(props, [\"active\", \"className\", \"cssModule\", \"disabled\", \"tag\"]);\n\n var classes = mapToCssModules(classNames(className, 'page-item', {\n active: active,\n disabled: disabled\n }), cssModule);\n return /*#__PURE__*/React.createElement(Tag, _extends({}, attributes, {\n className: classes\n }));\n};\n\nPaginationItem.defaultProps = defaultProps;\nexport default PaginationItem;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport React from 'react';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\nvar defaultProps = {\n tag: 'a'\n};\n\nvar PaginationLink = function PaginationLink(props) {\n var className = props.className,\n cssModule = props.cssModule,\n next = props.next,\n previous = props.previous,\n first = props.first,\n last = props.last,\n Tag = props.tag,\n attributes = _objectWithoutPropertiesLoose(props, [\"className\", \"cssModule\", \"next\", \"previous\", \"first\", \"last\", \"tag\"]);\n\n var classes = mapToCssModules(classNames(className, 'page-link'), cssModule);\n var defaultAriaLabel;\n\n if (previous) {\n defaultAriaLabel = 'Previous';\n } else if (next) {\n defaultAriaLabel = 'Next';\n } else if (first) {\n defaultAriaLabel = 'First';\n } else if (last) {\n defaultAriaLabel = 'Last';\n }\n\n var ariaLabel = props['aria-label'] || defaultAriaLabel;\n var defaultCaret;\n\n if (previous) {\n defaultCaret = \"\\u2039\";\n } else if (next) {\n defaultCaret = \"\\u203A\";\n } else if (first) {\n defaultCaret = \"\\xAB\";\n } else if (last) {\n defaultCaret = \"\\xBB\";\n }\n\n var children = props.children;\n\n if (children && Array.isArray(children) && children.length === 0) {\n children = null;\n }\n\n if (!attributes.href && Tag === 'a') {\n Tag = 'button';\n }\n\n if (previous || next || first || last) {\n children = [/*#__PURE__*/React.createElement(\"span\", {\n \"aria-hidden\": \"true\",\n key: \"caret\"\n }, children || defaultCaret), /*#__PURE__*/React.createElement(\"span\", {\n className: \"sr-only\",\n key: \"sr\"\n }, ariaLabel)];\n }\n\n return /*#__PURE__*/React.createElement(Tag, _extends({}, attributes, {\n className: classes,\n \"aria-label\": ariaLabel\n }), children);\n};\n\nPaginationLink.defaultProps = defaultProps;\nexport default PaginationLink;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport React from 'react';\nimport classNames from 'classnames';\nimport { mapToCssModules, tagPropType } from './utils';\nvar defaultProps = {\n tag: 'nav',\n listTag: 'ul',\n 'aria-label': 'pagination'\n};\n\nvar Pagination = function Pagination(props) {\n var _classNames;\n\n var className = props.className,\n listClassName = props.listClassName,\n cssModule = props.cssModule,\n size = props.size,\n Tag = props.tag,\n ListTag = props.listTag,\n label = props['aria-label'],\n attributes = _objectWithoutPropertiesLoose(props, [\"className\", \"listClassName\", \"cssModule\", \"size\", \"tag\", \"listTag\", \"aria-label\"]);\n\n var classes = mapToCssModules(classNames(className), cssModule);\n var listClasses = mapToCssModules(classNames(listClassName, 'pagination', (_classNames = {}, _classNames[\"pagination-\" + size] = !!size, _classNames)), cssModule);\n return /*#__PURE__*/React.createElement(Tag, {\n className: classes,\n \"aria-label\": label\n }, /*#__PURE__*/React.createElement(ListTag, _extends({}, attributes, {\n className: listClasses\n })));\n};\n\nPagination.defaultProps = defaultProps;\nexport default Pagination;","import React from 'react'\nimport { Pagination, PaginationItem, PaginationLink } from 'reactstrap'\n\ninterface PaginationSection {\n onClick: (index: number) => void\n pageCount: number\n}\n\nconst PaginationSection = ({ pageCount, onClick }: PaginationSection): JSX.Element => {\n const paginatedItems = []\n\n for (let i = 0; i < pageCount; i++) {\n paginatedItems.push(\n \n onClick(i)}>\n {i + 1}\n \n ,\n )\n }\n\n return (\n
\n \n \n onClick(0)} />\n \n {paginatedItems}\n \n onClick(pageCount - 1)} />\n \n \n
\n )\n}\n\nexport default PaginationSection\n","import React, { useState } from 'react'\nimport { Row, Container, Card, CardBody, CardTitle } from 'reactstrap'\nimport ArticleSection from 'components/BlogPage/ArticleSection'\nimport { BlogPostSummary } from 'shared/types'\nimport { FormattedMessage } from 'gatsby-plugin-intl'\nimport PaginationSection from './PaginatedSection'\n\ninterface BlogPage {\n blogPosts: BlogPostSummary[]\n}\n\nconst BlogPage = ({ blogPosts }: BlogPage): JSX.Element => {\n const itemsPerPage = 12\n const pageCount = Math.ceil(blogPosts.length / itemsPerPage)\n const [currentItems, setCurrentItems] = useState(blogPosts.slice(0, itemsPerPage))\n\n const handlePageClick = (pageNumber: number) => {\n const newOffset = (pageNumber * itemsPerPage) % blogPosts.length\n setCurrentItems(blogPosts.slice(newOffset, newOffset + itemsPerPage))\n }\n\n return (\n
\n
\n \n

\n \n

\n
\n \n {blogPosts.length > 0 ? (\n \n \n {currentItems.map((blog) => (\n \n ))}\n \n \n \n ) : (\n \n
\n \n \n \n

Aucune publication n'a été trouvée.

\n
\n
\n
\n
\n
\n )}\n
\n
\n
\n )\n}\n\nexport default BlogPage\n","import React from 'react'\nimport { graphql } from 'gatsby'\nimport BlogList from 'components/BlogPage/BlogList'\nimport Header from 'components/Header'\nimport Footer from 'components/Footer'\nimport PageHelmet from 'components/PageHelmet'\nimport ScrollToTop from 'components/ScrollToTop'\nimport { Location, ContentfulBlogList, ContentfulBlogListEntry } from 'shared/types'\nimport { genericTitle, genericdescription, baseUrl, homeImage } from 'shared/constants'\nimport { BLOG_LIST } from 'shared/routes'\nimport { mapToBlogListFields, mapToGeneralPageFields } from 'services'\n\ninterface Blog {\n location: Location\n data: ContentfulBlogList\n}\n\nconst Blog = ({ location, data }: Blog): JSX.Element => {\n const content = mapToGeneralPageFields(data.contentfulGeneralPageData)\n const blogPosts = data.allContentfulBlog.nodes.map((node: ContentfulBlogListEntry) => mapToBlogListFields(node))\n return (\n <>\n \n \n
\n \n