https://www.sanha.com/theme/2135113043cd5edaf87f9b4e69cc2012/js/el…/elio-category-list.js?1790867360
1(()=>{"use strict";var t={857:t=>{var e=function(t){var e;return!!t&&"object"==typeof t&&"[object RegExp]"!==(e=Object.prototype.toString.call(t))&&"[object Date]"!==e&&t.$$typeof!==i},i="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function o(t,e){return!1!==e.clone&&e.isMergeableObject(t)?l(Array.isArray(t)?[]:{},t,e):t}function n(t,e,i){return t.concat(e).map(function(t){return o(t,i)})}function r(t){return Object.keys(t).concat(Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter(function(e){return Object.propertyIsEnumerable.call(t,e)}):[])}function s(t,e){try{return e in t}catch(t){return!1}}function l(t,i,a){(a=a||{}).arrayMerge=a.arrayMerge||n,a.isMergeableObject=a.isMergeableObject||e,a.cloneUnlessOtherwiseSpecified=o;var c,u,h=Array.isArray(i);return h!==Array.isArray(t)?o(i,a):h?a.arrayMerge(t,i,a):(u={},(c=a).isMergeableObject(t)&&r(t).forEach(function(e){u[e]=o(t[e],c)}),r(i).forEach(function(e){(!s(t,e)||Object.hasOwnProperty.call(t,e)&&Object.propertyIsEnumerable.call(t,e))&&(s(t,e)&&c.isMergeableObject(i[e])?u[e]=(function(t,e){if(!e.customMerge)return l;var i=e.customMerge(t);return"function"==typeof i?i:l})(e,c)(t[e],i[e],c):u[e]=o(i[e],c))}),u)}l.all=function(t,e){if(!Array.isArray(t))throw Error("first argument should be an array");return t.reduce(function(t,i){return l(t,i,e)},{})},t.exports=l}},e={};function i(o){var n=e[o];if(void 0!==n)return n.exports;var r=e[o]={exports:{}};return t[o](r,r.exports,i),r.exports}(()=>{i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e}})(),(()=>{i.d=(t,e)=>{for(var o in e)i.o(e,o)&&!i.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})}})(),(()=>{i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e)})(),(()=>{var t=i(857),e=i.n(t);class o{static ucFirst(t){return t.charAt(0).toUpperCase()+t.slice(1)}static lcFirst(t){return t.charAt(0).toLowerCase()+t.slice(1)}static toDashCase(t){return t.replace(/([A-Z])/g,"-$1").replace(/^-/,"").toLowerCase()}static toLowerCamelCase(t,e){let i=o.toUpperCamelCase(t,e);return o.lcFirst(i)}static toUpperCamelCase(t,e){return e?t.split(e).map(t=>o.ucFirst(t.toLowerCase())).join(""):o.ucFirst(t.toLowerCase())}static parsePrimitive(t){try{return/^\d+(.|,)\d+$/.test(t)&&(t=t.replace(",",".")),JSON.parse(t)}catch(e){return t.toString()}}}class n{static isNode(t){return"object"==typeof t&&null!==t&&(t===document||t===window||t instanceof Node)}static hasAttribute(t,e){if(!n.isNode(t))throw Error("The element must be a valid HTML Node!");return"function"==typeof t.hasAttribute&&t.hasAttribute(e)}static getAttribute(t,e){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(i&&!1===n.hasAttribute(t,e))throw Error('The required property "'.concat(e,'" does not exist!'));if("function"!=typeof t.getAttribute){if(i)throw Error("This node doesn't support the getAttribute function!");return}return t.getAttribute(e)}static getDataAttribute(t,e){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2],r=e.replace(/^data(|-)/,""),s=o.toLowerCamelCase(r,"-");if(!n.isNode(t)){if(i)throw Error("The passed node is not a valid HTML Node!");return}if(void 0===t.dataset){if(i)throw Error("This node doesn't support the dataset attribute!");return}let l=t.dataset[s];if(void 0===l){if(i)throw Error('The required data attribute "'.concat(e,'" does not exist on ').concat(t,"!"));return l}return o.parsePrimitive(l)}static querySelector(t,e){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(i&&!n.isNode(t))throw Error("The parent node is not a valid HTML Node!");let o=t.querySelector(e)||!1;if(i&&!1===o)throw Error('The required element "'.concat(e,'" does not exist in parent node!'));return o}static querySelectorAll(t,e){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(i&&!n.isNode(t))throw Error("The parent node is not a valid HTML Node!");let o=t.querySelectorAll(e);if(0===o.length&&(o=!1),i&&!1===o)throw Error('At least one item of "'.concat(e,'" must exist in parent node!'));return o}static getFocusableElements(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document.body;return t.querySelectorAll('\n input:not([tabindex^="-"]):not([disabled]):not([type="hidden"]),\n select:not([tabindex^="-"]):not([disabled]),\n textarea:not([tabindex^="-"]):not([disabled]),\n button:not([tabindex^="-"]):not([disabled]),\n a[href]:not([tabindex^="-"]):not([disabled]),\n [tabindex]:not
1([tabindex^="-"]):not([disabled])\n ')}static getFirstFocusableElement(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document.body;return this.getFocusableElements(t)[0]}static getLastFocusableElement(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,e=this.getFocusableElements(t);return e[e.length-1]}}class r{publish(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=new CustomEvent(t,{detail:e,cancelable:i});return this.el.dispatchEvent(o),o}subscribe(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=this,n=t.split("."),r=i.scope?e.bind(i.scope):e;if(i.once&&!0===i.once){let e=r;r=function(i){o.unsubscribe(t),e(i)}}return this.el.addEventListener(n[0],r),this.listeners.push({splitEventName:n,opts:i,cb:r}),!0}unsubscribe(t){let e=t.split(".");return this.listeners=this.listeners.reduce((t,i)=>([...i.splitEventName].sort().toString()===e.sort().toString()?this.el.removeEventListener(i.splitEventName[0],i.cb):t.push(i),t),[]),!0}reset(){return this.listeners.forEach(t=>{this.el.removeEventListener(t.splitEventName[0],t.cb)}),this.listeners=[],!0}get el(){return this._el}set el(t){this._el=t}get listeners(){return this._listeners}set listeners(t){this._listeners=t}constructor(t=document){this._el=t,t.$emitter=this,this._listeners=[]}}class s{init(){throw Error('The "init" method for the plugin "'.concat(this._pluginName,'" is not defined.'))}update(){}_init(){this._initialized||(this.init(),this._initialized=!0)}_update(){this._initialized&&this.update()}_mergeOptions(t){let i=o.toDashCase(this._pluginName),r=n.getDataAttribute(this.el,"data-".concat(i,"-config"),!1),s=n.getAttribute(this.el,"data-".concat(i,"-options"),!1),l=[this.constructor.options,this.options,t];r&&l.push(window.PluginConfigManager.get(this._pluginName,r));try{s&&l.push(JSON.parse(s))}catch(t){throw console.error(this.el),Error('The data attribute "data-'.concat(i,'-options" could not be parsed to json: ').concat(t.message))}return e().all(l.filter(t=>t instanceof Object&&!(t instanceof Array)).map(t=>t||{}))}_registerInstance(){window.PluginManager.getPluginInstancesFromElement(this.el).set(this._pluginName,this),window.PluginManager.getPlugin(this._pluginName,!1).get("instances").push(this)}_getPluginName(t){return t||(t=this.constructor.name),t}constructor(t,e={},i=!1){if(!n.isNode(t))throw Error("There is no valid element given.");this.el=t,this.$emitter=new r(this.el),this._pluginName=this._getPluginName(i),this.options=this._mergeOptions(e),this._initialized=!1,this._registerInstance(),this._init()}}class l extends s{init(){this.options=e()(l.defaults,this.options),this._equalizeLayerAndLinkHeight(),this.options.debug&&(console.log("ElioCategoryTeaserPlugin loaded"),console.log("ElioCategoryTeaserPlugin options",this.options),console.log("ElioCategoryTeaserPlugin el",this.el),console.log("typeof window.allowClick",typeof window.allowClick)),void 0!==window.allowClick||(window.allowClick=!0,this.options.isTouchDevice&&(document.ontouchmove=function(){window.allowClick=!1},document.ontouchend=function(){window.allowClick=!0}),this.options.isTouchDevice||(document.onmousemove=function(){window.allowClick=!1},document.onmouseup=function(){window.allowClick=!0})),null===this.options.clickSelector?this.options.clickSelector=this.el:this.options.clickSelector=this.el.querySelector(this.options.clickSelector),this.options.debug&&console.log("this.options.clickSelector after mod",this.options.clickSelector),this.options.link=this.el.querySelector(this.options.linkSelector),this.options.debug&&console.log("this.options.link",this.options.link),this.options.link&&(this.options.link.addEventListener("click",t=>{t.stopPropagation()}),this.options.clickSelector.addEventListener("click",t=>{t.stopPropagation(),t.customTarget="clickSelector",this._runAction(t)}),this.options.clickSelector.style.cursor="pointer")}_runAction(t){if(!1===window.allowClick)t.preventDefault();else if("clickSelector"===t.customTarget){let t=0;this.options.isTouchDevice&&(t=this.options.mobileOpeningTime),this.el.classList.add("hover"),window.setTimeout(()=>{this.options.link.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0,view:window}))},t)}}
1_equalizeLayerAndLinkHeight(){if(this.el.classList.contains("no-background"))return;let t=this.el.querySelector(".elio-category-teaser-link-top"),e=this.el.querySelector(".elio-category-teaser__description"),i=null;t||(t=this.el.querySelector(".elio-category-teaser-link-bottom")),t&&e&&(i=t.getBoundingClientRect(),parseInt(window.getComputedStyle(e).height)+6<i.height&&(e.style.transition="none",e.style.height=i.height+"px",e.style.transition=null)),this.options.debug&&(console.log("this.el.classList.contains('no-background')",this.el.classList.contains("no-background")),console.log("overlay",e),console.log("linkWrap",t),console.log("boundaries",i),console.log("(parseInt(window.getComputedStyle(overlay).height) + 6)",parseInt(window.getComputedStyle(e).height)+6),i&&(console.log("boundaries.height",i.height),console.log("(parseInt(window.getComputedStyle(overlay).height) + 6)",parseInt(window.getComputedStyle(e).height)+6<i.height)))}}l.defaults={linkSelector:"a",clickSelector:null,mobileOpeningTime:500,debug:!1,isTouchDevice:void 0!==window.ontouchstart},window.PluginManager.register("ElioCategoryTeaserPlugin",l,".elio-category-teaser")})()})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.