{"version":3,"sources":["webpack:///./src/css/header.module.css","webpack:///./node_modules/react-bootstrap/esm/Image.js","webpack:///./node_modules/react-bootstrap/esm/Row.js","webpack:///./node_modules/react-share/es/utils/assert.js","webpack:///./src/templates/module.js","webpack:///./node_modules/react-bootstrap/esm/Col.js","webpack:///./src/components/header.js","webpack:///./node_modules/react-share/es/ShareButton.js","webpack:///./node_modules/react-share/es/hocs/createShareButton.js","webpack:///./node_modules/react-share/es/TwitterShareButton.js","webpack:///./node_modules/react-share/es/LinkedinShareButton.js","webpack:///./src/css/module.module.css","webpack:///./node_modules/react-share/es/FacebookShareButton.js","webpack:///./node_modules/react-share/es/utils/objectToGetParams.js"],"names":["module","exports","Image","string","bool","forwardRef","_ref","ref","bsPrefix","className","fluid","rounded","roundedCircle","thumbnail","props","classes","createElement","displayName","defaultProps","DEVICE_SIZES","Row","noGutters","_ref$as","as","Component","decoratedBsPrefix","sizePrefix","forEach","brkPoint","cols","propValue","infix","push","apply","concat","_extendStatics","__extends","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","__","this","constructor","create","AssertionError","_super","message","_this","name","Error","assert","value","ModuleTemplate","render","get","title","description","tagLine","image","heroImage","src","location","style","background","text","bgImage","styles","moduleDetails","md","author","map","val","idx","to","slug","firstName","lastName","length","body","childMarkdownRemark","timeToRead","icon","url","href","hashtags","faTwitter","quote","hashtag","faFacebook","summary","faLinkedin","dangerouslySetInnerHTML","__html","html","React","Col","prefix","spans","span","offset","order","_propValue$span","Header","alt","applyGradient","hero","heroGradient","heroSolid","animationIn","animationOut","heroImageGradient","heroImageGradientBlurred","heroOverlayText","heroText","__assign","assign","t","s","i","n","arguments","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","e","rejected","result","done","then","__generator","f","y","g","_","label","sent","trys","ops","verb","Symbol","iterator","v","op","TypeError","pop","__rest","indexOf","getOwnPropertySymbols","propertyIsEnumerable","isPromise","obj","getBoxPositionOnWindowCenter","width","height","left","window","outerWidth","screenX","screenLeft","top","outerHeight","screenY","screenTop","getBoxPositionOnScreenCenter","screen","windowOpen","_a","onClose","configRest","config","toolbar","status","directories","menubar","scrollbars","resizable","centerscreen","chrome","shareDialog","open","keys","key","join","interval_1","setInterval","closed","clearInterval","console","error","ShareButton","openShareDialog","link","onShareWindowClose","_b","windowHeight","_c","windowPosition","_d","windowWidth","handleClick","event","beforeOnClick","disabled","networkLink","onClick","openShareDialogOnClick","opts","returnVal","preventDefault","children","disabledStyle","forwardedRef","networkName","resetButtonStyle","rest","newClassName","newStyle","backgroundColor","border","padding","font","color","cursor","opacity","optsMap","CreatedButton","passedProps","TwitterShareButton","via","related","isArray","undefined","LinkedinShareButton","source","mini","FacebookShareButton","u","objectToGetParams","object","params","entries","filter","encodeURIComponent","String"],"mappings":"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","file":"component---src-templates-module-js-c9237e4f4a2397d27ffc.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"hero\":\"header-module--hero--1dQuu\",\"heroGradient\":\"header-module--heroGradient--1K-fK\",\"gradient\":\"header-module--gradient--1jRmb\",\"heroSolid\":\"header-module--heroSolid--1M9Ho\",\"heroImage\":\"header-module--heroImage--2cYRB\",\"heroImageGradient\":\"header-module--heroImageGradient--37OGi\",\"heroImageGradientBlurred\":\"header-module--heroImageGradientBlurred--3cR9v\",\"heroOverlayText\":\"header-module--heroOverlayText--FUF6M\",\"heroText\":\"header-module--heroText--2vE9y\"};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { useBootstrapPrefix } from './ThemeProvider';\nexport var propTypes = {\n /**\n * @default 'img'\n */\n bsPrefix: PropTypes.string,\n\n /**\n * Sets image as fluid image.\n */\n fluid: PropTypes.bool,\n\n /**\n * Sets image shape as rounded.\n */\n rounded: PropTypes.bool,\n\n /**\n * Sets image shape as circle.\n */\n roundedCircle: PropTypes.bool,\n\n /**\n * Sets image shape as thumbnail.\n */\n thumbnail: PropTypes.bool\n};\nvar defaultProps = {\n fluid: false,\n rounded: false,\n roundedCircle: false,\n thumbnail: false\n};\nvar Image = React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n className = _ref.className,\n fluid = _ref.fluid,\n rounded = _ref.rounded,\n roundedCircle = _ref.roundedCircle,\n thumbnail = _ref.thumbnail,\n props = _objectWithoutPropertiesLoose(_ref, [\"bsPrefix\", \"className\", \"fluid\", \"rounded\", \"roundedCircle\", \"thumbnail\"]);\n\n bsPrefix = useBootstrapPrefix(bsPrefix, 'img');\n var classes = classNames(fluid && bsPrefix + \"-fluid\", rounded && \"rounded\", roundedCircle && \"rounded-circle\", thumbnail && bsPrefix + \"-thumbnail\");\n return /*#__PURE__*/React.createElement(\"img\", _extends({\n // eslint-disable-line jsx-a11y/alt-text\n ref: ref\n }, props, {\n className: classNames(className, classes)\n }));\n});\nImage.displayName = 'Image';\nImage.defaultProps = defaultProps;\nexport default Image;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar DEVICE_SIZES = ['xl', 'lg', 'md', 'sm', 'xs'];\nvar defaultProps = {\n noGutters: false\n};\nvar Row = React.forwardRef(function (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n className = _ref.className,\n noGutters = _ref.noGutters,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n props = _objectWithoutPropertiesLoose(_ref, [\"bsPrefix\", \"className\", \"noGutters\", \"as\"]);\n\n var decoratedBsPrefix = useBootstrapPrefix(bsPrefix, 'row');\n var sizePrefix = decoratedBsPrefix + \"-cols\";\n var classes = [];\n DEVICE_SIZES.forEach(function (brkPoint) {\n var propValue = props[brkPoint];\n delete props[brkPoint];\n var cols;\n\n if (propValue != null && typeof propValue === 'object') {\n cols = propValue.cols;\n } else {\n cols = propValue;\n }\n\n var infix = brkPoint !== 'xs' ? \"-\" + brkPoint : '';\n if (cols != null) classes.push(\"\" + sizePrefix + infix + \"-\" + cols);\n });\n return /*#__PURE__*/React.createElement(Component, _extends({\n ref: ref\n }, props, {\n className: classNames.apply(void 0, [className, decoratedBsPrefix, noGutters && 'no-gutters'].concat(classes))\n }));\n});\nRow.displayName = 'Row';\nRow.defaultProps = defaultProps;\nexport default Row;","var __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar AssertionError =\n/** @class */\nfunction (_super) {\n __extends(AssertionError, _super);\n\n function AssertionError(message) {\n var _this = _super.call(this, message) || this;\n\n _this.name = 'AssertionError';\n return _this;\n }\n\n return AssertionError;\n}(Error);\n\nexport default function assert(value, message) {\n if (!value) {\n throw new AssertionError(message);\n }\n}","import { graphql, Link } from 'gatsby';\nimport get from 'lodash/get';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport Header from '../components/header';\nimport Layout from '../components/layout';\nimport { Col, Row } from 'react-bootstrap';\n\n// Imports the share buttons for social media sharing the module.\nimport {\n FacebookShareButton,\n LinkedinShareButton,\n TwitterShareButton,\n} from \"react-share\";\n\n// Sets up the fontawesome for the share buttons.\nimport {\n faFacebook,\n faLinkedin,\n faTwitter\n}\n from '@fortawesome/free-brands-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\n// Brings in stuff needed for css.\nimport styles from '../css/module.module.css';\nimport { Fragment } from 'react';\n\n/**\n * The class that represents the template for a module page.\n */\nclass ModuleTemplate extends React.Component {\n /**\n * Returns the module page content that is supposed to be rendered\n * by a user's browser inside a Layout component.\n * @return {*} The a module page content that is supposed to\n * be rendered by a browser.\n */\n render() {\n const module = get(this.props, 'data.contentfulModule');\n\n return (\n \n
\n
\n
\n
\n {module.tagLine &&\n

\n {module.tagLine}\n

\n }\n
\n
\n \n \n By \n {module.author.map((val, idx) => {\n return (\n \n {val.firstName} {val.lastName}\n {idx < module.author.length - 1 && , }\n \n );\n })}\n \n \n

Time to read: {module.body.childMarkdownRemark.timeToRead} min

\n \n \n

\n Share on \n \n \n  \n \n \n  \n \n \n \n

\n \n
\n
\n \n
\n
\n
\n );\n }\n}\n\n// Defines the propTypes of Module.\nModuleTemplate.propTypes = {\n location: PropTypes.any,\n};\n\nexport default ModuleTemplate;\n\n// Performs a GraphQL query to get all\n// module page's content based on the page's slug.\nexport const pageQuery = graphql`\n query ModuleBySlug($slug: String!) {\n contentfulModule(slug: { eq: $slug }) {\n title\n tagLine\n author {\n firstName\n lastName\n slug\n }\n category {\n title\n }\n heroImage {\n fluid(maxWidth: 1180, background: \"rgb:000000\") {\n ...GatsbyContentfulFluid\n src\n }\n }\n description {\n description\n }\n body {\n childMarkdownRemark {\n html\n timeToRead\n }\n }\n }\n }\n`;\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport { useBootstrapPrefix } from './ThemeProvider';\nvar DEVICE_SIZES = ['xl', 'lg', 'md', 'sm', 'xs'];\nvar Col = React.forwardRef( // Need to define the default \"as\" during prop destructuring to be compatible with styled-components github.com/react-bootstrap/react-bootstrap/issues/3595\nfunction (_ref, ref) {\n var bsPrefix = _ref.bsPrefix,\n className = _ref.className,\n _ref$as = _ref.as,\n Component = _ref$as === void 0 ? 'div' : _ref$as,\n props = _objectWithoutPropertiesLoose(_ref, [\"bsPrefix\", \"className\", \"as\"]);\n\n var prefix = useBootstrapPrefix(bsPrefix, 'col');\n var spans = [];\n var classes = [];\n DEVICE_SIZES.forEach(function (brkPoint) {\n var propValue = props[brkPoint];\n delete props[brkPoint];\n var span;\n var offset;\n var order;\n\n if (typeof propValue === 'object' && propValue != null) {\n var _propValue$span = propValue.span;\n span = _propValue$span === void 0 ? true : _propValue$span;\n offset = propValue.offset;\n order = propValue.order;\n } else {\n span = propValue;\n }\n\n var infix = brkPoint !== 'xs' ? \"-\" + brkPoint : '';\n if (span) spans.push(span === true ? \"\" + prefix + infix : \"\" + prefix + infix + \"-\" + span);\n if (order != null) classes.push(\"order\" + infix + \"-\" + order);\n if (offset != null) classes.push(\"offset\" + infix + \"-\" + offset);\n });\n\n if (!spans.length) {\n spans.push(prefix); // plain 'col'\n }\n\n return /*#__PURE__*/React.createElement(Component, _extends({}, props, {\n ref: ref,\n className: classNames.apply(void 0, [className].concat(spans, classes))\n }));\n});\nCol.displayName = 'Col';\nexport default Col;","// Sets up React stuff.\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\n// Sets up stuff for header images.\nimport Img from 'gatsby-image';\nimport Image from 'react-bootstrap/Image';\n\n// Brings in stuff needed for css.\nimport {Animated} from 'react-animated-css';\nimport styles from '../css/header.module.css';\n\n/**\n * The class that represents the header component.\n */\nclass Header extends React.Component {\n /**\n * Returns the headere content that is supposed to be rendered by a\n * user's browser.\n * @return {*} The content of the header component that is rendered\n * by a browser\n */\n render() {\n const {image, bgImage, text, alt, applyGradient} = this.props;\n\n return (\n
\n
\n {image != null && bgImage == null &&\n \n {alt}\n\n \n }\n {image == null && bgImage != null && text == null &&\n {alt}\n\n }\n {image == null && bgImage != null && text != null &&\n {alt}\n\n }\n {text != null &&\n \n

\n {text}\n

\n
\n }\n
\n
\n );\n }\n}\n\n// Defines the propTypes of Header.\nHeader.propTypes = {\n applyGradient: PropTypes.any,\n bgImage: PropTypes.any,\n image: PropTypes.any,\n text: PropTypes.any,\n};\n\nexport default Header;\n","var __extends = this && this.__extends || function () {\n var _extendStatics = function extendStatics(d, b) {\n _extendStatics = Object.setPrototypeOf || {\n __proto__: []\n } instanceof Array && function (d, b) {\n d.__proto__ = b;\n } || function (d, b) {\n for (var p in b) {\n if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];\n }\n };\n\n return _extendStatics(d, b);\n };\n\n return function (d, b) {\n _extendStatics(d, b);\n\n function __() {\n this.constructor = d;\n }\n\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n}();\n\nvar __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nvar __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function (resolve) {\n resolve(value);\n });\n }\n\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\n\nvar __generator = this && this.__generator || function (thisArg, body) {\n var _ = {\n label: 0,\n sent: function sent() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n },\n f,\n y,\n t,\n g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () {\n return this;\n }), g;\n\n function verb(n) {\n return function (v) {\n return step([n, v]);\n };\n }\n\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n\n while (_) {\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n\n case 7:\n op = _.ops.pop();\n\n _.trys.pop();\n\n continue;\n\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n\n if (t && _.label < t[2]) {\n _.label = t[2];\n\n _.ops.push(op);\n\n break;\n }\n\n if (t[2]) _.ops.pop();\n\n _.trys.pop();\n\n continue;\n }\n\n op = body.call(thisArg, _);\n } catch (e) {\n op = [6, e];\n y = 0;\n } finally {\n f = t = 0;\n }\n }\n\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n};\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nimport React, { Component } from 'react';\nimport cx from 'classnames';\n\nvar isPromise = function isPromise(obj) {\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function';\n};\n\nvar getBoxPositionOnWindowCenter = function getBoxPositionOnWindowCenter(width, height) {\n return {\n left: window.outerWidth / 2 + (window.screenX || window.screenLeft || 0) - width / 2,\n top: window.outerHeight / 2 + (window.screenY || window.screenTop || 0) - height / 2\n };\n};\n\nvar getBoxPositionOnScreenCenter = function getBoxPositionOnScreenCenter(width, height) {\n return {\n top: (window.screen.height - height) / 2,\n left: (window.screen.width - width) / 2\n };\n};\n\nfunction windowOpen(url, _a, onClose) {\n var height = _a.height,\n width = _a.width,\n configRest = __rest(_a, [\"height\", \"width\"]);\n\n var config = __assign({\n height: height,\n width: width,\n location: 'no',\n toolbar: 'no',\n status: 'no',\n directories: 'no',\n menubar: 'no',\n scrollbars: 'yes',\n resizable: 'no',\n centerscreen: 'yes',\n chrome: 'yes'\n }, configRest);\n\n var shareDialog = window.open(url, '', Object.keys(config).map(function (key) {\n return key + \"=\" + config[key];\n }).join(', '));\n\n if (onClose) {\n var interval_1 = window.setInterval(function () {\n try {\n if (shareDialog === null || shareDialog.closed) {\n window.clearInterval(interval_1);\n onClose(shareDialog);\n }\n } catch (e) {\n /* eslint-disable no-console */\n console.error(e);\n /* eslint-enable no-console */\n }\n }, 1000);\n }\n\n return shareDialog;\n}\n\nvar ShareButton =\n/** @class */\nfunction (_super) {\n __extends(ShareButton, _super);\n\n function ShareButton() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n\n _this.openShareDialog = function (link) {\n var _a = _this.props,\n onShareWindowClose = _a.onShareWindowClose,\n _b = _a.windowHeight,\n windowHeight = _b === void 0 ? 400 : _b,\n _c = _a.windowPosition,\n windowPosition = _c === void 0 ? 'windowCenter' : _c,\n _d = _a.windowWidth,\n windowWidth = _d === void 0 ? 550 : _d;\n\n var windowConfig = __assign({\n height: windowHeight,\n width: windowWidth\n }, windowPosition === 'windowCenter' ? getBoxPositionOnWindowCenter(windowWidth, windowHeight) : getBoxPositionOnScreenCenter(windowWidth, windowHeight));\n\n windowOpen(link, windowConfig, onShareWindowClose);\n };\n\n _this.handleClick = function (event) {\n return __awaiter(_this, void 0, void 0, function () {\n var _a, beforeOnClick, disabled, networkLink, onClick, url, openShareDialogOnClick, opts, link, returnVal;\n\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = this.props, beforeOnClick = _a.beforeOnClick, disabled = _a.disabled, networkLink = _a.networkLink, onClick = _a.onClick, url = _a.url, openShareDialogOnClick = _a.openShareDialogOnClick, opts = _a.opts;\n link = networkLink(url, opts);\n\n if (disabled) {\n return [2\n /*return*/\n ];\n }\n\n event.preventDefault();\n if (!beforeOnClick) return [3\n /*break*/\n , 2];\n returnVal = beforeOnClick();\n if (!isPromise(returnVal)) return [3\n /*break*/\n , 2];\n return [4\n /*yield*/\n , returnVal];\n\n case 1:\n _b.sent();\n\n _b.label = 2;\n\n case 2:\n if (openShareDialogOnClick) {\n this.openShareDialog(link);\n }\n\n if (onClick) {\n onClick(event, link);\n }\n\n return [2\n /*return*/\n ];\n }\n });\n });\n };\n\n return _this;\n }\n\n ShareButton.prototype.render = function () {\n var _a = this.props,\n beforeOnClick = _a.beforeOnClick,\n children = _a.children,\n className = _a.className,\n disabled = _a.disabled,\n disabledStyle = _a.disabledStyle,\n forwardedRef = _a.forwardedRef,\n networkLink = _a.networkLink,\n networkName = _a.networkName,\n onShareWindowClose = _a.onShareWindowClose,\n openShareDialogOnClick = _a.openShareDialogOnClick,\n opts = _a.opts,\n resetButtonStyle = _a.resetButtonStyle,\n style = _a.style,\n url = _a.url,\n windowHeight = _a.windowHeight,\n windowPosition = _a.windowPosition,\n windowWidth = _a.windowWidth,\n rest = __rest(_a, [\"beforeOnClick\", \"children\", \"className\", \"disabled\", \"disabledStyle\", \"forwardedRef\", \"networkLink\", \"networkName\", \"onShareWindowClose\", \"openShareDialogOnClick\", \"opts\", \"resetButtonStyle\", \"style\", \"url\", \"windowHeight\", \"windowPosition\", \"windowWidth\"]);\n\n var newClassName = cx('react-share__ShareButton', {\n 'react-share__ShareButton--disabled': !!disabled,\n disabled: !!disabled\n }, className);\n var newStyle = resetButtonStyle ? __assign(__assign({\n backgroundColor: 'transparent',\n border: 'none',\n padding: 0,\n font: 'inherit',\n color: 'inherit',\n cursor: 'pointer'\n }, style), disabled && disabledStyle) : __assign(__assign({}, style), disabled && disabledStyle);\n return React.createElement(\"button\", __assign({}, rest, {\n \"aria-label\": rest['aria-label'] || networkName,\n className: newClassName,\n onClick: this.handleClick,\n ref: forwardedRef,\n style: newStyle\n }), children);\n };\n\n ShareButton.defaultProps = {\n disabledStyle: {\n opacity: 0.6\n },\n openShareDialogOnClick: true,\n resetButtonStyle: true\n };\n return ShareButton;\n}(Component);\n\nexport default ShareButton;","var __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return __assign.apply(this, arguments);\n};\n\nimport React, { forwardRef } from 'react';\nimport ShareButton from '../ShareButton';\n\nfunction createShareButton(networkName, link, optsMap, defaultProps) {\n function CreatedButton(props, ref) {\n var opts = optsMap(props);\n\n var passedProps = __assign({}, props); // remove keys from passed props that are passed as opts\n\n\n var optsKeys = Object.keys(opts);\n optsKeys.forEach(function (key) {\n delete passedProps[key];\n });\n return React.createElement(ShareButton, __assign({}, defaultProps, passedProps, {\n forwardedRef: ref,\n networkName: networkName,\n networkLink: link,\n opts: optsMap(props)\n }));\n }\n\n CreatedButton.displayName = \"ShareButton-\" + networkName;\n return forwardRef(CreatedButton);\n}\n\nexport default createShareButton;","import assert from './utils/assert';\nimport objectToGetParams from './utils/objectToGetParams';\nimport createShareButton from './hocs/createShareButton';\n\nfunction twitterLink(url, _a) {\n var title = _a.title,\n via = _a.via,\n _b = _a.hashtags,\n hashtags = _b === void 0 ? [] : _b,\n _c = _a.related,\n related = _c === void 0 ? [] : _c;\n assert(url, 'twitter.url');\n assert(Array.isArray(hashtags), 'twitter.hashtags is not an array');\n assert(Array.isArray(related), 'twitter.related is not an array');\n return 'https://twitter.com/share' + objectToGetParams({\n url: url,\n text: title,\n via: via,\n hashtags: hashtags.length > 0 ? hashtags.join(',') : undefined,\n related: related.length > 0 ? related.join(',') : undefined\n });\n}\n\nvar TwitterShareButton = createShareButton('twitter', twitterLink, function (props) {\n return {\n hashtags: props.hashtags,\n title: props.title,\n via: props.via,\n related: props.related\n };\n}, {\n windowWidth: 550,\n windowHeight: 400\n});\nexport default TwitterShareButton;","import assert from './utils/assert';\nimport objectToGetParams from './utils/objectToGetParams';\nimport createShareButton from './hocs/createShareButton';\n\nfunction linkedinLink(url, _a) {\n var title = _a.title,\n summary = _a.summary,\n source = _a.source;\n assert(url, 'linkedin.url');\n return 'https://linkedin.com/shareArticle' + objectToGetParams({\n url: url,\n mini: 'true',\n title: title,\n summary: summary,\n source: source\n });\n}\n\nvar LinkedinShareButton = createShareButton('linkedin', linkedinLink, function (_a) {\n var title = _a.title,\n summary = _a.summary,\n source = _a.source;\n return {\n title: title,\n summary: summary,\n source: source\n };\n}, {\n windowWidth: 750,\n windowHeight: 600\n});\nexport default LinkedinShareButton;","// extracted by mini-css-extract-plugin\nmodule.exports = {\"moduleDetails\":\"module-module--moduleDetails--1EVrQ\",\"icon\":\"module-module--icon--2hdbJ\"};","import assert from './utils/assert';\nimport objectToGetParams from './utils/objectToGetParams';\nimport createShareButton from './hocs/createShareButton';\n\nfunction facebookLink(url, _a) {\n var quote = _a.quote,\n hashtag = _a.hashtag;\n assert(url, 'facebook.url');\n return 'https://www.facebook.com/sharer/sharer.php' + objectToGetParams({\n u: url,\n quote: quote,\n hashtag: hashtag\n });\n}\n\nvar FacebookShareButton = createShareButton('facebook', facebookLink, function (props) {\n return {\n quote: props.quote,\n hashtag: props.hashtag\n };\n}, {\n windowWidth: 550,\n windowHeight: 400\n});\nexport default FacebookShareButton;","export default function objectToGetParams(object) {\n var params = Object.entries(object).filter(function (_a) {\n var value = _a[1];\n return value !== undefined && value !== null;\n }).map(function (_a) {\n var key = _a[0],\n value = _a[1];\n return encodeURIComponent(key) + \"=\" + encodeURIComponent(String(value));\n });\n return params.length > 0 ? \"?\" + params.join('&') : '';\n}"],"sourceRoot":""}