{"version":3,"mappings":"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","names":["consumer","getConsumer","setConsumer","createConsumer","newConsumer","__vitePreload","subscribeTo","channel","mixin","subscriptions","walk","obj","acc","key","camel","m","x","TurboCableStreamSourceElement","connectStreamSource","disconnectStreamSource","data","event","signed_stream_name","snakeize","encodeMethodIntoRequestBody","form","fetchOptions","submitter","body","isBodyInit","method","determineFetchMethod","formMethod","determineFormMethod","overrideMethod","stimulus","Application","Sidebar","Turbo.setProgressBarDelay"],"ignoreList":[0,1,2,3,4],"sources":["../../../node_modules/@hotwired/turbo-rails/app/javascript/turbo/cable.js","../../../node_modules/@hotwired/turbo-rails/app/javascript/turbo/snakeize.js","../../../node_modules/@hotwired/turbo-rails/app/javascript/turbo/cable_stream_source_element.js","../../../node_modules/@hotwired/turbo-rails/app/javascript/turbo/fetch_requests.js","../../../node_modules/@hotwired/turbo-rails/app/javascript/turbo/index.js","../../../app/assets/entrypoints/landing.js"],"sourcesContent":["let consumer\n\nexport async function getConsumer() {\n return consumer || setConsumer(createConsumer().then(setConsumer))\n}\n\nexport function setConsumer(newConsumer) {\n return consumer = newConsumer\n}\n\nexport async function createConsumer() {\n const { createConsumer } = await import(/* webpackChunkName: \"actioncable\" */ \"@rails/actioncable/src\")\n return createConsumer()\n}\n\nexport async function subscribeTo(channel, mixin) {\n const { subscriptions } = await getConsumer()\n return subscriptions.create(channel, mixin)\n}\n","// Based on https://github.com/nathan7/snakeize\n//\n// This software is released under the MIT license:\n// Permission is hereby granted, free of charge, to any person obtaining a copy of\n// this software and associated documentation files (the \"Software\"), to deal in\n// the Software without restriction, including without limitation the rights to\n// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\n// the Software, and to permit persons to whom the Software is furnished to do so,\n// subject to the following conditions:\n\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\n// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\n// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\n// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\n// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\nexport default function walk (obj) {\n if (!obj || typeof obj !== 'object') return obj;\n if (obj instanceof Date || obj instanceof RegExp) return obj;\n if (Array.isArray(obj)) return obj.map(walk);\n return Object.keys(obj).reduce(function (acc, key) {\n var camel = key[0].toLowerCase() + key.slice(1).replace(/([A-Z]+)/g, function (m, x) {\n return '_' + x.toLowerCase();\n });\n acc[camel] = walk(obj[key]);\n return acc;\n }, {});\n};","import { connectStreamSource, disconnectStreamSource } from \"@hotwired/turbo\"\nimport { subscribeTo } from \"./cable\"\nimport snakeize from \"./snakeize\"\n\nclass TurboCableStreamSourceElement extends HTMLElement {\n async connectedCallback() {\n connectStreamSource(this)\n this.subscription = await subscribeTo(this.channel, {\n received: this.dispatchMessageEvent.bind(this),\n connected: this.subscriptionConnected.bind(this),\n disconnected: this.subscriptionDisconnected.bind(this)\n })\n }\n\n disconnectedCallback() {\n disconnectStreamSource(this)\n if (this.subscription) this.subscription.unsubscribe()\n }\n\n dispatchMessageEvent(data) {\n const event = new MessageEvent(\"message\", { data })\n return this.dispatchEvent(event)\n }\n\n subscriptionConnected() {\n this.setAttribute(\"connected\", \"\")\n }\n\n subscriptionDisconnected() {\n this.removeAttribute(\"connected\")\n }\n\n get channel() {\n const channel = this.getAttribute(\"channel\")\n const signed_stream_name = this.getAttribute(\"signed-stream-name\")\n return { channel, signed_stream_name, ...snakeize({ ...this.dataset }) }\n }\n}\n\n\nif (customElements.get(\"turbo-cable-stream-source\") === undefined) {\n customElements.define(\"turbo-cable-stream-source\", TurboCableStreamSourceElement)\n}\n","export function encodeMethodIntoRequestBody(event) {\n if (event.target instanceof HTMLFormElement) {\n const { target: form, detail: { fetchOptions } } = event\n\n form.addEventListener(\"turbo:submit-start\", ({ detail: { formSubmission: { submitter } } }) => {\n const body = isBodyInit(fetchOptions.body) ? fetchOptions.body : new URLSearchParams()\n const method = determineFetchMethod(submitter, body, form)\n\n if (!/get/i.test(method)) {\n if (/post/i.test(method)) {\n body.delete(\"_method\")\n } else {\n body.set(\"_method\", method)\n }\n\n fetchOptions.method = \"post\"\n }\n }, { once: true })\n }\n}\n\nfunction determineFetchMethod(submitter, body, form) {\n const formMethod = determineFormMethod(submitter)\n const overrideMethod = body.get(\"_method\")\n const method = form.getAttribute(\"method\") || \"get\"\n\n if (typeof formMethod == \"string\") {\n return formMethod\n } else if (typeof overrideMethod == \"string\") {\n return overrideMethod\n } else {\n return method\n }\n}\n\nfunction determineFormMethod(submitter) {\n if (submitter instanceof HTMLButtonElement || submitter instanceof HTMLInputElement) {\n if (submitter.hasAttribute(\"formmethod\")) {\n return submitter.formMethod\n } else {\n return null\n }\n } else {\n return null\n }\n}\n\nfunction isBodyInit(body) {\n return body instanceof FormData || body instanceof URLSearchParams\n}\n","import \"./cable_stream_source_element\"\n\nimport * as Turbo from \"@hotwired/turbo\"\nexport { Turbo }\n\nimport * as cable from \"./cable\"\nexport { cable }\n\nimport { encodeMethodIntoRequestBody } from \"./fetch_requests\"\n\naddEventListener(\"turbo:before-fetch-request\", encodeMethodIntoRequestBody)\n","import '@hotwired/turbo-rails'\nimport * as Turbo from '@hotwired/turbo'\nimport { Application } from '@hotwired/stimulus'\n\nimport Sidebar from '../controllers/sidebar_controller'\n\nconst stimulus = Application.start()\nstimulus.register('sidebar', Sidebar)\n\nTurbo.setProgressBarDelay(500)\nwindow.Stimulus = stimulus\n"],"file":"assets/landing-5JqTQydB.js"}