{"version":3,"file":"js/application-f938bb7e4670b13d7471.js","mappings":"kFAAA,SAASA,EAAoBC,GAC5B,IAAIC,EAAI,IAAIC,MAAM,uBAAyBF,EAAM,KAEjD,MADAC,EAAEE,KAAO,mBACHF,CACP,CACAF,EAAoBK,KAAO,WAAa,MAAO,EAAI,EACnDL,EAAoBM,QAAUN,EAC9BA,EAAoBO,GAAK,KACzBC,EAAOC,QAAUT,C,uBCRjB,IAAIU,EAAM,CACT,oBAAqB,KACrB,qBAAsB,KACtB,2BAA4B,KAC5B,2BAA4B,KAC5B,2BAA4B,KAC5B,2BAA4B,KAC5B,2BAA4B,KAC5B,oCAAqC,KACrC,+BAAgC,KAChC,kCAAmC,KACnC,6BAA8B,IAC9B,uCAAwC,KACxC,yBAA0B,KAC1B,uBAAwB,KACxB,2BAA4B,KAC5B,4BAA6B,KAC7B,iBAAkB,KAClB,mBAAoB,KACpB,uBAAwB,KACxB,sBAAuB,MAIxB,SAASC,EAAeV,GACvB,IAAIM,EAAKK,EAAsBX,GAC/B,OAAOY,EAAoBN,EAC5B,CACA,SAASK,EAAsBX,GAC9B,IAAIY,EAAoBC,EAAEJ,EAAKT,GAAM,CACpC,IAAIC,EAAI,IAAIC,MAAM,uBAAyBF,EAAM,KAEjD,MADAC,EAAEE,KAAO,mBACHF,CACP,CACA,OAAOQ,EAAIT,EACZ,CACAU,EAAeN,KAAO,WACrB,OAAOU,OAAOV,KAAKK,EACpB,EACAC,EAAeL,QAAUM,EACzBJ,EAAOC,QAAUE,EACjBA,EAAeJ,GAAK,I,uBCzCpB,IAAIG,EAAM,CACT,8BAA+B,MAIhC,SAASC,EAAeV,GACvB,IAAIM,EAAKK,EAAsBX,GAC/B,OAAOY,EAAoBN,EAC5B,CACA,SAASK,EAAsBX,GAC9B,IAAIY,EAAoBC,EAAEJ,EAAKT,GAAM,CACpC,IAAIC,EAAI,IAAIC,MAAM,uBAAyBF,EAAM,KAEjD,MADAC,EAAEE,KAAO,mBACHF,CACP,CACA,OAAOQ,EAAIT,EACZ,CACAU,EAAeN,KAAO,WACrB,OAAOU,OAAOV,KAAKK,EACpB,EACAC,EAAeL,QAAUM,EACzBJ,EAAOC,QAAUE,EACjBA,EAAeJ,GAAK,I,+FCRLS,EAAAA,MAEDA,EAAAA,MAECA,EAAAA,MAUfC,EAAAA,GAAcC,OAAQ,EAWtBF,EAAQ,K,kBCvCR,MAAMG,EAAwBA,KAK5B,MAAMC,EAAYA,KAChBC,SAASC,gBAAgBC,MAAMC,YAAY,eAAiB,GAAEC,OAAOC,gBAAgB,EAGvF,IAAIC,EACJF,OAAOG,iBAAiB,UAAU,WAChCC,KAAKC,aAAaH,GAClBA,EAAiBE,KAAKE,WAAWX,EAAW,IAC9C,IACAA,GAAW,EAGPY,EAAqCA,KACzC,SAASC,IAKP,IAAIC,EACAC,EAAkB,CAAC,gBAAiB,yBAEtCD,EAD+B,MAA7BT,OAAOW,SAASC,SACG,CAAC,eAAgB,wBAEjB,CAAC,aAAc,sBAItC,MAAMC,EAAajB,SAASkB,cAAc,gBACtCV,KAAKW,QAAU,UAAwBC,IAAjBZ,KAAKW,SAC7BF,EAAWI,UAAUC,OAAOR,GAC5BG,EAAWI,UAAUE,UAAUV,KAE/BI,EAAWI,UAAUC,OAAOT,GAC5BI,EAAWI,UAAUE,UAAUT,GAEnC,CAIiC,MAA7BV,OAAOW,SAASC,UAAoBZ,OAAOW,SAASS,MACtDZ,IAIFR,OAAOG,iBAAiB,SAAUK,GAAwB,EAAM,EAGlEL,iBAAiB,cAAc,WAG7BT,IAGAa,IAGAc,EAAE,UAAUC,GAAG,SAAS,SAASC,GAC/BF,EAAEjB,MAAMoB,SACV,GACF,G,2CChEA,mD","sources":["webpack://app/./app/javascript/fonts/ sync ^\\.\\/.*$","webpack://app/./app/javascript/images/ sync ^\\.\\/.*$","webpack://app/./app/javascript/videos/ sync ^\\.\\/.*$","webpack://app/./app/javascript/packs/application.js","webpack://app/./app/javascript/packs/custom.js","webpack://app/./app/javascript/videos/home/squarecrusher-hq.mp4"],"sourcesContent":["function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nwebpackEmptyContext.id = 5674;\nmodule.exports = webpackEmptyContext;","var map = {\n\t\"./home/bg-cta.jpg\": 5158,\n\t\"./home/bg-hero.jpg\": 5998,\n\t\"./home/blog-author-1.jpg\": 4986,\n\t\"./home/blog-author-2.jpg\": 2837,\n\t\"./home/blog-author-3.jpg\": 5224,\n\t\"./home/blog-author-4.jpg\": 6811,\n\t\"./home/blog-author-5.jpg\": 5502,\n\t\"./home/experience-figure-dark.svg\": 7083,\n\t\"./home/experience-figure.svg\": 9530,\n\t\"./home/icon-app-development.svg\": 7624,\n\t\"./home/icon-filmmaking.svg\": 694,\n\t\"./home/icon-software-development.svg\": 8436,\n\t\"./home/logo-cruise.svg\": 3652,\n\t\"./home/logo-lyft.svg\": 4362,\n\t\"./home/logo-onelogin.svg\": 4818,\n\t\"./home/logo-teespring.svg\": 3138,\n\t\"./home/map.jpg\": 1562,\n\t\"./icon-close.svg\": 5295,\n\t\"./layout/favicon.png\": 4607,\n\t\"./layout/social.jpg\": 8634\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 6190;","var map = {\n\t\"./home/squarecrusher-hq.mp4\": 2903\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 5676;","/* eslint no-console:0 */\n// This file is automatically compiled by Webpack, along with any other files\n// present in this directory. You're encouraged to place your actual application logic in\n// a relevant structure within app/javascript and only use these pack files to reference\n// that code so it'll be compiled.\n//\n// To reference this file, add <%= javascript_pack_tag 'application' %> to the appropriate\n// layout file, like app/views/layouts/application.html.erb\n\n\n// Uncomment to copy all static images under ../images to the output folder and reference\n// them with the image_pack_tag helper in views (e.g <%= image_pack_tag 'rails.png' %>)\n// or the `imagePath` JavaScript helper below.\n//\nconst images = require.context('../images', true);\nconst imagePath = (name) => images(name, true);\nconst fonts = require.context('../fonts', true);\nconst fontPath = (name) => fonts(name, true);\nconst videos = require.context('../videos', true);\nconst videoPath = (name) => videos(name, true);\n\nimport 'core-js/stable';\nimport 'regenerator-runtime/runtime';\nimport \"application.css\";\nimport \"_pygment_monokai.sass\";\nimport * as Turbo from \"@hotwired/turbo\";\n\n// temporarily disable turbo until we can resolve page scrolling bug on iPadOS\nTurbo.session.drive = false;\n\n// import alpinejs and its necessary rails adaptation\nimport 'alpine-turbo-drive-adapter';\nimport 'alpine-magic-helpers';\nimport 'alpinejs';\n\n\n// If you are using Turbolinks 5.2, use the require syntax and make sure that\n// @client-side-validations/client-side-validations is required afterTurbolinks.start(),\n// so ClientSideValidations can properly attach its event handlers.\nrequire('@client-side-validations/client-side-validations');\n\n// custom javascripts used throughout the frontend of the site\nimport './custom';\n","const setupAppHeightHandler = () => {\n // webkit \"bug\" means 100vh includes hidden area below navigation bar on iOS/iPadOS\n // set a css variable `--appHeight` so we can use the window's innerHeight to set the page height\n // link: https://bugs.webkit.org/show_bug.cgi?id=141832\n // code snippet: https://stackoverflow.com/a/50683190/418864\n const appHeight = () => {\n document.documentElement.style.setProperty('--app-height', `${window.innerHeight}px`);\n };\n\n let resizeComplete;\n window.addEventListener('resize', function () {\n this.clearTimeout(resizeComplete);\n resizeComplete = this.setTimeout(appHeight, 100);\n });\n appHeight();\n}\n\nconst setupNavigationTransparencyHandler = () => {\n function navTransparencyHandler() {\n //\n // when page is scrolled down >=100px, make the navigation 95% transparent\n // when page is scrolled up <100px, make the navigation 100% transparent (home) or opaque (all other pages)\n //\n let notScrolledClasses // class when page is scrolled to top\n let scrolledClasses = [\"bg-primary/95\", \"dark:bg-primary-50/95\"] // class when page is scrolled past 100px\n if (window.location.pathname === \"/\") {\n notScrolledClasses = [\"bg-primary/0\", \"dark:bg-primary-50/0\"]\n } else {\n notScrolledClasses = [\"bg-primary\", \"dark:bg-primary-50\"]\n }\n\n // event listener logic, when page scrolls past 100px y-axis, switch CSS background\n const navElement = document.querySelector(\".desktop-nav\");\n if (this.scrollY > 100 || this.scrollY === undefined) {\n navElement.classList.add(...scrolledClasses)\n navElement.classList.remove(...notScrolledClasses)\n } else {\n navElement.classList.add(...notScrolledClasses)\n navElement.classList.remove(...scrolledClasses)\n }\n }\n\n // run once on homepage load to ensure classes are set appropriately,\n // in case of linking straight to homepage on an anchor (hash)\n if (window.location.pathname === \"/\" && window.location.hash) {\n navTransparencyHandler()\n }\n\n // when page scrolls, update nav transparency as needed\n window.addEventListener(\"scroll\", navTransparencyHandler, false)\n}\n\naddEventListener('turbo:load', function() {\n // resize page height according to window.innerHeight to avoid navigation bar\n // on iOS causing extra scrollable area when page has very little content\n setupAppHeightHandler()\n\n // make navigation transparent when scrolling past 100px\n setupNavigationTransparencyHandler()\n\n // flash auto-hiding\n $('.flash').on('click', function(event) {\n $(this).slideUp();\n });\n})\n","export default \"/packs/videos/home/squarecrusher-hq.mp4\";"],"names":["webpackEmptyContext","req","e","Error","code","keys","resolve","id","module","exports","map","webpackContext","webpackContextResolve","__webpack_require__","o","Object","require","Turbo","drive","setupAppHeightHandler","appHeight","document","documentElement","style","setProperty","window","innerHeight","resizeComplete","addEventListener","this","clearTimeout","setTimeout","setupNavigationTransparencyHandler","navTransparencyHandler","notScrolledClasses","scrolledClasses","location","pathname","navElement","querySelector","scrollY","undefined","classList","add","remove","hash","$","on","event","slideUp"],"sourceRoot":""}