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