@appartmint/tsm-mint 0.1.4 → 0.1.5
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 +1 @@
|
|
|
1
|
-
"use strict";var i=Object.defineProperty;var a=(s,e,t)=>e in s?i(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var n=(s,e,t)=>a(s,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./panel.cjs.js"),l=require("./menu.cjs.js");class
|
|
1
|
+
"use strict";var i=Object.defineProperty;var a=(s,e,t)=>e in s?i(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var n=(s,e,t)=>a(s,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./panel.cjs.js"),l=require("./menu.cjs.js");class r{constructor(e){n(this,"settings",{id:"mint-menu",wrapperId:"mint-wrapper",title:"menu",fixed:!0});n(this,"el",{});n(this,"panel");n(this,"menu");this.settings={...this.settings,...e},this.panel=new d.Panel(this.settings),this.menu=new l.Menu(this.settings),this.attachElements(),this.addClasses()}detachEvents(){var e,t;(e=this.panel)==null||e.detachEvents(),(t=this.menu)==null||t.detachEvents()}attachElements(){this.el.body=document.querySelector("body")}addClasses(){var e;this.settings.fixed&&((e=this.el.body)==null||e.classList.add("mint-fixed"))}}exports.Header=r;
|
|
@@ -14,7 +14,7 @@ class o {
|
|
|
14
14
|
i(this, "el", {});
|
|
15
15
|
i(this, "panel");
|
|
16
16
|
i(this, "menu");
|
|
17
|
-
this.settings = { ...this.settings, ...t },
|
|
17
|
+
this.settings = { ...this.settings, ...t }, this.panel = new d(this.settings), this.menu = new h(this.settings), this.attachElements(), this.addClasses();
|
|
18
18
|
}
|
|
19
19
|
detachEvents() {
|
|
20
20
|
var t, e;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var w=Object.defineProperty;var y=(r,
|
|
1
|
+
"use strict";var w=Object.defineProperty;var y=(r,n,t)=>n in r?w(r,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[n]=t;var c=(r,n,t)=>y(r,typeof n!="symbol"?n+"":n,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("../../types/breakpoints.cjs.js"),g=require("../../types/side.cjs.js"),o=require("../../types/time.cjs.js"),v=require("../../abstract/attaches-events.cjs.js"),f=require("../../util/window.cjs.js"),h=require("../../util/event.cjs.js"),d=require("../../util/selectors.cjs.js");class E extends v.AttachesEvents{constructor(t){super();c(this,"settings",{title:"panel",from:g.sides[0],fixed:!0});c(this,"el",{});if(this.settings={...this.settings,...t},!this.settings.id||!this.settings.wrapperId)throw new Error("Panel ID and wrapper ID are required");this.attachElements(),this.attachEvents(),this.addClasses(),requestAnimationFrame(()=>{this.setPanel()})}attachElements(){var t;this.el.html=document.querySelector("html"),this.el.main=document.querySelector("main"),this.el.panel=document.getElementById(this.settings.id),this.el.wrapper=document.getElementById(this.settings.wrapperId),this.el.toggleButton=((t=this.el.panel)==null?void 0:t.querySelector(d.controls(this.settings.wrapperId)))||null}attachEvents(){var a;this.attachEvent(window,"resize",h.throttleEvent(this.eHandleResize.bind(this),o.delay.default)),this.attachEvent(this.el.main,"click",h.throttleEvent(this.eClose.bind(this),o.delay.default,{trailing:!1})),this.attachEvent(this.el.wrapper,"transitionend",this.eTransitionEnd.bind(this));const t=d.getFocusables(this.el.panel);t==null||t.forEach(i=>{this.attachEvent(i,"keydown",h.throttleEvent(this.eWrapTab.bind(this)))});const e=(a=this.el.panel)==null?void 0:a.querySelectorAll(d.controls(this.settings.wrapperId));e==null||e.forEach(i=>{this.attachEvent(i,"click",h.throttleEvent(this.eToggle.bind(this),o.delay.slower,{trailing:!1}))})}addClasses(){var t,e,a,i,s,l;(t=this.el.panel)==null||t.classList.add("mint-panel"),(e=this.el.wrapper)==null||e.classList.add("mint-panel-wrapper"),(a=this.el.toggleButton)==null||a.classList.add("mint-panel-toggle"),this.settings.from&&((i=this.el.panel)==null||i.classList.remove("mint-top","mint-right","mint-bottom","mint-left"),(s=this.el.panel)==null||s.classList.add(`mint-${this.settings.from.toLowerCase()}`)),this.settings.tray&&((l=this.el.panel)==null||l.classList.add("mint-tray"))}setPanel(t=!1){var i;let e=t?"true":"false",a=t?`close ${this.settings.title}`:`open ${this.settings.title}`;(i=this.el.toggleButton)==null||i.setAttribute("aria-expanded",e),setTimeout(()=>{var s;(s=this.el.toggleButton)==null||s.setAttribute("aria-label",a)},o.delay.faster),t?(this.closeOtherPanels(),this.settings.fixed!==!0&&window.scroll({top:0,left:0,behavior:"smooth"}),setTimeout(()=>{if(this.el.html){let s=f.windowWidth()<=u.breakpoints.sm,l="auto";this.settings.tray?s&&(l="hidden"):l="hidden",this.el.html.style.overflow=l}},this.settings.from===g.sides[3]?o.delay.default:o.delay.instant),this.el.wrapper&&(this.el.wrapper.style.display="flex"),requestAnimationFrame(()=>{var s;(s=this.el.wrapper)==null||s.classList.add("mint-open")})):(this.el.html&&(this.el.html.style.overflow="auto"),requestAnimationFrame(()=>{var s;(s=this.el.wrapper)==null||s.classList.remove("mint-open")}))}togglePanel(){var t,e;this.setPanel(((e=(t=this.el.toggleButton)==null?void 0:t.getAttribute("aria-expanded"))==null?void 0:e.toLowerCase())==="false")}closeOtherPanels(){const t=`.mint-panel-toggle[aria-expanded="true"]:not([aria-controls="${this.settings.wrapperId}"])`,e=document.querySelector(t);e==null||e.click()}eHandleResize(){var s,l,p,m;const t=f.windowWidth()<=u.breakpoints.sm;let e=!0;(s=this.el.panel)!=null&&s.classList.contains("mint-tray")?e=!1:(l=this.el.panel)!=null&&l.classList.contains("mint-expand")||(e=!1),!t&&e&&this.setPanel(!1);const a=((m=(p=this.el.toggleButton)==null?void 0:p.getAttribute("aria-expanded"))==null?void 0:m.toLowerCase())==="true";let i="auto";a&&(this.settings.tray?t&&(i="hidden"):i="hidden"),this.el.html&&(this.el.html.style.overflow=i)}eWrapTab(t){var l;const e=d.getFocusables(this.el.panel),a=e==null?void 0:e[(e==null?void 0:e.length)-1],i=(e==null?void 0:e.length)>1&&document.activeElement===a;t.key.toLowerCase()==="tab"&&!t.shiftKey&&i&&((l=this.el.toggleButton)==null||l.focus(),document.activeElement===this.el.toggleButton&&t.preventDefault())}eToggle(){this.togglePanel()}eClose(){this.setPanel(!1)}eTransitionEnd(){var t;((t=this.el.wrapper)==null?void 0:t.classList.contains("mint-open"))===!1&&(this.el.wrapper.style.display="none")}}exports.Panel=E;
|
|
@@ -2,10 +2,10 @@ var y = Object.defineProperty;
|
|
|
2
2
|
var E = (r, n, t) => n in r ? y(r, n, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[n] = t;
|
|
3
3
|
var d = (r, n, t) => E(r, typeof n != "symbol" ? n + "" : n, t);
|
|
4
4
|
import { breakpoints as c } from "../../types/breakpoints.es.js";
|
|
5
|
-
import { sides as
|
|
5
|
+
import { sides as f } from "../../types/side.es.js";
|
|
6
6
|
import { delay as o } from "../../types/time.es.js";
|
|
7
7
|
import { AttachesEvents as v } from "../../abstract/attaches-events.es.js";
|
|
8
|
-
import { windowWidth as
|
|
8
|
+
import { windowWidth as g } from "../../util/window.es.js";
|
|
9
9
|
import { throttleEvent as h } from "../../util/event.es.js";
|
|
10
10
|
import { controls as u, getFocusables as w } from "../../util/selectors.es.js";
|
|
11
11
|
class B extends v {
|
|
@@ -13,11 +13,11 @@ class B extends v {
|
|
|
13
13
|
super();
|
|
14
14
|
d(this, "settings", {
|
|
15
15
|
title: "panel",
|
|
16
|
-
from:
|
|
16
|
+
from: f[0],
|
|
17
17
|
fixed: !0
|
|
18
18
|
});
|
|
19
19
|
d(this, "el", {});
|
|
20
|
-
if (this.settings = { ...this.settings, ...t },
|
|
20
|
+
if (this.settings = { ...this.settings, ...t }, !this.settings.id || !this.settings.wrapperId)
|
|
21
21
|
throw new Error("Panel ID and wrapper ID are required");
|
|
22
22
|
this.attachElements(), this.attachEvents(), this.addClasses(), requestAnimationFrame(() => {
|
|
23
23
|
this.setPanel();
|
|
@@ -55,10 +55,10 @@ class B extends v {
|
|
|
55
55
|
behavior: "smooth"
|
|
56
56
|
}), setTimeout(() => {
|
|
57
57
|
if (this.el.html) {
|
|
58
|
-
let s =
|
|
58
|
+
let s = g() <= c.sm, l = "auto";
|
|
59
59
|
this.settings.tray ? s && (l = "hidden") : l = "hidden", this.el.html.style.overflow = l;
|
|
60
60
|
}
|
|
61
|
-
}, this.settings.from ===
|
|
61
|
+
}, this.settings.from === f[3] ? o.default : o.instant), this.el.wrapper && (this.el.wrapper.style.display = "flex"), requestAnimationFrame(() => {
|
|
62
62
|
var s;
|
|
63
63
|
(s = this.el.wrapper) == null || s.classList.add("mint-open");
|
|
64
64
|
})) : (this.el.html && (this.el.html.style.overflow = "auto"), requestAnimationFrame(() => {
|
|
@@ -76,7 +76,7 @@ class B extends v {
|
|
|
76
76
|
}
|
|
77
77
|
eHandleResize() {
|
|
78
78
|
var s, l, p, m;
|
|
79
|
-
const t =
|
|
79
|
+
const t = g() <= c.sm;
|
|
80
80
|
let e = !0;
|
|
81
81
|
(s = this.el.panel) != null && s.classList.contains("mint-tray") ? e = !1 : (l = this.el.panel) != null && l.classList.contains("mint-expand") || (e = !1), !t && e && this.setPanel(!1);
|
|
82
82
|
const a = ((m = (p = this.el.toggleButton) == null ? void 0 : p.getAttribute("aria-expanded")) == null ? void 0 : m.toLowerCase()) === "true";
|