{"version":3,"file":"js/landing-8d1970934f130c5a14d8.js","mappings":"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","sources":["webpack://loadar/webpack/runtime/chunk loaded","webpack://loadar/./app/javascript/application/elements/highlight_current_link.js","webpack://loadar/./app/javascript/landing.js","webpack://loadar/webpack/bootstrap","webpack://loadar/webpack/runtime/compat get default export","webpack://loadar/webpack/runtime/define property getters","webpack://loadar/webpack/runtime/ensure chunk","webpack://loadar/webpack/runtime/hasOwnProperty shorthand","webpack://loadar/webpack/runtime/make namespace object","webpack://loadar/webpack/runtime/publicPath","webpack://loadar/webpack/runtime/jsonp chunk loading","webpack://loadar/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","const activeClasses = [\"bg-gray-900\", \"text-white\", \"font-medium\"];\nconst inactiveClasses = [\"text-gray-100\", \"hover:bg-gray-700\"];\n\nexport default class extends HTMLElement {\n connectedCallback() {\n let isActiveAdded = false;\n\n this.querySelectorAll(\"a, button\").forEach((link) => {\n if (isActiveAdded) {\n return;\n }\n\n if (\n document.location.pathname.startsWith(link.pathname) ||\n document.location.pathname.startsWith(link.dataset.navPrefix)\n ) {\n isActiveAdded = true;\n\n link.classList.add(...this.activeClasses);\n link.classList.remove(...this.inactiveClasses);\n }\n });\n }\n\n get activeClasses() {\n return this.dataset.activeClasses?.split(\" \") || activeClasses;\n }\n\n get inactiveClasses() {\n return this.dataset.inactiveClasses?.split(\" \") || inactiveClasses;\n }\n}\n","import Rollbar from \"rollbar/dist/rollbar.umd\";\nimport * as Turbo from \"@hotwired/turbo\";\nimport posthog from \"posthog-js\";\n\nimport \"./application/images/video_preview.jpg\";\nimport \"./application/images/visibility_preview.jpg\";\nimport \"./application/images/visibility_map.jpg\";\nimport \"./application/images/visibility_status.jpg\";\nimport \"./application/images/visibility_files.jpg\";\n\nimport \"./application/images/communication_preview.jpg\";\nimport \"./application/images/communication_chat.jpg\";\nimport \"./application/images/communication_docs.jpg\";\n\nimport HighlightCurrentLinkElement from \"./application/elements/highlight_current_link\";\n\nif (!window.customElements.get(\"highlight-current-link\")) {\n window.customElements.define(\n \"highlight-current-link\",\n HighlightCurrentLinkElement,\n );\n}\n\nfunction initPostHog() {\n if (document.location.hostname.includes(\"localhost\")) return;\n if (document.location.hostname.includes(\"herokuapp.com\")) return;\n if (document.body.dataset.impersonated === \"true\") return;\n if (document.body.dataset.currentUserEmail?.includes(\"@loadar.com\")) return;\n\n posthog.init(\"phc_WekpFRLnzpC6q9MgBE6ME7MZbd4t3PflvHYHFyMLDtJ\", {\n api_host: \"https://eu.i.posthog.com\",\n enable_recording_console_log: true,\n });\n\n if (document.body.dataset.currentUserEmail) {\n posthog.identify(document.body.dataset.currentUserEmail);\n }\n}\n\ninitPostHog();\n\nif (process.env.ROLLBAR_TOKEN) {\n window.Rollbar ||= new Rollbar({\n accessToken: process.env.ROLLBAR_TOKEN,\n captureUncaught: true,\n captureUnhandledRejections: true,\n payload: {\n client: {\n javascript: {\n source_map_enabled: true,\n },\n },\n person: {\n id: document.body.dataset.currentUserId,\n email: document.body.dataset.currentUserEmail,\n },\n environment: \"production\",\n },\n });\n}\n\nwindow.customElements.define(\n \"is-js-render-input\",\n class extends HTMLElement {\n connectedCallback() {\n this.children[0].value = true;\n }\n },\n);\n\nwindow.customElements.define(\n \"timezone-field-wrapper\",\n class extends HTMLElement {\n connectedCallback() {\n this.children[0].value = Intl.DateTimeFormat().resolvedOptions().timeZone;\n }\n },\n);\n\nlet originalReferer;\n\nfunction windowScroll() {\n const navbar = document.getElementById(\"topnav\");\n\n if (navbar != null) {\n if (\n document.body.scrollTop >= 50 ||\n document.documentElement.scrollTop >= 50\n ) {\n navbar.classList.add(\"nav-sticky\");\n } else {\n navbar.classList.remove(\"nav-sticky\");\n }\n }\n}\n\nconst modalVideoHTML = (button) => `\n
\n
\n
\n
\n \n
\n \n
\n
\n`;\n\nconst modalUiVideoHTML = (src) => {\n return `\n
\n
\n
\n
\n \n
\n \n
\n
\n`;\n};\n\nfunction openVideoModal(button) {\n navigator.sendBeacon(\"/collect\", JSON.stringify({ name: \"openVideo\" }));\n\n let container = document.querySelector('[data-role=\"modal\"]');\n\n if (!container) {\n container = document.createElement(\"div\");\n container.setAttribute(\"data-role\", \"modal\");\n\n container.innerHTML = modalVideoHTML(button);\n }\n\n container.querySelectorAll('[data-role=\"close-modal\"]').forEach((e) => {\n e.addEventListener(\"click\", () => history.go(-1));\n });\n\n document.body.appendChild(container);\n}\n\nfunction openUiVideoModal(e) {\n navigator.sendBeacon(\n \"/collect\",\n JSON.stringify({ name: \"openUiVideoModal\" }),\n );\n\n let container = document.querySelector('[data-role=\"modal\"]');\n\n if (!container) {\n container = document.createElement(\"div\");\n container.setAttribute(\"data-role\", \"modal\");\n\n container.innerHTML = modalUiVideoHTML(e.target.src);\n }\n\n container.querySelectorAll('[data-role=\"close-modal\"]').forEach((e) => {\n e.addEventListener(\"click\", () => window.video_modal.parentNode.remove());\n });\n\n document.body.appendChild(container);\n}\n\nfunction closeModal() {\n document.querySelector('[data-role=\"modal\"]')?.remove();\n}\n\nwindow.addEventListener(\"scroll\", (ev) => {\n ev.preventDefault();\n windowScroll();\n});\n\nconst Default = {\n defaultTabId: null,\n activeClasses: \"text-white bg-green-600\",\n inactiveClasses: \"hover:text-green-600 hover:bg-gray-50\",\n onShow: () => {},\n};\n\nclass Tabs {\n constructor(items = [], options = {}) {\n this._items = items;\n this._activeTab = options ? this.getTab(options.defaultTabId) : null;\n this._options = { ...Default, ...options };\n this._init();\n }\n\n _init() {\n if (this._items.length) {\n // set the first tab as active if not set by explicitly\n if (!this._activeTab) {\n this._setActiveTab(this._items[0]);\n }\n\n // force show the first default tab\n this.show(this._activeTab.id, true);\n\n // show tab content based on click\n this._items.forEach((tab) => {\n tab.triggerEl.addEventListener(\"click\", () => {\n this.show(tab.id);\n });\n });\n }\n }\n\n getActiveTab() {\n return this._activeTab;\n }\n\n _setActiveTab(tab) {\n this._activeTab = tab;\n }\n\n getTab(id) {\n return this._items.filter((t) => t.id === id)[0];\n }\n\n show(id, forceShow = false) {\n const tab = this.getTab(id);\n\n // don't do anything if already active\n if (tab === this._activeTab && !forceShow) {\n return;\n }\n\n // hide other tabs\n this._items.forEach((t) => {\n if (t !== tab) {\n t.triggerEl.classList.remove(...this._options.activeClasses.split(\" \"));\n t.triggerEl.classList.add(...this._options.inactiveClasses.split(\" \"));\n t.targetEl.classList.add(\"hidden\");\n t.triggerEl.setAttribute(\"aria-selected\", false);\n }\n });\n\n // show active tab\n tab.triggerEl.classList.add(...this._options.activeClasses.split(\" \"));\n tab.triggerEl.classList.remove(...this._options.inactiveClasses.split(\" \"));\n tab.triggerEl.setAttribute(\"aria-selected\", true);\n tab.targetEl.classList.remove(\"hidden\");\n\n this._setActiveTab(tab);\n\n // callback function\n this._options.onShow(this, tab);\n }\n}\n\ndocument.addEventListener(\"turbo:load\", () => {\n if (window.IntersectionObserver && document.querySelector(\"video\")) {\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.intersectionRatio === 1 && entry.target.paused) {\n entry.target.play();\n }\n });\n },\n { threshold: 1 },\n );\n\n document\n .querySelectorAll(\"video\")\n .forEach((video) => observer.observe(video));\n }\n\n originalReferer ||= document.referrer;\n\n document.querySelectorAll(\"[data-tabs-toggle]\").forEach((triggerEl) => {\n const tabElements = [];\n let defaultTabId = null;\n triggerEl.querySelectorAll('[role=\"tab\"]').forEach((el) => {\n const isActive = el.getAttribute(\"aria-selected\") === \"true\";\n const tab = {\n id: el.getAttribute(\"data-tabs-target\"),\n triggerEl: el,\n targetEl: document.querySelector(el.getAttribute(\"data-tabs-target\")),\n };\n tabElements.push(tab);\n\n if (isActive) {\n defaultTabId = tab.id;\n }\n });\n return new Tabs(tabElements, {\n defaultTabId,\n });\n });\n\n navigator.sendBeacon(\n \"/collect\",\n JSON.stringify({\n name: \"pageView\",\n data: { url: document.location.href, original_referer: originalReferer },\n }),\n );\n\n document.querySelectorAll('[data-role=\"open-video\"]').forEach((e) => {\n e.addEventListener(\"click\", () => openVideoModal(e.target));\n });\n\n document.querySelectorAll('[data-role=\"open-ui-video\"]').forEach((e) => {\n e.addEventListener(\"click\", openUiVideoModal);\n });\n\n window.onhashchange = function (e) {\n if (e.newURL.includes(\"#video\")) {\n openVideoModal(document.querySelector('[href=\"#video\"]'));\n } else {\n closeModal();\n }\n };\n\n document.addEventListener(\"keydown\", (e) => {\n if (e.keyCode === 27) {\n if (document.querySelector('[data-role=\"modal\"]')) {\n history.go(-1);\n }\n }\n });\n});\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","// The chunk loading function for additional chunks\n// Since all referenced chunks are already included\n// in this file, this function is empty here.\n__webpack_require__.e = function() { return Promise.resolve(); };","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"/packs/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t636: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkloadar\"] = self[\"webpackChunkloadar\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\n__webpack_require__.O(undefined, [720,476], function() { return __webpack_require__(9526); })\nvar __webpack_exports__ = __webpack_require__.O(undefined, [720,476], function() { return __webpack_require__(258); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","activeClasses","inactiveClasses","HTMLElement","connectedCallback","isActiveAdded","this","querySelectorAll","forEach","link","document","location","pathname","startsWith","dataset","navPrefix","classList","add","remove","split","originalReferer","window","customElements","get","define","HighlightCurrentLinkElement","hostname","includes","body","impersonated","currentUserEmail","posthog","init","api_host","enable_recording_console_log","identify","Rollbar","accessToken","process","captureUncaught","captureUnhandledRejections","payload","client","javascript","source_map_enabled","person","id","currentUserId","email","environment","children","value","Intl","DateTimeFormat","resolvedOptions","timeZone","openVideoModal","button","navigator","sendBeacon","JSON","stringify","name","container","querySelector","createElement","setAttribute","innerHTML","src","modalVideoHTML","e","addEventListener","history","go","appendChild","openUiVideoModal","target","video_modal","parentNode","ev","preventDefault","navbar","getElementById","scrollTop","documentElement","windowScroll","Default","defaultTabId","onShow","Tabs","constructor","items","arguments","length","undefined","options","_items","_activeTab","getTab","_options","_objectSpread","_init","_setActiveTab","show","tab","triggerEl","getActiveTab","filter","t","forceShow","targetEl","IntersectionObserver","observer","entries","entry","intersectionRatio","paused","play","threshold","video","observe","referrer","tabElements","el","isActive","getAttribute","push","data","url","href","original_referer","onhashchange","newURL","keyCode","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","call","m","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","Promise","resolve","obj","prop","prototype","hasOwnProperty","Symbol","toStringTag","p","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","some","chunkLoadingGlobal","self","bind","__webpack_exports__"],"sourceRoot":""}