-
Notifications
You must be signed in to change notification settings - Fork 0
/
landing.chunk.js
1 lines (1 loc) · 30.7 KB
/
landing.chunk.js
1
(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{4982:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* unused harmony export ScreenStore */\n/* harmony import */ var resub__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4981);\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\nvar ScreenStore = /** @class */ (function (_super) {\n __extends(ScreenStore, _super);\n function ScreenStore() {\n var _this = _super.call(this) || this;\n _this.trackScreenType = function () {\n _this._size = window.innerWidth;\n if (_this._size >= 1920) {\n _this._type = \'xl-desktop\';\n }\n else if (_this._size >= 1280) {\n _this._type = \'lg-desktop\';\n }\n else if (_this._size >= 960) {\n _this._type = \'md-desktop\';\n }\n else if (_this._size >= 600) {\n _this._type = \'sm-tablet\';\n }\n else {\n _this._type = \'xs-phone\';\n }\n _this.trigger();\n };\n _this.startTrackingScreenType = function () {\n _this.trackScreenType();\n window.addEventListener(\'resize\', _this.trackScreenType);\n };\n _this.startTrackingScreenType();\n return _this;\n }\n ScreenStore.prototype.size = function () {\n return this._size;\n };\n ScreenStore.prototype.type = function () {\n return this._type;\n };\n __decorate([\n resub__WEBPACK_IMPORTED_MODULE_0__[/* autoSubscribe */ "d"]\n ], ScreenStore.prototype, "size", null);\n __decorate([\n resub__WEBPACK_IMPORTED_MODULE_0__[/* autoSubscribe */ "d"]\n ], ScreenStore.prototype, "type", null);\n ScreenStore = __decorate([\n resub__WEBPACK_IMPORTED_MODULE_0__[/* AutoSubscribeStore */ "a"]\n ], ScreenStore);\n return ScreenStore;\n}(resub__WEBPACK_IMPORTED_MODULE_0__[/* StoreBase */ "c"]));\n\n/* harmony default export */ __webpack_exports__["a"] = (new ScreenStore());\n\n\n//# sourceURL=webpack:///./src/client/store/screen.ts?')},4994:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return debounce; });\n// Corresponds to 10 frames at 60 Hz.\n// A few bytes payload overhead when lodash/debounce is ~3 kB and debounce ~300 B.\nfunction debounce(func) {\n var wait = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 166;\n var timeout;\n\n function debounced() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n // eslint-disable-next-line consistent-this\n var that = this;\n\n var later = function later() {\n func.apply(that, args);\n };\n\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n }\n\n debounced.clear = function () {\n clearTimeout(timeout);\n };\n\n return debounced;\n}\n\n//# sourceURL=webpack:///./node_modules/@material-ui/core/esm/utils/debounce.js?')},5009:function(module,__webpack_exports__,__webpack_require__){"use strict";eval('/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return isMuiElement; });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);\n\nfunction isMuiElement(element, muiNames) {\n return react__WEBPACK_IMPORTED_MODULE_0___default.a.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1;\n}\n\n//# sourceURL=webpack:///./node_modules/@material-ui/core/esm/utils/isMuiElement.js?')},5152:function(module,__webpack_exports__,__webpack_require__){"use strict";eval("__webpack_require__.r(__webpack_exports__);\n\n// EXTERNAL MODULE: ./node_modules/react/index.js\nvar react = __webpack_require__(0);\nvar react_default = /*#__PURE__*/__webpack_require__.n(react);\n\n// EXTERNAL MODULE: ./node_modules/react-dom/index.js\nvar react_dom = __webpack_require__(8);\n\n// EXTERNAL MODULE: ./node_modules/resub/dist-es2015/ReSub.js + 6 modules\nvar ReSub = __webpack_require__(4981);\n\n// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/styles/withStyles.js + 21 modules\nvar withStyles = __webpack_require__(7);\n\n// EXTERNAL MODULE: ./src/client/store/screen.ts\nvar screen = __webpack_require__(4982);\n\n// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/colors/red.js\nvar red = __webpack_require__(25);\n\n// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/colors/blue.js\nvar blue = __webpack_require__(26);\n\n// CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/colors/lightGreen.js\nvar lightGreen = {\n 50: '#f1f8e9',\n 100: '#dcedc8',\n 200: '#c5e1a5',\n 300: '#aed581',\n 400: '#9ccc65',\n 500: '#8bc34a',\n 600: '#7cb342',\n 700: '#689f38',\n 800: '#558b2f',\n 900: '#33691e',\n A100: '#ccff90',\n A200: '#b2ff59',\n A400: '#76ff03',\n A700: '#64dd17'\n};\n/* harmony default export */ var colors_lightGreen = (lightGreen);\n// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/Typography/Typography.js\nvar Typography = __webpack_require__(4975);\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js\nvar esm_extends = __webpack_require__(1);\n\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js\nvar objectWithoutProperties = __webpack_require__(2);\n\n// EXTERNAL MODULE: ./node_modules/prop-types/index.js\nvar prop_types = __webpack_require__(3);\n\n// EXTERNAL MODULE: ./node_modules/clsx/dist/clsx.m.js\nvar clsx_m = __webpack_require__(4);\n\n// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/SvgIcon/SvgIcon.js\nvar SvgIcon = __webpack_require__(41);\n\n// CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/internal/svg-icons/createSvgIcon.js\n\n\n\nfunction createSvgIcon(path, displayName) {\n var Component = react_default.a.memo(react_default.a.forwardRef(function (props, ref) {\n return react_default.a.createElement(SvgIcon[\"a\" /* default */], Object(esm_extends[\"a\" /* default */])({}, props, {\n ref: ref\n }), path);\n }));\n\n if (false) {}\n\n Component.muiName = SvgIcon[\"a\" /* default */].muiName;\n return Component;\n}\n// CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/internal/svg-icons/Person.js\n\n\n/**\n * @ignore - internal component.\n */\n\n/* harmony default export */ var Person = (createSvgIcon(react_default.a.createElement(\"path\", {\n d: \"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\"\n}), 'Person'));\n// CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/Avatar/Avatar.js\n\n\n\n\n\n\n\nvar styles = function styles(theme) {\n return {\n /* Styles applied to the root element. */\n root: {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n width: 40,\n height: 40,\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.pxToRem(20),\n lineHeight: 1,\n borderRadius: '50%',\n overflow: 'hidden',\n userSelect: 'none'\n },\n\n /* Styles applied to the root element if not `src` or `srcSet`. */\n colorDefault: {\n color: theme.palette.background.default,\n backgroundColor: theme.palette.type === 'light' ? theme.palette.grey[400] : theme.palette.grey[600]\n },\n\n /* Styles applied to the root element if `variant=\"circle\"`. */\n circle: {},\n\n /* Styles applied to the root element if `variant=\"rounded\"`. */\n rounded: {\n borderRadius: theme.shape.borderRadius\n },\n\n /* Styles applied to the root element if `variant=\"square\"`. */\n square: {\n borderRadius: 0\n },\n\n /* Styles applied to the img element if either `src` or `srcSet` is defined. */\n img: {\n width: '100%',\n height: '100%',\n textAlign: 'center',\n // Handle non-square image. The property isn't supported by IE 11.\n objectFit: 'cover',\n // Hide alt text.\n color: 'transparent',\n // Hide the image broken icon, only works on Chrome.\n textIndent: 10000\n },\n\n /* Styles applied to the fallback icon */\n fallback: {\n width: '75%',\n height: '75%'\n }\n };\n};\n\nfunction useLoaded(_ref) {\n var src = _ref.src,\n srcSet = _ref.srcSet;\n\n var _React$useState = react_default.a.useState(false),\n loaded = _React$useState[0],\n setLoaded = _React$useState[1];\n\n react_default.a.useEffect(function () {\n if (!src && !srcSet) {\n return undefined;\n }\n\n setLoaded(false);\n var active = true;\n var image = new Image();\n image.src = src;\n image.srcSet = srcSet;\n\n image.onload = function () {\n if (!active) {\n return;\n }\n\n setLoaded('loaded');\n };\n\n image.onerror = function () {\n if (!active) {\n return;\n }\n\n setLoaded('error');\n };\n\n return function () {\n active = false;\n };\n }, [src, srcSet]);\n return loaded;\n}\n\nvar Avatar_Avatar = react_default.a.forwardRef(function Avatar(props, ref) {\n var alt = props.alt,\n childrenProp = props.children,\n classes = props.classes,\n className = props.className,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'div' : _props$component,\n imgProps = props.imgProps,\n sizes = props.sizes,\n src = props.src,\n srcSet = props.srcSet,\n _props$variant = props.variant,\n variant = _props$variant === void 0 ? 'circle' : _props$variant,\n other = Object(objectWithoutProperties[\"a\" /* default */])(props, [\"alt\", \"children\", \"classes\", \"className\", \"component\", \"imgProps\", \"sizes\", \"src\", \"srcSet\", \"variant\"]);\n\n var children = null; // Use a hook instead of onError on the img element to support server-side rendering.\n\n var loaded = useLoaded({\n src: src,\n srcSet: srcSet\n });\n var hasImg = src || srcSet;\n var hasImgNotFailing = hasImg && loaded !== 'error';\n\n if (hasImgNotFailing) {\n children = react_default.a.createElement(\"img\", Object(esm_extends[\"a\" /* default */])({\n alt: alt,\n src: src,\n srcSet: srcSet,\n sizes: sizes,\n className: classes.img\n }, imgProps));\n } else if (childrenProp != null) {\n children = childrenProp;\n } else if (hasImg && alt) {\n children = alt[0];\n } else {\n children = react_default.a.createElement(Person, {\n className: classes.fallback\n });\n }\n\n return react_default.a.createElement(Component, Object(esm_extends[\"a\" /* default */])({\n className: Object(clsx_m[\"a\" /* default */])(classes.root, classes.system, classes[variant], className, !hasImgNotFailing && classes.colorDefault),\n ref: ref\n }, other), children);\n});\n false ? undefined : void 0;\n/* harmony default export */ var esm_Avatar_Avatar = (Object(withStyles[\"a\" /* default */])(styles, {\n name: 'MuiAvatar'\n})(Avatar_Avatar));\n// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/ButtonBase/ButtonBase.js + 4 modules\nvar ButtonBase = __webpack_require__(4955);\n\n// EXTERNAL MODULE: ./node_modules/react-is/index.js\nvar react_is = __webpack_require__(34);\n\n// CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/GridList/GridList.js\n\n\n\n\n\n\n\nvar GridList_styles = {\n /* Styles applied to the root element. */\n root: {\n display: 'flex',\n flexWrap: 'wrap',\n overflowY: 'auto',\n listStyle: 'none',\n padding: 0,\n WebkitOverflowScrolling: 'touch' // Add iOS momentum scrolling.\n\n }\n};\nvar GridList_GridList = react_default.a.forwardRef(function GridList(props, ref) {\n var _props$cellHeight = props.cellHeight,\n cellHeight = _props$cellHeight === void 0 ? 180 : _props$cellHeight,\n children = props.children,\n classes = props.classes,\n className = props.className,\n _props$cols = props.cols,\n cols = _props$cols === void 0 ? 2 : _props$cols,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'ul' : _props$component,\n _props$spacing = props.spacing,\n spacing = _props$spacing === void 0 ? 4 : _props$spacing,\n style = props.style,\n other = Object(objectWithoutProperties[\"a\" /* default */])(props, [\"cellHeight\", \"children\", \"classes\", \"className\", \"cols\", \"component\", \"spacing\", \"style\"]);\n\n return react_default.a.createElement(Component, Object(esm_extends[\"a\" /* default */])({\n className: Object(clsx_m[\"a\" /* default */])(classes.root, className),\n ref: ref,\n style: Object(esm_extends[\"a\" /* default */])({\n margin: -spacing / 2\n }, style)\n }, other), react_default.a.Children.map(children, function (child) {\n if (!react_default.a.isValidElement(child)) {\n return null;\n }\n\n if (false) {}\n\n var childCols = child.props.cols || 1;\n var childRows = child.props.rows || 1;\n return react_default.a.cloneElement(child, {\n style: Object(esm_extends[\"a\" /* default */])({\n width: \"\".concat(100 / cols * childCols, \"%\"),\n height: cellHeight === 'auto' ? 'auto' : cellHeight * childRows + spacing,\n padding: spacing / 2\n }, child.props.style)\n });\n }));\n});\n false ? undefined : void 0;\n/* harmony default export */ var esm_GridList_GridList = (Object(withStyles[\"a\" /* default */])(GridList_styles, {\n name: 'MuiGridList'\n})(GridList_GridList));\n// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 3 modules\nvar toConsumableArray = __webpack_require__(18);\n\n// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/utils/debounce.js\nvar debounce = __webpack_require__(4994);\n\n// EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/utils/isMuiElement.js\nvar isMuiElement = __webpack_require__(5009);\n\n// CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/GridListTile/GridListTile.js\n\n\n\n\n\n\n\n\n\nvar GridListTile_styles = {\n /* Styles applied to the root element. */\n root: {\n boxSizing: 'border-box',\n flexShrink: 0\n },\n\n /* Styles applied to the `div` element that wraps the children. */\n tile: {\n position: 'relative',\n display: 'block',\n // In case it's not rendered with a div.\n height: '100%',\n overflow: 'hidden'\n },\n\n /* Styles applied to an `img` element child, if needed to ensure it covers the tile. */\n imgFullHeight: {\n height: '100%',\n transform: 'translateX(-50%)',\n position: 'relative',\n left: '50%'\n },\n\n /* Styles applied to an `img` element child, if needed to ensure it covers the tile. */\n imgFullWidth: {\n width: '100%',\n position: 'relative',\n transform: 'translateY(-50%)',\n top: '50%'\n }\n};\n\nvar GridListTile_fit = function fit(imgEl, classes) {\n if (!imgEl || !imgEl.complete) {\n return;\n }\n\n if (imgEl.width / imgEl.height > imgEl.parentElement.offsetWidth / imgEl.parentElement.offsetHeight) {\n var _imgEl$classList, _imgEl$classList2;\n\n (_imgEl$classList = imgEl.classList).remove.apply(_imgEl$classList, Object(toConsumableArray[\"a\" /* default */])(classes.imgFullWidth.split(' ')));\n\n (_imgEl$classList2 = imgEl.classList).add.apply(_imgEl$classList2, Object(toConsumableArray[\"a\" /* default */])(classes.imgFullHeight.split(' ')));\n } else {\n var _imgEl$classList3, _imgEl$classList4;\n\n (_imgEl$classList3 = imgEl.classList).remove.apply(_imgEl$classList3, Object(toConsumableArray[\"a\" /* default */])(classes.imgFullHeight.split(' ')));\n\n (_imgEl$classList4 = imgEl.classList).add.apply(_imgEl$classList4, Object(toConsumableArray[\"a\" /* default */])(classes.imgFullWidth.split(' ')));\n }\n};\n\nfunction ensureImageCover(imgEl, classes) {\n if (!imgEl) {\n return;\n }\n\n if (imgEl.complete) {\n GridListTile_fit(imgEl, classes);\n } else {\n imgEl.addEventListener('load', function () {\n GridListTile_fit(imgEl, classes);\n });\n }\n}\n\nvar GridListTile_GridListTile = react_default.a.forwardRef(function GridListTile(props, ref) {\n // cols rows default values are for docs only\n var children = props.children,\n classes = props.classes,\n className = props.className,\n _props$cols = props.cols,\n cols = _props$cols === void 0 ? 1 : _props$cols,\n _props$component = props.component,\n Component = _props$component === void 0 ? 'li' : _props$component,\n _props$rows = props.rows,\n rows = _props$rows === void 0 ? 1 : _props$rows,\n other = Object(objectWithoutProperties[\"a\" /* default */])(props, [\"children\", \"classes\", \"className\", \"cols\", \"component\", \"rows\"]);\n\n var imgRef = react_default.a.useRef(null);\n react_default.a.useEffect(function () {\n ensureImageCover(imgRef.current, classes);\n });\n react_default.a.useEffect(function () {\n var handleResize = Object(debounce[\"a\" /* default */])(function () {\n GridListTile_fit(imgRef.current, classes);\n });\n window.addEventListener('resize', handleResize);\n return function () {\n handleResize.clear();\n window.removeEventListener('resize', handleResize);\n };\n }, [classes]);\n return react_default.a.createElement(Component, Object(esm_extends[\"a\" /* default */])({\n className: Object(clsx_m[\"a\" /* default */])(classes.root, className),\n ref: ref\n }, other), react_default.a.createElement(\"div\", {\n className: classes.tile\n }, react_default.a.Children.map(children, function (child) {\n if (!react_default.a.isValidElement(child)) {\n return null;\n }\n\n if (child.type === 'img' || Object(isMuiElement[\"a\" /* default */])(child, ['Image'])) {\n return react_default.a.cloneElement(child, {\n ref: imgRef\n });\n }\n\n return child;\n })));\n});\n false ? undefined : void 0;\n/* harmony default export */ var esm_GridListTile_GridListTile = (Object(withStyles[\"a\" /* default */])(GridListTile_styles, {\n name: 'MuiGridListTile'\n})(GridListTile_GridListTile));\n// CONCATENATED MODULE: ./src/client/components/landing-page/about-section.tsx\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\n\n\n\n\nvar about_section_styles = function (theme) { return ({\n row: {\n display: 'flex',\n flexDirection: 'column',\n padding: '32px',\n alignItems: 'center'\n },\n divider: {\n height: '3px',\n width: '120px',\n maxWidth: 'calc(100% - 64px)',\n margin: '16px 32px',\n background: 'black',\n opacity: 0.8\n },\n gridList: {\n width: '100%'\n },\n buttonBase: {\n width: '100%',\n maxWidth: '246px',\n height: '100%',\n margin: 'auto',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: '3px',\n },\n materializeBase: {\n color: red[\"a\" /* default */][800]\n },\n materialUIBase: {\n color: blue[\"a\" /* default */][800]\n },\n aiChanBase: {\n color: colors_lightGreen[800]\n },\n materializeActive: {\n background: red[\"a\" /* default */][50]\n },\n materialUIActive: {\n background: blue[\"a\" /* default */][50]\n },\n aiChanActive: {\n background: colors_lightGreen[50]\n },\n avatarContainer: {\n position: 'relative'\n },\n avatar: {\n width: '50px',\n height: '50px',\n padding: '16px',\n transition: 'background 300ms ease-in-out'\n },\n avatarBackground: {\n width: '82px',\n height: '82px',\n position: 'absolute',\n borderRadius: '41px',\n transition: ['border-radius 300ms ease-in-out', 'transform 300ms ease-in-out'].join(', ')\n },\n avatarBackgroundActive: {\n borderRadius: '3px',\n transform: 'scale(3)'\n },\n imageAvatar: {\n objectFit: 'contain'\n },\n projectName: {\n position: 'relative',\n marginTop: '8px',\n textAlign: 'center',\n color: 'inherit',\n zIndex: 100\n }\n}); };\nvar about_section_AboutSection = /** @class */ (function (_super) {\n __extends(AboutSection, _super);\n function AboutSection() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.hoverProject = function (project) {\n _this.setState({ active: project });\n };\n return _this;\n }\n AboutSection.prototype._buildState = function (props, initial) {\n return {\n screenType: screen[\"a\" /* default */].type(),\n active: initial ? undefined : this.state.active\n };\n };\n AboutSection.prototype.render = function () {\n var _this = this;\n var _a = this.props, classes = _a.classes, goToPage = _a.goToPage;\n var _b = this.state, screenType = _b.screenType, active = _b.active;\n return (react[\"createElement\"](\"div\", null,\n react[\"createElement\"](\"div\", { className: classes.row },\n react[\"createElement\"](Typography[\"a\" /* default */], { variant: 'h4', color: 'inherit', component: 'h2' }, \"Who Am I\"),\n react[\"createElement\"](\"div\", { className: classes.divider }),\n react[\"createElement\"](Typography[\"a\" /* default */], { variant: 'body2', gutterBottom: true }, \"I started off as a freelance vector graphic designer that designed logo, banner, banting and flyer to small business owners. At that very moment, I already developed some passion in programming during my university. Being a graphic designer only compels me more in trying out webpage design. So, I went on to learn Ruby on Rails, then introduced to writing Angular.js. After that, one of my campus mate keeps asking me to learn React.js, it was quite awhile before I'm finally convinced to learn React.js. I'm a full time software developer now, but I still do a little bit of graphics once in awhile...\")),\n react[\"createElement\"](\"div\", { className: classes.row },\n react[\"createElement\"](Typography[\"a\" /* default */], { variant: 'h4', color: 'inherit', component: 'h2' }, \"My Projects\"),\n react[\"createElement\"](\"div\", { className: classes.divider }),\n react[\"createElement\"](esm_GridList_GridList, { classes: { root: classes.gridList }, cellHeight: 180, cols: screenType === 'xs-phone' ? 1 : 3 }, [{\n id: 'materialize',\n base: classes.materializeBase,\n link: '/materialize-clockpicker',\n avatar: 'http://materializecss.com/res/materialize.svg',\n activeColor: classes.materializeActive,\n name: 'Materialize Clockpicker'\n }, {\n id: 'material-ui',\n base: classes.materialUIBase,\n link: '/material-ui-pickers',\n avatar: 'https://material-ui.com/static/logo_raw.svg',\n activeColor: classes.materialUIActive,\n name: 'Material UI Datepicker'\n }, {\n id: 'ai-chan',\n base: classes.aiChanBase,\n href: 'https://ai-chan-chatbot.github.io/',\n avatar: 'https://ai-chan-chatbot.github.io/ai-chan.png',\n activeColor: classes.aiChanActive,\n name: 'Ai Chan Chatbot'\n }].map(function (tile) {\n return react[\"createElement\"](esm_GridListTile_GridListTile, { classes: { root: classes.gridListTile }, key: tile.id },\n react[\"createElement\"](ButtonBase[\"a\" /* default */], { classes: { root: [classes.buttonBase, tile.base].join(' ') }, focusRipple: true, onClick: tile.link ? function () { return goToPage(tile.link); } : undefined, href: tile.href ? tile.href : undefined, onMouseOver: function () { return _this.hoverProject(tile.id); }, onMouseOut: function () { return _this.hoverProject(undefined); }, onTouchStart: function () { return _this.hoverProject(tile.id); }, onTouchEnd: function () { return _this.hoverProject(undefined); } },\n react[\"createElement\"](\"div\", null,\n react[\"createElement\"](\"div\", { className: [classes.avatarBackground, tile.activeColor, active === tile.id ? classes.avatarBackgroundActive : ''].join(' ') }),\n react[\"createElement\"](esm_Avatar_Avatar, { src: tile.avatar, classes: {\n root: classes.avatar,\n img: classes.imageAvatar\n } })),\n react[\"createElement\"](Typography[\"a\" /* default */], { classes: { root: classes.projectName }, variant: 'subtitle1' }, tile.name)));\n })))));\n };\n AboutSection = __decorate([\n Object(withStyles[\"a\" /* default */])(about_section_styles)\n ], AboutSection);\n return AboutSection;\n}(ReSub[\"b\" /* ComponentBase */]));\n/* harmony default export */ var about_section = (about_section_AboutSection);\n\n// CONCATENATED MODULE: ./src/client/components/landing-page/index.tsx\nvar landing_page_extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar landing_page_decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\n\n\n\n\n\n\nvar landing_page_styles = function (theme) { return ({}); };\nvar landing_page_LandingPage = /** @class */ (function (_super) {\n landing_page_extends(LandingPage, _super);\n function LandingPage() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.mountPage = function (page) {\n _this.page = react_dom[\"findDOMNode\"](page);\n if (_this.page) {\n _this.props.changePageHeight(_this.page.clientHeight);\n }\n };\n _this.goToPage = function (link) {\n _this.props.history.push(link);\n };\n return _this;\n }\n LandingPage.prototype._buildState = function (props, initial) {\n return {\n screenSize: screen[\"a\" /* default */].size(),\n screenType: screen[\"a\" /* default */].type()\n };\n };\n LandingPage.prototype.shouldComponentUpdate = function (nextProps, nextState) {\n if (this.page && this.state.screenSize !== nextState.screenSize) {\n this.props.changePageHeight(this.page.clientHeight);\n return false;\n }\n else {\n return true;\n }\n };\n LandingPage.prototype.render = function () {\n var classes = this.props.classes;\n var screenType = this.state.screenType;\n return (react[\"createElement\"](about_section, { ref: this.mountPage, goToPage: this.goToPage }));\n };\n LandingPage = landing_page_decorate([\n Object(withStyles[\"a\" /* default */])(landing_page_styles)\n ], LandingPage);\n return LandingPage;\n}(ReSub[\"b\" /* ComponentBase */]));\n/* harmony default export */ var landing_page = __webpack_exports__[\"default\"] = (landing_page_LandingPage);\n\n\n//# sourceURL=webpack:///./src/client/components/landing-page/index.tsx_+_7_modules?")}}]);