PageSourceSearch

https://bulabula.com.au/cdn/shop/t/8/assets/utils.js?v=172123362488042381251781242178

js bulabula.com.au collected 2026-10-02 13:02:41 UTC 7,768 bytes, 3 lines download raw bytes

1function objectWithDefaults(defaults,provided){return filterObjectByValues(provided,value=>value==null),Object.assign(defaults,provided)}function wrap(el,tagName="div"){const wrapper=document.createElement(tagName);return el.parentNode.insertBefore(wrapper,el),wrapper.appendChild(el),wrapper}function wrapAll(nodes,wrapper){for(var parent=nodes[0].parentNode,previousSibling=nodes[0].previousSibling,i=0;nodes.length-i;wrapper.firstChild===nodes[0]&&i++)wrapper.appendChild(nodes[i]);return parent.insertBefore(wrapper,previousSibling.nextSibling),wrapper}function unwrap(wrapper){for(var docFrag=document.createDocumentFragment();wrapper.firstChild;){var child=wrapper.removeChild(wrapper.firstChild);docFrag.appendChild(child)}wrapper.parentNode.replaceChild(docFrag,wrapper)}function loadThisScript(scriptSrc2){const scriptEl=document.createElement("script");return scriptEl.src=scriptSrc2,scriptEl.type="module",new Promise((resolve,reject)=>{(document.head.querySelector(`script[src="${scriptSrc2}"]`)||document.body.querySelector(`script[src="${scriptSrc2}"]`))&&resolve(),document.body.appendChild(scriptEl),scriptEl.onload=()=>{resolve()},scriptEl.onerror=()=>{reject()}})}function loadTheseScripts(scriptSrcArray){const promises=[];for(scriptSrc of scriptSrcArray)promises.push(loadThisScript(scriptSrc));return Promise.all(promises)}let touchDevice=!1;function setTouch(){touchDevice=!0}function isTouch(){return touchDevice}function scrollToTopOf(element,extraOffset=20){if(!element)return;const top=element.getBoundingClientRect().top,stickyOffset=parseFloat(document.documentElement.style.getPropertyValue("--sticky-offset")),topOffset=Number.isNaN(stickyOffset)?top:top-(stickyOffset+extraOffset),prefersReducedMotion=window.matchMedia("(prefers-reduced-motion: reduce)");window.scroll({top:document.documentElement.scrollTop+topOffset,...!prefersReducedMotion.matches&&{behavior:"smooth"}})}function scrollToBottomOf(element,extraOffset=20){if(!element)return;const bottom=element.getBoundingClientRect().bottom,prefersReducedMotion=window.matchMedia("(prefers-reduced-motion: reduce)");window.scroll({top:bottom+document.documentElement.scrollTop-window.innerHeight,...!prefersReducedMotion.matches&&{behavior:"smooth"}})}function objectHasNoKeys(obj){for(var key in obj)if(obj.hasOwnProperty(key))return!1;return!0}function nextOrFirst(array,currentItem){return currentItem&&array[array.indexOf(currentItem)+1]||array[0]}function previousOrLast(array,currentItem){return currentItem&&array[array.indexOf(currentItem)-1]||array[array.length-1]}function getSizedImageUrl(src,size){const url=new URL(src);return url.searchParams.set("width",size),url}function getImageSrcset(src,sizes=[180,360,540,720,900,1080,1296,1512,1728,1944,2160,2376,2592,2808,3024]){if(!src)return;const srcset=[];
1return sizes.forEach(size=>{srcset.push(`${getSizedImageUrl(src,size.toString())} ${size}w`)}),srcset.join(`,
2`)}function fetchConfigDefaults(acceptHeader="application/json"){return{method:"POST",credentials:"same-origin",headers:{"X-Requested-With":"XMLHttpRequest","Content-Type":"application/json;",Accept:acceptHeader}}}function parseDOMFromString(htmlString){return window.___cascadeDOMParser=window.___cascadeDOMParser||new DOMParser,window.___cascadeDOMParser.parseFromString(htmlString,"text/html")}function querySelectorInHTMLString(selector,htmlString){return parseDOMFromString(htmlString).querySelector(selector)}async function fetchSectionHTML(url,selector){const fetchedSection=await(await fetch(url)).text();return setTimeout(()=>{document.body.dispatchEvent(new CustomEvent("switch:load:images",{bubbles:!0}))},300),querySelectorInHTMLString(selector,fetchedSection).innerHTML}window.__fetchCache=window.__fetchCache||{};const RESPONSE_TYPE_JSON=0,RESPONSE_TYPE_TEXT=1;async function fetchAndCache(url,options,cacheTimeout=5e3,forceFresh=!1,responseType){if(__fetchCache[url]&&!forceFresh)return __fetchCache[url];const responseReader=responseType===RESPONSE_TYPE_TEXT?Response.prototype.text:Response.prototype.json,res=await fetch(url,options),data=responseReader.call(res);return cacheTimeout&&cacheTimeout>0&&(__fetchCache[url]=data,setTimeout(()=>{delete __fetchCache[url]},cacheTimeout)),data}async function fetchHTML(url,options,cacheTimeout=5e3,forceFresh=!1){return fetchAndCache(url,options,cacheTimeout,forceFresh,RESPONSE_TYPE_TEXT)}function freshHTML(url,options){return fetchHTML(url,options,0,!0)}async function fetchJSON(url,options,cacheTimeout=5e3,forceFresh=!1){return fetchAndCache(url,options,cacheTimeout,forceFresh,RESPONSE_TYPE_JSON)}function freshJSON(url,options){return fetchJSON(url,options,0,!0)}async function fetchHTMLFragment(url,selector){const fetchedHTMLString=await fetchHTML(url),fragment=querySelectorInHTMLString(selector,fetchedHTMLString);return fragment?fragment.innerHTML:""}function isMdBreakpoint(){return window.matchMedia("(min-width: 768px").matches}function isLgBreakpoint(){return window.matchMedia("(min-width: 990px").matches}function showMobileSidebarNav(){return window.alwaysShowMobileSidebarNav===!0?!0:!isMdBreakpoint()}function initTeleport(el){if(!el)return;const teleportCandidates=el.querySelectorAll("[data-should-teleport]");teleportCandidates.length&&teleportCandidates.forEach(teleportCandidate=>{teleportCandidate.setAttribute("x-teleport",teleportCandidate.dataset.shouldTeleport)})}function getModalLabel(modalSlotName,slotEl){return Alpine.store("modals")[modalSlotName].open&&queueMicrotask(()=>{const labelSourceEl=Array.from(slotEl.children).filter(el=>el.hasAttribute("data-modal-label")&&!!el.offsetParent)[0];if(labelSourceEl)return labelSourceEl.dataset.modalLabel}),!1}function waitForContent(element){return new Promise((resolve,reject)=>{element.innerHTML.trim().length>0&&resolve(),new MutationObserver((mutationsList,observer)=>{element.innerHTML.trim().length>0&&(observer.disconnect(),resolve())}).observe(element,{childList:!0})})}function splideIsNotDestroyed(splideRootEl){if(splideRootEl)return!!(window.Splide&&splideRootEl&&window.slideshows&&window.slideshows[`${splideRootEl.id}`]&&!window.slideshows[`${splideRootEl.id}`].state.is(window.Splide.STATES.DESTROYED))}function iFrameCommand(iFrameEl,commandString){!iFrameEl||!commandString||iFrameEl.contentWindow.postMessage(JSON.stringify({event:"command",func:commandString,args:""}),"*")}function iFrameMethod(iFrameEl,methodString){!iFrameEl||!methodString||iFrameEl.contentWindow.postMessage(JSON.stringify({method:methodString}),"*")}function kebabCase(subject){return[" ","_"].includes(subject)?subject:subject.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[_\s]/,"-").toLowerCase()}function clearURLSearchParams(url){for(const key of[...url.searchParams.keys()])url.searchParams.delete(key)}function _getURLByModifyingParams(urlString,paramsInput,clear=!1,append){const url=new URL(urlString,window.location.origin);clear&&clearURLSearchParams(url);const params=new URLSearchParams(paramsInput),setOrAppendParam=append?URLSearchParams.prototype.append:URLSearchParams.prototype.set;for(const[key,value]of params)setOrAppendParam.call(url.searchParams,key,value);return url}function getURLWithParams(url,paramsInput,clear=!1){return _getURLByModifyingParams(url,paramsInput,clear,!1)}function currentURLWithParams(paramsInput,clear=!1){return getURLWithParams(window.location.href,paramsInput,clear)}function getURLAddingParams(url,paramsInput,clear=!1){return _getURLByModifyingParams(url,paramsInput,clear,!0)}function currentURLAddingParams(paramsInput,clear=!1){return getURLAddingParams(window.location.href,paramsInput,clear)}function capitalize(string){return string.charAt(0).toUpperCase()+string.slice(1)}
3//# sourceMappingURL=/cdn/shop/t/8/assets/utils.js.map?v=172123362488042381251781242178

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.