aptechka 0.28.2 → 0.29.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.
@@ -0,0 +1 @@
1
+ "use strict";var M=s=>{throw TypeError(s)};var p=(s,i,t)=>i.has(s)||M("Cannot "+t);var e=(s,i,t)=>(p(s,i,"read from private field"),t?t.call(s):i.get(s)),h=(s,i,t)=>i.has(s)?M("Cannot add the same private member more than once"):i instanceof WeakSet?i.add(s):i.set(s,t),c=(s,i,t,r)=>(p(s,i,"write to private field"),r?r.call(s,t):i.set(s,t),t),m=(s,i,t)=>(p(s,i,"access private method"),t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const C=require("../attribute/index.cjs"),q=require("../browser-CpzFX2xg.cjs"),H=require("../events-KVanG9sR.cjs"),R=require("../style-At6aDoqG.cjs");var d,n,f,l,E,u,o,N,w,L,A,b,k;class S{constructor(i,t){h(this,o);h(this,d,null);h(this,n,null);h(this,f,null);h(this,l,null);h(this,E);h(this,u,!1);h(this,L,()=>{e(this,u)?this.close():this.open()});h(this,A,()=>{e(this,u)&&(m(this,o,b).call(this,0,!0),m(this,o,b).call(this,e(this,o,w)))});t.firstElementChild instanceof HTMLElement&&t.lastElementChild instanceof HTMLElement?(c(this,d,i),c(this,n,t),c(this,f,t.firstElementChild),c(this,l,t.lastElementChild),e(this,l).style.overflow="hidden",e(this,d).axisAttribute.current==="y"?e(this,l).style.height="0px":e(this,l).style.width="0px",addEventListener("resize",e(this,A)),e(this,f).addEventListener("click",e(this,L)),e(this,n).hasAttribute("data-opened")&&this.open({skipTransition:!0})):i.removeItem(e(this,n))}get element(){return e(this,n)}destroy(){e(this,f)&&(e(this,n).classList.remove("opened","triggered"),e(this,f).style.cursor="",m(this,o,b).call(this,void 0),removeEventListener("resize",e(this,A)),e(this,f).removeEventListener("click",e(this,L)),clearTimeout(e(this,E)))}open(i){i!=null&&i.skipTransition&&m(this,o,k).call(this),e(this,d).multipleAttribute.current||e(this,d).closeAll({exclude:e(this,n)}),c(this,u,!0),clearTimeout(e(this,E)),e(this,n).classList.add("triggered"),m(this,o,b).call(this,e(this,o,w)),setTimeout(()=>{e(this,n).classList.add("opened")},0),H.dispatchEvent(this.element,"accordionItemToggle",{bubbles:!0,composed:!0,detail:{opened:e(this,u)}})}close(i){i!=null&&i.skipTransition&&m(this,o,k).call(this),c(this,u,!1),e(this,n).classList.remove("opened"),m(this,o,b).call(this,0),c(this,E,setTimeout(()=>{e(this,n).classList.remove("triggered")},R.getElementTransitionDurationMS(e(this,l)))),H.dispatchEvent(this.element,"accordionItemToggle",{bubbles:!0,composed:!0,detail:{opened:e(this,u)}})}}d=new WeakMap,n=new WeakMap,f=new WeakMap,l=new WeakMap,E=new WeakMap,u=new WeakMap,o=new WeakSet,N=function(){return e(this,n).parentElement||e(this,n).getRootNode()},w=function(){return e(this,d).axisAttribute.current==="x"?e(this,l).scrollWidth:e(this,l).scrollHeight},L=new WeakMap,A=new WeakMap,b=function(i,t=!1){t&&(e(this,l).style.transition="all 0s",setTimeout(()=>{e(this,l).style.transition=""}));const r=e(this,d).axisAttribute.current==="x"?"width":"height";i!=null?e(this,l).style[r]=`${i}px`:e(this,l).style[r]=""},k=function(){e(this,l).style.transition="all 0s",setTimeout(()=>{e(this,l).style.transition=""},50)};var v,g,a,T,x,I;class z extends HTMLElement{constructor(){super();h(this,x);h(this,v,new C.Attribute(this,"axis","y"));h(this,g,new C.Attribute(this,"multiple",!1));h(this,a,[]);h(this,T,null);q.isBrowser&&c(this,T,new MutationObserver(t=>{t.forEach(r=>{r.removedNodes.forEach(y=>{y instanceof HTMLElement&&this.removeItem(y)}),r.addedNodes.forEach(y=>{y instanceof HTMLElement&&this.createItem(y)})})}))}get axisAttribute(){return e(this,v)}get multipleAttribute(){return e(this,g)}createItem(t){e(this,a).find(r=>r.element===t)||e(this,a).push(new S(this,t))}removeItem(t){c(this,a,e(this,a).filter(r=>{if(r.element!==t)return!0;r.destroy()}))}closeAll(t){e(this,a).forEach(r=>{(t==null?void 0:t.exclude)!==r.element&&r.close(t)})}openAll(t){e(this,a).forEach(r=>{(t==null?void 0:t.exclude)!==r.element&&r.open(t)})}connectedCallback(){e(this,v).observe(),e(this,g).observe(),e(this,T).observe(e(this,x,I),{childList:!0}),c(this,a,[...e(this,x,I).children].map(t=>{if(t instanceof HTMLElement)return new S(this,t)}).filter(t=>!!t))}disconnectedCallback(){e(this,v).unobserve(),e(this,g).unobserve(),e(this,T).disconnect()}}v=new WeakMap,g=new WeakMap,a=new WeakMap,T=new WeakMap,x=new WeakSet,I=function(){return this.shadowRoot?this.shadowRoot:this};customElements.get("e-accordion")||customElements.define("e-accordion",z);exports.AccordionElement=z;
@@ -0,0 +1,31 @@
1
+ import { Attribute } from '../attribute';
2
+ import { Axes2D } from '../utils';
3
+
4
+ export interface AccordionToggleOptions {
5
+ skipTransition?: boolean;
6
+ exclude?: HTMLElement;
7
+ }
8
+ export interface AccordionEvents {
9
+ accordionItemToggle: CustomEvent<{
10
+ opened: boolean;
11
+ }>;
12
+ }
13
+ export declare class AccordionElement extends HTMLElement {
14
+ #private;
15
+ constructor();
16
+ get axisAttribute(): Attribute<Axes2D>;
17
+ get multipleAttribute(): Attribute<false>;
18
+ createItem(element: HTMLElement): void;
19
+ removeItem(element: HTMLElement): void;
20
+ closeAll(options?: AccordionToggleOptions): void;
21
+ openAll(options?: AccordionToggleOptions): void;
22
+ protected connectedCallback(): void;
23
+ protected disconnectedCallback(): void;
24
+ }
25
+ declare global {
26
+ interface HTMLElementTagNameMap {
27
+ 'e-accordion': AccordionElement;
28
+ }
29
+ interface HTMLElementEventMap extends AccordionEvents {
30
+ }
31
+ }
@@ -0,0 +1,135 @@
1
+ var M = (s) => {
2
+ throw TypeError(s);
3
+ };
4
+ var A = (s, i, t) => i.has(s) || M("Cannot " + t);
5
+ var e = (s, i, t) => (A(s, i, "read from private field"), t ? t.call(s) : i.get(s)), l = (s, i, t) => i.has(s) ? M("Cannot add the same private member more than once") : i instanceof WeakSet ? i.add(s) : i.set(s, t), a = (s, i, t, r) => (A(s, i, "write to private field"), r ? r.call(s, t) : i.set(s, t), t), m = (s, i, t) => (A(s, i, "access private method"), t);
6
+ import { Attribute as C } from "../attribute/index.js";
7
+ import { i as R } from "../browser-0zX67oeU.js";
8
+ import { d as H } from "../events-CsVF98U6.js";
9
+ import { g as S } from "../style-j2TwriJ_.js";
10
+ var d, n, f, h, b, u, o, N, w, p, x, E, k;
11
+ class z {
12
+ constructor(i, t) {
13
+ l(this, o);
14
+ l(this, d, null);
15
+ l(this, n, null);
16
+ l(this, f, null);
17
+ l(this, h, null);
18
+ l(this, b);
19
+ l(this, u, !1);
20
+ l(this, p, () => {
21
+ e(this, u) ? this.close() : this.open();
22
+ });
23
+ l(this, x, () => {
24
+ e(this, u) && (m(this, o, E).call(this, 0, !0), m(this, o, E).call(this, e(this, o, w)));
25
+ });
26
+ t.firstElementChild instanceof HTMLElement && t.lastElementChild instanceof HTMLElement ? (a(this, d, i), a(this, n, t), a(this, f, t.firstElementChild), a(this, h, t.lastElementChild), e(this, h).style.overflow = "hidden", e(this, d).axisAttribute.current === "y" ? e(this, h).style.height = "0px" : e(this, h).style.width = "0px", addEventListener("resize", e(this, x)), e(this, f).addEventListener("click", e(this, p)), e(this, n).hasAttribute("data-opened") && this.open({ skipTransition: !0 })) : i.removeItem(e(this, n));
27
+ }
28
+ get element() {
29
+ return e(this, n);
30
+ }
31
+ destroy() {
32
+ e(this, f) && (e(this, n).classList.remove("opened", "triggered"), e(this, f).style.cursor = "", m(this, o, E).call(this, void 0), removeEventListener("resize", e(this, x)), e(this, f).removeEventListener("click", e(this, p)), clearTimeout(e(this, b)));
33
+ }
34
+ open(i) {
35
+ i != null && i.skipTransition && m(this, o, k).call(this), e(this, d).multipleAttribute.current || e(this, d).closeAll({ exclude: e(this, n) }), a(this, u, !0), clearTimeout(e(this, b)), e(this, n).classList.add("triggered"), m(this, o, E).call(this, e(this, o, w)), setTimeout(() => {
36
+ e(this, n).classList.add("opened");
37
+ }, 0), H(this.element, "accordionItemToggle", {
38
+ bubbles: !0,
39
+ composed: !0,
40
+ detail: {
41
+ opened: e(this, u)
42
+ }
43
+ });
44
+ }
45
+ close(i) {
46
+ i != null && i.skipTransition && m(this, o, k).call(this), a(this, u, !1), e(this, n).classList.remove("opened"), m(this, o, E).call(this, 0), a(this, b, setTimeout(() => {
47
+ e(this, n).classList.remove("triggered");
48
+ }, S(e(this, h)))), H(this.element, "accordionItemToggle", {
49
+ bubbles: !0,
50
+ composed: !0,
51
+ detail: {
52
+ opened: e(this, u)
53
+ }
54
+ });
55
+ }
56
+ }
57
+ d = new WeakMap(), n = new WeakMap(), f = new WeakMap(), h = new WeakMap(), b = new WeakMap(), u = new WeakMap(), o = new WeakSet(), N = function() {
58
+ return e(this, n).parentElement || e(this, n).getRootNode();
59
+ }, w = function() {
60
+ return e(this, d).axisAttribute.current === "x" ? e(this, h).scrollWidth : e(this, h).scrollHeight;
61
+ }, p = new WeakMap(), x = new WeakMap(), E = function(i, t = !1) {
62
+ t && (e(this, h).style.transition = "all 0s", setTimeout(() => {
63
+ e(this, h).style.transition = "";
64
+ }));
65
+ const r = e(this, d).axisAttribute.current === "x" ? "width" : "height";
66
+ i != null ? e(this, h).style[r] = `${i}px` : e(this, h).style[r] = "";
67
+ }, k = function() {
68
+ e(this, h).style.transition = "all 0s", setTimeout(() => {
69
+ e(this, h).style.transition = "";
70
+ }, 50);
71
+ };
72
+ var v, g, c, T, y, I;
73
+ class O extends HTMLElement {
74
+ constructor() {
75
+ super();
76
+ l(this, y);
77
+ l(this, v, new C(this, "axis", "y"));
78
+ l(this, g, new C(this, "multiple", !1));
79
+ l(this, c, []);
80
+ l(this, T, null);
81
+ R && a(this, T, new MutationObserver((t) => {
82
+ t.forEach((r) => {
83
+ r.removedNodes.forEach((L) => {
84
+ L instanceof HTMLElement && this.removeItem(L);
85
+ }), r.addedNodes.forEach((L) => {
86
+ L instanceof HTMLElement && this.createItem(L);
87
+ });
88
+ });
89
+ }));
90
+ }
91
+ get axisAttribute() {
92
+ return e(this, v);
93
+ }
94
+ get multipleAttribute() {
95
+ return e(this, g);
96
+ }
97
+ createItem(t) {
98
+ e(this, c).find((r) => r.element === t) || e(this, c).push(new z(this, t));
99
+ }
100
+ removeItem(t) {
101
+ a(this, c, e(this, c).filter((r) => {
102
+ if (r.element !== t)
103
+ return !0;
104
+ r.destroy();
105
+ }));
106
+ }
107
+ closeAll(t) {
108
+ e(this, c).forEach((r) => {
109
+ (t == null ? void 0 : t.exclude) !== r.element && r.close(t);
110
+ });
111
+ }
112
+ openAll(t) {
113
+ e(this, c).forEach((r) => {
114
+ (t == null ? void 0 : t.exclude) !== r.element && r.open(t);
115
+ });
116
+ }
117
+ connectedCallback() {
118
+ e(this, v).observe(), e(this, g).observe(), e(this, T).observe(e(this, y, I), {
119
+ childList: !0
120
+ }), a(this, c, [...e(this, y, I).children].map((t) => {
121
+ if (t instanceof HTMLElement)
122
+ return new z(this, t);
123
+ }).filter((t) => !!t));
124
+ }
125
+ disconnectedCallback() {
126
+ e(this, v).unobserve(), e(this, g).unobserve(), e(this, T).disconnect();
127
+ }
128
+ }
129
+ v = new WeakMap(), g = new WeakMap(), c = new WeakMap(), T = new WeakMap(), y = new WeakSet(), I = function() {
130
+ return this.shadowRoot ? this.shadowRoot : this;
131
+ };
132
+ customElements.get("e-accordion") || customElements.define("e-accordion", O);
133
+ export {
134
+ O as AccordionElement
135
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aptechka",
3
- "version": "0.28.2",
3
+ "version": "0.29.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/denisavitski/aptechka.git"
@@ -18,6 +18,11 @@
18
18
  ],
19
19
  "type": "module",
20
20
  "exports": {
21
+ "./accordion": {
22
+ "require": "./lib/accordion/index.cjs",
23
+ "default": "./lib/accordion/index.js",
24
+ "types": "./lib/accordion/index.d.ts"
25
+ },
21
26
  "./animation": {
22
27
  "require": "./lib/animation/index.cjs",
23
28
  "default": "./lib/animation/index.js",
@@ -226,6 +231,9 @@
226
231
  },
227
232
  "typesVersions": {
228
233
  "*": {
234
+ "accordion": [
235
+ "lib/accordion/index.d.ts"
236
+ ],
229
237
  "animation": [
230
238
  "lib/animation/index.d.ts"
231
239
  ],