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