{"version":3,"file":"js/theme_earth-8c421c0e8ca972b41c91.js","mappings":"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","sources":["webpack://app/./app/javascript/packs/theme_earth.js","webpack://app/./app/javascript/src/custom/Utils.js","webpack://app/./app/javascript/src/custom/components/Accordion.js"],"sourcesContent":["import \"../styles/events/themes/earth/theme.scss\";\n\nimport $ from \"jquery\";\nimport \"../controllers/theme_controllers\";\n\nimport \"../src/plugins/Tabby\";\nimport Rails from \"@rails/ujs\";\nimport { initMap } from \"../src/plugins/Gmap\";\nimport \"../src/plugins/Filestack\";\n\nimport { showCountdowns } from \"../src/custom/events/countdown_clock\";\n\nimport \"../src/custom/components/Accordion\";\nimport { initStickyEvents } from \"../src/custom/components/Sticky\";\n\n\n// eslint-disable-next-line no-multi-assign\nwindow.$ = window.JQuery = window.jQuery = $;\n// eslint-disable-next-line import/no-unresolved, import/extensions\nrequire(\"semantic/semantic.min.js\");\n\n// eslint-disable-next-line no-underscore-dangle\nif (!window._rails_loaded) {\n Rails.start();\n}\n\n// Supports component names relative to this directory:\nconst componentContext = require.context(\n \"components\",\n true,\n /(Registration|Common)\\/.*/,\n);\n\nrequire(\"jquery-countdown\");\n\nconst init = () => {\n initMap(\"event_location_map\"); // Main location map\n initMap(\"map\"); // map for hotel (if provided)\n initStickyEvents(\".sticky\");\n showCountdowns();\n};\n\ndocument.addEventListener(\"DOMContentLoaded\", init);\n","export const titleize = function (string) {\n const words = string.replace(/_/g, \" \").split(\" \");\n const array = [];\n // eslint-disable-next-line no-plusplus\n for (let i = 0; i < words.length; ++i) {\n array.push(\n words[i].charAt(0).toUpperCase() + words[i].toLowerCase().slice(1),\n );\n }\n return array.join(\" \");\n};\n\nexport const isHidden = (elem) =>\n elem.classList.contains(\"hide\") ||\n elem.classList.contains(\"hidden\") ||\n elem.classList.contains(\"tw-hidden\") ||\n elem.classList.contains(\"invisible\") ||\n elem.classList.contains(\"tw-invisible\") ||\n elem.style.display === \"none\";\n\nexport const toggleContent = (elem, show, displayClass = \"tw-block\") => {\n if (show && isHidden(elem)) {\n elem.classList.remove(\"tw-hidden\");\n elem.classList.add(displayClass);\n if (elem.classList.contains(\"hidden\")) {\n elem.classList.remove(\"hidden\");\n }\n if (elem.classList.contains(\"hide\")) {\n elem.classList.remove(\"hide\");\n }\n if (elem.style.display === \"none\") {\n elem.style.display = \"unset\";\n }\n }\n if (!show && !isHidden(elem)) {\n elem.classList.add(\"tw-hidden\");\n elem.classList.remove(displayClass);\n }\n};\n\nexport const validateEmail = (email) =>\n String(email)\n .toLowerCase()\n .match(\n // eslint-disable-next-line max-len\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/,\n );\n\nexport const clearDatePicker = (picker) => {\n if (picker) {\n picker.clear(); // Clear the selected date\n picker.set(\"maxDate\", null);\n picker.set(\"defaultDate\", null);\n picker.set(\"minDate\", null);\n }\n};\n\nexport const csvToNumberArray = (csv) => {\n if (!csv) return [];\n return csv\n .split(\",\")\n .map((value) => Number(value))\n .filter((value) => !Number.isNaN(value) && Number(value) !== 0);\n};\n\nexport const resetFormData = (form) => {\n const formData = Array.from(new FormData(form).entries());\n\n formData.forEach(([name]) => {\n const fields = form.querySelectorAll(\n `[name=\"${name}\"], [name=\"${name}[]\"]`,\n );\n fields.forEach((field) => {\n if (field.type === \"checkbox\" || field.type === \"radio\") {\n field.checked = false;\n } else if (field.tagName === \"SELECT\") {\n field.selectedIndex = -1;\n } else {\n field.value = \"\";\n }\n });\n });\n};\n\nexport function formatToUTCDate(date) {\n if (!(date instanceof Date)) {\n throw new Error(\"Invalid date object provided.\");\n }\n\n const year = date.getUTCFullYear();\n const month = String(date.getUTCMonth() + 1).padStart(2, \"0\"); // Months are 0-indexed\n const day = String(date.getUTCDate()).padStart(2, \"0\");\n\n return `${year}-${month}-${day} 00:00:00 UTC`;\n}\n","import { toggleContent, isHidden } from \"../Utils\";\n\nexport const toggleClick = (elem) => {\n const contentContainer = document.querySelector(\n `[data-content=\"${elem.dataset.toggle}\"]`,\n );\n const { displayClass } = contentContainer.dataset;\n\n toggleContent(contentContainer, isHidden(contentContainer), displayClass);\n\n const icon = elem.querySelector(\".toggle-icon\");\n if (icon) {\n icon.classList.toggle(\"toggle-active\");\n }\n\n const chevron = elem.querySelector(\"[class*='g-icon-chevron']\");\n if (chevron) {\n chevron.classList.toggle(\"tw-rotate-180\");\n }\n};\n\nexport const initAccordion = (elem) => {\n elem.addEventListener('click', (e) => {\n if (elem?.type !== 'checkbox') {\n e.preventDefault();\n }\n toggleClick(elem);\n });\n if (elem.dataset.toggleDefaultActive === \"true\") {\n toggleClick(elem);\n }\n};\n\nexport const initAccordions = () => {\n document.querySelectorAll(\"[data-toggle]\").forEach((el) => {\n initAccordion(el);\n });\n};\n\nexport const randomizeAccordionSelector = (containerElem, toggleSelector) => {\n const uniqueSelector = `${toggleSelector}_${Math.random().toString(36)}`;\n\n containerElem\n .querySelectorAll(`[data-toggle='${toggleSelector}']`)\n .forEach((el) => {\n el.dataset.toggle = uniqueSelector;\n });\n containerElem\n .querySelectorAll(`[data-content=\"${toggleSelector}\"]`)\n .forEach((el) => {\n el.dataset.content = uniqueSelector;\n });\n containerElem\n .querySelectorAll(`[data-toggle='${uniqueSelector}']`)\n .forEach((el) => {\n initAccordion(el);\n });\n};\n\ndocument.addEventListener(\"DOMContentLoaded\", initAccordions);\ndocument.addEventListener(\"accordion:init\", initAccordions);\n"],"names":["window","$","JQuery","jQuery","require","_rails_loaded","Rails","start","document","addEventListener","initMap","initStickyEvents","showCountdowns","titleize","string","words","replace","split","array","i","length","push","charAt","toUpperCase","toLowerCase","slice","join","isHidden","elem","classList","contains","style","display","toggleContent","show","displayClass","arguments","undefined","remove","add","validateEmail","email","String","match","clearDatePicker","picker","clear","set","csvToNumberArray","csv","map","value","Number","filter","isNaN","resetFormData","form","Array","from","FormData","entries","forEach","_ref","name","_slicedToArray","querySelectorAll","concat","field","type","checked","tagName","selectedIndex","formatToUTCDate","date","Date","Error","year","getUTCFullYear","month","getUTCMonth","padStart","day","getUTCDate","toggleClick","contentContainer","querySelector","dataset","toggle","icon","chevron","initAccordion","e","preventDefault","toggleDefaultActive","initAccordions","el","randomizeAccordionSelector","containerElem","toggleSelector","uniqueSelector","Math","random","toString","content"],"sourceRoot":""}