aptechka 0.32.5 → 0.33.0

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.
@@ -1,4 +1,4 @@
1
- import { Attribute } from '../attribute';
1
+ import { CSSProperty } from '../css-property';
2
2
  import { Store } from '../store/vanilla';
3
3
 
4
4
  export interface PopoverEvents {
@@ -14,9 +14,11 @@ export interface PopoverEvents {
14
14
  export declare class PopoverElement extends HTMLElement {
15
15
  #private;
16
16
  private static __opened;
17
- get history(): Attribute<false>;
18
- get restore(): Attribute<false>;
19
- get dominance(): Attribute<number>;
17
+ get history(): CSSProperty<false>;
18
+ get restore(): CSSProperty<false>;
19
+ get dominance(): CSSProperty<0>;
20
+ get clickOutside(): CSSProperty<false>;
21
+ get escape(): CSSProperty<false>;
20
22
  get opened(): Store<boolean>;
21
23
  get lastTrigger(): any;
22
24
  open: (options?: {
@@ -1 +1 @@
1
- "use strict";var N=o=>{throw TypeError(o)};var H=(o,n,t)=>n.has(o)||N("Cannot "+t);var e=(o,n,t)=>(H(o,n,"read from private field"),t?t.call(o):n.get(o)),s=(o,n,t)=>n.has(o)?N("Cannot add the same private member more than once"):n instanceof WeakSet?n.add(o):n.set(o,t),i=(o,n,t,l)=>(H(o,n,"write to private field"),l?l.call(o,t):n.set(o,t),t),k=(o,n,t)=>(H(o,n,"access private method"),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=require("../attribute/index.cjs"),W=require("../Store-CDb6RMce.cjs"),M=require("../events-KVanG9sR.cjs"),F=require("../function-MthRj-GJ.cjs"),G=require("../style-At6aDoqG.cjs"),j=require("../window-resizer/vanilla/index.cjs"),J=require("../browser-CpzFX2xg.cjs");var y,a,_,d,u,v,g,m,p,D,E,z,b,$,f,T,S,w;const c=class c extends HTMLElement{constructor(){super(...arguments);s(this,p);s(this,y);s(this,a);s(this,_);s(this,d);s(this,u);s(this,v);s(this,g);s(this,m);s(this,E);s(this,b);s(this,f);s(this,T);s(this,S);s(this,w);i(this,y,-1),i(this,a,new W.Store(!1)),i(this,d,new O.Attribute(this,"history",!1)),i(this,u,new O.Attribute(this,"restore",!1)),i(this,v,new O.Attribute(this,"dominance",0)),i(this,g,!1),this.open=t=>{if(e(this,a).current)return;i(this,m,t==null?void 0:t.trigger),e(this,a).current=!0,e(this,v).current&&(c.__opened=c.__opened.filter(h=>this.dominance.current>=h.dominance.current?(h.close(),!1):!0)),c.__opened.push(this),i(this,y,c.__opened.length-1),e(this,d).current&&e(this,g)&&history.pushState("","",e(this,p,D)),clearTimeout(e(this,_)),this.classList.remove("closing"),this.classList.add("triggered"),this.style.display="block",M.dispatchEvent(this,"popoverTriggered",{custom:!0,detail:{trigger:e(this,m)}});const l=()=>{addEventListener("click",e(this,E)),addEventListener("keydown",e(this,b)),e(this,w).call(this),this.style.opacity="1",this.classList.add("opened"),M.dispatchEvent(this,"popoverOpened",{custom:!0,detail:{trigger:e(this,m)}})};t!=null&&t.skipTransition?l():setTimeout(l,10)},this.close=()=>{e(this,a).current&&(e(this,a).current=!1,c.__opened=c.__opened.filter(t=>t!==this),k(this,p,z).call(this),this.classList.remove("opened"),this.classList.add("closing"),this.style.opacity="0",M.dispatchEvent(this,"popoverClosing",{custom:!0}),removeEventListener("click",e(this,E)),removeEventListener("keydown",e(this,b)),setTimeout(()=>{this.classList.remove("triggered"),this.classList.remove("closing"),this.style.display="none",M.dispatchEvent(this,"popoverClosed",{custom:!0})},G.getElementTransitionDurationMS(this)+10))},i(this,E,t=>{k(this,p,$).call(this,()=>{var I;const l=t.composedPath();if(l.find(B=>B instanceof HTMLElement&&B.hasAttribute("data-popover-content")))return;const h=l[0],x=h instanceof HTMLElement&&(this.contains(h)||((I=this.shadowRoot)==null?void 0:I.contains(h))),L=h instanceof HTMLElement&&h.hasAttribute("data-outside");(!x||L)&&this.close()})}),i(this,b,t=>{k(this,p,$).call(this,()=>{t.code==="Escape"&&this.close()})}),i(this,f,()=>{i(this,g,!1),e(this,a).current&&e(this,d).current&&!location.search.includes(this.id)?this.close():!e(this,a).current&&e(this,d).current&&location.search.includes(this.id)&&this.open(),i(this,g,!0)}),i(this,T,()=>{this.style.removeProperty("--content-width"),this.style.removeProperty("--content-height"),e(this,S).call(this)}),i(this,S,F.debounce(()=>{e(this,w).call(this)},20)),i(this,w,()=>{this.style.setProperty("--content-width",this.scrollWidth+"px"),this.style.setProperty("--content-height",this.scrollHeight+"px")})}get history(){return e(this,d)}get restore(){return e(this,u)}get dominance(){return e(this,v)}get opened(){return e(this,a)}get lastTrigger(){return e(this,m)}connectedCallback(){e(this,d).observe(),e(this,u).observe(),e(this,v).observe(),this.style.opacity="0",this.style.display="none",this.setAttribute("popover-target",""),this.classList.remove("closing"),this.classList.remove("closed"),this.classList.remove("triggered"),this.classList.remove("opened"),addEventListener("popstate",e(this,f)),setTimeout(()=>{e(this,u).current?e(this,f).call(this):(k(this,p,z).call(this),i(this,g,!0))},0),j.windowResizer.subscribe(e(this,T))}disconnectedCallback(){j.windowResizer.unsubscribe(e(this,T)),e(this,d).unobserve(),e(this,u).unobserve(),e(this,v).unobserve(),this.style.opacity="",this.style.display="",this.removeAttribute("popover-target"),c.__opened=c.__opened.filter(t=>t!==this),clearTimeout(e(this,_)),removeEventListener("popstate",e(this,f)),this.style.removeProperty("--content-width"),this.style.removeProperty("--content-height")}};y=new WeakMap,a=new WeakMap,_=new WeakMap,d=new WeakMap,u=new WeakMap,v=new WeakMap,g=new WeakMap,m=new WeakMap,p=new WeakSet,D=function(){return`${location.pathname}${location.search?location.search+"&":"?"}${this.id}`},E=new WeakMap,z=function(){if(e(this,d).current){const t=new URL(location.href);t.searchParams.delete(this.id),history.replaceState(null,"",t.href)}},b=new WeakMap,$=function(t){(c.__opened[e(this,y)-1]||c.__opened.length===1)&&t()},f=new WeakMap,T=new WeakMap,S=new WeakMap,w=new WeakMap,c.__opened=[];let R=c;customElements.get("e-popover")||customElements.define("e-popover",R);var r,C,A,P,q;class U extends HTMLElement{constructor(){super();s(this,r);s(this,C,()=>{this.classList.add("triggered")});s(this,A,()=>{this.classList.add("opened")});s(this,P,()=>{this.classList.remove("opened")});s(this,q,()=>{this.classList.remove("triggered")});J.isBrowser&&(this.addEventListener("click",()=>{if(e(this,r)){const t=this.getAttribute("type")||"open";t==="open"||t==="toggle"&&!e(this,r).opened.current?e(this,r).open({trigger:this}):(t==="close"||t==="toggle"&&e(this,r).opened.current)&&e(this,r).close()}}),this.addEventListener("keydown",t=>{t.code==="Space"&&t.currentTarget.click()}))}get popoverElement(){return e(this,r)}connectedCallback(){var l;this.hasAttribute("tabindex")||(this.tabIndex=0);const t=this.getAttribute("target");if(t){let h=null;if(t==="parent"){const x=this.closest("[popover-target]");if(x)h=x;else{const L=this.getRootNode();L instanceof ShadowRoot?h=L.host.closest("[popover-target]"):L instanceof HTMLElement&&(h=L.closest("[popover-target]"))}}else t==="sibling"?h=(l=this.parentElement)==null?void 0:l.querySelector("[popover-target]"):h=document.querySelector(`#${t}`)||this.getRootNode().querySelector(`#${t}`);h instanceof HTMLElement?(i(this,r,h),e(this,r).addEventListener("popoverTriggered",e(this,C)),e(this,r).addEventListener("popoverOpened",e(this,A)),e(this,r).addEventListener("popoverClosing",e(this,P)),e(this,r).addEventListener("popoverClosed",e(this,q))):console.warn(this,`target ${t} not found`)}}disconnectedCallback(){e(this,r)&&(e(this,r).removeEventListener("popoverTriggered",e(this,C)),e(this,r).removeEventListener("popoverOpened",e(this,A)),e(this,r).removeEventListener("popoverClosing",e(this,P)),e(this,r).removeEventListener("popoverClosed",e(this,q)))}}r=new WeakMap,C=new WeakMap,A=new WeakMap,P=new WeakMap,q=new WeakMap;customElements.get("e-popover-button")||customElements.define("e-popover-button",U);exports.PopoverButtonElement=U;exports.PopoverElement=R;
1
+ "use strict";var D=o=>{throw TypeError(o)};var $=(o,n,t)=>n.has(o)||D("Cannot "+t);var e=(o,n,t)=>($(o,n,"read from private field"),t?t.call(o):n.get(o)),s=(o,n,t)=>n.has(o)?D("Cannot add the same private member more than once"):n instanceof WeakSet?n.add(o):n.set(o,t),i=(o,n,t,c)=>($(o,n,"write to private field"),c?c.call(o,t):n.set(o,t),t),C=(o,n,t)=>($(o,n,"access private method"),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const P=require("../css-property/index.cjs"),G=require("../Store-CDb6RMce.cjs"),H=require("../events-KVanG9sR.cjs"),J=require("../function-MthRj-GJ.cjs"),K=require("../style-At6aDoqG.cjs"),U=require("../window-resizer/vanilla/index.cjs"),Q=require("../browser-CpzFX2xg.cjs");var b,a,_,d,v,p,g,m,f,y,u,W,w,I,T,B,L,S,q,k;const l=class l extends HTMLElement{constructor(){super(...arguments);s(this,u);s(this,b);s(this,a);s(this,_);s(this,d);s(this,v);s(this,p);s(this,g);s(this,m);s(this,f);s(this,y);s(this,w);s(this,T);s(this,L);s(this,S);s(this,q);s(this,k);i(this,b,-1),i(this,a,new G.Store(!1)),i(this,d,new P.CSSProperty(this,"--history",!1)),i(this,v,new P.CSSProperty(this,"--restore",!1)),i(this,p,new P.CSSProperty(this,"--dominance",0)),i(this,g,new P.CSSProperty(this,"--click-outside",!1)),i(this,m,new P.CSSProperty(this,"--escape",!1)),i(this,f,!1),this.open=t=>{if(e(this,a).current)return;i(this,y,t==null?void 0:t.trigger),e(this,a).current=!0,e(this,p).current&&(l.__opened=l.__opened.filter(h=>this.dominance.current>=h.dominance.current?(h.close(),!1):!0)),l.__opened.push(this),i(this,b,l.__opened.length-1),e(this,d).current&&e(this,f)&&history.pushState("","",e(this,u,W)),clearTimeout(e(this,_)),this.classList.remove("closing"),this.classList.add("triggered"),this.style.display="block",H.dispatchEvent(this,"popoverTriggered",{custom:!0,detail:{trigger:e(this,y)}});const c=()=>{addEventListener("click",e(this,w)),addEventListener("keydown",e(this,T)),e(this,k).call(this),this.style.opacity="1",this.classList.add("opened"),H.dispatchEvent(this,"popoverOpened",{custom:!0,detail:{trigger:e(this,y)}})};t!=null&&t.skipTransition?c():setTimeout(c,10)},this.close=()=>{e(this,a).current&&(e(this,a).current=!1,l.__opened=l.__opened.filter(t=>t===this?!1:e(t,p).current<this.dominance.current?(t.close(),!1):!0),C(this,u,I).call(this),this.classList.remove("opened"),this.classList.add("closing"),this.style.opacity="0",H.dispatchEvent(this,"popoverClosing",{custom:!0}),removeEventListener("click",e(this,w)),removeEventListener("keydown",e(this,T)),setTimeout(()=>{this.classList.remove("triggered"),this.classList.remove("closing"),this.style.display="none",H.dispatchEvent(this,"popoverClosed",{custom:!0})},K.getElementTransitionDurationMS(this)+10))},i(this,w,t=>{e(this,g).current&&C(this,u,B).call(this,()=>{var N;const c=t.composedPath();if(c.find(j=>j instanceof HTMLElement&&j.hasAttribute("data-popover-content")))return;const h=c[0],A=h instanceof HTMLElement&&(this.contains(h)||((N=this.shadowRoot)==null?void 0:N.contains(h))),E=h instanceof HTMLElement&&h.hasAttribute("data-outside");(!A||E)&&this.close()})}),i(this,T,t=>{e(this,m).current&&C(this,u,B).call(this,()=>{t.code==="Escape"&&this.close()})}),i(this,L,()=>{i(this,f,!1),e(this,a).current&&e(this,d).current&&!location.search.includes(this.id)?this.close():!e(this,a).current&&e(this,d).current&&location.search.includes(this.id)&&this.open(),i(this,f,!0)}),i(this,S,()=>{this.style.removeProperty("--content-width"),this.style.removeProperty("--content-height"),e(this,q).call(this)}),i(this,q,J.debounce(()=>{e(this,k).call(this)},20)),i(this,k,()=>{this.style.setProperty("--content-width",this.scrollWidth+"px"),this.style.setProperty("--content-height",this.scrollHeight+"px")})}get history(){return e(this,d)}get restore(){return e(this,v)}get dominance(){return e(this,p)}get clickOutside(){return e(this,g)}get escape(){return e(this,m)}get opened(){return e(this,a)}get lastTrigger(){return e(this,y)}connectedCallback(){e(this,d).observe(),e(this,v).observe(),e(this,p).observe(),e(this,g).observe(),e(this,m).observe(),this.style.opacity="0",this.style.display="none",this.setAttribute("popover-target",""),this.classList.remove("closing"),this.classList.remove("closed"),this.classList.remove("triggered"),this.classList.remove("opened"),addEventListener("popstate",e(this,L)),setTimeout(()=>{e(this,v).current?e(this,L).call(this):(C(this,u,I).call(this),i(this,f,!0))},0),U.windowResizer.subscribe(e(this,S))}disconnectedCallback(){U.windowResizer.unsubscribe(e(this,S)),e(this,d).unobserve(),e(this,v).unobserve(),e(this,p).unobserve(),e(this,g).unobserve(),e(this,m).unobserve(),this.style.opacity="",this.style.display="",this.removeAttribute("popover-target"),l.__opened=l.__opened.filter(t=>t!==this),clearTimeout(e(this,_)),removeEventListener("popstate",e(this,L)),this.style.removeProperty("--content-width"),this.style.removeProperty("--content-height")}};b=new WeakMap,a=new WeakMap,_=new WeakMap,d=new WeakMap,v=new WeakMap,p=new WeakMap,g=new WeakMap,m=new WeakMap,f=new WeakMap,y=new WeakMap,u=new WeakSet,W=function(){return`${location.pathname}${location.search?location.search+"&":"?"}${this.id}`},w=new WeakMap,I=function(){if(e(this,d).current){const t=new URL(location.href);t.searchParams.delete(this.id),history.replaceState(null,"",t.href)}},T=new WeakMap,B=function(t){(l.__opened[e(this,b)-1]||l.__opened.length===1||l.__opened.filter(c=>c!==this).every(c=>e(this,p).current>c.dominance.current))&&t()},L=new WeakMap,S=new WeakMap,q=new WeakMap,k=new WeakMap,l.__opened=[];let z=l;customElements.get("e-popover")||customElements.define("e-popover",z);var r,x,M,O,R;class F extends HTMLElement{constructor(){super();s(this,r);s(this,x,()=>{this.classList.add("triggered")});s(this,M,()=>{this.classList.add("opened")});s(this,O,()=>{this.classList.remove("opened")});s(this,R,()=>{this.classList.remove("triggered")});Q.isBrowser&&(this.addEventListener("click",()=>{if(e(this,r)){const t=this.getAttribute("type")||"open";t==="open"||t==="toggle"&&!e(this,r).opened.current?e(this,r).open({trigger:this}):(t==="close"||t==="toggle"&&e(this,r).opened.current)&&e(this,r).close()}}),this.addEventListener("keydown",t=>{t.code==="Space"&&t.currentTarget.click()}))}get popoverElement(){return e(this,r)}connectedCallback(){var c;this.hasAttribute("tabindex")||(this.tabIndex=0);const t=this.getAttribute("target");if(t){let h=null;if(t==="parent"){const A=this.closest("[popover-target]");if(A)h=A;else{const E=this.getRootNode();E instanceof ShadowRoot?h=E.host.closest("[popover-target]"):E instanceof HTMLElement&&(h=E.closest("[popover-target]"))}}else t==="sibling"?h=(c=this.parentElement)==null?void 0:c.querySelector("[popover-target]"):h=document.querySelector(`#${t}`)||this.getRootNode().querySelector(`#${t}`);h instanceof HTMLElement?(i(this,r,h),e(this,r).addEventListener("popoverTriggered",e(this,x)),e(this,r).addEventListener("popoverOpened",e(this,M)),e(this,r).addEventListener("popoverClosing",e(this,O)),e(this,r).addEventListener("popoverClosed",e(this,R))):console.warn(this,`target ${t} not found`)}}disconnectedCallback(){e(this,r)&&(e(this,r).removeEventListener("popoverTriggered",e(this,x)),e(this,r).removeEventListener("popoverOpened",e(this,M)),e(this,r).removeEventListener("popoverClosing",e(this,O)),e(this,r).removeEventListener("popoverClosed",e(this,R)))}}r=new WeakMap,x=new WeakMap,M=new WeakMap,O=new WeakMap,R=new WeakMap;customElements.get("e-popover-button")||customElements.define("e-popover-button",F);exports.PopoverButtonElement=F;exports.PopoverElement=z;
@@ -1,82 +1,84 @@
1
- var B = (o) => {
1
+ var U = (o) => {
2
2
  throw TypeError(o);
3
3
  };
4
- var R = (o, n, t) => n.has(o) || B("Cannot " + t);
5
- var e = (o, n, t) => (R(o, n, "read from private field"), t ? t.call(o) : n.get(o)), s = (o, n, t) => n.has(o) ? B("Cannot add the same private member more than once") : n instanceof WeakSet ? n.add(o) : n.set(o, t), i = (o, n, t, l) => (R(o, n, "write to private field"), l ? l.call(o, t) : n.set(o, t), t), k = (o, n, t) => (R(o, n, "access private method"), t);
6
- import { Attribute as O } from "../attribute/index.js";
7
- import { S as W } from "../Store-OTdcl6SX.js";
8
- import { d as P } from "../events-CsVF98U6.js";
9
- import { d as j } from "../function-C10DGppn.js";
10
- import { g as F } from "../style-j2TwriJ_.js";
11
- import { windowResizer as D } from "../window-resizer/vanilla/index.js";
12
- import { i as G } from "../browser-0zX67oeU.js";
13
- var y, a, C, d, u, g, m, v, p, U, E, z, b, I, f, T, S, w;
14
- const c = class c extends HTMLElement {
4
+ var z = (o, n, t) => n.has(o) || U("Cannot " + t);
5
+ var e = (o, n, t) => (z(o, n, "read from private field"), t ? t.call(o) : n.get(o)), s = (o, n, t) => n.has(o) ? U("Cannot add the same private member more than once") : n instanceof WeakSet ? n.add(o) : n.set(o, t), i = (o, n, t, c) => (z(o, n, "write to private field"), c ? c.call(o, t) : n.set(o, t), t), C = (o, n, t) => (z(o, n, "access private method"), t);
6
+ import { CSSProperty as _ } from "../css-property/index.js";
7
+ import { S as F } from "../Store-OTdcl6SX.js";
8
+ import { d as $ } from "../events-CsVF98U6.js";
9
+ import { d as G } from "../function-C10DGppn.js";
10
+ import { g as J } from "../style-j2TwriJ_.js";
11
+ import { windowResizer as W } from "../window-resizer/vanilla/index.js";
12
+ import { i as K } from "../browser-0zX67oeU.js";
13
+ var E, a, P, d, g, p, v, m, f, L, u, j, T, q, w, N, y, k, x, S;
14
+ const l = class l extends HTMLElement {
15
15
  constructor() {
16
16
  super(...arguments);
17
- s(this, p);
18
- s(this, y);
17
+ s(this, u);
18
+ s(this, E);
19
19
  s(this, a);
20
- s(this, C);
20
+ s(this, P);
21
21
  s(this, d);
22
- s(this, u);
23
22
  s(this, g);
24
- s(this, m);
23
+ s(this, p);
25
24
  s(this, v);
26
- s(this, E);
27
- s(this, b);
25
+ s(this, m);
28
26
  s(this, f);
27
+ s(this, L);
29
28
  s(this, T);
30
- s(this, S);
31
29
  s(this, w);
32
- i(this, y, -1), i(this, a, new W(!1)), i(this, d, new O(this, "history", !1)), i(this, u, new O(this, "restore", !1)), i(this, g, new O(this, "dominance", 0)), i(this, m, !1), this.open = (t) => {
30
+ s(this, y);
31
+ s(this, k);
32
+ s(this, x);
33
+ s(this, S);
34
+ i(this, E, -1), i(this, a, new F(!1)), i(this, d, new _(this, "--history", !1)), i(this, g, new _(this, "--restore", !1)), i(this, p, new _(this, "--dominance", 0)), i(this, v, new _(this, "--click-outside", !1)), i(this, m, new _(this, "--escape", !1)), i(this, f, !1), this.open = (t) => {
33
35
  if (e(this, a).current)
34
36
  return;
35
- i(this, v, t == null ? void 0 : t.trigger), e(this, a).current = !0, e(this, g).current && (c.__opened = c.__opened.filter((h) => this.dominance.current >= h.dominance.current ? (h.close(), !1) : !0)), c.__opened.push(this), i(this, y, c.__opened.length - 1), e(this, d).current && e(this, m) && history.pushState("", "", e(this, p, U)), clearTimeout(e(this, C)), this.classList.remove("closing"), this.classList.add("triggered"), this.style.display = "block", P(this, "popoverTriggered", {
37
+ i(this, L, t == null ? void 0 : t.trigger), e(this, a).current = !0, e(this, p).current && (l.__opened = l.__opened.filter((h) => this.dominance.current >= h.dominance.current ? (h.close(), !1) : !0)), l.__opened.push(this), i(this, E, l.__opened.length - 1), e(this, d).current && e(this, f) && history.pushState("", "", e(this, u, j)), clearTimeout(e(this, P)), this.classList.remove("closing"), this.classList.add("triggered"), this.style.display = "block", $(this, "popoverTriggered", {
36
38
  custom: !0,
37
39
  detail: {
38
- trigger: e(this, v)
40
+ trigger: e(this, L)
39
41
  }
40
42
  });
41
- const l = () => {
42
- addEventListener("click", e(this, E)), addEventListener("keydown", e(this, b)), e(this, w).call(this), this.style.opacity = "1", this.classList.add("opened"), P(this, "popoverOpened", {
43
+ const c = () => {
44
+ addEventListener("click", e(this, T)), addEventListener("keydown", e(this, w)), e(this, S).call(this), this.style.opacity = "1", this.classList.add("opened"), $(this, "popoverOpened", {
43
45
  custom: !0,
44
46
  detail: {
45
- trigger: e(this, v)
47
+ trigger: e(this, L)
46
48
  }
47
49
  });
48
50
  };
49
- t != null && t.skipTransition ? l() : setTimeout(l, 10);
51
+ t != null && t.skipTransition ? c() : setTimeout(c, 10);
50
52
  }, this.close = () => {
51
- e(this, a).current && (e(this, a).current = !1, c.__opened = c.__opened.filter((t) => t !== this), k(this, p, z).call(this), this.classList.remove("opened"), this.classList.add("closing"), this.style.opacity = "0", P(this, "popoverClosing", {
53
+ e(this, a).current && (e(this, a).current = !1, l.__opened = l.__opened.filter((t) => t === this ? !1 : e(t, p).current < this.dominance.current ? (t.close(), !1) : !0), C(this, u, q).call(this), this.classList.remove("opened"), this.classList.add("closing"), this.style.opacity = "0", $(this, "popoverClosing", {
52
54
  custom: !0
53
- }), removeEventListener("click", e(this, E)), removeEventListener("keydown", e(this, b)), setTimeout(() => {
54
- this.classList.remove("triggered"), this.classList.remove("closing"), this.style.display = "none", P(this, "popoverClosed", {
55
+ }), removeEventListener("click", e(this, T)), removeEventListener("keydown", e(this, w)), setTimeout(() => {
56
+ this.classList.remove("triggered"), this.classList.remove("closing"), this.style.display = "none", $(this, "popoverClosed", {
55
57
  custom: !0
56
58
  });
57
- }, F(this) + 10));
58
- }, i(this, E, (t) => {
59
- k(this, p, I).call(this, () => {
60
- var q;
61
- const l = t.composedPath();
62
- if (l.find(
63
- (N) => N instanceof HTMLElement && N.hasAttribute("data-popover-content")
59
+ }, J(this) + 10));
60
+ }, i(this, T, (t) => {
61
+ e(this, v).current && C(this, u, N).call(this, () => {
62
+ var B;
63
+ const c = t.composedPath();
64
+ if (c.find(
65
+ (D) => D instanceof HTMLElement && D.hasAttribute("data-popover-content")
64
66
  ))
65
67
  return;
66
- const h = l[0], M = h instanceof HTMLElement && (this.contains(h) || ((q = this.shadowRoot) == null ? void 0 : q.contains(h))), L = h instanceof HTMLElement && h.hasAttribute("data-outside");
67
- (!M || L) && this.close();
68
+ const h = c[0], R = h instanceof HTMLElement && (this.contains(h) || ((B = this.shadowRoot) == null ? void 0 : B.contains(h))), b = h instanceof HTMLElement && h.hasAttribute("data-outside");
69
+ (!R || b) && this.close();
68
70
  });
69
- }), i(this, b, (t) => {
70
- k(this, p, I).call(this, () => {
71
+ }), i(this, w, (t) => {
72
+ e(this, m).current && C(this, u, N).call(this, () => {
71
73
  t.code === "Escape" && this.close();
72
74
  });
73
- }), i(this, f, () => {
74
- i(this, m, !1), e(this, a).current && e(this, d).current && !location.search.includes(this.id) ? this.close() : !e(this, a).current && e(this, d).current && location.search.includes(this.id) && this.open(), i(this, m, !0);
75
- }), i(this, T, () => {
76
- this.style.removeProperty("--content-width"), this.style.removeProperty("--content-height"), e(this, S).call(this);
77
- }), i(this, S, j(() => {
78
- e(this, w).call(this);
79
- }, 20)), i(this, w, () => {
75
+ }), i(this, y, () => {
76
+ i(this, f, !1), e(this, a).current && e(this, d).current && !location.search.includes(this.id) ? this.close() : !e(this, a).current && e(this, d).current && location.search.includes(this.id) && this.open(), i(this, f, !0);
77
+ }), i(this, k, () => {
78
+ this.style.removeProperty("--content-width"), this.style.removeProperty("--content-height"), e(this, x).call(this);
79
+ }), i(this, x, G(() => {
80
+ e(this, S).call(this);
81
+ }, 20)), i(this, S, () => {
80
82
  this.style.setProperty("--content-width", this.scrollWidth + "px"), this.style.setProperty("--content-height", this.scrollHeight + "px");
81
83
  });
82
84
  }
@@ -84,56 +86,62 @@ const c = class c extends HTMLElement {
84
86
  return e(this, d);
85
87
  }
86
88
  get restore() {
87
- return e(this, u);
89
+ return e(this, g);
88
90
  }
89
91
  get dominance() {
90
- return e(this, g);
92
+ return e(this, p);
93
+ }
94
+ get clickOutside() {
95
+ return e(this, v);
96
+ }
97
+ get escape() {
98
+ return e(this, m);
91
99
  }
92
100
  get opened() {
93
101
  return e(this, a);
94
102
  }
95
103
  get lastTrigger() {
96
- return e(this, v);
104
+ return e(this, L);
97
105
  }
98
106
  connectedCallback() {
99
- e(this, d).observe(), e(this, u).observe(), e(this, g).observe(), this.style.opacity = "0", this.style.display = "none", this.setAttribute("popover-target", ""), this.classList.remove("closing"), this.classList.remove("closed"), this.classList.remove("triggered"), this.classList.remove("opened"), addEventListener("popstate", e(this, f)), setTimeout(() => {
100
- e(this, u).current ? e(this, f).call(this) : (k(this, p, z).call(this), i(this, m, !0));
101
- }, 0), D.subscribe(e(this, T));
107
+ e(this, d).observe(), e(this, g).observe(), e(this, p).observe(), e(this, v).observe(), e(this, m).observe(), this.style.opacity = "0", this.style.display = "none", this.setAttribute("popover-target", ""), this.classList.remove("closing"), this.classList.remove("closed"), this.classList.remove("triggered"), this.classList.remove("opened"), addEventListener("popstate", e(this, y)), setTimeout(() => {
108
+ e(this, g).current ? e(this, y).call(this) : (C(this, u, q).call(this), i(this, f, !0));
109
+ }, 0), W.subscribe(e(this, k));
102
110
  }
103
111
  disconnectedCallback() {
104
- D.unsubscribe(e(this, T)), e(this, d).unobserve(), e(this, u).unobserve(), e(this, g).unobserve(), this.style.opacity = "", this.style.display = "", this.removeAttribute("popover-target"), c.__opened = c.__opened.filter((t) => t !== this), clearTimeout(e(this, C)), removeEventListener("popstate", e(this, f)), this.style.removeProperty("--content-width"), this.style.removeProperty("--content-height");
112
+ W.unsubscribe(e(this, k)), e(this, d).unobserve(), e(this, g).unobserve(), e(this, p).unobserve(), e(this, v).unobserve(), e(this, m).unobserve(), this.style.opacity = "", this.style.display = "", this.removeAttribute("popover-target"), l.__opened = l.__opened.filter((t) => t !== this), clearTimeout(e(this, P)), removeEventListener("popstate", e(this, y)), this.style.removeProperty("--content-width"), this.style.removeProperty("--content-height");
105
113
  }
106
114
  };
107
- y = new WeakMap(), a = new WeakMap(), C = new WeakMap(), d = new WeakMap(), u = new WeakMap(), g = new WeakMap(), m = new WeakMap(), v = new WeakMap(), p = new WeakSet(), U = function() {
115
+ E = new WeakMap(), a = new WeakMap(), P = new WeakMap(), d = new WeakMap(), g = new WeakMap(), p = new WeakMap(), v = new WeakMap(), m = new WeakMap(), f = new WeakMap(), L = new WeakMap(), u = new WeakSet(), j = function() {
108
116
  return `${location.pathname}${location.search ? location.search + "&" : "?"}${this.id}`;
109
- }, E = new WeakMap(), z = function() {
117
+ }, T = new WeakMap(), q = function() {
110
118
  if (e(this, d).current) {
111
119
  const t = new URL(location.href);
112
120
  t.searchParams.delete(this.id), history.replaceState(null, "", t.href);
113
121
  }
114
- }, b = new WeakMap(), I = function(t) {
115
- (c.__opened[e(this, y) - 1] || c.__opened.length === 1) && t();
116
- }, f = new WeakMap(), T = new WeakMap(), S = new WeakMap(), w = new WeakMap(), c.__opened = [];
117
- let $ = c;
118
- customElements.get("e-popover") || customElements.define("e-popover", $);
119
- var r, _, A, x, H;
120
- class J extends HTMLElement {
122
+ }, w = new WeakMap(), N = function(t) {
123
+ (l.__opened[e(this, E) - 1] || l.__opened.length === 1 || l.__opened.filter((c) => c !== this).every((c) => e(this, p).current > c.dominance.current)) && t();
124
+ }, y = new WeakMap(), k = new WeakMap(), x = new WeakMap(), S = new WeakMap(), l.__opened = [];
125
+ let I = l;
126
+ customElements.get("e-popover") || customElements.define("e-popover", I);
127
+ var r, A, H, M, O;
128
+ class Q extends HTMLElement {
121
129
  constructor() {
122
130
  super();
123
131
  s(this, r);
124
- s(this, _, () => {
132
+ s(this, A, () => {
125
133
  this.classList.add("triggered");
126
134
  });
127
- s(this, A, () => {
135
+ s(this, H, () => {
128
136
  this.classList.add("opened");
129
137
  });
130
- s(this, x, () => {
138
+ s(this, M, () => {
131
139
  this.classList.remove("opened");
132
140
  });
133
- s(this, H, () => {
141
+ s(this, O, () => {
134
142
  this.classList.remove("triggered");
135
143
  });
136
- G && (this.addEventListener("click", () => {
144
+ K && (this.addEventListener("click", () => {
137
145
  if (e(this, r)) {
138
146
  const t = this.getAttribute("type") || "open";
139
147
  t === "open" || t === "toggle" && !e(this, r).opened.current ? e(this, r).open({ trigger: this }) : (t === "close" || t === "toggle" && e(this, r).opened.current) && e(this, r).close();
@@ -146,54 +154,54 @@ class J extends HTMLElement {
146
154
  return e(this, r);
147
155
  }
148
156
  connectedCallback() {
149
- var l;
157
+ var c;
150
158
  this.hasAttribute("tabindex") || (this.tabIndex = 0);
151
159
  const t = this.getAttribute("target");
152
160
  if (t) {
153
161
  let h = null;
154
162
  if (t === "parent") {
155
- const M = this.closest("[popover-target]");
156
- if (M)
157
- h = M;
163
+ const R = this.closest("[popover-target]");
164
+ if (R)
165
+ h = R;
158
166
  else {
159
- const L = this.getRootNode();
160
- L instanceof ShadowRoot ? h = L.host.closest("[popover-target]") : L instanceof HTMLElement && (h = L.closest("[popover-target]"));
167
+ const b = this.getRootNode();
168
+ b instanceof ShadowRoot ? h = b.host.closest("[popover-target]") : b instanceof HTMLElement && (h = b.closest("[popover-target]"));
161
169
  }
162
- } else t === "sibling" ? h = (l = this.parentElement) == null ? void 0 : l.querySelector("[popover-target]") : h = document.querySelector(`#${t}`) || this.getRootNode().querySelector(`#${t}`);
170
+ } else t === "sibling" ? h = (c = this.parentElement) == null ? void 0 : c.querySelector("[popover-target]") : h = document.querySelector(`#${t}`) || this.getRootNode().querySelector(`#${t}`);
163
171
  h instanceof HTMLElement ? (i(this, r, h), e(this, r).addEventListener(
164
172
  "popoverTriggered",
165
- e(this, _)
173
+ e(this, A)
166
174
  ), e(this, r).addEventListener(
167
175
  "popoverOpened",
168
- e(this, A)
176
+ e(this, H)
169
177
  ), e(this, r).addEventListener(
170
178
  "popoverClosing",
171
- e(this, x)
179
+ e(this, M)
172
180
  ), e(this, r).addEventListener(
173
181
  "popoverClosed",
174
- e(this, H)
182
+ e(this, O)
175
183
  )) : console.warn(this, `target ${t} not found`);
176
184
  }
177
185
  }
178
186
  disconnectedCallback() {
179
187
  e(this, r) && (e(this, r).removeEventListener(
180
188
  "popoverTriggered",
181
- e(this, _)
189
+ e(this, A)
182
190
  ), e(this, r).removeEventListener(
183
191
  "popoverOpened",
184
- e(this, A)
192
+ e(this, H)
185
193
  ), e(this, r).removeEventListener(
186
194
  "popoverClosing",
187
- e(this, x)
195
+ e(this, M)
188
196
  ), e(this, r).removeEventListener(
189
197
  "popoverClosed",
190
- e(this, H)
198
+ e(this, O)
191
199
  ));
192
200
  }
193
201
  }
194
- r = new WeakMap(), _ = new WeakMap(), A = new WeakMap(), x = new WeakMap(), H = new WeakMap();
195
- customElements.get("e-popover-button") || customElements.define("e-popover-button", J);
202
+ r = new WeakMap(), A = new WeakMap(), H = new WeakMap(), M = new WeakMap(), O = new WeakMap();
203
+ customElements.get("e-popover-button") || customElements.define("e-popover-button", Q);
196
204
  export {
197
- J as PopoverButtonElement,
198
- $ as PopoverElement
205
+ Q as PopoverButtonElement,
206
+ I as PopoverElement
199
207
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aptechka",
3
- "version": "0.32.5",
3
+ "version": "0.33.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/denisavitski/aptechka.git"