{"version":3,"file":"js/application-9ef745020e60dbbef0c6.js","mappings":"6FAAA,IAAIA,EAAM,CACT,oBAAqB,KACrB,uBAAwB,KACxB,oBAAqB,MAItB,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOG,EAAoBF,EAC5B,CACA,SAASC,EAAsBF,GAC9B,IAAIG,EAAoBC,EAAEN,EAAKE,GAAM,CACpC,IAAIK,EAAI,IAAIC,MAAM,uBAAyBN,EAAM,KAEjD,MADAK,EAAEE,KAAO,mBACHF,CACP,CACA,OAAOP,EAAIE,EACZ,CACAD,EAAeS,KAAO,WACrB,OAAOC,OAAOD,KAAKV,EACpB,EACAC,EAAeW,QAAUR,EACzBS,EAAOC,QAAUb,EACjBA,EAAeE,GAAK,I,kJCtBL,SAASY,IACtBC,SAASC,iBAAiB,wEACxBC,SAASC,IACP,IAAKA,EAAOC,UAAW,CACrB,MAAMC,EAAU,CAACC,WAAY,MAE7B,GAAIH,EAAOI,UAAUC,SAAS,gBAAiB,CAC7C,MAAMC,EAAUN,EAAOO,aAAa,YAcpC,GAZAL,EAAQM,KAAO,SAAUC,EAAOC,GAC9B,MAAMC,EAAML,EAAU,gBAAkBM,mBAAmBH,GAC3DI,MAAMF,GAAKG,MAAKC,GAAYA,EAASC,SAAQF,MAAKE,IAChDN,EAASM,EAAK,IACbC,OAAM,KACPP,GAAU,GAEd,EACAR,EAAQgB,WAAa,OACrBhB,EAAQiB,WAAa,QACrBjB,EAAQkB,YAAc,QAElBpB,EAAOO,aAAa,cAAe,CACrC,MAAMc,EAAQrB,EAAOO,aAAa,cAElCL,EAAQoB,aAAe,WACrBC,KAAKf,KAAKa,EACZ,EAEA,IAAIG,GAAU,EACdtB,EAAQuB,OAAS,SAAUC,GACrBF,IACFA,GAAU,EACNE,EAAKC,MAAKC,GAAQA,EAAKC,OAASR,KAClCrB,EAAOC,UAAU6B,SAAST,GAGhC,CACF,CACF,CAEArB,EAAOC,UAAY,IAAI8B,IAAJ,CAAc/B,EAAQE,EAC3C,IAEN,CC1CA,I,UCDe,SAAS8B,IACG,GAAGC,MAAMC,KAAKrC,SAASC,iBAAiB,+BAC9CjB,KAAI,SAAUsD,GAC/B,IAAIjC,EAAU,CACZkC,MAAO,CAACC,KAAM,GAAIC,KAAM,IACxBC,KAAwD,SAAlDJ,EAAiB5B,aAAa,kBAA8B,EAClEiC,UAAWL,EAAiB5B,aAAa,sBAAwB,QAEnE,OAAO,IAAIkC,EAAAA,GAAQN,EAAkBjC,EACvC,IAEyB,GAAG+B,MAAMC,KAAKrC,SAASC,iBAAiB,+BAC9CjB,KAAI,SAAU6D,GAC/B,IAAIxC,EAAU,CACZkC,MAAO,CAACC,KAAM,GAAIC,KAAM,IACxBC,KAAwD,SAAlDG,EAAiBnC,aAAa,kBAA8B,EAClEiC,UAAWE,EAAiBnC,aAAa,sBAAwB,QAEnE,OAAO,IAAIoC,EAAAA,EAAQD,EAAkBxC,EACvC,GACF,C,qDCtBe,aACbL,SAASC,iBAAiB,yBAAyBC,SAAS6C,IAC1DA,EAASC,QAETD,EAASE,iBAAiB,SAAS,KACjCF,EAASG,MAAMC,OAAS,GACxB,MAAMA,EAASC,KAAKC,IAAIN,EAASO,aAAc,KAC/CP,EAASG,MAAMC,OAASA,EAAQ,EAAI,IAAI,IAG1CJ,EAASE,iBAAiB,YAAa1D,IACrC,GAAe,KAAZA,EAAEgE,QAAiBhE,EAAEiE,SAAU,CAChCjE,EAAEkE,iBAEF,MAAMC,EAAOX,EAASY,QAAQ,QAC9BD,EAAKE,cAAcF,EAAKG,cAAc,sBACxC,IACA,IAGJ7D,SAAS8D,eAAe,iBAAiBb,iBAAiB,SAAS,KACjEjD,SAAS8D,eAAe,iBAAiBC,OAAO,IAGlD/D,SAAS8D,eAAe,kBAAkBb,iBAAiB,UAAW1D,IACpE,MACMyE,EADQ,GAAG5B,MAAMC,KAAK9C,EAAE0E,OAAOC,OACdlF,KAAKmF,GACnB,0BAA4BA,EAAKC,KAAO,WAEjDpE,SAAS8D,eAAe,iBAAiBO,UAAYL,EAASM,KAAK,GAAG,GAE1E,C,wBCnBA,MAAMC,EAAW,IAAIC,MAAM,uBAE3BC,EAAAA,GAAAA,aAA6B,WAC3BzE,SAAS0E,cAAc,IAAIC,YAAY,gBACzC,EAEAF,EAAAA,GAAAA,QAAwB,WACtBzE,SAAS0E,cAAc,IAAIC,YAAY,WACzC,EAEA3E,SAASiD,iBAAiB,oBAAoB,MClB5C2B,EAAAA,EAAAA,GAAU,cAAe,CAACC,YAAY,EAAMC,OAAQC,EAAAA,UACpDH,EAAAA,EAAAA,GAAU,kBAAmB,CAACC,YAAY,EAAMC,OAAQC,EAAAA,OAAQC,YAAY,EAAMC,WAAW,KAC7FL,EAAAA,EAAAA,GAAU,cACR,CAACC,YAAY,EAAMC,OAAQC,EAAAA,OAAQC,YAAY,EAAME,YAAY,EAAMC,WAAY,MAAOF,WAAW,KACvGL,EAAAA,EAAAA,GAAU,uBAAwB,CAACC,YAAY,EAAMC,OAAQC,EAAAA,OAAQK,KAAM,cAC3ER,EAAAA,EAAAA,GAAU,mBAAoB,CAC5BC,YAAY,EACZC,OAAQC,EAAAA,OACRK,KAAM,QACNC,SAAU,SAASC,GACZA,EAAM,IAAOA,EAAM,IAItBtF,SAAS8D,eAAepC,KAAK6D,MAAMC,QAAQC,WAAWjE,MAAQ8D,EAAM,GACpEtF,SAAS8D,eAAepC,KAAK6D,MAAMC,QAAQE,SAASlE,MAAQ8D,EAAM,KAJlEtF,SAAS8D,eAAepC,KAAK6D,MAAMC,QAAQC,WAAWjE,MAAQ,KAC9DxB,SAAS8D,eAAepC,KAAK6D,MAAMC,QAAQE,SAASlE,MAAQ,MAM9DE,KAAK6D,MAAM7B,KAAKE,eAClB,IDCFzB,IEnBAnC,SAASC,iBAAiB,YAAYC,SAASyF,IAC7C,MAAM7E,EAAM6E,EAAUH,QAAQ1E,WACvB6E,EAAUH,QAAQ1E,IACzB,MAAM8E,GAAQC,EAAAA,EAAAA,GAAQF,EAAW,CAAEG,MAAO,CAAEC,IAAK,CAAEC,gBAAgB,MACnEJ,EAAMK,IAAI,CACRA,IAAKnF,EACLoF,KAAM,0BAERN,EAAMO,mBAAmB,CAAEC,uBAAuB,GAAO,IFa3DC,IACAtG,IAEAC,SAASC,iBAAiB,uEAAuEC,SAASoG,IACxGA,EAAGrD,iBAAiB,UAAU,KAAQqD,EAAG5C,KAAKE,eAAe,GAAG,IAGlE5D,SAASC,iBAAiB,iBAAiBC,SAASwD,IAClDA,EAAKT,iBAAiB,UAAU,SAAU1D,GACxCA,EAAEkE,iBAEF,MAAM8C,EAAW7C,EAAKG,cAAc,aAC9B2C,EAAgB,CACpBC,OAAQ,MACR5E,KAAMtC,EAAE0E,OAAO,GAAGC,MAAM,GACxBpD,IAAK4C,EAAKhD,aAAa,UACvBgG,iBAAkB,SAAU7E,GAC1B,MAAM8E,EAAOvD,KAAKwD,MAAsB,IAAhB/E,EAAK0E,UAC7BA,EAASlC,UAAa,+HAEAsC,wNAI0CA,wHAIlE,IAEFE,EAAAA,EAAAA,GAAML,GAAevF,MAAK,KACxB6F,MAAM,kBACNC,OAAOC,SAAW,uBAAuB,IACxC,KACDF,MAAM,QAAQ,GAElB,GAAE,IAGJ9G,SAASC,iBAAiB,oBAAoBC,SAAS+G,IACrD,IH/DJ,MACEC,KAAO,KACPC,MAAQ,KAERC,YAAYF,GACVxF,KAAKwF,KAAOA,EACZxF,KAAKyF,MAAQD,EAAKrD,cAAc,4BAChCnC,KAAK2F,oBAAsB3F,KAAK4F,cAAcC,KAAK7F,MACnDA,KAAK8F,kBACL9F,KAAK+F,sBACL/F,KAAKgG,gBACLhG,KAAKiG,cACP,CAEAH,kBACE9F,KAAKwF,KAAKjH,iBAAiB,+BAA+BC,SAAS0H,IACjEA,EAAO3E,iBAAiB,SAAS,KAC/B,MAAMpB,EAAO+F,EAAOpC,QAAQ9B,KAAKmE,QAAQ,aAAcC,KAAKC,OAC5DrG,KAAKyF,MAAMa,mBAAmB,YAAanG,GAC3CH,KAAK+F,sBACL/F,KAAKiG,eACL5H,GAAc,GACd,GAEN,CAEA0H,sBACE/F,KAAKwF,KAAKjH,iBAAiB,8BAA8BC,SAAS0H,IAChEA,EAAOK,oBAAoB,QAASvG,KAAK2F,qBACzCO,EAAO3E,iBAAiB,QAASvB,KAAK2F,oBAAoB,GAE9D,CAEAC,cAAcY,GACZ,GAAIC,QAAQ,sBAAkB,CAC5B,MAAMC,EAASF,EAAMjE,OAAON,QAAQ,mBACpCyE,EAAOvE,cAAc,kBAAkBrC,MAAQ,OAC/C4G,EAAO7H,UAAU8H,IAAI,UACrB3G,KAAKiG,cACP,CACF,CAEAA,eACEjG,KAAKwF,KAAKjH,iBAAiB,gDACzBC,SAAQ,CAACoI,EAAMC,KACbD,EAAK9G,MAAQ+G,EAAQ,CAAC,GAE5B,CAEAb,gBACEhG,KAAK8G,SAAW,IAAIC,EAAAA,GAAS/G,KAAKyF,MAAO,CAAEuB,OAAQhH,KAAKiG,aAAaJ,KAAK7F,MAAOiH,OAAQ,qBAC3F,GGYqB1B,EAAmB,IAGxCjH,SAASC,iBAAiB,mBAAmBC,SAAS0I,IACpD,MAAMhB,EAASgB,EAAW/E,cAAc,QAClCgF,EAAQD,EAAW/E,cAAc,oBACvC+D,EAAO3E,iBAAiB,SAAS,KAAQ4F,EAAM9E,OAAO,IACtD8E,EAAM5F,iBAAiB,UAAU,KAAQ4F,EAAMnF,KAAKoF,QAAQ,GAAG,IAGjE9I,SAASC,iBAAiB,SAASC,SAAS6I,IAC1C,MAAMC,EAAYhJ,SAAS6D,cAAc,uBAAyBoF,QAE5DC,EAAgBA,KACpBH,EAAKI,SAAS,EAAGJ,EAAKzF,cACtBtC,MAAO,GAAEgG,SAASoC,gBAAiB,CAAE3C,OAAQ,OAAQ4C,QAAS,CAAE,eAAgBL,KAC9E/H,MAAKqI,UACHvC,OAAOwC,MAAMC,0BAA0BtI,EAASuI,OAAO,GACvD,EAGNP,IACAlJ,SAASiD,iBAAiB,UAAWiG,GACrClJ,SAASiD,iBAAiB,eAAgBiG,EAAc,IAG1DlJ,SAASiD,iBAAiB,gBAAgB,KACxCoD,GAAkB,IAGpBrG,SAASiD,iBAAiB,WAAW,KACnCsB,EAASmF,MAAM,IAGjB1J,SAASC,iBAAiB,8BAA8BC,SAASwD,IAC/DA,EAAKzD,iBAAiB,SAASC,SAASoG,IACtCA,EAAGrD,iBAAiB,UAAU,KAC5BjC,MAAO,6BAA6B,CAAEyF,OAAQ,OAAQ4C,QAAS,CAAE,OAAU,8BAAgCM,KAAM,IAAIC,SAASlG,KAC5HzC,MAAKqI,UACHvC,OAAOwC,MAAMC,0BAA0BtI,EAASuI,OAAO,GACvD,GACJ,GACF,IAGJzJ,SAASC,iBAAiB,cAAcC,SAASwD,IAC/CA,EAAKT,iBAAiB,UAAU,SAAU1D,GACxCA,EAAEkE,iBAEF,MAAM8C,EAAW7C,EAAKG,cAAc,aAC9BgG,EAAYnG,EAAKhD,aAAa,mBAC9BoJ,EAAYpG,EAAKhD,aAAa,kBAC9BqJ,EAASrG,EAAKhD,aAAa,eAC3BsJ,EAAUtG,EAAKhD,aAAa,iBAC5ByD,EAAO5E,EAAE0E,OAAO,GAAGC,MAAM,GAE/B,IAAI+F,EAAS,IAAIC,EAAAA,GAAW/F,EAAM,CAChCgG,SAAU,uCACVC,YAAa,CAAC,EAAG,IAAM,IAAM,IAAO,IAAO,IAAO,KAClDf,QAAS,CACPgB,uBAAwBP,EACxBQ,oBAAqBP,EACrBQ,QAASP,EACTQ,UAAWX,GAEbY,SAAU,CACRC,SAAUvG,EAAK+B,MAEjByE,QAAS,WACP7D,MAAM,QACR,EACA8D,WAAY,SAAUC,EAAeC,GACnC,MAAMnE,EAAOvD,KAAKwD,MAAMiE,EAAgBC,EAAa,KACrDvE,EAASlC,UAAa,+FAEhBsC,wJAI0CA,wEAIlD,EACAoE,UAAW,WACTjE,MAAM,kBACNC,OAAOC,SAAW,6BACpB,IAIFiD,EAAOe,sBAAsB/J,MAAK,SAAUgK,GAEtCA,EAAgBC,QAClBjB,EAAOkB,yBAAyBF,EAAgB,IAIlDhB,EAAOmB,OACT,GACF,GAAE,GACF,IAGJpL,SAASiD,iBAAiB,oBAAoB,KAC5CjD,SAASC,iBAAiB,uBAAuBC,SAASoI,GACjD,IG5KX,MACEpB,KAAO,KACPmE,WAAa,KACbC,MAAQ,KACRC,SAAW,GAEXnE,YAAaF,GACXxF,KAAKwF,KAAOA,EACZxF,KAAK2J,WAAaG,WAAWtE,EAAK1B,QAAoB,YACtD9D,KAAK4J,MAAQE,WAAWtE,EAAK1B,QAAe,OAE5C0B,EAAKjH,iBAAiB,2BAA2BC,SAASoI,IACxDA,EAAKrF,iBAAiB,UAAWiF,IAC/BxG,KAAK6J,SAAWE,SAASvD,EAAMjE,OAAOzC,OACtCE,KAAKgK,WAAW,GAChB,IAEJhK,KAAKgK,WACP,CAEAA,YACE,IAAIC,EAAcjK,KAAKwF,KAAKjH,iBAAiB,qCACzC2L,EAAelK,KAAK4J,MAAQ5J,KAAK6J,SAAW,GAChDI,EAAYzL,SAASoI,GAASA,EAAKjE,UAAYuH,EAAYC,QAAQ,GAAK,aAExE,IAAIR,EAAc3J,KAAK2J,WAAa3J,KAAK6J,SAAW,GACpD7J,KAAKwF,KAAKrD,cAAc,oCAAoCQ,UAAYgH,EAAWQ,QAAQ,GAAK,WAEhG,IAAIC,EAAsB,EAAdF,EAAkBP,EAC9B3J,KAAKwF,KAAKrD,cAAc,sCAAsCQ,UAAYyH,EAAMD,QAAQ,GAAK,YAC/F,GH8I+BvD,KAG/BnG,IAEAnC,SAASC,iBAAiB,uBAAuBC,SAASoI,IACxDA,EAAKrF,iBAAiB,SAAS,KAC7BjD,SAAS6D,cAAc,yBAAyBQ,UAAY,EAAE,GAC9D,IAGJrE,SAAS8D,eAAe,qBAAqBiI,QAAU,KACrD,MAAMC,EAAQhM,SAAS8D,eAAe,mBAChCmI,EAASjM,SAAS8D,eAAe,qBAAqBtC,MACzCwK,EAAM/L,iBAAiB,KAE/BC,SAASgM,IACIA,EAAUxL,aAAa,kBAC3ByL,cAAcC,SAASH,EAAOE,gBAA6B,KAAXF,EAChEC,EAAU3L,UAAU8L,OAAO,UAE3BH,EAAU3L,UAAU8H,IAAI,SAC1B,GACA,CACH,IIxLHiE,IAAAA,QACAC,EAAAA,QACAhD,EAAAA,EAAAA,GAAAA,OAAsB,EAEtBiD,EAAAA,K,kBCfA,SAASC,IAAO1F,OAAO2F,UAAUC,KAAKC,UAAW,CADjD7F,OAAO2F,UAAY3F,OAAO2F,WAAa,GAEvCD,EAAK,KAAM,IAAI3E,MAEf2E,EAAK,SAAU,e","sources":["webpack://artyx-4-0/./app/assets/img/ sync ^\\.\\/.*$","webpack://artyx-4-0/./app/javascript/utils/setup_selects.js","webpack://artyx-4-0/./app/javascript/utils/content_builder.js","webpack://artyx-4-0/./app/javascript/utils/rebuild_tooltips.js","webpack://artyx-4-0/./app/javascript/utils/setup_msg_textarea.js","webpack://artyx-4-0/./app/javascript/application.js","webpack://artyx-4-0/./app/javascript/utils/setup_date_pickers.js","webpack://artyx-4-0/./app/javascript/utils/setup_videos.js","webpack://artyx-4-0/./app/javascript/utils/pricing_calculator.js","webpack://artyx-4-0/./app/javascript/packs/application.js","webpack://artyx-4-0/./app/javascript/utils/analytics.js"],"sourcesContent":["var map = {\n\t\"./logos/email.png\": 1789,\n\t\"./logos/original.svg\": 6324,\n\t\"./logos/white.svg\": 4690\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 = 5617;","import TomSelect from 'tom-select'\n\nexport default function setupSelects () {\n document.querySelectorAll('select:not(.flatpickr-monthDropdown-months):not(.disable-tom-select)').\n forEach((select) => {\n if (!select.tomSelect) {\n const options = {maxOptions: null}\n\n if (select.classList.contains('remote-input')) {\n const baseUrl = select.getAttribute('data-url')\n\n options.load = function (query, callback) {\n const url = baseUrl + '.json?search=' + encodeURIComponent(query)\n fetch(url).then(response => response.json()).then(json => {\n callback(json)\n }).catch(() => {\n callback()\n })\n }\n options.valueField = 'guid'\n options.labelField = 'title'\n options.searchField = 'title'\n\n if (select.getAttribute('data-value')) {\n const value = select.getAttribute('data-value')\n\n options.onInitialize = function () {\n this.load(value);\n }\n\n let initial = true;\n options.onLoad = function (data) {\n if (initial) {\n initial = false;\n if (data.find(item => item.guid === value)) {\n select.tomSelect.setValue(value)\n }\n }\n }\n }\n }\n\n select.tomSelect = new TomSelect(select, options)\n }\n })\n}\n","import Sortable from 'sortablejs'\nimport setupSelects from './setup_selects'\n\nexport default class {\n node = null\n parts = null\n\n constructor(node) {\n this.node = node\n this.parts = node.querySelector('div[data-target=\"parts\"]')\n this.bound_destroyHandle = this.destroyHandle.bind(this);\n this.mountAddButtons()\n this.mountDestroyButtons()\n this.setupSortable();\n this.fixPositions()\n }\n\n mountAddButtons() {\n this.node.querySelectorAll('div[data-action=\"add-part\"]').forEach((button) => {\n button.addEventListener('click', () => {\n const data = button.dataset.form.replace(/REPLACEID/g, Date.now())\n this.parts.insertAdjacentHTML('beforeend', data)\n this.mountDestroyButtons()\n this.fixPositions()\n setupSelects()\n })\n })\n }\n\n mountDestroyButtons() {\n this.node.querySelectorAll('div[data-action=\"destroy\"]').forEach((button) => {\n button.removeEventListener('click', this.bound_destroyHandle)\n button.addEventListener('click', this.bound_destroyHandle)\n })\n }\n\n destroyHandle(event) {\n if (confirm('Jesteś pewny?')) {\n const parent = event.target.closest('.accordion-item')\n parent.querySelector('.destroy-input').value = 'true'\n parent.classList.add('d-none')\n this.fixPositions()\n }\n }\n\n fixPositions() {\n this.node.querySelectorAll('.accordion-item:not(.d-none) .position-field').\n forEach((elem, index) => {\n elem.value = index + 1\n })\n }\n\n setupSortable() {\n this.sortable = new Sortable(this.parts, { onSort: this.fixPositions.bind(this), handle: '.accordion-header' })\n }\n}\n","import { Popover, Tooltip } from 'bootstrap'\n\nexport default function rebuildTooltips() {\n let popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"popover\"]'));\n popoverTriggerList.map(function (popoverTriggerEl) {\n let options = {\n delay: {show: 50, hide: 50},\n html: popoverTriggerEl.getAttribute('data-bs-html') === \"true\" ?? false,\n placement: popoverTriggerEl.getAttribute('data-bs-placement') ?? 'auto'\n };\n return new Popover(popoverTriggerEl, options);\n });\n\n let tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle=\"tooltip\"]'));\n tooltipTriggerList.map(function (tooltipTriggerEl) {\n let options = {\n delay: {show: 50, hide: 50},\n html: tooltipTriggerEl.getAttribute(\"data-bs-html\") === \"true\" ?? false,\n placement: tooltipTriggerEl.getAttribute('data-bs-placement') ?? 'auto',\n };\n return new Tooltip(tooltipTriggerEl, options);\n });\n}\n","export default function() {\n document.querySelectorAll('.textarea-auto-resize').forEach((textarea) => {\n textarea.focus();\n\n textarea.addEventListener(\"input\", () => {\n textarea.style.height = '';\n const height = Math.min(textarea.scrollHeight, 200);\n textarea.style.height = height+ 2 + \"px\";\n });\n\n textarea.addEventListener('keypress', (e) => {\n if(e.which === 13 && !e.shiftKey) {\n e.preventDefault();\n\n const form = textarea.closest('form');\n form.requestSubmit(form.querySelector('input[type=submit]'));\n }\n });\n })\n\n document.getElementById('attach_files')?.addEventListener('click', () => {\n document.getElementById('message_files').click();\n })\n\n document.getElementById('message_files')?.addEventListener('change', (e) => {\n const files = [].slice.call(e.target.files);\n const previews = files.map((file) => {\n return '
' + file.name + '
'\n })\n document.getElementById('files_preview').innerHTML = previews.join('');\n })\n}\n","import axios from 'axios'\nimport './utils/analytics'\nimport PricingCalculator from './utils/pricing_calculator'\nimport ContentBuilder from './utils/content_builder'\nimport rebuildTooltips from './utils/rebuild_tooltips'\nimport setupDatePickers from './utils/setup_date_pickers'\nimport setupVideos from './utils/setup_videos'\nimport setupMsgTextarea from './utils/setup_msg_textarea'\nimport setupSelects from './utils/setup_selects'\nimport * as tus from 'tus-js-client'\nimport { StreamActions } from '@hotwired/turbo'\n\nconst msgAudio = new Audio('/sounds/message.mp3');\n\nStreamActions.reload_input = function() {\n document.dispatchEvent(new CustomEvent('reload_input'))\n}\n\nStreamActions.new_msg = function() {\n document.dispatchEvent(new CustomEvent('new_msg'))\n}\n\ndocument.addEventListener('DOMContentLoaded', () => {\n setupDatePickers()\n rebuildTooltips()\n setupVideos()\n setupMsgTextarea()\n setupSelects()\n\n document.querySelectorAll('.form-autoapply input:not(.daterangepicker), .form-autoapply select').forEach((el) => {\n el.addEventListener('change', () => { el.form.requestSubmit() })\n })\n\n document.querySelectorAll('#directUpload').forEach((form) => {\n form.addEventListener('submit', function (e) {\n e.preventDefault()\n\n const progress = form.querySelector(\"#progress\");\n const uploadOptions = {\n method: 'PUT',\n data: e.target[1].files[0],\n url: form.getAttribute('action'),\n onUploadProgress: function (data) {\n const perc = Math.round(data.progress * 100);\n progress.innerHTML = `
\n
\n ${perc}%\n
\n
\n
\n
\n
\n
\n
`\n },\n }\n axios(uploadOptions).then(() => {\n alert('Plik zapisany!')\n window.location = '/admin/content/videos'\n }, () => {\n alert('error')\n })\n })\n })\n\n document.querySelectorAll('.content-builder').forEach((contentBuilderElem) => {\n new ContentBuilder(contentBuilderElem)\n })\n\n document.querySelectorAll('#formFileUpload').forEach((fileUpload) => {\n const button = fileUpload.querySelector('.btn')\n const field = fileUpload.querySelector('input[type=file]')\n button.addEventListener('click', () => { field.click() })\n field.addEventListener('change', () => { field.form.submit() })\n })\n\n document.querySelectorAll('.chat').forEach((chat) => {\n const csrfToken = document.querySelector('[name=\\'csrf-token\\']').content\n\n const scrollAndRead = () => {\n chat.scrollTo(0, chat.scrollHeight)\n fetch(`${location.pathname}/read`, { method: 'POST', headers: { 'X-CSRF-Token': csrfToken } }).\n then(async (response) => {\n window.Turbo.renderStreamMessage(await response.text())\n })\n }\n\n scrollAndRead()\n document.addEventListener('new_msg', scrollAndRead)\n document.addEventListener('reload_input', scrollAndRead)\n })\n\n document.addEventListener('reload_input', () => {\n setupMsgTextarea();\n })\n\n document.addEventListener('new_msg', () => {\n msgAudio.play();\n })\n\n document.querySelectorAll('#additional_catch_ups_form').forEach((form) => {\n form.querySelectorAll('input').forEach((el) => {\n el.addEventListener('change', () => {\n fetch(`/client/catch_ups/estimate`, { method: 'POST', headers: { 'Accept': 'text/vnd.turbo-stream.html' }, body: new FormData(form) }).\n then(async (response) => {\n window.Turbo.renderStreamMessage(await response.text())\n })\n })\n })\n })\n\n document.querySelectorAll('#tusUpload').forEach((form) => {\n form.addEventListener('submit', function (e) {\n e.preventDefault()\n\n const progress = form.querySelector(\"#progress\");\n const libraryId = form.getAttribute('data-library-id');\n const signature = form.getAttribute('data-signature');\n const expire = form.getAttribute('data-expire');\n const videoId = form.getAttribute('data-video-id');\n const file = e.target[1].files[0];\n\n var upload = new tus.Upload(file, {\n endpoint: \"https://video.bunnycdn.com/tusupload\",\n retryDelays: [0, 3000, 5000, 10000, 20000, 60000, 60000],\n headers: {\n AuthorizationSignature: signature,\n AuthorizationExpire: expire,\n VideoId: videoId,\n LibraryId: libraryId,\n },\n metadata: {\n filetype: file.type,\n },\n onError: function () {\n alert('error')\n },\n onProgress: function (bytesUploaded, bytesTotal) {\n const perc = Math.round(bytesUploaded / bytesTotal * 100);\n progress.innerHTML = `
\n
\n ${perc}%\n
\n
\n
\n
\n
\n
\n
`\n },\n onSuccess: function () {\n alert('Plik zapisany!')\n window.location = '/admin/content/bunny_videos'\n }\n })\n\n // Check if there are any previous uploads to continue.\n upload.findPreviousUploads().then(function (previousUploads) {\n // Found previous uploads so we select the first one.\n if (previousUploads.length) {\n upload.resumeFromPreviousUpload(previousUploads[0])\n }\n\n // Start the upload\n upload.start()\n })\n })\n })\n})\n\ndocument.addEventListener('turbo:frame-load', () => {\n document.querySelectorAll('.pricing-calculator').forEach((elem) => {\n return new PricingCalculator(elem)\n })\n\n rebuildTooltips();\n\n document.querySelectorAll('*[data-close-modal]').forEach((elem) => {\n elem.addEventListener('click', () => {\n document.querySelector('turbo-frame[id=modal]').innerHTML = ''\n })\n })\n\n document.getElementById('recipients-search').onkeyup = () => {\n const table = document.getElementById('recipients-list');\n const search = document.getElementById('recipients-search').value;\n const recipients = table.querySelectorAll('a');\n\n recipients.forEach((recipient) => {\n const recipientName = recipient.getAttribute('data-recipient');\n if (recipientName.toLowerCase().includes(search.toLowerCase()) || search === '') {\n recipient.classList.remove('d-none');\n } else {\n recipient.classList.add('d-none');\n }\n })\n }\n})\n\n","import flatpickr from 'flatpickr'\nimport { Polish } from 'flatpickr/dist/l10n/pl'\n\nexport default function setupDatePickers() {\n flatpickr('.datepicker', {allowInput: true, locale: Polish})\n flatpickr('.datetimepicker', {allowInput: true, locale: Polish, enableTime: true, time_24hr: true})\n flatpickr('.timepicker',\n {allowInput: true, locale: Polish, enableTime: true, noCalendar: true, dateFormat: 'H:i', time_24hr: true})\n flatpickr('.datetimerangepicker', {allowInput: true, locale: Polish, mode: 'multiple'})\n flatpickr('.daterangepicker', {\n allowInput: true,\n locale: Polish,\n mode: 'range',\n onChange: function(dates) {\n if (!dates[0] || !dates[1]) {\n document.getElementById(this.input.dataset.fromInput).value = null;\n document.getElementById(this.input.dataset.toInput).value = null;\n } else {\n document.getElementById(this.input.dataset.fromInput).value = dates[0];\n document.getElementById(this.input.dataset.toInput).value = dates[1];\n }\n\n this.input.form.requestSubmit();\n },\n })\n}\n","import videojs from 'video.js'\nimport 'videojs-contrib-quality-levels'\nimport 'videojs-hls-quality-selector'\n\nexport default function setupVideos() {\n document.querySelectorAll('video-js').forEach((videoElem) => {\n const url = videoElem.dataset.url\n delete videoElem.dataset.url\n const video = videojs(videoElem, { html5: { vhs: { overrideNative: true } } });\n video.src({\n src: url,\n type: 'application/x-mpegurl',\n })\n video.hlsQualitySelector({ displayCurrentQuality: true });\n })\n}\n","export default class {\n node = null\n fixedPrice = null\n price = null\n duration = 30\n\n constructor (node) {\n this.node = node\n this.fixedPrice = parseFloat(node.dataset['fixedprice'])\n this.price = parseFloat(node.dataset['price'])\n\n node.querySelectorAll('.form-selectgroup-input').forEach((elem) => {\n elem.addEventListener('change', (event) => {\n this.duration = parseInt(event.target.value)\n this.calculate()\n })\n })\n this.calculate()\n }\n\n calculate () {\n let singleElems = this.node.querySelectorAll('.pricing-calculator__single-price')\n let singlePrice = (this.price * this.duration / 60.0)\n singleElems.forEach((elem) => elem.innerHTML = singlePrice.toFixed(2) + ' zł')\n\n let fixedPrice = (this.fixedPrice * this.duration / 60.0)\n this.node.querySelector('.pricing-calculator__fixed-price').innerHTML = fixedPrice.toFixed(2) + ' zł'\n\n let total = singlePrice * 4 + fixedPrice\n this.node.querySelector('.pricing-calculator__monthly-price').innerHTML = total.toFixed(2) + ' zł *'\n }\n}\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\nimport Rails from \"@rails/ujs\"\nimport * as ActiveStorage from \"@rails/activestorage\"\nimport 'trix'\nimport '@rails/actiontext'\nimport { Turbo } from \"@hotwired/turbo-rails\"\nimport '../../assets/styles/application.scss'\n\nRails.start()\nActiveStorage.start()\nTurbo.session.drive = false\n\nrequire.context('../../assets/img', true)\nimport '../application';\n","window.dataLayer = window.dataLayer || [];\nfunction gtag(){window.dataLayer.push(arguments);}\ngtag('js', new Date());\n\ngtag('config', 'G-WTDNBL6QJV');\n"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","setupSelects","document","querySelectorAll","forEach","select","tomSelect","options","maxOptions","classList","contains","baseUrl","getAttribute","load","query","callback","url","encodeURIComponent","fetch","then","response","json","catch","valueField","labelField","searchField","value","onInitialize","this","initial","onLoad","data","find","item","guid","setValue","TomSelect","rebuildTooltips","slice","call","popoverTriggerEl","delay","show","hide","html","placement","Popover","tooltipTriggerEl","Tooltip","textarea","focus","addEventListener","style","height","Math","min","scrollHeight","which","shiftKey","preventDefault","form","closest","requestSubmit","querySelector","getElementById","click","previews","target","files","file","name","innerHTML","join","msgAudio","Audio","StreamActions","dispatchEvent","CustomEvent","flatpickr","allowInput","locale","Polish","enableTime","time_24hr","noCalendar","dateFormat","mode","onChange","dates","input","dataset","fromInput","toInput","videoElem","video","videojs","html5","vhs","overrideNative","src","type","hlsQualitySelector","displayCurrentQuality","setupMsgTextarea","el","progress","uploadOptions","method","onUploadProgress","perc","round","axios","alert","window","location","contentBuilderElem","node","parts","constructor","bound_destroyHandle","destroyHandle","bind","mountAddButtons","mountDestroyButtons","setupSortable","fixPositions","button","replace","Date","now","insertAdjacentHTML","removeEventListener","event","confirm","parent","add","elem","index","sortable","Sortable","onSort","handle","fileUpload","field","submit","chat","csrfToken","content","scrollAndRead","scrollTo","pathname","headers","async","Turbo","renderStreamMessage","text","play","body","FormData","libraryId","signature","expire","videoId","upload","tus","endpoint","retryDelays","AuthorizationSignature","AuthorizationExpire","VideoId","LibraryId","metadata","filetype","onError","onProgress","bytesUploaded","bytesTotal","onSuccess","findPreviousUploads","previousUploads","length","resumeFromPreviousUpload","start","fixedPrice","price","duration","parseFloat","parseInt","calculate","singleElems","singlePrice","toFixed","total","onkeyup","table","search","recipient","toLowerCase","includes","remove","Rails","ActiveStorage","require","gtag","dataLayer","push","arguments"],"sourceRoot":""}