@appartmint/mint 2.5.0 → 2.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css/mint.css +212 -88
- package/dist/css/mint.css.map +1 -1
- package/dist/css/mint.min.css +1 -1
- package/dist/css/mint.min.css.map +1 -1
- package/dist/js/imports/abstract/attaches-events.d.ts +1 -1
- package/dist/js/imports/components/header.d.ts +10 -111
- package/dist/js/imports/components/header.d.ts.map +1 -1
- package/dist/js/imports/components/index.d.ts +1 -1
- package/dist/js/imports/components/index.d.ts.map +1 -1
- package/dist/js/imports/components/{tray.d.ts → panel.d.ts} +18 -14
- package/dist/js/imports/components/panel.d.ts.map +1 -0
- package/dist/js/index.js +74 -420
- package/dist/js/index.js.map +1 -1
- package/dist/js/index.min.js +1 -1
- package/dist/js/index.min.js.map +1 -1
- package/package.json +1 -1
- package/src/scss/imports/components/partial/_chat.scss +131 -0
- package/src/scss/imports/components/partial/_header.scss +22 -103
- package/src/scss/imports/components/partial/_index.scss +1 -0
- package/src/scss/imports/components/widget/_button.scss +2 -0
- package/src/scss/imports/components/widget/_index.scss +2 -0
- package/src/scss/imports/components/widget/_menu.scss +0 -0
- package/src/scss/imports/components/widget/_panel.scss +100 -0
- package/src/scss/imports/global/_global.scss +1 -1
- package/dist/js/imports/components/tray.d.ts.map +0 -1
package/dist/js/index.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var t,e={d:(t,s)=>{for(var i in s)e.o(s,i)&&!e.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:s[i]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)},s={};e.d(s,{N7:()=>t,TQ:()=>l,hu:()=>i,Jy:()=>h,BT:()=>c,Fi:()=>n,Ah:()=>M,sh:()=>m,c2:()=>k,f$:()=>g,JX:()=>a,mf:()=>x,E_:()=>d,qS:()=>b,dG:()=>y,a6:()=>r,cQ:()=>f,JS:()=>E,li:()=>w,Qh:()=>v});class i{events=[];attachEvent(t,e,s){if(t){let i=this.events.find((e=>e.el===t));i?(i.handlers.push(s),i.events.push(e)):this.events.push({el:t,handlers:[s],events:[e]}),t.addEventListener(e,s)}}detachEvents(){this.events.forEach((t=>{t.handlers.forEach(((e,s)=>{t.el?.removeEventListener(t.events[s],e)}))})),this.events=[]}}class a{static randomInt(t,e=0){return e=Math.ceil(e),t=Math.floor(t),Math.floor(Math.random()*(t-e)+e)}static clamp(t,e,s){return Math.max(Math.min(t??e,s),e)}static headerMin=1;static headerMax=6;static headerLevel(t){return this.clamp(t,this.headerMin,this.headerMax)}}class n{static gridNum(t){return a.clamp(t,1,4)}}!function(t){t[t.Top=0]="Top",t[t.Right=1]="Right",t[t.Bottom=2]="Bottom",t[t.Left=3]="Left"}(t||(t={}));class l{static wait(t){return new Promise((e=>setTimeout(e,t)))}}class r{static delayBase=0;static delayStep=100;static delay={instant:this.delayBase+0*this.delayStep,fast:this.delayBase+1*this.delayStep,medFast:this.delayBase+2*this.delayStep,default:this.delayBase+3*this.delayStep,medSlow:this.delayBase+4*this.delayStep,slow:this.delayBase+5*this.delayStep};static break={z:0,xs:480,sm:768,md:1024,lg:1200,xl:1440};static set(t){let e=!1;"number"==typeof t.delayBase&&(this.delayBase=t.delayBase,e=!0),"number"==typeof t.delayStep&&(this.delayStep=t.delayStep,e=!0),e&&this.setDelay(),t.delay&&Object.keys(t.delay).length&&Object.values(t.delay).reduce(((t,e)=>t&&"number"==typeof e),!0)&&(this.delay={...this.delay,...t.delay}),t.break&&Object.keys(t.break).length&&Object.values(t.break).reduce(((t,e)=>t&&"number"==typeof e),!0)&&(this.break={...this.break,...t.break})}static setDelay(){this.delay={instant:this.delayBase+0*this.delayStep,fast:this.delayBase+1*this.delayStep,medFast:this.delayBase+2*this.delayStep,default:this.delayBase+3*this.delayStep,medSlow:this.delayBase+4*this.delayStep,slow:this.delayBase+5*this.delayStep}}}const o=r;class h{static show(e,s=r.delay.default,i=t.Top){e&&(e.style.display="",requestAnimationFrame((()=>{i===t.Top||i===t.Bottom?e.style.height=`${e.scrollHeight}px`:e.style.width=`${e.scrollWidth}px`,setTimeout((()=>{i===t.Top||i===t.Bottom?e.style.height="auto":e.style.width="auto"}),s)})))}static hide(e,s=r.delay.default,i=t.Top){if(e){let a=e.scrollHeight,n=e.scrollWidth,l=e.style.transition;e.style.transition="",requestAnimationFrame((()=>{i===t.Top||i===t.Bottom?e.style.height=`${a}px`:e.style.width=`${n}px`,e.style.transition=l,requestAnimationFrame((()=>{i===t.Top||i===t.Bottom?e.style.height="0":e.style.width="0"}))})),setTimeout((()=>{e.style.display="none"}),s)}}}class c{static debounce(t,e=o.delay.default){let s;return function(i){s&&clearTimeout(s),s=setTimeout(t,e,i)}}static debounceEvent(t,e=o.delay.default){return c.debounce(t,e)}static throttle(t,e=o.delay.default,s){let i,a,n,l,r=0,h=function(){r=!1===s?.leading?0:(new Date).getTime(),l=0,n=t.apply(i,a),l||(i=a=null)};return function(){let o=(new Date).getTime();r||!1!==s?.leading||(r=o);let c=e-o+r;return i=this,a=arguments,c<=0||c>e?(l&&(clearTimeout(l),l=0),r=o,n=t.apply(i,a),l||(i=a=null)):l||!1===s?.trailing||(l=window.setTimeout(h,c)),n}}static throttleEvent(t,e=o.delay.default,s){return c.throttle(t,e,s)}}const u=c;class d{static isSimilar(t,e){let s=Object.keys(t);if(s.length!==Object.keys(e).length)return!1;let i=!0;return s.forEach((s=>{t[s]!==e[s]&&(i=!1)})),i}static isSuperset(t,e){let s=!0;if(t===e)return s;try{if(0===Object.keys(e).length)return!s}catch(t){return!s}return Object.keys(e).forEach((i=>{s=s&&d.isSuperset(t[i],e[i])})),s}static remove(t,e){return this.removeKeys(t,e)}static removeKeys(t,e){return Object.keys(t).reduce(((s,i)=>(e.includes(i)||(s[i]=t[i]),s)),{})}static removeValues(t,e){return Object.keys(t).reduce(((s,i)=>(e.includes(t[i])||(s[i]=t[i]),s)),{})}static sort(t,e){return this.sortKeys(t,e)}static sortKeys(t,e){return Object.keys(t).sort(e).reduce(((e,s)=>(e[s]=t[s],e)),{})}static sortValues(t,e){return Object.keys(t).sort(((s,i)=>e(t[s],t[i]))).reduce(((e,s)=>(e[s]=t[s],e)),{})}static filter(t,e){return this.filterKeys(t,e)}static filterKeys(t,e){return e.reduce(((e,s)=>(e[s]=t[s],e)),{})}static filterValues(t,e){return Object.keys(t).reduce(((s,i)=>(e.includes(t[i])&&(s[i]=t[i]),s)),{})}static updateArray(t,e,s="id"){if(e?.length){const i=e.reduce(((t,e)=>({...t,[e?.[s]??""]:e})),{}),a=t.filter((t=>!i[t?.[s]??""]));a?.forEach((e=>{const s=t.indexOf(e);"number"==typeof s&&-1!==s&&t.splice(s,1)})),t.forEach((t=>{i[t?.[s]??""]&&Object.assign(t,i[t?.[s]??""])}))}else e?.forEach((e=>t.push(e)));const i=e?.filter((e=>!t.some((t=>t?.[s]===e?.[s]))));i?.forEach((e=>t.push(e)))}static getKeyByValue(t,e){return Object.keys(t).find((s=>t[s]===e))}static deepClone(t){const e={};for(const s in t)"function"==typeof t[s]?e[s]=t[s].bind(e):t[s]&&"object"==typeof t[s]?e[s]=this.deepClone(t[s]):e[s]=t[s];return e}}const p=d;class m{static icons={'a[href^="mailto:"]':"far fa-envelope",'a[href^="tel:"]':"fas fa-phone-flip",'a[href^="sms:"]':"far fa-message",'a[href^="https://maps"]':"fas fa-map-location-dot",'a[href^="http"]':"fas fa-up-right-from-square"};static append(t,e){document.querySelectorAll(e).forEach((e=>{let s=document.createElement("i");s.classList.add(...t.split(" ")),e.querySelector("i")||e.appendChild(s),s.classList.contains("fa-up-right-from-square")&&e.setAttribute("target","_blank")}))}static update(t){let e=p.removeValues({...this.icons,...t},[!1]);Object.keys(e).forEach((t=>{this.append(e[t],t)}))}static remove(t,e){document.querySelectorAll(e).forEach((t=>{let e=t.querySelector("i");e&&e.remove()}))}}class g{static shuffleCopy(t){let e=[...t];for(let t=e.length-1;t>0;t--){const s=Math.floor(Math.random()*(t+1));[e[t],e[s]]=[e[s],e[t]]}return e}static filter(t,e){let s=0;for(let i=0;i<t.length;i++)e(t[i])&&(t[s++]=t[i]);return t.length=s,t}}class b{static toTop(){window.scrollTo(0,0)}static toBottom(){window.scrollTo(0,document.body.scrollHeight)}static showElements(){requestAnimationFrame((()=>{let t=document.querySelectorAll(".mint-fall-in:not(.mint-show)"),e=[];for(let s=0;s<t.length;s++)t[s].getBoundingClientRect().top<0?t[s].classList.add("mint-show"):t[s].getBoundingClientRect().top<3*window.innerHeight/4&&e.push(t[s]);for(let t=0;t<e.length;t++)setTimeout((()=>{e[t].classList.add("mint-show")}),100*t)}))}static showElementsOnScroll(){window.addEventListener("scroll",u.throttleEvent(this.showElements,200))}}class y{static lib="mint";static pre=`${this.lib}-`;static disabled="[disabled]";static hasControls="[aria-controls]";static hasExpanded="[aria-expanded]";static hasLink="[href]";static hasRouterLink="[routerLink]";static hasId="[id]";static notTabbable='[tabindex^="-"]';static tabbable=`[tabindex]${this.neg(this.notTabbable)}`;static focusable=`input${this.neg(this.disabled)}${this.neg(this.notTabbable)},\n select${this.neg(this.disabled)}${this.neg(this.notTabbable)},\n textarea${this.neg(this.disabled)}${this.neg(this.notTabbable)},\n button${this.neg(this.disabled)}${this.neg(this.notTabbable)},\n object${this.neg(this.disabled)}${this.neg(this.notTabbable)},\n a${this.hasLink}, a${this.hasRouterLink},\n area${this.hasLink},\n ${this.tabbable}`.replace(/\s/g,"");static subMenuButtons=`button${this.hasControls}`;static subMenu=`${this.subMenuButtons} + ul${this.hasId}`;static prefix(t){return(t=t.toLowerCase()).startsWith(this.pre)?t:`${this.pre}${t}`}static cssPrefix(t){return`--${this.prefix(t.replace(/^-+/,""))}`}static cssVar(t){return`var(${this.cssPrefix(t)})`}static neg(t){return`:not(${t})`}static class(t){return`.${this.prefix(t)}`}static id(t){return`#${this.prefix(t)}`}static controls(t){return t?`[aria-controls="${this.prefix(t)}"]`:this.hasControls}static expanded(t){return"boolean"==typeof t?`[aria-expanded="${t}"]`:this.hasExpanded}static getFocusables(t){let e;return e=t?Array.from(t.querySelectorAll(this.focusable)):Array.from(document.querySelectorAll(this.focusable)),e.filter((t=>this.isFocusable(t)))}static isFocusable(t){let e=t;do{if("none"===window.getComputedStyle(e).getPropertyValue("display").toLowerCase())return!1;e=e.parentElement}while(e);return!0}}class f{static slug(t){return t?.trim().toLowerCase().replace(/'/g,"").replace(/[^\w/-]+/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"").replace(/^\/+|\/+$/g,"")??""}static unslug(t){return this.titleCase(t.replace(/[-/]+/g," "))}static phone(t){const e=t?.toString().trim()??"";if("("===e||""===e)return e;let s=e.replace(/\D/g,"")??"",i="";s.length>10&&(i+=`+${s.slice(0,s.length-10)} `,s=s.slice(s.length-10));for(var a=0;a<s.length;a++){switch(a){case 0:i+="(";break;case 3:i+=") ";break;case 6:i+="-"}i+=s[a]}switch(e[e.length-1]){case")":3===a&&(i+=") ");break;case"-":6===a&&(i+="-")}return i}static plural(t){return t.endsWith("ies")||t.endsWith("es")||t.endsWith("s")&&!t.endsWith("us")&&!t.endsWith("is")&&!t.endsWith("ss")?t:t.endsWith("y")&&!["a","e","i","o","u"].includes(t.charAt(t.length-2))?t.slice(0,-1)+"ies":t.endsWith("s")||t.endsWith("sh")||t.endsWith("ch")||t.endsWith("x")||t.endsWith("z")?t+"es":t+"s"}static titleCase(t){return t.toLowerCase().replace(/(?:^|\s)\S/g,(t=>t.toUpperCase()))}static copyText(t){let e=document.createElement("textarea");return!(!t||!e||(e.value=t,e.style.cssText="\n position: fixed;\n top: 0;\n left: 0;\n transform: translate(-100%, -100%);\n opacity: 0;\n z-index: -1;\n ",document.body.appendChild(e),e.select(),e.setSelectionRange(0,99999),navigator.clipboard.writeText(e.value),document.body.removeChild(e),0))}static isEmail(t){return null!==t.match(/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/)}static generateId(t=10){return Math.random().toString(36).substring(2,t+2)}static isImage(t){return t?.match(/\.(jpe?g|png|webp|gif|svg)$/i)?.length}}class w{static width(){const t=document.body.getBoundingClientRect().width%1;return window.innerWidth+t}static height(){const t=document.body.getBoundingClientRect().height%1;return window.innerHeight+t}}class M{settings={from:t.Top,fixed:!0};el={};events=[];constructor(t){this.settings={...this.settings,...t},this.attachElements(),this.attachEvents(),this.addClasses()}destroy(){console.log("npm destroy",this.events),this.events.forEach((t=>{t.handlers.forEach(((e,s)=>{t.el?.removeEventListener(t.events[s],e)}))})),this.events=[]}attachElements(){this.el.html=document.querySelector("html"),this.el.body=document.querySelector("body"),this.el.header=document.getElementById("mint-header"),this.el.mobileButton=this.el.header?.querySelector(y.controls("mint-wrapper"))||null,this.el.wrapper=document.getElementById("mint-wrapper"),this.el.main=document.getElementsByTagName("main")[0]}attachEvent(t,e,s){if(t){let i=this.events.find((e=>e.el===t));i?(i.handlers.push(s),i.events.push(e)):this.events.push({el:t,handlers:[s],events:[e]}),t.addEventListener(e,s)}}attachEvents(){this.attachEvent(window,"resize",c.throttleEvent(this.eHandleResize.bind(this),r.delay.default)),this.attachEvent(window,"scroll",c.throttleEvent(this.eHandleScroll.bind(this),r.delay.default,{trailing:!1})),this.attachEvent(this.el.main,"click",c.throttleEvent(this.eCloseMobileMenu.bind(this),r.delay.default,{trailing:!1}));let t=this.el.header?.querySelectorAll(y.focusable),e=t?.[t?.length-1];this.attachEvent(e,"keydown",c.throttleEvent(this.eWrapTab.bind(this))),t?.forEach((t=>{this.attachEvent(t,"keydown",c.throttleEvent(this.eHandleKeypress.bind(this)))}));let s=this.el.wrapper?.querySelectorAll(y.controls());s?.forEach((t=>{this.attachEvent(t,"click",c.throttleEvent(this.eToggleMenu.bind(this),r.delay.slow,{trailing:!1}))})),this.attachEvent(this.el.mobileButton,"click",c.throttleEvent(this.eToggleMobileMenu.bind(this),r.delay.slow,{trailing:!1})),this.attachEvent(this.el.wrapper,"transitionend",this.eTransitionEnd.bind(this))}addClasses(){this.el.header?.classList.remove("mint-top","mint-right","mint-bottom","mint-left"),this.el.header?.classList.add(`mint-${t[this.settings.from??0].toLowerCase()}`),this.settings.fixed&&this.el.body?.classList.add("mint-fixed"),this.settings.tray&&this.el.header?.classList.add("mint-tray")}setMobileMenu(e=!1){let s=e?"true":"false",i=e?"close menu":"open menu";this.el.mobileButton?.setAttribute("aria-expanded",s),setTimeout((()=>{this.el.mobileButton?.setAttribute("aria-label",i)}),r.delay.fast),e?(!0!==this.settings.fixed&&window.scroll({top:0,left:0,behavior:"smooth"}),setTimeout((()=>{if(this.el.html){let t=w.width()<=r.break.sm,e="auto";this.settings.tray?t&&(e="hidden"):e="hidden",this.el.html.style.overflow=e}}),this.settings.from===t.Left?r.delay.default:r.delay.instant),this.el.wrapper&&(this.el.wrapper.style.display="flex"),requestAnimationFrame((()=>{this.el.wrapper?.classList.add("mint-open")}))):(this.el.html&&(this.el.html.style.overflow="auto"),requestAnimationFrame((()=>{this.el.wrapper?.classList.remove("mint-open")})),this.closeAllMenus())}toggleMobileMenu(){this.setMobileMenu("false"===this.el.mobileButton?.getAttribute("aria-expanded")?.toLowerCase())}setMenu(t,e=!1){let s=e?"true":"false",i=t?.nextElementSibling;t&&i&&(t.setAttribute("aria-expanded",s),e?h.show(i):(h.hide(i),this.closeSubMenus(t)))}toggleMenu(t){this.setMenu(t,"true"!==t?.getAttribute("aria-expanded")?.toLowerCase())}closeSubMenus(t){let e=t?.nextElementSibling,s=e?.querySelectorAll(y.subMenuButtons);s.forEach((t=>{t.parentElement?.parentElement===e&&this.setMenu(t)}))}closeSiblingMenus(t){let e=t?.parentElement,s=e?.parentElement?.querySelectorAll(y.subMenuButtons);s.forEach((e=>{e!==t&&this.setMenu(e)}))}closeAllMenus(){let t=this.el.wrapper?.querySelectorAll(y.subMenuButtons);t?.forEach((t=>{this.setMenu(t)}))}openClosestMenu(){let t=document.activeElement,e=t?.nextElementSibling,s="true"===t?.getAttribute("aria-expanded")?.toLowerCase();if("mint-wrapper"===t?.getAttribute("aria-controls")&&(e=this.el.wrapper),t?.getAttribute("aria-controls")&&e&&!s){t.click();let s=e.querySelector(y.focusable);s?.focus()}}closeClosestMenu(){let t=document.activeElement,e=t?.closest(y.subMenu),s=e?.previousElementSibling?e.previousElementSibling:this.el.mobileButton;t?.getAttribute("aria-controls")&&"true"===t?.getAttribute("aria-expanded")?.toLowerCase()&&(s=t),"true"===s?.getAttribute("aria-expanded")?.toLowerCase()&&(s?.click(),s?.focus())}toggleClosestMenu(){"true"===document.activeElement?.getAttribute("aria-expanded")?.toLowerCase()?this.closeClosestMenu():this.openClosestMenu()}eHandleResize(){const t=w.width()<=r.break.sm;let e=!0;this.el.header?.classList.contains("mint-tray")?e=!1:this.el.header?.classList.contains("mint-expand")||(e=!1),!t&&e&&this.setMobileMenu(!1);let s="auto";"true"===this.el.mobileButton?.getAttribute("aria-expanded")?.toLowerCase()&&(this.settings.tray?t&&(s="hidden"):s="hidden"),this.el.html&&(this.el.html.style.overflow=s)}eHandleScroll(){this.closeAllMenus()}eWrapTab(t){"tab"!==t.key.toLowerCase()||t.shiftKey||(this.el.mobileButton?.focus(),document.activeElement===this.el.mobileButton&&t.preventDefault())}eHandleButtonKeypress(t){let e=t.target,s=e?.closest("li");switch(t.key.toLowerCase()){case"escape":s?.classList.contains("mint-open")?this.setMenu(s):(this.setMobileMenu(),this.el.menuButton?.focus());break;case"arrowleft":this.closeClosestMenu();break;case"arrowright":this.openClosestMenu();break;case"enter":case"space":e?.click()}}eHandleLinkKeypress(t){let e=t.target;switch(t.key.toLowerCase()){case"escape":case"arrowleft":this.closeClosestMenu();break;case"arrowright":this.openClosestMenu();break;case"enter":case"space":e?.click()}}eHandleKeypress(t){"tab"!==t.key.toLowerCase()&&t.preventDefault();const e=t.target;switch(e?.tagName.toLowerCase()){case"a":this.eHandleLinkKeypress(t);break;case"button":this.eHandleButtonKeypress(t)}}eToggleMobileMenu(){this.toggleMobileMenu()}eCloseMobileMenu(){this.setMobileMenu(!1)}eToggleMenu(t){let e=t.target;this.closeSiblingMenus(e),this.toggleMenu(e)}eTransitionEnd(){!1===this.el.wrapper?.classList.contains("mint-open")&&(this.el.wrapper.style.display="none")}}class x extends i{settings={};el={};constructor(t){if(super(),this.settings={...this.settings,...t},!this.settings.wrapperId)throw new Error("Wrapper ID is required");this.attachElements(),this.attachEvents(),requestAnimationFrame((()=>{this.closeAllMenus()}))}attachElements(){this.el.wrapper=document.getElementById(this.settings.wrapperId)}attachEvents(){this.attachEvent(window,"scroll",c.throttleEvent(this.eHandleScroll.bind(this),r.delay.default,{trailing:!1}));const t=this.el.wrapper?.querySelectorAll(y.focusable);t?.forEach((t=>{this.attachEvent(t,"keydown",c.throttleEvent(this.eHandleKeypress.bind(this)))}));const e=this.el.wrapper?.querySelectorAll(y.controls());e?.forEach((t=>{this.attachEvent(t,"click",c.throttleEvent(this.eToggleMenu.bind(this),r.delay.slow,{trailing:!1}))}))}setMenu(t,e=!1){let s=e?"true":"false",i=t?.nextElementSibling;t&&i&&(t.setAttribute("aria-expanded",s),e?h.show(i):(h.hide(i),this.closeSubMenus(t)))}toggleMenu(t){this.setMenu(t,"true"!==t?.getAttribute("aria-expanded")?.toLowerCase())}closeSubMenus(t){let e=t?.nextElementSibling,s=e?.querySelectorAll(y.subMenuButtons);s.forEach((t=>{t.parentElement?.parentElement===e&&this.setMenu(t)}))}closeSiblingMenus(t){let e=t?.parentElement,s=e?.parentElement?.querySelectorAll(y.subMenuButtons);s.forEach((e=>{e!==t&&this.setMenu(e)}))}closeAllMenus(){let t=this.el.wrapper?.querySelectorAll(y.subMenuButtons);t?.forEach((t=>{this.setMenu(t)}))}openClosestMenu(){let t=document.activeElement,e=t?.nextElementSibling,s="true"===t?.getAttribute("aria-expanded")?.toLowerCase();if(t?.getAttribute("aria-controls")===this.settings.wrapperId&&(e=this.el.wrapper),t?.getAttribute("aria-controls")&&e&&!s){t.click();let s=e.querySelector(y.focusable);s?.focus()}}closeClosestMenu(){let t=document.activeElement,e=t?.closest(y.subMenu),s=e?.previousElementSibling;t?.getAttribute("aria-controls")&&"true"===t?.getAttribute("aria-expanded")?.toLowerCase()&&(s=t),"true"===s?.getAttribute("aria-expanded")?.toLowerCase()&&(s?.click(),s?.focus())}toggleClosestMenu(){"true"===document.activeElement?.getAttribute("aria-expanded")?.toLowerCase()?this.closeClosestMenu():this.openClosestMenu()}eHandleScroll(){this.closeAllMenus()}eHandleButtonKeypress(t){let e=t.target,s=e?.closest("li");switch(t.key.toLowerCase()){case"escape":s?.classList.contains("mint-open")&&this.setMenu(s);break;case"arrowleft":this.closeClosestMenu();break;case"arrowright":this.openClosestMenu();break;case"enter":case"space":e?.click()}}eHandleLinkKeypress(t){let e=t.target;switch(t.key.toLowerCase()){case"escape":case"arrowleft":this.closeClosestMenu();break;case"arrowright":this.openClosestMenu();break;case"enter":case"space":e?.click()}}eHandleKeypress(t){"tab"!==t.key.toLowerCase()&&t.preventDefault();const e=t.target;switch(e?.tagName.toLowerCase()){case"a":this.eHandleLinkKeypress(t);break;case"button":this.eHandleButtonKeypress(t)}}eToggleMenu(t){let e=t.target;this.closeSiblingMenus(e),this.toggleMenu(e)}}class E extends i{settings={title:"tray",from:t.Top,fixed:!0};el={};constructor(t){if(super(),this.settings={...this.settings,...t},!this.settings.id||!this.settings.wrapperId)throw new Error("Tray ID and wrapper ID are required");this.attachElements(),this.attachEvents(),this.addClasses(),requestAnimationFrame((()=>{this.setTray()}))}attachElements(){this.el.html=document.querySelector("html"),this.el.main=document.querySelector("main"),this.el.tray=document.getElementById(this.settings.id),this.el.wrapper=document.getElementById(this.settings.wrapperId),this.el.toggleButton=this.el.tray?.querySelector(y.controls(this.settings.wrapperId))||null}attachEvents(){this.attachEvent(window,"resize",c.throttleEvent(this.eHandleResize.bind(this),r.delay.default)),this.attachEvent(this.el.main,"click",c.throttleEvent(this.eClose.bind(this),r.delay.default,{trailing:!1}));const t=y.getFocusables(this.el.tray);t?.forEach((t=>{this.attachEvent(t,"keydown",c.throttleEvent(this.eWrapTab.bind(this)))})),this.attachEvent(this.el.toggleButton,"click",c.throttleEvent(this.eToggle.bind(this),r.delay.slow,{trailing:!1})),this.attachEvent(this.el.wrapper,"transitionend",this.eTransitionEnd.bind(this))}addClasses(){this.settings.from?(this.el.tray?.classList.remove("mint-top","mint-right","mint-bottom","mint-left"),this.el.tray?.classList.add(`mint-${t[this.settings.from].toLowerCase()}`)):this.el.tray?.classList.contains("mint-top")||this.el.tray?.classList.contains("mint-bottom")||this.el.tray?.classList.contains("mint-left")||this.el.tray?.classList.contains("mint-right")||this.el.tray?.classList.add("mint-top"),this.settings.tray&&this.el.tray?.classList.add("mint-tray")}setTray(e=!1){let s=e?"true":"false",i=e?`close ${this.settings.title}`:`open ${this.settings.title}`;this.el.toggleButton?.setAttribute("aria-expanded",s),setTimeout((()=>{this.el.toggleButton?.setAttribute("aria-label",i)}),r.delay.fast),e?(!0!==this.settings.fixed&&window.scroll({top:0,left:0,behavior:"smooth"}),setTimeout((()=>{if(this.el.html){let t=w.width()<=r.break.sm,e="auto";this.settings.tray?t&&(e="hidden"):e="hidden",this.el.html.style.overflow=e}}),this.settings.from===t.Left?r.delay.default:r.delay.instant),this.el.wrapper&&(this.el.wrapper.style.display="flex"),requestAnimationFrame((()=>{this.el.wrapper?.classList.add("mint-open")}))):(this.el.html&&(this.el.html.style.overflow="auto"),requestAnimationFrame((()=>{this.el.wrapper?.classList.remove("mint-open")})))}toggleTray(){this.setTray("false"===this.el.toggleButton?.getAttribute("aria-expanded")?.toLowerCase())}eHandleResize(){const t=w.width()<=r.break.sm;let e=!0;this.el.tray?.classList.contains("mint-tray")?e=!1:this.el.tray?.classList.contains("mint-expand")||(e=!1),!t&&e&&this.setTray(!1);let s="auto";"true"===this.el.toggleButton?.getAttribute("aria-expanded")?.toLowerCase()&&(this.settings.tray?t&&(s="hidden"):s="hidden"),this.el.html&&(this.el.html.style.overflow=s)}eWrapTab(t){const e=y.getFocusables(this.el.tray),s=e?.[e?.length-1],i=e?.length>1&&document.activeElement===s;"tab"===t.key.toLowerCase()&&!t.shiftKey&&i&&(this.el.toggleButton?.focus(),document.activeElement===this.el.toggleButton&&t.preventDefault())}eToggle(){this.toggleTray()}eClose(){this.setTray(!1)}eTransitionEnd(){!1===this.el.wrapper?.classList.contains("mint-open")&&(this.el.wrapper.style.display="none")}}class v{static hexBase=16;static hexMax="FF";r;g;b;a;constructor(t){this.r="number"==typeof t.r?Math.max(Math.min(t.r,v.hexBase**2-1),0):0,this.g="number"==typeof t.g?Math.max(Math.min(t.g,v.hexBase**2-1),0):0,this.b="number"==typeof t.b?Math.max(Math.min(t.b,v.hexBase**2-1),0):0,this.a="number"==typeof t.a?Math.max(Math.min(t.a,1),0):1,"string"==typeof t.color&&this.stringConstructor(t.color)}stringConstructor(t){t.startsWith("#")?this.hexConstructor(t):(~t.indexOf("linear-gradient")&&(t=t.substring(t.indexOf("linear-gradient"),t.length)),this.rgbConstructor(t))}hexConstructor(t){switch(t.length){case 1:case 5:case 6:return;case 2:t="#"+t[1]+t[1]+t[1]+t[1]+t[1]+t[1]+v.hexMax;break;case 3:t="#"+t[1]+t[1]+t[1]+t[2]+t[2]+t[2]+v.hexMax;break;case 4:t="#"+t[1]+t[1]+t[2]+t[2]+t[3]+t[3]+v.hexMax;break;case 7:t+=v.hexMax;break;case 8:t+=t[t.length-1];break;default:t=t.substring(0,9)}this.r=parseInt(t.substring(1,3),v.hexBase),this.g=parseInt(t.substring(3,5),v.hexBase),this.b=parseInt(t.substring(5,7),v.hexBase),this.a=parseInt(t.substring(7,9),v.hexBase)/v.hexBase**2}rgbConstructor(t){let e=t.match(/rgba?\((\d{1,3}), ?(\d{1,3}), ?(\d{1,3})\)?(?:, ?(\d(?:\.\d*)?)\))?/);e&&(this.r=parseInt(e[1]),this.g=parseInt(e[2]),this.b=parseInt(e[3]),this.a=parseFloat(e[4]))}getBrightness(){return 0===this.a?262:isNaN(this.r)||isNaN(this.g)||isNaN(this.b)?-1:Math.round((299*this.r+587*this.g+144*this.b)/1e3)}}class k{version=0;priority=0;price=0;level=0;size=0;num=0;width=0;height=0;active=!1;centered=!1;disabled=!1;private=!1;id;slug;name;title;subtitle;description;category;type;unit;logo;icon;position;transform;date;src;href;target;routerLink;attr={};params={};options={};lists={};paragraphs=[];classes=[];items=[];images=[];buttons=[];click}var S=s.N7,C=s.TQ,L=s.hu,B=s.Jy,T=s.BT,A=s.Fi,$=s.Ah,q=s.sh,I=s.c2,H=s.f$,O=s.JX,W=s.mf,j=s.E_,F=s.qS,K=s.dG,z=s.a6,D=s.cQ,R=s.JS,N=s.li,V=s.Qh;export{S as EMintSide,C as MintAsync,L as MintAttachesEvents,B as MintDisplay,T as MintEvent,A as MintGrid,$ as MintHeader,q as MintIcon,I as MintItem,H as MintList,O as MintMath,W as MintMenu,j as MintObject,F as MintScroll,K as MintSelectors,z as MintSettings,D as MintText,R as MintTray,N as MintWindow,V as mintColor};
|
|
1
|
+
var t,e={d:(t,s)=>{for(var a in s)e.o(s,a)&&!e.o(t,a)&&Object.defineProperty(t,a,{enumerable:!0,get:s[a]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e)},s={};e.d(s,{N7:()=>t,TQ:()=>r,hu:()=>a,Jy:()=>h,BT:()=>c,Fi:()=>n,Ah:()=>M,sh:()=>g,c2:()=>S,f$:()=>m,JX:()=>i,mf:()=>E,E_:()=>u,zR:()=>x,qS:()=>b,dG:()=>y,a6:()=>l,cQ:()=>f,li:()=>w,Qh:()=>v});class a{events=[];attachEvent(t,e,s){if(t){let a=this.events.find((e=>e.el===t));a?(a.handlers.push(s),a.events.push(e)):this.events.push({el:t,handlers:[s],events:[e]}),t.addEventListener(e,s)}}detachEvents(){this.events.forEach((t=>{t.handlers.forEach(((e,s)=>{t.el?.removeEventListener(t.events[s],e)}))})),this.events=[]}}class i{static randomInt(t,e=0){return e=Math.ceil(e),t=Math.floor(t),Math.floor(Math.random()*(t-e)+e)}static clamp(t,e,s){return Math.max(Math.min(t??e,s),e)}static headerMin=1;static headerMax=6;static headerLevel(t){return this.clamp(t,this.headerMin,this.headerMax)}}class n{static gridNum(t){return i.clamp(t,1,4)}}!function(t){t[t.Top=0]="Top",t[t.Right=1]="Right",t[t.Bottom=2]="Bottom",t[t.Left=3]="Left"}(t||(t={}));class r{static wait(t){return new Promise((e=>setTimeout(e,t)))}}class l{static delayBase=0;static delayStep=100;static delay={instant:this.delayBase+0*this.delayStep,fast:this.delayBase+1*this.delayStep,medFast:this.delayBase+2*this.delayStep,default:this.delayBase+3*this.delayStep,medSlow:this.delayBase+4*this.delayStep,slow:this.delayBase+5*this.delayStep};static break={z:0,xs:480,sm:768,md:1024,lg:1200,xl:1440};static set(t){let e=!1;"number"==typeof t.delayBase&&(this.delayBase=t.delayBase,e=!0),"number"==typeof t.delayStep&&(this.delayStep=t.delayStep,e=!0),e&&this.setDelay(),t.delay&&Object.keys(t.delay).length&&Object.values(t.delay).reduce(((t,e)=>t&&"number"==typeof e),!0)&&(this.delay={...this.delay,...t.delay}),t.break&&Object.keys(t.break).length&&Object.values(t.break).reduce(((t,e)=>t&&"number"==typeof e),!0)&&(this.break={...this.break,...t.break})}static setDelay(){this.delay={instant:this.delayBase+0*this.delayStep,fast:this.delayBase+1*this.delayStep,medFast:this.delayBase+2*this.delayStep,default:this.delayBase+3*this.delayStep,medSlow:this.delayBase+4*this.delayStep,slow:this.delayBase+5*this.delayStep}}}const o=l;class h{static show(e,s=l.delay.default,a=t.Top){e&&(e.style.display="",requestAnimationFrame((()=>{a===t.Top||a===t.Bottom?e.style.height=`${e.scrollHeight}px`:e.style.width=`${e.scrollWidth}px`,setTimeout((()=>{a===t.Top||a===t.Bottom?e.style.height="auto":e.style.width="auto"}),s)})))}static hide(e,s=l.delay.default,a=t.Top){if(e){let i=e.scrollHeight,n=e.scrollWidth,r=e.style.transition;e.style.transition="",requestAnimationFrame((()=>{a===t.Top||a===t.Bottom?e.style.height=`${i}px`:e.style.width=`${n}px`,e.style.transition=r,requestAnimationFrame((()=>{a===t.Top||a===t.Bottom?e.style.height="0":e.style.width="0"}))})),setTimeout((()=>{e.style.display="none"}),s)}}}class c{static debounce(t,e=o.delay.default){let s;return function(a){s&&clearTimeout(s),s=setTimeout(t,e,a)}}static debounceEvent(t,e=o.delay.default){return c.debounce(t,e)}static throttle(t,e=o.delay.default,s){let a,i,n,r,l=0,h=function(){l=!1===s?.leading?0:(new Date).getTime(),r=0,n=t.apply(a,i),r||(a=i=null)};return function(){let o=(new Date).getTime();l||!1!==s?.leading||(l=o);let c=e-o+l;return a=this,i=arguments,c<=0||c>e?(r&&(clearTimeout(r),r=0),l=o,n=t.apply(a,i),r||(a=i=null)):r||!1===s?.trailing||(r=window.setTimeout(h,c)),n}}static throttleEvent(t,e=o.delay.default,s){return c.throttle(t,e,s)}}const d=c;class u{static isSimilar(t,e){let s=Object.keys(t);if(s.length!==Object.keys(e).length)return!1;let a=!0;return s.forEach((s=>{t[s]!==e[s]&&(a=!1)})),a}static isSuperset(t,e){let s=!0;if(t===e)return s;try{if(0===Object.keys(e).length)return!s}catch(t){return!s}return Object.keys(e).forEach((a=>{s=s&&u.isSuperset(t[a],e[a])})),s}static remove(t,e){return this.removeKeys(t,e)}static removeKeys(t,e){return Object.keys(t).reduce(((s,a)=>(e.includes(a)||(s[a]=t[a]),s)),{})}static removeValues(t,e){return Object.keys(t).reduce(((s,a)=>(e.includes(t[a])||(s[a]=t[a]),s)),{})}static sort(t,e){return this.sortKeys(t,e)}static sortKeys(t,e){return Object.keys(t).sort(e).reduce(((e,s)=>(e[s]=t[s],e)),{})}static sortValues(t,e){return Object.keys(t).sort(((s,a)=>e(t[s],t[a]))).reduce(((e,s)=>(e[s]=t[s],e)),{})}static filter(t,e){return this.filterKeys(t,e)}static filterKeys(t,e){return e.reduce(((e,s)=>(e[s]=t[s],e)),{})}static filterValues(t,e){return Object.keys(t).reduce(((s,a)=>(e.includes(t[a])&&(s[a]=t[a]),s)),{})}static updateArray(t,e,s="id"){if(e?.length){const a=e.reduce(((t,e)=>({...t,[e?.[s]??""]:e})),{}),i=t.filter((t=>!a[t?.[s]??""]));i?.forEach((e=>{const s=t.indexOf(e);"number"==typeof s&&-1!==s&&t.splice(s,1)})),t.forEach((t=>{a[t?.[s]??""]&&Object.assign(t,a[t?.[s]??""])}))}else e?.forEach((e=>t.push(e)));const a=e?.filter((e=>!t.some((t=>t?.[s]===e?.[s]))));a?.forEach((e=>t.push(e)))}static getKeyByValue(t,e){return Object.keys(t).find((s=>t[s]===e))}static deepClone(t){const e={};for(const s in t)"function"==typeof t[s]?e[s]=t[s].bind(e):t[s]&&"object"==typeof t[s]?e[s]=this.deepClone(t[s]):e[s]=t[s];return e}}const p=u;class g{static icons={'a[href^="mailto:"]':"far fa-envelope",'a[href^="tel:"]':"fas fa-phone-flip",'a[href^="sms:"]':"far fa-message",'a[href^="https://maps"]':"fas fa-map-location-dot",'a[href^="http"]':"fas fa-up-right-from-square"};static append(t,e){document.querySelectorAll(e).forEach((e=>{let s=document.createElement("i");s.classList.add(...t.split(" ")),e.querySelector("i")||e.appendChild(s),s.classList.contains("fa-up-right-from-square")&&e.setAttribute("target","_blank")}))}static update(t){let e=p.removeValues({...this.icons,...t},[!1]);Object.keys(e).forEach((t=>{this.append(e[t],t)}))}static remove(t,e){document.querySelectorAll(e).forEach((t=>{let e=t.querySelector("i");e&&e.remove()}))}}class m{static shuffleCopy(t){let e=[...t];for(let t=e.length-1;t>0;t--){const s=Math.floor(Math.random()*(t+1));[e[t],e[s]]=[e[s],e[t]]}return e}static filter(t,e){let s=0;for(let a=0;a<t.length;a++)e(t[a])&&(t[s++]=t[a]);return t.length=s,t}}class b{static toTop(){window.scrollTo(0,0)}static toBottom(){window.scrollTo(0,document.body.scrollHeight)}static showElements(){requestAnimationFrame((()=>{let t=document.querySelectorAll(".mint-fall-in:not(.mint-show)"),e=[];for(let s=0;s<t.length;s++)t[s].getBoundingClientRect().top<0?t[s].classList.add("mint-show"):t[s].getBoundingClientRect().top<3*window.innerHeight/4&&e.push(t[s]);for(let t=0;t<e.length;t++)setTimeout((()=>{e[t].classList.add("mint-show")}),100*t)}))}static showElementsOnScroll(){window.addEventListener("scroll",d.throttleEvent(this.showElements,200))}}class y{static lib="mint";static pre=`${this.lib}-`;static disabled="[disabled]";static hasControls="[aria-controls]";static hasExpanded="[aria-expanded]";static hasLink="[href]";static hasRouterLink="[routerLink]";static hasId="[id]";static notTabbable='[tabindex^="-"]';static tabbable=`[tabindex]${this.neg(this.notTabbable)}`;static focusable=`input${this.neg(this.disabled)}${this.neg(this.notTabbable)},\n select${this.neg(this.disabled)}${this.neg(this.notTabbable)},\n textarea${this.neg(this.disabled)}${this.neg(this.notTabbable)},\n button${this.neg(this.disabled)}${this.neg(this.notTabbable)},\n object${this.neg(this.disabled)}${this.neg(this.notTabbable)},\n a${this.hasLink}, a${this.hasRouterLink},\n area${this.hasLink},\n ${this.tabbable}`.replace(/\s/g,"");static subMenuButtons=`button${this.hasControls}`;static subMenu=`${this.subMenuButtons} + ul${this.hasId}`;static prefix(t){return(t=t.toLowerCase()).startsWith(this.pre)?t:`${this.pre}${t}`}static cssPrefix(t){return`--${this.prefix(t.replace(/^-+/,""))}`}static cssVar(t){return`var(${this.cssPrefix(t)})`}static neg(t){return`:not(${t})`}static class(t){return`.${this.prefix(t)}`}static id(t){return`#${this.prefix(t)}`}static controls(t){return t?`[aria-controls="${this.prefix(t)}"]`:this.hasControls}static expanded(t){return"boolean"==typeof t?`[aria-expanded="${t}"]`:this.hasExpanded}static getFocusables(t){let e;return e=t?Array.from(t.querySelectorAll(this.focusable)):Array.from(document.querySelectorAll(this.focusable)),e.filter((t=>this.isFocusable(t)))}static isFocusable(t){let e=t;do{if("none"===window.getComputedStyle(e).getPropertyValue("display").toLowerCase())return!1;e=e.parentElement}while(e);return!0}}class f{static slug(t){return t?.trim().toLowerCase().replace(/'/g,"").replace(/[^\w/-]+/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"").replace(/^\/+|\/+$/g,"")??""}static unslug(t){return this.titleCase(t.replace(/[-/]+/g," "))}static phone(t){const e=t?.toString().trim()??"";if("("===e||""===e)return e;let s=e.replace(/\D/g,"")??"",a="";s.length>10&&(a+=`+${s.slice(0,s.length-10)} `,s=s.slice(s.length-10));for(var i=0;i<s.length;i++){switch(i){case 0:a+="(";break;case 3:a+=") ";break;case 6:a+="-"}a+=s[i]}switch(e[e.length-1]){case")":3===i&&(a+=") ");break;case"-":6===i&&(a+="-")}return a}static plural(t){return t.endsWith("ies")||t.endsWith("es")||t.endsWith("s")&&!t.endsWith("us")&&!t.endsWith("is")&&!t.endsWith("ss")?t:t.endsWith("y")&&!["a","e","i","o","u"].includes(t.charAt(t.length-2))?t.slice(0,-1)+"ies":t.endsWith("s")||t.endsWith("sh")||t.endsWith("ch")||t.endsWith("x")||t.endsWith("z")?t+"es":t+"s"}static titleCase(t){return t.toLowerCase().replace(/(?:^|\s)\S/g,(t=>t.toUpperCase()))}static copyText(t){let e=document.createElement("textarea");return!(!t||!e||(e.value=t,e.style.cssText="\n position: fixed;\n top: 0;\n left: 0;\n transform: translate(-100%, -100%);\n opacity: 0;\n z-index: -1;\n ",document.body.appendChild(e),e.select(),e.setSelectionRange(0,99999),navigator.clipboard.writeText(e.value),document.body.removeChild(e),0))}static isEmail(t){return null!==t.match(/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/)}static generateId(t=10){return Math.random().toString(36).substring(2,t+2)}static isImage(t){return t?.match(/\.(jpe?g|png|webp|gif|svg)$/i)?.length}}class w{static width(){const t=document.body.getBoundingClientRect().width%1;return window.innerWidth+t}static height(){const t=document.body.getBoundingClientRect().height%1;return window.innerHeight+t}}class x extends a{settings={title:"panel",from:t.Top,fixed:!0};el={};constructor(t){if(super(),this.settings={...this.settings,...t},!this.settings.id||!this.settings.wrapperId)throw new Error("Panel ID and wrapper ID are required");this.attachElements(),this.attachEvents(),this.addClasses(),requestAnimationFrame((()=>{this.setPanel()}))}attachElements(){this.el.html=document.querySelector("html"),this.el.main=document.querySelector("main"),this.el.panel=document.getElementById(this.settings.id),this.el.wrapper=document.getElementById(this.settings.wrapperId),this.el.toggleButton=this.el.panel?.querySelector(y.controls(this.settings.wrapperId))||null}attachEvents(){this.attachEvent(window,"resize",c.throttleEvent(this.eHandleResize.bind(this),l.delay.default)),this.attachEvent(this.el.main,"click",c.throttleEvent(this.eClose.bind(this),l.delay.default,{trailing:!1})),this.attachEvent(this.el.wrapper,"transitionend",this.eTransitionEnd.bind(this));const t=y.getFocusables(this.el.panel);t?.forEach((t=>{this.attachEvent(t,"keydown",c.throttleEvent(this.eWrapTab.bind(this)))}));const e=this.el.panel?.querySelectorAll(y.controls(this.settings.wrapperId));e?.forEach((t=>{this.attachEvent(t,"click",c.throttleEvent(this.eToggle.bind(this),l.delay.slow,{trailing:!1}))}))}addClasses(){this.el.panel?.classList.add("mint-panel"),this.el.wrapper?.classList.add("mint-panel-wrapper"),this.el.toggleButton?.classList.add("mint-panel-toggle"),this.settings.from&&(this.el.panel?.classList.remove("mint-top","mint-right","mint-bottom","mint-left"),this.el.panel?.classList.add(`mint-${t[this.settings.from].toLowerCase()}`)),this.settings.tray&&this.el.panel?.classList.add("mint-tray")}setPanel(e=!1){let s=e?"true":"false",a=e?`close ${this.settings.title}`:`open ${this.settings.title}`;this.el.toggleButton?.setAttribute("aria-expanded",s),setTimeout((()=>{this.el.toggleButton?.setAttribute("aria-label",a)}),l.delay.fast),e?(this.closeOtherPanels(),!0!==this.settings.fixed&&window.scroll({top:0,left:0,behavior:"smooth"}),setTimeout((()=>{if(this.el.html){let t=w.width()<=l.break.sm,e="auto";this.settings.tray?t&&(e="hidden"):e="hidden",this.el.html.style.overflow=e}}),this.settings.from===t.Left?l.delay.default:l.delay.instant),this.el.wrapper&&(this.el.wrapper.style.display="flex"),requestAnimationFrame((()=>{this.el.wrapper?.classList.add("mint-open")}))):(this.el.html&&(this.el.html.style.overflow="auto"),requestAnimationFrame((()=>{this.el.wrapper?.classList.remove("mint-open")})))}togglePanel(){this.setPanel("false"===this.el.toggleButton?.getAttribute("aria-expanded")?.toLowerCase())}closeOtherPanels(){const t=`.mint-panel-toggle[aria-expanded="true"]:not([aria-controls="${this.settings.wrapperId}"])`,e=document.querySelector(t);e?.click()}eHandleResize(){const t=w.width()<=l.break.sm;let e=!0;this.el.panel?.classList.contains("mint-tray")?e=!1:this.el.panel?.classList.contains("mint-expand")||(e=!1),!t&&e&&this.setPanel(!1);let s="auto";"true"===this.el.toggleButton?.getAttribute("aria-expanded")?.toLowerCase()&&(this.settings.tray?t&&(s="hidden"):s="hidden"),this.el.html&&(this.el.html.style.overflow=s)}eWrapTab(t){const e=y.getFocusables(this.el.panel),s=e?.[e?.length-1],a=e?.length>1&&document.activeElement===s;"tab"===t.key.toLowerCase()&&!t.shiftKey&&a&&(this.el.toggleButton?.focus(),document.activeElement===this.el.toggleButton&&t.preventDefault())}eToggle(){this.togglePanel()}eClose(){this.setPanel(!1)}eTransitionEnd(){!1===this.el.wrapper?.classList.contains("mint-open")&&(this.el.wrapper.style.display="none")}}class E extends a{settings={};el={};constructor(t){if(super(),this.settings={...this.settings,...t},!this.settings.wrapperId)throw new Error("Wrapper ID is required");this.attachElements(),this.attachEvents(),requestAnimationFrame((()=>{this.closeAllMenus()}))}attachElements(){this.el.wrapper=document.getElementById(this.settings.wrapperId)}attachEvents(){this.attachEvent(window,"scroll",c.throttleEvent(this.eHandleScroll.bind(this),l.delay.default,{trailing:!1}));const t=this.el.wrapper?.querySelectorAll(y.focusable);t?.forEach((t=>{this.attachEvent(t,"keydown",c.throttleEvent(this.eHandleKeypress.bind(this)))}));const e=this.el.wrapper?.querySelectorAll(y.controls());e?.forEach((t=>{this.attachEvent(t,"click",c.throttleEvent(this.eToggleMenu.bind(this),l.delay.slow,{trailing:!1}))}))}setMenu(t,e=!1){let s=e?"true":"false",a=t?.nextElementSibling;t&&a&&(t.setAttribute("aria-expanded",s),e?h.show(a):(h.hide(a),this.closeSubMenus(t)))}toggleMenu(t){this.setMenu(t,"true"!==t?.getAttribute("aria-expanded")?.toLowerCase())}closeSubMenus(t){let e=t?.nextElementSibling,s=e?.querySelectorAll(y.subMenuButtons);s.forEach((t=>{t.parentElement?.parentElement===e&&this.setMenu(t)}))}closeSiblingMenus(t){let e=t?.parentElement,s=e?.parentElement?.querySelectorAll(y.subMenuButtons);s.forEach((e=>{e!==t&&this.setMenu(e)}))}closeAllMenus(){let t=this.el.wrapper?.querySelectorAll(y.subMenuButtons);t?.forEach((t=>{this.setMenu(t)}))}openClosestMenu(){let t=document.activeElement,e=t?.nextElementSibling,s="true"===t?.getAttribute("aria-expanded")?.toLowerCase();if(t?.getAttribute("aria-controls")===this.settings.wrapperId&&(e=this.el.wrapper),t?.getAttribute("aria-controls")&&e&&!s){t.click();let s=e.querySelector(y.focusable);s?.focus()}}closeClosestMenu(){let t=document.activeElement,e=t?.closest(y.subMenu),s=e?.previousElementSibling;t?.getAttribute("aria-controls")&&"true"===t?.getAttribute("aria-expanded")?.toLowerCase()&&(s=t),"true"===s?.getAttribute("aria-expanded")?.toLowerCase()&&(s?.click(),s?.focus())}toggleClosestMenu(){"true"===document.activeElement?.getAttribute("aria-expanded")?.toLowerCase()?this.closeClosestMenu():this.openClosestMenu()}eHandleScroll(){this.closeAllMenus()}eHandleButtonKeypress(t){let e=t.target,s=e?.closest("li");switch(t.key.toLowerCase()){case"escape":s?.classList.contains("mint-open")&&this.setMenu(s);break;case"arrowleft":this.closeClosestMenu();break;case"arrowright":this.openClosestMenu();break;case"enter":case"space":e?.click()}}eHandleLinkKeypress(t){let e=t.target;switch(t.key.toLowerCase()){case"escape":case"arrowleft":this.closeClosestMenu();break;case"arrowright":this.openClosestMenu();break;case"enter":case"space":e?.click()}}eHandleKeypress(t){"tab"!==t.key.toLowerCase()&&t.preventDefault();const e=t.target;switch(e?.tagName.toLowerCase()){case"a":this.eHandleLinkKeypress(t);break;case"button":this.eHandleButtonKeypress(t)}}eToggleMenu(t){let e=t.target;this.closeSiblingMenus(e),this.toggleMenu(e)}}class M{settings={id:"mint-menu",wrapperId:"mint-wrapper",title:"menu",fixed:!0};el={};panel;menu;constructor(t){this.settings={...this.settings,...t},this.panel=new x(this.settings),this.menu=new E(this.settings),this.attachElements(),this.addClasses()}detachEvents(){this.panel?.detachEvents(),this.menu?.detachEvents()}attachElements(){this.el.body=document.querySelector("body")}addClasses(){this.settings.fixed&&this.el.body?.classList.add("mint-fixed")}}class v{static hexBase=16;static hexMax="FF";r;g;b;a;constructor(t){this.r="number"==typeof t.r?Math.max(Math.min(t.r,v.hexBase**2-1),0):0,this.g="number"==typeof t.g?Math.max(Math.min(t.g,v.hexBase**2-1),0):0,this.b="number"==typeof t.b?Math.max(Math.min(t.b,v.hexBase**2-1),0):0,this.a="number"==typeof t.a?Math.max(Math.min(t.a,1),0):1,"string"==typeof t.color&&this.stringConstructor(t.color)}stringConstructor(t){t.startsWith("#")?this.hexConstructor(t):(~t.indexOf("linear-gradient")&&(t=t.substring(t.indexOf("linear-gradient"),t.length)),this.rgbConstructor(t))}hexConstructor(t){switch(t.length){case 1:case 5:case 6:return;case 2:t="#"+t[1]+t[1]+t[1]+t[1]+t[1]+t[1]+v.hexMax;break;case 3:t="#"+t[1]+t[1]+t[1]+t[2]+t[2]+t[2]+v.hexMax;break;case 4:t="#"+t[1]+t[1]+t[2]+t[2]+t[3]+t[3]+v.hexMax;break;case 7:t+=v.hexMax;break;case 8:t+=t[t.length-1];break;default:t=t.substring(0,9)}this.r=parseInt(t.substring(1,3),v.hexBase),this.g=parseInt(t.substring(3,5),v.hexBase),this.b=parseInt(t.substring(5,7),v.hexBase),this.a=parseInt(t.substring(7,9),v.hexBase)/v.hexBase**2}rgbConstructor(t){let e=t.match(/rgba?\((\d{1,3}), ?(\d{1,3}), ?(\d{1,3})\)?(?:, ?(\d(?:\.\d*)?)\))?/);e&&(this.r=parseInt(e[1]),this.g=parseInt(e[2]),this.b=parseInt(e[3]),this.a=parseFloat(e[4]))}getBrightness(){return 0===this.a?262:isNaN(this.r)||isNaN(this.g)||isNaN(this.b)?-1:Math.round((299*this.r+587*this.g+144*this.b)/1e3)}}class S{version=0;priority=0;price=0;level=0;size=0;num=0;width=0;height=0;active=!1;centered=!1;disabled=!1;private=!1;id;slug;name;title;subtitle;description;category;type;unit;logo;icon;position;transform;date;src;href;target;routerLink;attr={};params={};options={};lists={};paragraphs=[];classes=[];items=[];images=[];buttons=[];click}var k=s.N7,B=s.TQ,C=s.hu,L=s.Jy,T=s.BT,A=s.Fi,$=s.Ah,q=s.sh,I=s.c2,O=s.f$,j=s.JX,W=s.mf,F=s.E_,z=s.zR,P=s.qS,H=s.dG,K=s.a6,R=s.cQ,D=s.li,N=s.Qh;export{k as EMintSide,B as MintAsync,C as MintAttachesEvents,L as MintDisplay,T as MintEvent,A as MintGrid,$ as MintHeader,q as MintIcon,I as MintItem,O as MintList,j as MintMath,W as MintMenu,F as MintObject,z as MintPanel,P as MintScroll,H as MintSelectors,K as MintSettings,R as MintText,D as MintWindow,N as mintColor};
|
|
2
2
|
//# sourceMappingURL=index.min.js.map
|