xtendui
Version:
Xtend UI is a powerful frontend library of Tailwind CSS components enhanced by vanilla js. It helps you build interfaces with advanced interactions and animations.
3 lines • 12.7 kB
JavaScript
/*! For license information please see 501.min.js.LICENSE.txt */
;(globalThis.webpackChunkxtendui=globalThis.webpackChunkxtendui||[]).push([[501],{235:(e,t,n)=>{var o=n(6846),r=n(3037),i=n(3326),s=n(5096),a=n(3603).get,l=RegExp.prototype,c=TypeError;o&&r&&s(l,"dotAll",{configurable:!0,get:function(){if(this!==l){if("RegExp"===i(this))return!!a(this).dotAll;throw new c("Incompatible receiver, RegExp required")}}})},1794:(e,t,n)=>{var o=n(392),r=n(3326),i=n(9489)("match");e.exports=function(e){var t;return o(e)&&(void 0!==(t=e[i])?!!t:"RegExp"===r(e))}},2324:(e,t,n)=>{var o=n(2138),r=n(8026),i=n(6933),s=n(4274),a=URLSearchParams,l=a.prototype,c=r(l.getAll),u=r(l.has),f=new a("a=1");!f.has("a",2)&&f.has("a",void 0)||o(l,"has",(function(e){var t=arguments.length,n=t<2?void 0:arguments[1];if(t&&void 0===n)return u(this,e);var o=c(this,e);s(t,1);for(var r=i(n),a=0;a<o.length;)if(o[a++]===r)return!0;return!1}),{enumerable:!0,unsafe:!0})},3385:(e,t,n)=>{var o=n(2138),r=n(8026),i=n(6933),s=n(4274),a=URLSearchParams,l=a.prototype,c=r(l.append),u=r(l.delete),f=r(l.forEach),p=r([].push),d=new a("a=1&a=2&b=3");d.delete("a",1),d.delete("b",void 0),d+""!="a=2"&&o(l,"delete",(function(e){var t=arguments.length,n=t<2?void 0:arguments[1];if(t&&void 0===n)return u(this,e);var o=[];f(this,(function(e,t){p(o,{key:t,value:e})})),s(t,1);for(var r,a=i(e),l=i(n),d=0,h=0,g=!1,m=o.length;d<m;)r=o[d++],g||r.key===a?(g=!0,u(this,r.key)):h++;for(;h<m;)(r=o[h++]).key===a&&r.value===l||c(this,r.key,r.value)}),{enumerable:!0,unsafe:!0})},4274:e=>{var t=TypeError;e.exports=function(e,n){if(e<n)throw new t("Not enough arguments");return e}},4303:(e,t,n)=>{var o=n(6846),r=n(8026),i=n(5096),s=URLSearchParams.prototype,a=r(s.forEach);o&&!("size"in s)&&i(s,"size",{get:function(){var e=0;return a(this,(function(){e++})),e},configurable:!0,enumerable:!0})},4501:(e,t,n)=>{n.r(t),n.d(t,{InfinitescrollInit:()=>r});n(7849),n(235),n(2925),n(9526),n(3385),n(2324),n(4303);var o=n(5498);class r{_init(){this._initVars(),this._initLogic()}_initVars(){const e=this;e._optionsDefault=o.Xt.merge([e.constructor.optionsDefault,o.Xt.options[e.componentName]]),e._optionsInitial=e.options=o.Xt.merge([e._optionsDefault,e._optionsCustom]);const t=e.options;e.current=Math.floor(t.min/t.perPage),t.get||(e._itemsFake=e.container.querySelector(t.elements.itemsContainer).cloneNode(!0))}_initLogic(){var e;const t=this,n=t.options;if(t.ns=t.ns??o.Xt.uniqueId(),t.enable(),o.Xt._initMatches({self:t,optionsInitial:t._optionsInitial}),t.initial=!0,t.scrollUp=t.container.querySelectorAll(n.elements.scrollUp),t.scrollDown=t.container.querySelectorAll(n.elements.scrollDown),t.itemsContainer=t.container.querySelector(n.elements.itemsContainer),t.spaceAdditionals=t.container.querySelectorAll(n.elements.spaceAdditional),t.paginations=t.container.querySelectorAll(n.elements.pagination),n.nocache){const e=o.Xt.dataStorage.put(window,`beforeunload/${t.ns}`,t._eventBeforeunload.bind(t));addEventListener("beforeunload",e)}const r=o.Xt.dataStorage.put(window,`scroll/${t.ns}`,t._eventScroll.bind(t));addEventListener("scroll",r);const i=null!==(e=n.events)&&void 0!==e&&e.on?n.events.on.split(" "):[];if(i.length)for(const e of[...Array.from(t.scrollUp),...Array.from(t.scrollDown)]){const r=o.Xt.dataStorage.put(e,`${n.events.on}/${t.ns}`,t._eventTrigger.bind(t,{trigger:e}));for(const t of i)e.addEventListener(t,r)}t._initStart(),t.container.dispatchEvent(new CustomEvent(`setup.${t._componentNs}`)),o.Xt.frameDouble({el:t.container,func:()=>{t.container.setAttribute(`data-${t.componentName}-init`,""),t.container.dispatchEvent(new CustomEvent(`init.${t._componentNs}`)),t.initial=!1,n.debug&&console.debug(`${t.componentName} init`,t)},ns:`${t.ns}Init`}),t.options.disabled&&t.disable()}_initStart(){const e=this,t=e.options;if(!e.disabled){if(e._setCurrent(),e._update(),e._paginate(),e._prefetch(),e.itemsContainer){const n=e.itemsContainer.querySelector(t.elements.item);n&&n.setAttribute("data-item-first",e.current)}if(t.nocache){const n=e._additionalSpace(),r=history.state;r&&r[`scrollResume${e._componentNs}`]&&o.Xt.ready({state:"complete",func:()=>{requestAnimationFrame((()=>{const o=e.itemsContainer.querySelector(t.elements.item);document.scrollingElement.scrollTop=r[`scrollResume${e._componentNs}`]+o.offsetTop+n}))}})}}}_eventTrigger(){let{trigger:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=this,n=t.options;if(t.disabled)return;const r=parseFloat(e.getAttribute("data-xt-infinitescroll-up")),i=parseFloat(e.getAttribute("data-xt-infinitescroll-down")),s=r||i;if(s){const n=t._getNext({amount:s}),i=t.itemsContainer.querySelector(`[data-item-first="${n}"]`);n===t.current||i||(t._setCurrent({page:n}),t.inverse=!!r,t.container.classList.contains("xt-infinitescroll-loading")||(t.container.classList.add("xt-infinitescroll-loading"),o.Xt.perf({func:()=>{t._request(),t._prefetch({trigger:e})}})))}else t._setCurrent({page:Math.floor(n.min/n.perPage)}),location=t._url.href}_getNext(){let{amount:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=this.options;let n=this.current+e;const o=Math.floor(t.min/t.perPage),r=Math.ceil(t.max/t.perPage);return n=n<o?o:n,n=n>r?r:n,n}_eventBeforeunload(){const e=this;if(!e.disabled&&e._scrollResume){const t={};t[`scrollResume${e._componentNs}`]=e._scrollResume,history.replaceState(t,"",e._url.href)}}_eventScroll(){var e;const t=this,n=t.options;if(t.disabled||t._loading)return;const r=document.scrollingElement.scrollTop,i=window.innerHeight,s=Array.from(t.itemsContainer.querySelectorAll("[data-item-first]")).reverse();let a=s[s.length-1];for(const e of s){if(e.getBoundingClientRect().top<i/2){a=e;break}}if(t._setCurrent({page:parseFloat(a.getAttribute("data-item-first"))}),t._paginate(),n.nocache){const e=t._additionalSpace();t._scrollResume=r-a.offsetTop-e}const l=t._url.origin||`${t._url.protocol}//${t._url.host}`;l===location.origin?t._url.href!==location.href&&history.replaceState(null,"",t._url.href):console.error("Error: Xt.Infinitescroll cannot set history with different origin",l);if((null!==(e=n.events)&&void 0!==e&&e.on?n.events.on.split(" "):[]).length){if(n.events.scrollUp&&t._scrollTopOld>r)for(const e of t.scrollUp){if(r<e.offsetTop){o.Xt.dataStorage.get(e,`${n.events.on}/${t.ns}`)({target:e})}}if(n.events.scrollDown&&t._scrollTopOld<=r)for(const e of t.scrollDown){if(r+i>e.offsetTop+e.offsetHeight){o.Xt.dataStorage.get(e,`${n.events.on}/${t.ns}`)({target:e})}}}t._scrollTopOld=r}_request(){const e=this;e._loading=!0,fetch(e._url.href,{method:"GET"}).then((e=>e.ok?e.text():Promise.reject(e))).then((t=>{e._success({text:t})})).catch((()=>{e._error()}))}_success(){let{text:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=this,n=t.options,o=document.createElement("html");o.innerHTML=e,t.loadedHtml=o;const r=o.querySelector(n.elements.itemsContainer);n.get&&r?(t._loading=!1,t._populate({itemsContainer:r})):setTimeout((()=>{t._loading=!1,t._populate({itemsContainer:t._itemsFake.cloneNode(!0)})}),1e3)}_error(){this._loading=!1,this.container.classList.remove("xt-infinitescroll-loading")}_populate(){let{itemsContainer:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=this,n=t.options,r=e.querySelectorAll(n.elements.item);let i;r[0].setAttribute("data-item-first",t.current),o.Xt.perf({func:()=>{var e;null===(e=r[0].querySelector("input, select, textarea, button, object, a, area[href], [tabindex]"))||void 0===e||e.focus()}});const s=t.itemsContainer.querySelectorAll(`${n.elements.item}`);for(const e of r)if(t.inverse){s[0].before(e)}else{const o=t.itemsContainer.querySelectorAll(`${n.elements.item}`);i=o[o.length-1],i.after(e)}t.container.classList.remove("xt-infinitescroll-loading"),t._update(),t._paginate(),t._eventScroll(),o.Xt.frame({el:t.container,ns:`${t.ns}Populate`,func:()=>{t.container.dispatchEvent(new CustomEvent(`populate.${t._componentNs}`))}})}_paginate(){const e=this,t=e.options;for(const n of e.paginations)if(!n.dataset.current||e.current>parseFloat(n.dataset.current)){n.dataset.current=e.current,n.dataset.html=n.dataset.html?n.dataset.html:n.innerHTML;let r=n.dataset.html,i=new RegExp("xt-num","ig");if(-1!==r.search(i)){let n=e.current*t.perPage;n=n>t.max?t.max:n,r=r.replace(i,n)}i=new RegExp("xt-tot","ig"),-1!==r.search(i)&&(r=r.replace(i,t.max)),n.innerHTML=o.Xt.sanitize(r)}}_update(){const e=this,t=e.options;e.current<=Math.floor(t.min/t.perPage)&&e.container.classList.add("xt-infinitescroll-first"),e.current>=Math.ceil(t.max/t.perPage)&&e.container.classList.add("xt-infinitescroll-last")}enable(){const e=this;e.disabled&&(e.disabled=!1,e.container.dispatchEvent(new CustomEvent(`status.${e._componentNs}`)))}disable(){let{skipEvent:e=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=this;t.disabled||(t.disabled=!0,e||t.container.dispatchEvent(new CustomEvent(`status.${t._componentNs}`)))}_additionalSpace(){const e=this;let t=0;for(const n of e.spaceAdditionals)t+=n.offsetHeight;return t}_setCurrent(){let{page:e=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=this,n=t.options,o=new URL(location.href),r=new URLSearchParams(o.search),i=r.get(n.get);t.current=null!==e?e:i?parseFloat(i):t.current,r.set(n.get,t.current),o.search=r.toString(),t._url=o}_prefetch(){let{trigger:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const t=this,n=t.options;if(n.prefetch){const o=e?[e]:[...Array.from(t.scrollUp),...Array.from(t.scrollDown)];for(const e of o){const o=parseFloat(e.getAttribute("data-xt-infinitescroll-up")),r=parseFloat(e.getAttribute("data-xt-infinitescroll-down")),i=o||r,s=new URL(location.href),a=new URLSearchParams(s.search),l=t._getNext({amount:i});if(t.current!==l){a.set(n.get,l),s.search=a.toString();const e=document.createElement("link");e.rel="prefetch",e.href=s,e.as="fetch",document.head.appendChild(e)}}}}reinit(){this._initLogic()}destroy(){const e=this,t=e.options;if(t.nocache){const t=o.Xt.dataStorage.get(window,`beforeunload/${e.ns}`);removeEventListener("beforeunload",t)}const n=o.Xt.dataStorage.get(window,`scroll/${e.ns}`);removeEventListener("scroll",n);for(const n of[...Array.from(e.scrollUp),...Array.from(e.scrollDown)]){const r=o.Xt.dataStorage.get(n,`${t.events.on}/${e.ns}`);n.removeEventListener(t.events.on,r)}e.container.removeAttribute(`data-${e.componentName}-init`),o.Xt._remove({name:e.componentName,el:e.container}),e.container.dispatchEvent(new CustomEvent(`destroy.${e._componentNs}`))}}},7849:(e,t,n)=>{var o=n(6846),r=n(2506),i=n(8026),s=n(4346),a=n(1037),l=n(7325),c=n(8362),u=n(230).f,f=n(6399),p=n(1794),d=n(6933),h=n(8536),g=n(7099),m=n(7246),v=n(2138),_=n(7737),b=n(9883),y=n(3603).enforce,S=n(9459),w=n(9489),x=n(3037),E=n(448),A=w("match"),C=r.RegExp,$=C.prototype,R=r.SyntaxError,L=i($.exec),T=i("".charAt),N=i("".replace),X=i("".indexOf),q=i("".slice),k=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,P=/a/g,U=/a/g,D=new C(P)!==P,I=g.MISSED_STICKY,M=g.UNSUPPORTED_Y,F=o&&(!D||I||x||E||_((function(){return U[A]=!1,C(P)!==P||C(U)===U||"/a/i"!==String(C(P,"i"))})));if(s("RegExp",F)){for(var H=function(e,t){var n,o,r,i,s,u,g=f($,this),m=p(e),v=void 0===t,_=[],S=e;if(!g&&m&&v&&e.constructor===H)return e;if((m||f($,e))&&(e=e.source,v&&(t=h(S))),e=void 0===e?"":d(e),t=void 0===t?"":d(t),S=e,x&&"dotAll"in P&&(o=!!t&&X(t,"s")>-1)&&(t=N(t,/s/g,"")),n=t,I&&"sticky"in P&&(r=!!t&&X(t,"y")>-1)&&M&&(t=N(t,/y/g,"")),E&&(i=function(e){for(var t,n=e.length,o=0,r="",i=[],s=c(null),a=!1,l=!1,u=0,f="";o<=n;o++){if("\\"===(t=T(e,o)))t+=T(e,++o);else if("]"===t)a=!1;else if(!a)switch(!0){case"["===t:a=!0;break;case"("===t:if(r+=t,"?:"===q(e,o+1,o+3))continue;L(k,q(e,o+1))&&(o+=2,l=!0),u++;continue;case">"===t&&l:if(""===f||b(s,f))throw new R("Invalid capture group name");s[f]=!0,i[i.length]=[f,u],l=!1,f="";continue}l?f+=t:r+=t}return[r,i]}(e),e=i[0],_=i[1]),s=a(C(e,t),g?this:$,H),(o||r||_.length)&&(u=y(s),o&&(u.dotAll=!0,u.raw=H(function(e){for(var t,n=e.length,o=0,r="",i=!1;o<=n;o++)"\\"!==(t=T(e,o))?i||"."!==t?("["===t?i=!0:"]"===t&&(i=!1),r+=t):r+="[\\s\\S]":r+=t+T(e,++o);return r}(e),n)),r&&(u.sticky=!0),_.length&&(u.groups=_)),e!==S)try{l(s,"source",""===S?"(?:)":S)}catch(e){}return s},O=u(C),z=0;O.length>z;)m(H,C,O[z++]);$.constructor=H,H.prototype=$,v(r,"RegExp",H,{constructor:!0})}S("RegExp")},8536:(e,t,n)=>{var o=n(6671),r=n(9883),i=n(6399),s=n(6461),a=RegExp.prototype;e.exports=function(e){var t=e.flags;return void 0!==t||"flags"in a||r(e,"flags")||!i(a,e)?t:o(s,e)}},9459:(e,t,n)=>{var o=n(9073),r=n(5096),i=n(9489),s=n(6846),a=i("species");e.exports=function(e){var t=o(e);s&&t&&!t[a]&&r(t,a,{configurable:!0,get:function(){return this}})}}}]);
//# sourceMappingURL=501.min.js.map