{"version":3,"sources":["webpack://frontendplaceholder/./Src/Scripts/components/search.js","webpack://frontendplaceholder/./Src/Scripts/components/vue-component-loader.js","webpack://frontendplaceholder/./node_modules/vue-masonry-css/dist/vue-masonry.es2015.js"],"names":["constructor","elm","input","querySelector","resultsContainer","toggle","allResultsLink","results","setVisualViewportHeight","window","visualViewport","document","body","style","setProperty","height","offsetTop","Math","max","innerHeight","addEventListener","classList","contains","focus","value","innerHTML","remove","e","target","closest","throttledSearch","throttle","length","lastSearch","calendarHref","dataset","href","clearSearch","curSearch","fetch","then","x","json","add","forEach","result","div","createElement","setAttribute","appendChild","listView","inSearch","VueComponentLoader","scrollTo","elem","args","callback","this","appInstance","state","reactive","vueComponent","getAttribute","vuecr","loadComponentClass","VueComponent","props","createApp","use","VueMasonry","mount","createUntypedApp","deps","data","components","depsAttr","componentDependencies","split","map","cd","trim","loadComponentClasses","i","replace","_maskedHelpers","getAppInstance","setData","key","tag","type","String","default","cols","Object","Number","gutter","css","Boolean","columnTag","columnClass","Array","columnAttr","breakpointValue","mixed","windowWidth","parseInt","matchedBreakpoint","Infinity","matchedValue","k","breakpoint","breakpointValRaw","breakpointVal","isNaN","component","displayColumns","displayGutter","mounted","this$1","$nextTick","reCalculate","updated","beforeDestroy","removeEventListener","methods","previousWindowWidth","innerWidth","_reCalculateColumnCount","_reCalculateGutterSize","newColumns","_getChildItemsInColumnsArray","columns","childItems","$slots","componentOptions","children","visibleItemI","columnIndex","push","render","columnsContainingChildren","gutterSizeWithUnit","columnStyle","boxSizing","backgroundClip","width","border","borderLeftWidth","index","class","attrs","containerStyle","display","marginLeft","Plugin","install","Vue","options","installed","name"],"mappings":"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","file":"4501.4494ac1203ce6b8ab13d.js","sourcesContent":["import VueComponentLoader from '../components/vue-component-loader';\nimport { throttle } from 'lodash';\n\nexport default class Search {\n constructor(elm) {\n const input = elm.querySelector('[data-search-input]');\n const resultsContainer = elm.querySelector('[data-search-results]');\n const toggle = elm.querySelector('[data-search-toggle]');\n const allResultsLink = elm.querySelector('[data-results-link]');\n const results = elm.querySelector('.search-bar__results');\n\n function setVisualViewportHeight() {\n // For the rare legacy browsers that don't support it\n if (!window.visualViewport) {\n return;\n }\n\n document.body.style.setProperty('--actual-height', window.visualViewport.height + 'px');\n if (window.visualViewport.offsetTop >= 0) {\n document.body.style.setProperty('--transform-from-bottom', `-${Math.max(0, window.innerHeight - window.visualViewport.height - window.visualViewport.offsetTop)}px`);\n }\n }\n\n if (window.visualViewport) {\n window.visualViewport.addEventListener('resize', () => {\n setVisualViewportHeight();\n });\n\n window.visualViewport.addEventListener('scroll', () => {\n setVisualViewportHeight();\n });\n }\n\n setVisualViewportHeight();\n\n toggle.addEventListener('click', () => {\n document.body.classList.toggle('search-bar-open');\n if (document.body.classList.contains('search-bar-open')) {\n input.focus();\n } else {\n input.value = '';\n resultsContainer.innerHTML = '';\n elm.classList.remove('search-bar--no-results');\n elm.classList.remove('search-bar--results');\n document.body.classList.remove('search-results-open');\n }\n });\n\n\n window.addEventListener('click', e => {\n const closest = e.target.closest('.search-bar');\n if (!closest) {\n document.body.classList.remove('search-bar-open');\n }\n });\n\n const throttledSearch = throttle(updateSearch, 300);\n let lastSearch = '';\n\n function updateSearch() {\n if (input.value.length > 2) {\n if (lastSearch != input.value) {\n const calendarHref = allResultsLink.dataset.calendarHref;\n allResultsLink.href = `${calendarHref}?Query=${input.value}`;\n clearSearch();\n lastSearch = input.value;\n const curSearch = input.value;\n fetch(`/umbraco/api/events/fetch?query=${input.value}&pageSize=5`).then(x => x.json())\n .then(json => {\n if (curSearch == lastSearch) {\n if (!json.results || json.results?.length == 0) {\n elm.classList.add('search-bar--no-more-results');\n elm.classList.add('search-bar--no-results');\n elm.classList.remove('search-bar--results');\n document.body.classList.remove('search-results-open');\n } else {\n elm.classList.remove('search-bar--no-results');\n elm.classList.add('search-bar--results');\n document.body.classList.add('search-results-open');\n elm.classList.toggle('search-bar--no-more-results', json.results.length < 5);\n\n json.results.forEach(result => {\n const div = document.createElement('div');\n div.setAttribute('data-vue-component', 'vue-event-card');\n resultsContainer.appendChild(div);\n result.listView = true;\n result.inSearch = true;\n new VueComponentLoader(div, result);\n });\n\n results.scrollTo(0, 0);\n }\n }\n });\n }\n } else {\n clearSearch();\n }\n }\n\n function clearSearch() {\n resultsContainer.innerHTML = '';\n elm.classList.remove('search-bar--no-results');\n elm.classList.remove('search-bar--results');\n document.body.classList.remove('search-results-open');\n }\n\n input.addEventListener('input', () => {\n throttledSearch();\n });\n }\n}\n","/**\n *\n * DESCRIPTION:\n * A helper class to load and instantiate Vue Components. It can be used in two ways either as a \"typed-component\" or an \"untyped-component\".\n *\n * A typed-component is instantiated by supplying a data-vue-component attribute with ONE (and only one) key to a vue-component from the window.vuecr.\n * This vue-component will then be loaded and instantiated as the root Vue app. This is used when the markup of the vue-component determines the markup to be rendered.\n *\n * An untyped-component is instantiated by NOT supplying a data-vue-component attribute. An untyped component is used\n * when you want to create an empty vue app that applies to some markup rendered from the backend. This markup can then utilize Vue syntax to render data,\n * as well as Vue component tags to instantiate any vue components supplied in the data-vue-component-dependencies attribute.\n *\n * ARGS:\n * No specific args, but any arguments will be passed directly to the instantiated app.\n * */\nimport { createApp, reactive } from 'vue';\nimport VueMasonry from 'vue-masonry-css';\n\nexport default class VueComponentLoader {\n constructor(elem, args, callback) {\n this.appInstance = null;\n this.state = reactive(args); // make state reactive\n\n const vueComponent = elem.getAttribute('data-vue-component');\n const state = this.state;\n if (vueComponent) {\n window.vuecr.loadComponentClass(vueComponent)\n .then((VueComponent) => {\n VueComponent.props = ['state']; // Define the prop\n this.appInstance = createApp(VueComponent, { state }); // Pass the prop when creating the app\n this.appInstance.use(VueMasonry);\n this.appInstance.mount(elem);\n if (callback) callback();\n });\n } else {\n const createUntypedApp = (deps = {}) => {\n this.appInstance = createApp({\n data() { return { state: this.state }; },\n components: deps,\n });\n this.appInstance.mount(elem);\n };\n\n const depsAttr = elem.getAttribute('data-vue-component-dependencies');\n const componentDependencies = depsAttr ? depsAttr.split(',').map((cd) => cd.trim()) : [];\n\n if (componentDependencies.length > 0) {\n window.vuecr.loadComponentClasses(componentDependencies)\n .then((result) => {\n const deps = {};\n componentDependencies.forEach((cd, i) => {\n deps[cd.replace('-', '')] = result[i];\n });\n createUntypedApp(deps);\n });\n } else {\n createUntypedApp();\n }\n }\n\n this._maskedHelpers = {\n getAppInstance: () => this.appInstance,\n setData: (data) => {\n for (const key in data) {\n this.state[key] = data[key]; // Vue automatically triggers re-render\n }\n },\n };\n }\n\n getAppInstance() {\n return this._maskedHelpers.getAppInstance();\n }\n\n setData(data) {\n this._maskedHelpers.setData(data);\n }\n}\n","/*!\n * vue-masonry-css v1.0.3\n * https://github.com/paulcollett/vue-masonry-css\n * Released under the MIT License.\n */\n\n// the component name ``\n// can be overridden with `Vue.use(Masonry, { name: 'the-masonry' });`\nvar componentName = 'masonry';\n\nvar props = {\n tag: {\n type: [String],\n default: 'div'\n },\n cols: {\n type: [Object, Number, String],\n default: 2\n },\n gutter: {\n type: [Object, Number, String],\n default: 0\n },\n css: {\n type: [Boolean],\n default: true\n },\n columnTag: {\n type: [String],\n default: 'div'\n },\n columnClass: {\n type: [String, Array, Object],\n default: function () { return []; }\n },\n columnAttr: {\n type: [Object],\n default: function () { return ({}); }\n }\n};\n\n// Get the resulting value from `:col=` prop\n// based on the window width\nvar breakpointValue = function (mixed, windowWidth) {\n var valueAsNum = parseInt(mixed);\n\n if(valueAsNum > -1) {\n return mixed;\n }else if(typeof mixed !== 'object') {\n return 0;\n }\n\n var matchedBreakpoint = Infinity;\n var matchedValue = mixed.default || 0;\n\n for(var k in mixed) {\n var breakpoint = parseInt(k);\n var breakpointValRaw = mixed[breakpoint];\n var breakpointVal = parseInt(breakpointValRaw);\n\n if(isNaN(breakpoint) || isNaN(breakpointVal)) {\n continue;\n }\n\n var isNewBreakpoint = windowWidth <= breakpoint && breakpoint < matchedBreakpoint;\n\n if(isNewBreakpoint) {\n matchedBreakpoint = breakpoint;\n matchedValue = breakpointValRaw;\n }\n }\n\n return matchedValue;\n};\n\nvar component = {\n props: props,\n\n data: function data() {\n return {\n displayColumns: 2,\n displayGutter: 0\n }\n },\n\n mounted: function mounted() {\n var this$1 = this;\n\n this.$nextTick(function () {\n this$1.reCalculate();\n });\n\n // Bind resize handler to page\n if(window) {\n window.addEventListener('resize', this.reCalculate);\n }\n },\n\n updated: function updated() {\n var this$1 = this;\n\n this.$nextTick(function () {\n this$1.reCalculate();\n });\n },\n\n beforeDestroy: function beforeDestroy() {\n if(window) {\n window.removeEventListener('resize', this.reCalculate);\n }\n },\n\n methods: {\n // Recalculate how many columns to display based on window width\n // and the value of the passed `:cols=` prop\n reCalculate: function reCalculate() {\n var previousWindowWidth = this.windowWidth;\n\n this.windowWidth = (window ? window.innerWidth : null) || Infinity;\n\n // Window resize events get triggered on page height\n // change which when loading the page can result in multiple\n // needless calculations. We prevent this here.\n if(previousWindowWidth === this.windowWidth) {\n return;\n }\n\n this._reCalculateColumnCount(this.windowWidth);\n\n this._reCalculateGutterSize(this.windowWidth);\n },\n\n _reCalculateGutterSize: function _reCalculateGutterSize(windowWidth) {\n this.displayGutter = breakpointValue(this.gutter, windowWidth);\n },\n\n _reCalculateColumnCount: function _reCalculateColumnCount(windowWidth) {\n var newColumns = breakpointValue(this.cols, windowWidth);\n\n // Make sure we can return a valid value\n newColumns = Math.max(1, Number(newColumns) || 0);\n\n this.displayColumns = newColumns;\n },\n\n _getChildItemsInColumnsArray: function _getChildItemsInColumnsArray() {\n var this$1 = this;\n\n var columns = [];\n var childItems = this.$slots.default || [];\n\n // This component does not work with a child ..yet,\n // so for now we think it may be helpful to ignore until we can find a way for support\n if(childItems.length === 1 && childItems[0].componentOptions && childItems[0].componentOptions.tag == 'transition-group') {\n childItems = childItems[0].componentOptions.children;\n }\n\n // Loop through child elements\n for (var i = 0, visibleItemI = 0; i < childItems.length; i++, visibleItemI++) {\n // skip Vue elements without tags, which includes\n // whitespace elements and also plain text\n if(!childItems[i].tag) {\n visibleItemI--;\n\n continue;\n }\n\n // Get the column index the child item will end up in\n var columnIndex = visibleItemI % this$1.displayColumns;\n\n if(!columns[columnIndex]) {\n columns[columnIndex] = [];\n }\n\n columns[columnIndex].push(childItems[i]);\n }\n\n return columns;\n }\n },\n\n render: function render(createElement) {\n var this$1 = this;\n\n var columnsContainingChildren = this._getChildItemsInColumnsArray();\n var isGutterSizeUnitless = parseInt(this.displayGutter) === this.displayGutter * 1;\n var gutterSizeWithUnit = isGutterSizeUnitless ? ((this.displayGutter) + \"px\") : this.displayGutter;\n\n var columnStyle = {\n boxSizing: 'border-box',\n backgroundClip: 'padding-box',\n width: ((100 / this.displayColumns) + \"%\"),\n border: '0 solid transparent',\n borderLeftWidth: gutterSizeWithUnit\n };\n\n var columns = columnsContainingChildren.map(function (children, index) {\n /// Create column element and inject the children\n return createElement(this$1.columnTag, {\n key: index + '-' + columnsContainingChildren.length,\n style: this$1.css ? columnStyle : null,\n class: this$1.columnClass,\n attrs: this$1.columnAttr\n }, children); // specify child items here\n });\n\n var containerStyle = {\n display: ['-webkit-box', '-ms-flexbox', 'flex'],\n marginLeft: (\"-\" + gutterSizeWithUnit)\n };\n\n // Return wrapper with columns\n return createElement(\n this.tag, // tag name\n this.css ? { style: containerStyle } : null, // element options\n columns // column vue elements\n );\n }\n};\n\nvar Plugin = function () {};\n\nPlugin.install = function (Vue, options) {\n if (Plugin.installed) {\n return;\n }\n\n if(options && options.name) {\n Vue.component(options.name, component);\n } else {\n Vue.component(componentName, component);\n }\n};\n\nif (typeof window !== 'undefined' && window.Vue) {\n window.Vue.use(Plugin);\n}\n\nexport default Plugin;\n"],"sourceRoot":""}