aptechka 0.68.6 → 0.68.8
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/lib/popover/index.cjs +1 -1
- package/lib/popover/index.js +171 -148
- package/package.json +1 -1
package/lib/popover/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var te=c=>{throw TypeError(c)};var Q=(c,o,t)=>o.has(c)||te("Cannot "+t);var e=(c,o,t)=>(Q(c,o,"read from private field"),t?t.call(c):o.get(c)),r=(c,o,t)=>o.has(c)?te("Cannot add the same private member more than once"):o instanceof WeakSet?o.add(c):o.set(c,t),n=(c,o,t,s)=>(Q(c,o,"write to private field"),s?s.call(c,t):o.set(c,t),t),y=(c,o,t)=>(Q(c,o,"access private method"),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const he=require("../element-linked-store/index.cjs"),m=require("../css-property/index.cjs"),_=require("../index-DekP7OZe.cjs"),Y=require("../events-KVanG9sR.cjs"),ce=require("../function-MthRj-GJ.cjs"),se=require("../style-At6aDoqG.cjs");require("construct-style-sheets-polyfill");const ie=require("../url-BT4fssbO.cjs"),re=require("../window-resizer/index.cjs"),F=require("../Viewport-DB0qAZPJ.cjs");var u,b,J,K;class le{constructor(){r(this,u,new Map);r(this,b,[]);r(this,J,o=>{var s;const t=[...e(this,b)].reverse().find(i=>i.clickOutside.current);if(t){const i=o.composedPath();if(i.find(ee=>ee instanceof HTMLElement&&ee.hasAttribute("data-popover-content")))return;const l=i[0],p=l instanceof Node&&(t.contains(l)||((s=t.shadowRoot)==null?void 0:s.contains(l))),H=l instanceof HTMLElement&&l.hasAttribute("data-outside");(!p||H)&&t.close()}});r(this,K,o=>{if(o.code==="Escape"){const t=[...e(this,b)].reverse().find(s=>s.escape.current);t&&t.close()}});document.documentElement.addEventListener("click",e(this,J)),addEventListener("keydown",e(this,K))}get groups(){return e(this,u)}get stack(){return e(this,b)}add(o,t){if(t.closeRest.current)e(this,u).forEach(i=>{i.forEach(l=>{l.close()})});else if(t.closeRestInGroup.current){let i=e(this,u).get(o);i==null||i.forEach(l=>{l.close()})}let s=e(this,u).get(o);s!=null&&s.length||(s=[],e(this,u).set(o,s)),e(this,b).push(t),s.push(t)}remove(o,t){if(n(this,b,e(this,b).filter(s=>s!==t)),t.closeRest.current){let s=[];e(this,u).forEach(i=>{i.forEach(l=>s.push(l))}),e(this,u).clear(),s.forEach(i=>i.close())}else if(t.closeRestInGroup.current){const s=e(this,u).get(o);e(this,u).delete(o),s==null||s.forEach(i=>{i.close()})}else{let s=e(this,u).get(o);s&&(s=s.filter(i=>i!==t),e(this,u).set(o,s))}}}u=new WeakMap,b=new WeakMap,J=new WeakMap,K=new WeakMap;var f,$,M,C,B,v,w,A,x,g,R,q,L,T,O,a,P,oe,I,V,S,W,G;const E=class E extends HTMLElement{constructor(){super();r(this,P);r(this,f);r(this,$);r(this,M);r(this,C);r(this,B);r(this,v);r(this,w);r(this,A);r(this,x);r(this,g);r(this,R);r(this,q);r(this,L);r(this,T);r(this,O);r(this,a);r(this,V);r(this,S);r(this,W);r(this,G);this.urlValue="",n(this,f,!1),n(this,v,new m.CSSProperty(this,"--history",!1)),n(this,w,new m.CSSProperty(this,"--restore",!1)),n(this,A,new m.CSSProperty(this,"--close-rest",!1)),n(this,x,new m.CSSProperty(this,"--close-rest-in-group",!1)),n(this,g,new m.CSSProperty(this,"--group","")),n(this,R,new m.CSSProperty(this,"--click-outside",!1)),n(this,q,new m.CSSProperty(this,"--escape",!1)),n(this,L,new m.CSSProperty(this,"--check-viewport-bounds",!1)),n(this,T,!1),n(this,a,new he.ElementLinkedStore(this,{opened:!1,closing:!1,triggered:!1,transitionend:!1})),n(this,V,()=>{n(this,T,!1),e(this,f)&&e(this,v).current&&!location.search.includes(this.id)?this.close():!e(this,f)&&e(this,v).current&&location.search.includes(this.id)&&this.open({trigger:this.idWithValue}),n(this,T,!0)}),n(this,S,()=>{this.style.setProperty("--content-width","initial"),this.style.setProperty("--content-height","initial"),this.style.setProperty("--viewport-offset-x","0px"),this.style.setProperty("--viewport-offset-y","0px"),e(this,W).call(this)}),n(this,W,ce.debounce(()=>{e(this,G).call(this)},10)),n(this,G,()=>{if(this.style.setProperty("--content-width",this.scrollWidth+"px"),this.style.setProperty("--content-height",this.scrollHeight+"px"),e(this,L).current){const t=this.getBoundingClientRect();let s=0,i=0;t.right>F.viewport.width?s=F.viewport.width-t.right:t.left<0&&(s=t.left*-1),t.bottom>F.viewport.height?i=F.viewport.height-t.bottom:t.top<0&&(i=t.top*-1),this.style.setProperty("--viewport-offset-x",s+"px"),this.style.setProperty("--viewport-offset-y",i+"px")}}),e(this,g).subscribe(t=>{t.previous&&(E.stack.remove(t.previous,this),t.current||(document.documentElement.classList.remove(`${this.group.previous}-closing`),document.documentElement.classList.remove(`${this.group.previous}-opened`)))}),e(this,a).subscribe(t=>{if(this.group.current){document.documentElement.classList.toggle(`${this.group.current}-closing`,t.current.closing);const s=E.stack.groups.get(this.group.current),i=s==null?void 0:s.find(l=>l.opened);document.documentElement.classList.toggle(`${this.group.current}-opened`,!!i)}})}get openClass(){return this.getAttribute("data-open-global-class")}get history(){return e(this,v)}get restore(){return e(this,w)}get closeRest(){return e(this,A)}get closeRestInGroup(){return e(this,x)}get group(){return e(this,g)}get clickOutside(){return e(this,R)}get escape(){return e(this,q)}get opened(){return e(this,f)}get lastTrigger(){return e(this,O)}get idWithValue(){return`${this.id}${this.urlValue?"="+this.urlValue:""}`}updateUrlValue(t){this.urlValue=(t==null?void 0:t.toString())||"",e(this,f)&&ie.updateSearchParameter(this.id,t)}open(t){if(e(this,f))return;n(this,O,t==null?void 0:t.trigger),clearTimeout(e(this,$)),clearTimeout(e(this,M)),this.openClass&&this.openClass.split(" ").map(i=>{document.documentElement.classList.add(i.trim())}),e(this,a).set("closing",!1),e(this,a).set("triggered",!0),Y.dispatchEvent(this,"popoverTriggered",{custom:!0,detail:{trigger:e(this,O)}}),e(this,v).current&&e(this,T)&&history.pushState(history.state,"",e(this,P,oe)),n(this,f,!0);const s=()=>{E.stack.add(e(this,g).current,this),e(this,S).call(this),e(this,a).set("opened",!0),Y.dispatchEvent(this,"popoverOpened",{custom:!0,detail:{trigger:e(this,O)},bubbles:!0}),n(this,C,void 0),n(this,B,setTimeout(()=>{e(this,a).set("transitionend",!0)},se.getElementTransitionDurationMS(this)+10))};t!=null&&t.skipTransition?s():n(this,C,setTimeout(s,10))}close(){e(this,f)&&(clearTimeout(e(this,C)),clearTimeout(e(this,B)),E.stack.remove(e(this,g).current,this),n(this,f,!1),y(this,P,I).call(this),this.openClass&&this.openClass.split(" ").map(t=>{document.documentElement.classList.remove(t.trim())}),e(this,a).set("transitionend",!1),n(this,$,setTimeout(()=>{e(this,a).set("opened",!1),e(this,a).set("closing",!0),Y.dispatchEvent(this,"popoverClosing",{custom:!0,bubbles:!0}),n(this,M,setTimeout(()=>{e(this,a).set("triggered",!1),e(this,a).set("closing",!1),Y.dispatchEvent(this,"popoverClosed",{custom:!0,bubbles:!0})},se.getElementTransitionDurationMS(this)+10))},10)))}connectedCallback(){e(this,v).observe(),e(this,w).observe(),e(this,A).observe(),e(this,x).observe(),e(this,g).observe(),e(this,R).observe(),e(this,q).observe(),e(this,L).observe(),this.setAttribute("role","dialog"),addEventListener("popstate",e(this,V)),setTimeout(()=>{e(this,w).current?(this.urlValue=ie.parseSearchParameters(location.search)[this.id],e(this,V).call(this)):(y(this,P,I).call(this),n(this,T,!0))},0),e(this,L).subscribe(()=>{e(this,S).call(this)}),re.windowResizer.subscribe(e(this,S))}disconnectedCallback(){E.stack.remove(e(this,g).current,this),re.windowResizer.unsubscribe(e(this,S)),e(this,a).close(),e(this,v).close(),e(this,w).close(),e(this,A).close(),e(this,x).close(),e(this,g).close(),e(this,R).close(),e(this,q).close(),e(this,L).close(),this.removeAttribute("role"),clearTimeout(e(this,$)),clearTimeout(e(this,M)),clearTimeout(e(this,C)),clearTimeout(e(this,B)),removeEventListener("popstate",e(this,V)),this.style.removeProperty("--content-width"),this.style.removeProperty("--content-height"),this.style.removeProperty("--viewport-offset-x"),this.style.removeProperty("--viewport-offset-y"),y(this,P,I).call(this)}};f=new WeakMap,$=new WeakMap,M=new WeakMap,C=new WeakMap,B=new WeakMap,v=new WeakMap,w=new WeakMap,A=new WeakMap,x=new WeakMap,g=new WeakMap,R=new WeakMap,q=new WeakMap,L=new WeakMap,T=new WeakMap,O=new WeakMap,a=new WeakMap,P=new WeakSet,oe=function(){return`${location.pathname}${location.search?location.search+"&":"?"}${this.idWithValue}`},I=function(){if(e(this,v).current){const t=new URL(location.href);t.searchParams.delete(this.id),history.replaceState(history.state,"",t.href)}},V=new WeakMap,S=new WeakMap,W=new WeakMap,G=new WeakMap,E.stack=new le;let z=E;_.isBrowser&&!customElements.get("e-popover")&&customElements.define("e-popover",z);var h,d,k,Z,D,U,j,X,N;class ne extends HTMLElement{constructor(){super();r(this,k);r(this,h);r(this,d,new m.CSSProperty(this,"--type","open"));r(this,D,()=>{e(this,d).current!=="close"&&this.classList.add("triggered")});r(this,U,()=>{e(this,d).current!=="close"&&(this.classList.add("opened"),this.setAttribute("aria-expanded","true"))});r(this,j,()=>{e(this,d).current!=="close"&&this.classList.remove("opened")});r(this,X,()=>{e(this,d).current!=="close"&&(this.classList.remove("triggered"),this.setAttribute("aria-expanded","false"))});_.isBrowser&&(this.addEventListener("click",()=>{if(e(this,h)){const t=e(this,d).current;t==="open"||t==="toggle"&&!e(this,h).opened?e(this,h).open({trigger:this}):(t==="close"||t==="toggle"&&e(this,h).opened)&&e(this,h).close()}}),this.addEventListener("keydown",t=>{t.code==="Space"&&!this.hasAttribute("keydown-disabled")&&(t.preventDefault(),this.click())}))}get type(){return e(this,d)}get popoverElement(){return e(this,h)}changePopover(t){var s;if(y(this,k,Z).call(this),t){let i=null;if(t==="parent"){const l=this.closest("[data-popover]");if(l)i=l;else{const p=this.getRootNode();p instanceof ShadowRoot?i=p.host.closest("[data-popover]"):p instanceof HTMLElement&&(i=p.closest("[data-popover]"))}}else if(t==="sibling")i=(s=this.parentElement)==null?void 0:s.querySelector("[data-popover]");else if(t==="ancestor-child"){const l=p=>{if(!p)return null;let H=p.querySelector("[data-popover]");return!H&&(p!=null&&p.parentElement)&&(H=l(p.parentElement)),H};i=l(this.parentElement)||null}else!t.startsWith(".")&&!t.startsWith("[")&&(t=`#${t}`),i=document.querySelector(t)||this.getRootNode().querySelector(t);i instanceof HTMLElement?(n(this,h,i),e(this,h).addEventListener("popoverTriggered",e(this,D)),e(this,h).addEventListener("popoverOpened",e(this,U)),e(this,h).addEventListener("popoverClosing",e(this,j)),e(this,h).addEventListener("popoverClosed",e(this,X))):console.warn(this,`target ${t} not found`)}y(this,k,N).call(this,e(this,d).current)}connectedCallback(){e(this,d).subscribe(s=>{y(this,k,N).call(this,s.current)}),this.hasAttribute("tabindex")||(this.tabIndex=0),this.hasAttribute("role")||this.setAttribute("role","button");const t=this.getAttribute("target");t&&this.changePopover(t),this.isConnected&&e(this,d).observe()}disconnectedCallback(){e(this,d).unobserve(),this.removeAttribute("aria-haspopup"),this.removeAttribute("aria-expanded"),this.removeAttribute("aria-controls"),this.removeAttribute("role"),this.removeAttribute("tabindex"),y(this,k,Z).call(this)}}h=new WeakMap,d=new WeakMap,k=new WeakSet,Z=function(){e(this,h)&&(e(this,h).removeEventListener("popoverTriggered",e(this,D)),e(this,h).removeEventListener("popoverOpened",e(this,U)),e(this,h).removeEventListener("popoverClosing",e(this,j)),e(this,h).removeEventListener("popoverClosed",e(this,X)))},D=new WeakMap,U=new WeakMap,j=new WeakMap,X=new WeakMap,N=function(t){e(this,h)instanceof z&&(t!=="close"?(this.setAttribute("aria-haspopup","true"),this.setAttribute("aria-expanded",e(this,h).opened?"true":"false"),this.setAttribute("aria-controls",e(this,h).id||"")):(this.removeAttribute("aria-haspopup"),this.removeAttribute("aria-expanded"),this.removeAttribute("aria-controls")))};_.isBrowser&&!customElements.get("e-popover-button")&&customElements.define("e-popover-button",ne);exports.PopoverButtonElement=ne;exports.PopoverElement=z;
|
|
1
|
+
"use strict";var re=c=>{throw TypeError(c)};var _=(c,n,t)=>n.has(c)||re("Cannot "+t);var e=(c,n,t)=>(_(c,n,"read from private field"),t?t.call(c):n.get(c)),i=(c,n,t)=>n.has(c)?re("Cannot add the same private member more than once"):n instanceof WeakSet?n.add(c):n.set(c,t),o=(c,n,t,s)=>(_(c,n,"write to private field"),s?s.call(c,t):n.set(c,t),t),y=(c,n,t)=>(_(c,n,"access private method"),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ae=require("../element-linked-store/index.cjs"),g=require("../css-property/index.cjs"),se=require("../index-DekP7OZe.cjs"),J=require("../events-KVanG9sR.cjs"),ue=require("../function-MthRj-GJ.cjs"),oe=require("../style-At6aDoqG.cjs");require("construct-style-sheets-polyfill");const ne=require("../url-BT4fssbO.cjs"),he=require("../window-resizer/index.cjs"),K=require("../Viewport-DB0qAZPJ.cjs");var u,b,Z,N;class pe{constructor(){i(this,u,new Map);i(this,b,[]);i(this,Z,n=>{var s;const t=[...e(this,b)].reverse().find(r=>r.clickOutside.current);if(t){const r=n.composedPath();if(r.find(ie=>ie instanceof HTMLElement&&ie.hasAttribute("data-popover-content")))return;const l=r[0],p=l instanceof Node&&(t.contains(l)||((s=t.shadowRoot)==null?void 0:s.contains(l))),G=l instanceof HTMLElement&&l.hasAttribute("data-outside");(!p||G)&&t.close()}});i(this,N,n=>{if(n.code==="Escape"){const t=[...e(this,b)].reverse().find(s=>s.escape.current);t&&t.close()}});document.documentElement.addEventListener("click",e(this,Z)),addEventListener("keydown",e(this,N))}get groups(){return e(this,u)}get stack(){return e(this,b)}add(n,t){if(t.closeRest.current)e(this,u).forEach(r=>{r.forEach(l=>{l.close()})});else if(t.closeRestInGroup.current){let r=e(this,u).get(n);r==null||r.forEach(l=>{l.close()})}let s=e(this,u).get(n);s!=null&&s.length||(s=[],e(this,u).set(n,s)),e(this,b).push(t),s.push(t)}remove(n,t){if(o(this,b,e(this,b).filter(s=>s!==t)),t.closeRest.current){let s=[];e(this,u).forEach(r=>{r.forEach(l=>s.push(l))}),e(this,u).clear(),s.forEach(r=>r.close())}else if(t.closeRestInGroup.current){const s=e(this,u).get(n);e(this,u).delete(n),s==null||s.forEach(r=>{r.close()})}else{let s=e(this,u).get(n);s&&(s=s.filter(r=>r!==t),e(this,u).set(n,s))}}}u=new WeakMap,b=new WeakMap,Z=new WeakMap,N=new WeakMap;var f,M,B,C,H,v,w,A,x,m,R,q,L,S,$,a,O,z,P,ce,Q,V,T,U,j,W;const E=class E extends HTMLElement{constructor(){super();i(this,P);i(this,f);i(this,M);i(this,B);i(this,C);i(this,H);i(this,v);i(this,w);i(this,A);i(this,x);i(this,m);i(this,R);i(this,q);i(this,L);i(this,S);i(this,$);i(this,a);i(this,O);i(this,z);i(this,V);i(this,T);i(this,U);i(this,j);i(this,W);this.urlValue="",o(this,f,!1),o(this,v,new g.CSSProperty(this,"--history",!1)),o(this,w,new g.CSSProperty(this,"--restore",!1)),o(this,A,new g.CSSProperty(this,"--close-rest",!1)),o(this,x,new g.CSSProperty(this,"--close-rest-in-group",!1)),o(this,m,new g.CSSProperty(this,"--group","")),o(this,R,new g.CSSProperty(this,"--click-outside",!1)),o(this,q,new g.CSSProperty(this,"--escape",!1)),o(this,L,new g.CSSProperty(this,"--check-viewport-bounds",!1)),o(this,S,!1),o(this,a,new ae.ElementLinkedStore(this,{opened:!1,closing:!1,triggered:!1,transitionend:!1})),o(this,O,[]),o(this,z,[]),o(this,V,()=>{o(this,S,!1),e(this,f)&&e(this,v).current&&!location.search.includes(this.id)?this.close():!e(this,f)&&e(this,v).current&&location.search.includes(this.id)&&this.open({trigger:this.idWithValue}),o(this,S,!0)}),o(this,T,()=>{this.style.setProperty("--content-width","initial"),this.style.setProperty("--content-height","initial"),this.style.setProperty("--viewport-offset-x","0px"),this.style.setProperty("--viewport-offset-y","0px"),e(this,U).call(this)}),o(this,U,ue.debounce(()=>{e(this,j).call(this)},10)),o(this,j,()=>{if(this.style.setProperty("--content-width",this.scrollWidth+"px"),this.style.setProperty("--content-height",this.scrollHeight+"px"),e(this,L).current){const t=this.getBoundingClientRect();let s=0,r=0;t.right>K.viewport.width?s=K.viewport.width-t.right:t.left<0&&(s=t.left*-1),t.bottom>K.viewport.height?r=K.viewport.height-t.bottom:t.top<0&&(r=t.top*-1),this.style.setProperty("--viewport-offset-x",s+"px"),this.style.setProperty("--viewport-offset-y",r+"px")}}),o(this,W,()=>{this.close()}),e(this,m).subscribe(t=>{t.previous&&(E.stack.remove(t.previous,this),t.current||(document.documentElement.classList.remove(`${this.group.previous}-closing`),document.documentElement.classList.remove(`${this.group.previous}-opened`)))}),e(this,a).subscribe(t=>{if(this.group.current){document.documentElement.classList.toggle(`${this.group.current}-closing`,t.current.closing);const s=E.stack.groups.get(this.group.current),r=s==null?void 0:s.find(l=>l.opened);document.documentElement.classList.toggle(`${this.group.current}-opened`,!!r)}})}get openClass(){return this.getAttribute("data-open-global-class")}get history(){return e(this,v)}get restore(){return e(this,w)}get closeRest(){return e(this,A)}get closeRestInGroup(){return e(this,x)}get group(){return e(this,m)}get clickOutside(){return e(this,R)}get escape(){return e(this,q)}get opened(){return e(this,f)}get lastTrigger(){return e(this,$)}get idWithValue(){return`${this.id}${this.urlValue?"="+this.urlValue:""}`}updateUrlValue(t){this.urlValue=(t==null?void 0:t.toString())||"",e(this,f)&&ne.updateSearchParameter(this.id,t)}open(t){if(e(this,f))return;o(this,$,t==null?void 0:t.trigger),clearTimeout(e(this,M)),clearTimeout(e(this,B)),this.openClass&&this.openClass.split(" ").map(r=>{document.documentElement.classList.add(r.trim())}),e(this,a).set("closing",!1),e(this,a).set("triggered",!0),J.dispatchEvent(this,"popoverTriggered",{custom:!0,detail:{trigger:e(this,$)}}),e(this,v).current&&e(this,S)&&history.pushState(history.state,"",e(this,P,ce)),o(this,f,!0);const s=()=>{E.stack.add(e(this,m).current,this),e(this,T).call(this),e(this,a).set("opened",!0),J.dispatchEvent(this,"popoverOpened",{custom:!0,detail:{trigger:e(this,$)},bubbles:!0}),o(this,C,void 0),o(this,H,setTimeout(()=>{e(this,a).set("transitionend",!0)},oe.getElementTransitionDurationMS(this)+10))};t!=null&&t.skipTransition?s():o(this,C,setTimeout(s,10))}close(){e(this,f)&&(clearTimeout(e(this,C)),clearTimeout(e(this,H)),E.stack.remove(e(this,m).current,this),o(this,f,!1),y(this,P,Q).call(this),this.openClass&&this.openClass.split(" ").map(t=>{document.documentElement.classList.remove(t.trim())}),e(this,a).set("transitionend",!1),o(this,M,setTimeout(()=>{e(this,a).set("opened",!1),e(this,a).set("closing",!0),J.dispatchEvent(this,"popoverClosing",{custom:!0,bubbles:!0}),o(this,B,setTimeout(()=>{e(this,a).set("triggered",!1),e(this,a).set("closing",!1),e(this,z).forEach(t=>{t.scroll({top:0,left:0,behavior:"instant"})}),J.dispatchEvent(this,"popoverClosed",{custom:!0,bubbles:!0})},oe.getElementTransitionDurationMS(this)+10))},10)))}connectedCallback(){o(this,O,[...this.querySelectorAll(`[data-popover-close${this.id?`="${this.id}"`:""}]`)]),e(this,O).forEach(t=>{t.addEventListener("click",e(this,W))}),o(this,z,[...this.querySelectorAll(`[data-popover-reset-scroll${this.id?`="${this.id}"`:""}]`)]),e(this,v).observe(),e(this,w).observe(),e(this,A).observe(),e(this,x).observe(),e(this,m).observe(),e(this,R).observe(),e(this,q).observe(),e(this,L).observe(),this.setAttribute("role","dialog"),addEventListener("popstate",e(this,V)),setTimeout(()=>{e(this,w).current?(this.urlValue=ne.parseSearchParameters(location.search)[this.id],e(this,V).call(this)):(y(this,P,Q).call(this),o(this,S,!0))},0),e(this,L).subscribe(()=>{e(this,T).call(this)}),he.windowResizer.subscribe(e(this,T))}disconnectedCallback(){e(this,O).forEach(t=>{t.removeEventListener("click",e(this,W))}),E.stack.remove(e(this,m).current,this),he.windowResizer.unsubscribe(e(this,T)),e(this,a).close(),e(this,v).close(),e(this,w).close(),e(this,A).close(),e(this,x).close(),e(this,m).close(),e(this,R).close(),e(this,q).close(),e(this,L).close(),this.removeAttribute("role"),clearTimeout(e(this,M)),clearTimeout(e(this,B)),clearTimeout(e(this,C)),clearTimeout(e(this,H)),removeEventListener("popstate",e(this,V)),this.style.removeProperty("--content-width"),this.style.removeProperty("--content-height"),this.style.removeProperty("--viewport-offset-x"),this.style.removeProperty("--viewport-offset-y"),y(this,P,Q).call(this)}};f=new WeakMap,M=new WeakMap,B=new WeakMap,C=new WeakMap,H=new WeakMap,v=new WeakMap,w=new WeakMap,A=new WeakMap,x=new WeakMap,m=new WeakMap,R=new WeakMap,q=new WeakMap,L=new WeakMap,S=new WeakMap,$=new WeakMap,a=new WeakMap,O=new WeakMap,z=new WeakMap,P=new WeakSet,ce=function(){return`${location.pathname}${location.search?location.search+"&":"?"}${this.idWithValue}`},Q=function(){if(e(this,v).current){const t=new URL(location.href);t.searchParams.delete(this.id),history.replaceState(history.state,"",t.href)}},V=new WeakMap,T=new WeakMap,U=new WeakMap,j=new WeakMap,W=new WeakMap,E.stack=new pe;let D=E;se.isBrowser&&!customElements.get("e-popover")&&customElements.define("e-popover",D);var h,d,k,ee,X,Y,F,I,te;class le extends HTMLElement{constructor(){super();i(this,k);i(this,h);i(this,d,new g.CSSProperty(this,"--type","open"));i(this,X,()=>{e(this,d).current!=="close"&&this.classList.add("triggered")});i(this,Y,()=>{e(this,d).current!=="close"&&(this.classList.add("opened"),this.setAttribute("aria-expanded","true"))});i(this,F,()=>{e(this,d).current!=="close"&&this.classList.remove("opened")});i(this,I,()=>{e(this,d).current!=="close"&&(this.classList.remove("triggered"),this.setAttribute("aria-expanded","false"))});se.isBrowser&&(this.addEventListener("click",()=>{if(e(this,h)){const t=e(this,d).current;t==="open"||t==="toggle"&&!e(this,h).opened?e(this,h).open({trigger:this}):(t==="close"||t==="toggle"&&e(this,h).opened)&&e(this,h).close()}}),this.addEventListener("keydown",t=>{t.code==="Space"&&!this.hasAttribute("keydown-disabled")&&(t.preventDefault(),this.click())}))}get type(){return e(this,d)}get popoverElement(){return e(this,h)}changePopover(t){var s;if(y(this,k,ee).call(this),t){let r=null;if(t==="parent"){const l=this.closest("[data-popover]");if(l)r=l;else{const p=this.getRootNode();p instanceof ShadowRoot?r=p.host.closest("[data-popover]"):p instanceof HTMLElement&&(r=p.closest("[data-popover]"))}}else if(t==="sibling")r=(s=this.parentElement)==null?void 0:s.querySelector("[data-popover]");else if(t==="ancestor-child"){const l=p=>{if(!p)return null;let G=p.querySelector("[data-popover]");return!G&&(p!=null&&p.parentElement)&&(G=l(p.parentElement)),G};r=l(this.parentElement)||null}else!t.startsWith(".")&&!t.startsWith("[")&&(t=`#${t}`),r=document.querySelector(t)||this.getRootNode().querySelector(t);r instanceof HTMLElement?(o(this,h,r),e(this,h).addEventListener("popoverTriggered",e(this,X)),e(this,h).addEventListener("popoverOpened",e(this,Y)),e(this,h).addEventListener("popoverClosing",e(this,F)),e(this,h).addEventListener("popoverClosed",e(this,I))):console.warn(this,`target ${t} not found`)}y(this,k,te).call(this,e(this,d).current)}connectedCallback(){e(this,d).subscribe(s=>{y(this,k,te).call(this,s.current)}),this.hasAttribute("tabindex")||(this.tabIndex=0),this.hasAttribute("role")||this.setAttribute("role","button");const t=this.getAttribute("target");t&&this.changePopover(t),this.isConnected&&e(this,d).observe()}disconnectedCallback(){e(this,d).unobserve(),this.removeAttribute("aria-haspopup"),this.removeAttribute("aria-expanded"),this.removeAttribute("aria-controls"),this.removeAttribute("role"),this.removeAttribute("tabindex"),y(this,k,ee).call(this)}}h=new WeakMap,d=new WeakMap,k=new WeakSet,ee=function(){e(this,h)&&(e(this,h).removeEventListener("popoverTriggered",e(this,X)),e(this,h).removeEventListener("popoverOpened",e(this,Y)),e(this,h).removeEventListener("popoverClosing",e(this,F)),e(this,h).removeEventListener("popoverClosed",e(this,I)))},X=new WeakMap,Y=new WeakMap,F=new WeakMap,I=new WeakMap,te=function(t){e(this,h)instanceof D&&(t!=="close"?(this.setAttribute("aria-haspopup","true"),this.setAttribute("aria-expanded",e(this,h).opened?"true":"false"),this.setAttribute("aria-controls",e(this,h).id||"")):(this.removeAttribute("aria-haspopup"),this.removeAttribute("aria-expanded"),this.removeAttribute("aria-controls")))};se.isBrowser&&!customElements.get("e-popover-button")&&customElements.define("e-popover-button",le);exports.PopoverButtonElement=le;exports.PopoverElement=D;
|
package/lib/popover/index.js
CHANGED
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
var
|
|
1
|
+
var rt = (c) => {
|
|
2
2
|
throw TypeError(c);
|
|
3
3
|
};
|
|
4
|
-
var
|
|
5
|
-
var t = (c,
|
|
6
|
-
import { ElementLinkedStore as
|
|
7
|
-
import { CSSProperty as
|
|
8
|
-
import { i as
|
|
9
|
-
import { d as
|
|
10
|
-
import { d as
|
|
11
|
-
import { g as
|
|
4
|
+
var _ = (c, h, e) => h.has(c) || rt("Cannot " + e);
|
|
5
|
+
var t = (c, h, e) => (_(c, h, "read from private field"), e ? e.call(c) : h.get(c)), i = (c, h, e) => h.has(c) ? rt("Cannot add the same private member more than once") : h instanceof WeakSet ? h.add(c) : h.set(c, e), o = (c, h, e, s) => (_(c, h, "write to private field"), s ? s.call(c, e) : h.set(c, e), e), E = (c, h, e) => (_(c, h, "access private method"), e);
|
|
6
|
+
import { ElementLinkedStore as ct } from "../element-linked-store/index.js";
|
|
7
|
+
import { CSSProperty as g } from "../css-property/index.js";
|
|
8
|
+
import { i as st } from "../index-Bv9zgfdb.js";
|
|
9
|
+
import { d as I } from "../events-CsVF98U6.js";
|
|
10
|
+
import { d as lt } from "../function-C10DGppn.js";
|
|
11
|
+
import { g as ot } from "../style-j2TwriJ_.js";
|
|
12
12
|
import "construct-style-sheets-polyfill";
|
|
13
|
-
import { u as
|
|
14
|
-
import { windowResizer as
|
|
15
|
-
import { v as
|
|
16
|
-
var u, b,
|
|
17
|
-
class
|
|
13
|
+
import { u as at, p as ut } from "../url-Cb0SFRMc.js";
|
|
14
|
+
import { windowResizer as ht } from "../window-resizer/index.js";
|
|
15
|
+
import { v as J } from "../Viewport-DA10iWAO.js";
|
|
16
|
+
var u, b, Z, N;
|
|
17
|
+
class pt {
|
|
18
18
|
constructor() {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
i(this, u, /* @__PURE__ */ new Map());
|
|
20
|
+
i(this, b, []);
|
|
21
|
+
i(this, Z, (h) => {
|
|
22
22
|
var s;
|
|
23
|
-
const e = [...t(this, b)].reverse().find((
|
|
23
|
+
const e = [...t(this, b)].reverse().find((r) => r.clickOutside.current);
|
|
24
24
|
if (e) {
|
|
25
|
-
const
|
|
26
|
-
if (
|
|
27
|
-
(
|
|
25
|
+
const r = h.composedPath();
|
|
26
|
+
if (r.find(
|
|
27
|
+
(it) => it instanceof HTMLElement && it.hasAttribute("data-popover-content")
|
|
28
28
|
))
|
|
29
29
|
return;
|
|
30
|
-
const l =
|
|
31
|
-
(!p ||
|
|
30
|
+
const l = r[0], p = l instanceof Node && (e.contains(l) || ((s = e.shadowRoot) == null ? void 0 : s.contains(l))), B = l instanceof HTMLElement && l.hasAttribute("data-outside");
|
|
31
|
+
(!p || B) && e.close();
|
|
32
32
|
}
|
|
33
33
|
});
|
|
34
|
-
|
|
35
|
-
if (
|
|
34
|
+
i(this, N, (h) => {
|
|
35
|
+
if (h.code === "Escape") {
|
|
36
36
|
const e = [...t(this, b)].reverse().find((s) => s.escape.current);
|
|
37
37
|
e && e.close();
|
|
38
38
|
}
|
|
39
39
|
});
|
|
40
40
|
document.documentElement.addEventListener(
|
|
41
41
|
"click",
|
|
42
|
-
t(this,
|
|
43
|
-
), addEventListener("keydown", t(this,
|
|
42
|
+
t(this, Z)
|
|
43
|
+
), addEventListener("keydown", t(this, N));
|
|
44
44
|
}
|
|
45
45
|
get groups() {
|
|
46
46
|
return t(this, u);
|
|
@@ -48,88 +48,93 @@ class lt {
|
|
|
48
48
|
get stack() {
|
|
49
49
|
return t(this, b);
|
|
50
50
|
}
|
|
51
|
-
add(
|
|
51
|
+
add(h, e) {
|
|
52
52
|
if (e.closeRest.current)
|
|
53
|
-
t(this, u).forEach((
|
|
54
|
-
|
|
53
|
+
t(this, u).forEach((r) => {
|
|
54
|
+
r.forEach((l) => {
|
|
55
55
|
l.close();
|
|
56
56
|
});
|
|
57
57
|
});
|
|
58
58
|
else if (e.closeRestInGroup.current) {
|
|
59
|
-
let
|
|
60
|
-
|
|
59
|
+
let r = t(this, u).get(h);
|
|
60
|
+
r == null || r.forEach((l) => {
|
|
61
61
|
l.close();
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
|
-
let s = t(this, u).get(
|
|
65
|
-
s != null && s.length || (s = [], t(this, u).set(
|
|
64
|
+
let s = t(this, u).get(h);
|
|
65
|
+
s != null && s.length || (s = [], t(this, u).set(h, s)), t(this, b).push(e), s.push(e);
|
|
66
66
|
}
|
|
67
|
-
remove(
|
|
68
|
-
if (
|
|
67
|
+
remove(h, e) {
|
|
68
|
+
if (o(this, b, t(this, b).filter((s) => s !== e)), e.closeRest.current) {
|
|
69
69
|
let s = [];
|
|
70
|
-
t(this, u).forEach((
|
|
71
|
-
|
|
72
|
-
}), t(this, u).clear(), s.forEach((
|
|
70
|
+
t(this, u).forEach((r) => {
|
|
71
|
+
r.forEach((l) => s.push(l));
|
|
72
|
+
}), t(this, u).clear(), s.forEach((r) => r.close());
|
|
73
73
|
} else if (e.closeRestInGroup.current) {
|
|
74
|
-
const s = t(this, u).get(
|
|
75
|
-
t(this, u).delete(
|
|
76
|
-
|
|
74
|
+
const s = t(this, u).get(h);
|
|
75
|
+
t(this, u).delete(h), s == null || s.forEach((r) => {
|
|
76
|
+
r.close();
|
|
77
77
|
});
|
|
78
78
|
} else {
|
|
79
|
-
let s = t(this, u).get(
|
|
80
|
-
s && (s = s.filter((
|
|
79
|
+
let s = t(this, u).get(h);
|
|
80
|
+
s && (s = s.filter((r) => r !== e), t(this, u).set(h, s));
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
|
-
u = new WeakMap(), b = new WeakMap(),
|
|
85
|
-
var f,
|
|
86
|
-
const
|
|
84
|
+
u = new WeakMap(), b = new WeakMap(), Z = new WeakMap(), N = new WeakMap();
|
|
85
|
+
var f, H, q, P, W, m, L, x, S, v, R, $, w, T, O, a, V, G, A, nt, K, M, k, D, U, z;
|
|
86
|
+
const y = class y extends HTMLElement {
|
|
87
87
|
constructor() {
|
|
88
88
|
super();
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
89
|
+
i(this, A);
|
|
90
|
+
i(this, f);
|
|
91
|
+
i(this, H);
|
|
92
|
+
i(this, q);
|
|
93
|
+
i(this, P);
|
|
94
|
+
i(this, W);
|
|
95
|
+
i(this, m);
|
|
96
|
+
i(this, L);
|
|
97
|
+
i(this, x);
|
|
98
|
+
i(this, S);
|
|
99
|
+
i(this, v);
|
|
100
|
+
i(this, R);
|
|
101
|
+
i(this, $);
|
|
102
|
+
i(this, w);
|
|
103
|
+
i(this, T);
|
|
104
|
+
i(this, O);
|
|
105
|
+
i(this, a);
|
|
106
|
+
i(this, V);
|
|
107
|
+
i(this, G);
|
|
108
|
+
i(this, M);
|
|
109
|
+
i(this, k);
|
|
110
|
+
i(this, D);
|
|
111
|
+
i(this, U);
|
|
112
|
+
i(this, z);
|
|
113
|
+
this.urlValue = "", o(this, f, !1), o(this, m, new g(this, "--history", !1)), o(this, L, new g(this, "--restore", !1)), o(this, x, new g(this, "--close-rest", !1)), o(this, S, new g(
|
|
111
114
|
this,
|
|
112
115
|
"--close-rest-in-group",
|
|
113
116
|
!1
|
|
114
|
-
)),
|
|
117
|
+
)), o(this, v, new g(this, "--group", "")), o(this, R, new g(this, "--click-outside", !1)), o(this, $, new g(this, "--escape", !1)), o(this, w, new g(this, "--check-viewport-bounds", !1)), o(this, T, !1), o(this, a, new ct(this, {
|
|
115
118
|
opened: !1,
|
|
116
119
|
closing: !1,
|
|
117
120
|
triggered: !1,
|
|
118
121
|
transitionend: !1
|
|
119
|
-
})),
|
|
120
|
-
|
|
121
|
-
}),
|
|
122
|
-
this.style.setProperty("--content-width", "initial"), this.style.setProperty("--content-height", "initial"), this.style.setProperty("--viewport-offset-x", "0px"), this.style.setProperty("--viewport-offset-y", "0px"), t(this,
|
|
123
|
-
}),
|
|
124
|
-
t(this,
|
|
125
|
-
}, 10)),
|
|
126
|
-
if (this.style.setProperty("--content-width", this.scrollWidth + "px"), this.style.setProperty("--content-height", this.scrollHeight + "px"), t(this,
|
|
122
|
+
})), o(this, V, []), o(this, G, []), o(this, M, () => {
|
|
123
|
+
o(this, T, !1), t(this, f) && t(this, m).current && !location.search.includes(this.id) ? this.close() : !t(this, f) && t(this, m).current && location.search.includes(this.id) && this.open({ trigger: this.idWithValue }), o(this, T, !0);
|
|
124
|
+
}), o(this, k, () => {
|
|
125
|
+
this.style.setProperty("--content-width", "initial"), this.style.setProperty("--content-height", "initial"), this.style.setProperty("--viewport-offset-x", "0px"), this.style.setProperty("--viewport-offset-y", "0px"), t(this, D).call(this);
|
|
126
|
+
}), o(this, D, lt(() => {
|
|
127
|
+
t(this, U).call(this);
|
|
128
|
+
}, 10)), o(this, U, () => {
|
|
129
|
+
if (this.style.setProperty("--content-width", this.scrollWidth + "px"), this.style.setProperty("--content-height", this.scrollHeight + "px"), t(this, w).current) {
|
|
127
130
|
const e = this.getBoundingClientRect();
|
|
128
|
-
let s = 0,
|
|
129
|
-
e.right >
|
|
131
|
+
let s = 0, r = 0;
|
|
132
|
+
e.right > J.width ? s = J.width - e.right : e.left < 0 && (s = e.left * -1), e.bottom > J.height ? r = J.height - e.bottom : e.top < 0 && (r = e.top * -1), this.style.setProperty("--viewport-offset-x", s + "px"), this.style.setProperty("--viewport-offset-y", r + "px");
|
|
130
133
|
}
|
|
131
|
-
}),
|
|
132
|
-
|
|
134
|
+
}), o(this, z, () => {
|
|
135
|
+
this.close();
|
|
136
|
+
}), t(this, v).subscribe((e) => {
|
|
137
|
+
e.previous && (y.stack.remove(e.previous, this), e.current || (document.documentElement.classList.remove(
|
|
133
138
|
`${this.group.previous}-closing`
|
|
134
139
|
), document.documentElement.classList.remove(
|
|
135
140
|
`${this.group.previous}-opened`
|
|
@@ -140,10 +145,10 @@ const E = class E extends HTMLElement {
|
|
|
140
145
|
`${this.group.current}-closing`,
|
|
141
146
|
e.current.closing
|
|
142
147
|
);
|
|
143
|
-
const s =
|
|
148
|
+
const s = y.stack.groups.get(this.group.current), r = s == null ? void 0 : s.find((l) => l.opened);
|
|
144
149
|
document.documentElement.classList.toggle(
|
|
145
150
|
`${this.group.current}-opened`,
|
|
146
|
-
!!
|
|
151
|
+
!!r
|
|
147
152
|
);
|
|
148
153
|
}
|
|
149
154
|
});
|
|
@@ -155,7 +160,7 @@ const E = class E extends HTMLElement {
|
|
|
155
160
|
return t(this, m);
|
|
156
161
|
}
|
|
157
162
|
get restore() {
|
|
158
|
-
return t(this,
|
|
163
|
+
return t(this, L);
|
|
159
164
|
}
|
|
160
165
|
get closeRest() {
|
|
161
166
|
return t(this, x);
|
|
@@ -164,7 +169,7 @@ const E = class E extends HTMLElement {
|
|
|
164
169
|
return t(this, S);
|
|
165
170
|
}
|
|
166
171
|
get group() {
|
|
167
|
-
return t(this,
|
|
172
|
+
return t(this, v);
|
|
168
173
|
}
|
|
169
174
|
get clickOutside() {
|
|
170
175
|
return t(this, R);
|
|
@@ -182,88 +187,106 @@ const E = class E extends HTMLElement {
|
|
|
182
187
|
return `${this.id}${this.urlValue ? "=" + this.urlValue : ""}`;
|
|
183
188
|
}
|
|
184
189
|
updateUrlValue(e) {
|
|
185
|
-
this.urlValue = (e == null ? void 0 : e.toString()) || "", t(this, f) &&
|
|
190
|
+
this.urlValue = (e == null ? void 0 : e.toString()) || "", t(this, f) && at(this.id, e);
|
|
186
191
|
}
|
|
187
192
|
open(e) {
|
|
188
193
|
if (t(this, f))
|
|
189
194
|
return;
|
|
190
|
-
|
|
191
|
-
document.documentElement.classList.add(
|
|
192
|
-
}), t(this, a).set("closing", !1), t(this, a).set("triggered", !0),
|
|
195
|
+
o(this, O, e == null ? void 0 : e.trigger), clearTimeout(t(this, H)), clearTimeout(t(this, q)), this.openClass && this.openClass.split(" ").map((r) => {
|
|
196
|
+
document.documentElement.classList.add(r.trim());
|
|
197
|
+
}), t(this, a).set("closing", !1), t(this, a).set("triggered", !0), I(this, "popoverTriggered", {
|
|
193
198
|
custom: !0,
|
|
194
199
|
detail: {
|
|
195
200
|
trigger: t(this, O)
|
|
196
201
|
}
|
|
197
|
-
}), t(this, m).current && t(this, T) && history.pushState(history.state, "", t(this, A,
|
|
202
|
+
}), t(this, m).current && t(this, T) && history.pushState(history.state, "", t(this, A, nt)), o(this, f, !0);
|
|
198
203
|
const s = () => {
|
|
199
|
-
|
|
204
|
+
y.stack.add(t(this, v).current, this), t(this, k).call(this), t(this, a).set("opened", !0), I(this, "popoverOpened", {
|
|
200
205
|
custom: !0,
|
|
201
206
|
detail: {
|
|
202
207
|
trigger: t(this, O)
|
|
203
208
|
},
|
|
204
209
|
bubbles: !0
|
|
205
|
-
}),
|
|
210
|
+
}), o(this, P, void 0), o(this, W, setTimeout(() => {
|
|
206
211
|
t(this, a).set("transitionend", !0);
|
|
207
|
-
},
|
|
212
|
+
}, ot(this) + 10));
|
|
208
213
|
};
|
|
209
|
-
e != null && e.skipTransition ? s() :
|
|
214
|
+
e != null && e.skipTransition ? s() : o(this, P, setTimeout(s, 10));
|
|
210
215
|
}
|
|
211
216
|
close() {
|
|
212
|
-
t(this, f) && (clearTimeout(t(this,
|
|
217
|
+
t(this, f) && (clearTimeout(t(this, P)), clearTimeout(t(this, W)), y.stack.remove(t(this, v).current, this), o(this, f, !1), E(this, A, K).call(this), this.openClass && this.openClass.split(" ").map((e) => {
|
|
213
218
|
document.documentElement.classList.remove(e.trim());
|
|
214
|
-
}), t(this, a).set("transitionend", !1),
|
|
215
|
-
t(this, a).set("opened", !1), t(this, a).set("closing", !0),
|
|
219
|
+
}), t(this, a).set("transitionend", !1), o(this, H, setTimeout(() => {
|
|
220
|
+
t(this, a).set("opened", !1), t(this, a).set("closing", !0), I(this, "popoverClosing", {
|
|
216
221
|
custom: !0,
|
|
217
222
|
bubbles: !0
|
|
218
|
-
}),
|
|
219
|
-
t(this, a).set("triggered", !1), t(this, a).set("closing", !1),
|
|
223
|
+
}), o(this, q, setTimeout(() => {
|
|
224
|
+
t(this, a).set("triggered", !1), t(this, a).set("closing", !1), t(this, G).forEach((e) => {
|
|
225
|
+
e.scroll({
|
|
226
|
+
top: 0,
|
|
227
|
+
left: 0,
|
|
228
|
+
behavior: "instant"
|
|
229
|
+
});
|
|
230
|
+
}), I(this, "popoverClosed", {
|
|
220
231
|
custom: !0,
|
|
221
232
|
bubbles: !0
|
|
222
233
|
});
|
|
223
|
-
},
|
|
234
|
+
}, ot(this) + 10));
|
|
224
235
|
}, 10)));
|
|
225
236
|
}
|
|
226
237
|
connectedCallback() {
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
238
|
+
o(this, V, [
|
|
239
|
+
...this.querySelectorAll(
|
|
240
|
+
`[data-popover-close${this.id ? `="${this.id}"` : ""}]`
|
|
241
|
+
)
|
|
242
|
+
]), t(this, V).forEach((e) => {
|
|
243
|
+
e.addEventListener("click", t(this, z));
|
|
244
|
+
}), o(this, G, [
|
|
245
|
+
...this.querySelectorAll(
|
|
246
|
+
`[data-popover-reset-scroll${this.id ? `="${this.id}"` : ""}]`
|
|
247
|
+
)
|
|
248
|
+
]), t(this, m).observe(), t(this, L).observe(), t(this, x).observe(), t(this, S).observe(), t(this, v).observe(), t(this, R).observe(), t(this, $).observe(), t(this, w).observe(), this.setAttribute("role", "dialog"), addEventListener("popstate", t(this, M)), setTimeout(() => {
|
|
249
|
+
t(this, L).current ? (this.urlValue = ut(location.search)[this.id], t(this, M).call(this)) : (E(this, A, K).call(this), o(this, T, !0));
|
|
250
|
+
}, 0), t(this, w).subscribe(() => {
|
|
230
251
|
t(this, k).call(this);
|
|
231
|
-
}),
|
|
252
|
+
}), ht.subscribe(t(this, k));
|
|
232
253
|
}
|
|
233
254
|
disconnectedCallback() {
|
|
234
|
-
|
|
255
|
+
t(this, V).forEach((e) => {
|
|
256
|
+
e.removeEventListener("click", t(this, z));
|
|
257
|
+
}), y.stack.remove(t(this, v).current, this), ht.unsubscribe(t(this, k)), t(this, a).close(), t(this, m).close(), t(this, L).close(), t(this, x).close(), t(this, S).close(), t(this, v).close(), t(this, R).close(), t(this, $).close(), t(this, w).close(), this.removeAttribute("role"), clearTimeout(t(this, H)), clearTimeout(t(this, q)), clearTimeout(t(this, P)), clearTimeout(t(this, W)), removeEventListener("popstate", t(this, M)), this.style.removeProperty("--content-width"), this.style.removeProperty("--content-height"), this.style.removeProperty("--viewport-offset-x"), this.style.removeProperty("--viewport-offset-y"), E(this, A, K).call(this);
|
|
235
258
|
}
|
|
236
259
|
};
|
|
237
|
-
f = new WeakMap(),
|
|
260
|
+
f = new WeakMap(), H = new WeakMap(), q = new WeakMap(), P = new WeakMap(), W = new WeakMap(), m = new WeakMap(), L = new WeakMap(), x = new WeakMap(), S = new WeakMap(), v = new WeakMap(), R = new WeakMap(), $ = new WeakMap(), w = new WeakMap(), T = new WeakMap(), O = new WeakMap(), a = new WeakMap(), V = new WeakMap(), G = new WeakMap(), A = new WeakSet(), nt = function() {
|
|
238
261
|
return `${location.pathname}${location.search ? location.search + "&" : "?"}${this.idWithValue}`;
|
|
239
|
-
},
|
|
262
|
+
}, K = function() {
|
|
240
263
|
if (t(this, m).current) {
|
|
241
264
|
const e = new URL(location.href);
|
|
242
265
|
e.searchParams.delete(this.id), history.replaceState(history.state, "", e.href);
|
|
243
266
|
}
|
|
244
|
-
},
|
|
245
|
-
let
|
|
246
|
-
|
|
247
|
-
var n, d,
|
|
248
|
-
class
|
|
267
|
+
}, M = new WeakMap(), k = new WeakMap(), D = new WeakMap(), U = new WeakMap(), z = new WeakMap(), y.stack = new pt();
|
|
268
|
+
let Q = y;
|
|
269
|
+
st && !customElements.get("e-popover") && customElements.define("e-popover", Q);
|
|
270
|
+
var n, d, C, tt, X, Y, j, F, et;
|
|
271
|
+
class dt extends HTMLElement {
|
|
249
272
|
constructor() {
|
|
250
273
|
super();
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
274
|
+
i(this, C);
|
|
275
|
+
i(this, n);
|
|
276
|
+
i(this, d, new g(this, "--type", "open"));
|
|
277
|
+
i(this, X, () => {
|
|
255
278
|
t(this, d).current !== "close" && this.classList.add("triggered");
|
|
256
279
|
});
|
|
257
|
-
|
|
280
|
+
i(this, Y, () => {
|
|
258
281
|
t(this, d).current !== "close" && (this.classList.add("opened"), this.setAttribute("aria-expanded", "true"));
|
|
259
282
|
});
|
|
260
|
-
|
|
283
|
+
i(this, j, () => {
|
|
261
284
|
t(this, d).current !== "close" && this.classList.remove("opened");
|
|
262
285
|
});
|
|
263
|
-
|
|
286
|
+
i(this, F, () => {
|
|
264
287
|
t(this, d).current !== "close" && (this.classList.remove("triggered"), this.setAttribute("aria-expanded", "false"));
|
|
265
288
|
});
|
|
266
|
-
|
|
289
|
+
st && (this.addEventListener("click", () => {
|
|
267
290
|
if (t(this, n)) {
|
|
268
291
|
const e = t(this, d).current;
|
|
269
292
|
e === "open" || e === "toggle" && !t(this, n).opened ? t(this, n).open({ trigger: this }) : (e === "close" || e === "toggle" && t(this, n).opened) && t(this, n).close();
|
|
@@ -280,77 +303,77 @@ class at extends HTMLElement {
|
|
|
280
303
|
}
|
|
281
304
|
changePopover(e) {
|
|
282
305
|
var s;
|
|
283
|
-
if (
|
|
284
|
-
let
|
|
306
|
+
if (E(this, C, tt).call(this), e) {
|
|
307
|
+
let r = null;
|
|
285
308
|
if (e === "parent") {
|
|
286
309
|
const l = this.closest("[data-popover]");
|
|
287
310
|
if (l)
|
|
288
|
-
|
|
311
|
+
r = l;
|
|
289
312
|
else {
|
|
290
313
|
const p = this.getRootNode();
|
|
291
|
-
p instanceof ShadowRoot ?
|
|
314
|
+
p instanceof ShadowRoot ? r = p.host.closest("[data-popover]") : p instanceof HTMLElement && (r = p.closest("[data-popover]"));
|
|
292
315
|
}
|
|
293
316
|
} else if (e === "sibling")
|
|
294
|
-
|
|
317
|
+
r = (s = this.parentElement) == null ? void 0 : s.querySelector("[data-popover]");
|
|
295
318
|
else if (e === "ancestor-child") {
|
|
296
319
|
const l = (p) => {
|
|
297
320
|
if (!p)
|
|
298
321
|
return null;
|
|
299
|
-
let
|
|
300
|
-
return !
|
|
322
|
+
let B = p.querySelector("[data-popover]");
|
|
323
|
+
return !B && (p != null && p.parentElement) && (B = l(p.parentElement)), B;
|
|
301
324
|
};
|
|
302
|
-
|
|
325
|
+
r = l(this.parentElement) || null;
|
|
303
326
|
} else
|
|
304
|
-
!e.startsWith(".") && !e.startsWith("[") && (e = `#${e}`),
|
|
305
|
-
|
|
327
|
+
!e.startsWith(".") && !e.startsWith("[") && (e = `#${e}`), r = document.querySelector(e) || this.getRootNode().querySelector(e);
|
|
328
|
+
r instanceof HTMLElement ? (o(this, n, r), t(this, n).addEventListener(
|
|
306
329
|
"popoverTriggered",
|
|
307
|
-
t(this,
|
|
330
|
+
t(this, X)
|
|
308
331
|
), t(this, n).addEventListener(
|
|
309
332
|
"popoverOpened",
|
|
310
|
-
t(this,
|
|
333
|
+
t(this, Y)
|
|
311
334
|
), t(this, n).addEventListener(
|
|
312
335
|
"popoverClosing",
|
|
313
|
-
t(this,
|
|
336
|
+
t(this, j)
|
|
314
337
|
), t(this, n).addEventListener(
|
|
315
338
|
"popoverClosed",
|
|
316
|
-
t(this,
|
|
339
|
+
t(this, F)
|
|
317
340
|
)) : console.warn(this, `target ${e} not found`);
|
|
318
341
|
}
|
|
319
|
-
|
|
342
|
+
E(this, C, et).call(this, t(this, d).current);
|
|
320
343
|
}
|
|
321
344
|
connectedCallback() {
|
|
322
345
|
t(this, d).subscribe((s) => {
|
|
323
|
-
|
|
346
|
+
E(this, C, et).call(this, s.current);
|
|
324
347
|
}), this.hasAttribute("tabindex") || (this.tabIndex = 0), this.hasAttribute("role") || this.setAttribute("role", "button");
|
|
325
348
|
const e = this.getAttribute("target");
|
|
326
349
|
e && this.changePopover(e), this.isConnected && t(this, d).observe();
|
|
327
350
|
}
|
|
328
351
|
disconnectedCallback() {
|
|
329
|
-
t(this, d).unobserve(), this.removeAttribute("aria-haspopup"), this.removeAttribute("aria-expanded"), this.removeAttribute("aria-controls"), this.removeAttribute("role"), this.removeAttribute("tabindex"),
|
|
352
|
+
t(this, d).unobserve(), this.removeAttribute("aria-haspopup"), this.removeAttribute("aria-expanded"), this.removeAttribute("aria-controls"), this.removeAttribute("role"), this.removeAttribute("tabindex"), E(this, C, tt).call(this);
|
|
330
353
|
}
|
|
331
354
|
}
|
|
332
|
-
n = new WeakMap(), d = new WeakMap(),
|
|
355
|
+
n = new WeakMap(), d = new WeakMap(), C = new WeakSet(), tt = function() {
|
|
333
356
|
t(this, n) && (t(this, n).removeEventListener(
|
|
334
357
|
"popoverTriggered",
|
|
335
|
-
t(this,
|
|
358
|
+
t(this, X)
|
|
336
359
|
), t(this, n).removeEventListener(
|
|
337
360
|
"popoverOpened",
|
|
338
|
-
t(this,
|
|
361
|
+
t(this, Y)
|
|
339
362
|
), t(this, n).removeEventListener(
|
|
340
363
|
"popoverClosing",
|
|
341
|
-
t(this,
|
|
364
|
+
t(this, j)
|
|
342
365
|
), t(this, n).removeEventListener(
|
|
343
366
|
"popoverClosed",
|
|
344
|
-
t(this,
|
|
367
|
+
t(this, F)
|
|
345
368
|
));
|
|
346
|
-
},
|
|
347
|
-
t(this, n) instanceof
|
|
369
|
+
}, X = new WeakMap(), Y = new WeakMap(), j = new WeakMap(), F = new WeakMap(), et = function(e) {
|
|
370
|
+
t(this, n) instanceof Q && (e !== "close" ? (this.setAttribute("aria-haspopup", "true"), this.setAttribute(
|
|
348
371
|
"aria-expanded",
|
|
349
372
|
t(this, n).opened ? "true" : "false"
|
|
350
373
|
), this.setAttribute("aria-controls", t(this, n).id || "")) : (this.removeAttribute("aria-haspopup"), this.removeAttribute("aria-expanded"), this.removeAttribute("aria-controls")));
|
|
351
374
|
};
|
|
352
|
-
|
|
375
|
+
st && !customElements.get("e-popover-button") && customElements.define("e-popover-button", dt);
|
|
353
376
|
export {
|
|
354
|
-
|
|
355
|
-
|
|
377
|
+
dt as PopoverButtonElement,
|
|
378
|
+
Q as PopoverElement
|
|
356
379
|
};
|