@appartmint/tsm-mint 0.1.11 → 0.1.12
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/dist/abstract/attaches-events.cjs.js +1 -1
- package/dist/abstract/attaches-events.es.js +10 -16
- package/dist/components/widget/header.cjs.js +1 -1
- package/dist/components/widget/header.es.js +16 -21
- package/dist/components/widget/menu.cjs.js +1 -1
- package/dist/components/widget/menu.es.js +37 -61
- package/dist/components/widget/panel.cjs.js +1 -1
- package/dist/components/widget/panel.es.js +41 -60
- package/dist/util/event.cjs.js +1 -1
- package/dist/util/event.es.js +19 -19
- package/dist/util/object.cjs.js +1 -1
- package/dist/util/object.es.js +76 -77
- package/dist/util/text.cjs.js +2 -2
- package/dist/util/text.es.js +6 -6
- package/package.json +13 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class a{events=[];attachEvent(e,s,t){if(e){let h=this.events.find(n=>n.el===e);h?(h.handlers.push(t),h.events.push(s)):this.events.push({el:e,handlers:[t],events:[s]}),e.addEventListener(s,t)}}detachEvents(){this.events.forEach(e=>{e.handlers.forEach((s,t)=>{e.el?.removeEventListener(e.events[t],s)})}),this.events=[]}}exports.AttachesEvents=a;
|
|
@@ -1,29 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
class c {
|
|
5
|
-
constructor() {
|
|
6
|
-
v(this, "events", []);
|
|
7
|
-
}
|
|
8
|
-
attachEvent(s, e, n) {
|
|
1
|
+
class a {
|
|
2
|
+
events = [];
|
|
3
|
+
attachEvent(s, e, t) {
|
|
9
4
|
if (s) {
|
|
10
|
-
let h = this.events.find((
|
|
11
|
-
h ? (h.handlers.push(
|
|
5
|
+
let h = this.events.find((n) => n.el === s);
|
|
6
|
+
h ? (h.handlers.push(t), h.events.push(e)) : this.events.push({
|
|
12
7
|
el: s,
|
|
13
|
-
handlers: [
|
|
8
|
+
handlers: [t],
|
|
14
9
|
events: [e]
|
|
15
|
-
}), s.addEventListener(e,
|
|
10
|
+
}), s.addEventListener(e, t);
|
|
16
11
|
}
|
|
17
12
|
}
|
|
18
13
|
detachEvents() {
|
|
19
14
|
this.events.forEach((s) => {
|
|
20
|
-
s.handlers.forEach((e,
|
|
21
|
-
|
|
22
|
-
(h = s.el) == null || h.removeEventListener(s.events[n], e);
|
|
15
|
+
s.handlers.forEach((e, t) => {
|
|
16
|
+
s.el?.removeEventListener(s.events[t], e);
|
|
23
17
|
});
|
|
24
18
|
}), this.events = [];
|
|
25
19
|
}
|
|
26
20
|
}
|
|
27
21
|
export {
|
|
28
|
-
|
|
22
|
+
a as AttachesEvents
|
|
29
23
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./panel.cjs.js"),s=require("./menu.cjs.js");class n{settings={id:"mint-menu",wrapperId:"mint-wrapper",title:"menu",fixed:!0};el={};panel;menu;constructor(e){this.settings={...this.settings,...e},this.panel=new t.Panel(this.settings),this.menu=new s.Menu(this.settings),this.attachElements(),this.addClasses()}detachEvents(){this.panel?.detachEvents(),this.menu?.detachEvents()}attachElements(){this.el.body=document.querySelector("body")}addClasses(){this.settings.fixed&&this.el.body?.classList.add("mint-fixed")}}exports.Header=n;
|
|
@@ -1,33 +1,28 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
import { Panel as e } from "./panel.es.js";
|
|
2
|
+
import { Menu as s } from "./menu.es.js";
|
|
3
|
+
class d {
|
|
4
|
+
settings = {
|
|
5
|
+
id: "mint-menu",
|
|
6
|
+
wrapperId: "mint-wrapper",
|
|
7
|
+
title: "menu",
|
|
8
|
+
fixed: !0
|
|
9
|
+
};
|
|
10
|
+
el = {};
|
|
11
|
+
panel;
|
|
12
|
+
menu;
|
|
7
13
|
constructor(t) {
|
|
8
|
-
|
|
9
|
-
id: "mint-menu",
|
|
10
|
-
wrapperId: "mint-wrapper",
|
|
11
|
-
title: "menu",
|
|
12
|
-
fixed: !0
|
|
13
|
-
});
|
|
14
|
-
i(this, "el", {});
|
|
15
|
-
i(this, "panel");
|
|
16
|
-
i(this, "menu");
|
|
17
|
-
this.settings = { ...this.settings, ...t }, this.panel = new d(this.settings), this.menu = new h(this.settings), this.attachElements(), this.addClasses();
|
|
14
|
+
this.settings = { ...this.settings, ...t }, this.panel = new e(this.settings), this.menu = new s(this.settings), this.attachElements(), this.addClasses();
|
|
18
15
|
}
|
|
19
16
|
detachEvents() {
|
|
20
|
-
|
|
21
|
-
(t = this.panel) == null || t.detachEvents(), (e = this.menu) == null || e.detachEvents();
|
|
17
|
+
this.panel?.detachEvents(), this.menu?.detachEvents();
|
|
22
18
|
}
|
|
23
19
|
attachElements() {
|
|
24
20
|
this.el.body = document.querySelector("body");
|
|
25
21
|
}
|
|
26
22
|
addClasses() {
|
|
27
|
-
|
|
28
|
-
this.settings.fixed && ((t = this.el.body) == null || t.classList.add("mint-fixed"));
|
|
23
|
+
this.settings.fixed && this.el.body?.classList.add("mint-fixed");
|
|
29
24
|
}
|
|
30
25
|
}
|
|
31
26
|
export {
|
|
32
|
-
|
|
27
|
+
d as Header
|
|
33
28
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../abstract/attaches-events.cjs.js"),l=require("../../types/time.cjs.js"),i=require("../../util/display.cjs.js"),r=require("../../util/event.cjs.js"),a=require("../../util/selectors.cjs.js");class u extends o.AttachesEvents{settings={};el={};constructor(e){if(super(),this.settings={...this.settings,...e},!this.settings.wrapperId)throw new Error("Wrapper ID is required");this.attachElements(),this.attachEvents(),requestAnimationFrame(()=>{this.closeAllMenus()})}attachElements(){this.el.wrapper=document.getElementById(this.settings.wrapperId)}attachEvents(){this.attachEvent(window,"scroll",r.throttleEvent(this.eHandleScroll.bind(this),l.delay.default,{trailing:!1})),this.el.wrapper?.querySelectorAll(a.focusable)?.forEach(s=>{this.attachEvent(s,"keydown",r.throttleEvent(this.eHandleKeypress.bind(this)))}),this.el.wrapper?.querySelectorAll(a.controls())?.forEach(s=>{this.attachEvent(s,"click",r.throttleEvent(this.eToggleMenu.bind(this),l.delay.slower,{trailing:!1}))})}setMenu(e,t=!1){let s=t?"true":"false",n=e?.nextElementSibling;e&&n&&(e.setAttribute("aria-expanded",s),t?i.showElement(n):(i.hideElement(n),this.closeSubMenus(e)))}toggleMenu(e){this.setMenu(e,e?.getAttribute("aria-expanded")?.toLowerCase()!=="true")}closeSubMenus(e){let t=e?.nextElementSibling;(t?.querySelectorAll(a.subMenuButtons)).forEach(n=>{n.parentElement?.parentElement===t&&this.setMenu(n)})}closeSiblingMenus(e){(e?.parentElement?.parentElement?.querySelectorAll(a.subMenuButtons)).forEach(n=>{n!==e&&this.setMenu(n)})}closeAllMenus(){this.el.wrapper?.querySelectorAll(a.subMenuButtons)?.forEach(t=>{this.setMenu(t)})}openClosestMenu(){let e=document.activeElement,t=e?.nextElementSibling,s=e?.getAttribute("aria-expanded")?.toLowerCase()==="true";e?.getAttribute("aria-controls")===this.settings.wrapperId&&(t=this.el.wrapper),e?.getAttribute("aria-controls")&&t&&!s&&(e.click(),t.querySelector(a.focusable)?.focus())}closeClosestMenu(){let e=document.activeElement,t=e?.closest(a.subMenu),s=t?.previousElementSibling;e?.getAttribute("aria-controls")&&e?.getAttribute("aria-expanded")?.toLowerCase()==="true"&&(s=e),s?.getAttribute("aria-expanded")?.toLowerCase()==="true"&&(s?.click(),s?.focus())}toggleClosestMenu(){document.activeElement?.getAttribute("aria-expanded")?.toLowerCase()==="true"?this.closeClosestMenu():this.openClosestMenu()}eHandleScroll(){this.closeAllMenus()}eHandleButtonKeypress(e){let t=e.target,s=t?.closest("li");switch(e.key.toLowerCase()){case"escape":s?.classList.contains("mint-open")&&this.setMenu(s);break;case"arrowleft":this.closeClosestMenu();break;case"arrowright":this.openClosestMenu();break;case"enter":case"space":t?.click();break}}eHandleLinkKeypress(e){let t=e.target;switch(e.key.toLowerCase()){case"escape":case"arrowleft":this.closeClosestMenu();break;case"arrowright":this.openClosestMenu();break;case"enter":case"space":t?.click();break}}eHandleKeypress(e){switch(e.key.toLowerCase()!=="tab"&&e.preventDefault(),e.target?.tagName.toLowerCase()){case"a":this.eHandleLinkKeypress(e);break;case"button":this.eHandleButtonKeypress(e);break}}eToggleMenu(e){let t=e.target;this.closeSiblingMenus(t),this.toggleMenu(t)}}exports.Menu=u;
|
|
@@ -1,17 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
class b extends u {
|
|
1
|
+
import { AttachesEvents as o } from "../../abstract/attaches-events.es.js";
|
|
2
|
+
import { delay as i } from "../../types/time.es.js";
|
|
3
|
+
import { showElement as u, hideElement as c } from "../../util/display.es.js";
|
|
4
|
+
import { throttleEvent as r } from "../../util/event.es.js";
|
|
5
|
+
import { focusable as l, controls as h, subMenuButtons as n, subMenu as p } from "../../util/selectors.es.js";
|
|
6
|
+
class w extends o {
|
|
7
|
+
settings = {};
|
|
8
|
+
el = {};
|
|
10
9
|
constructor(e) {
|
|
11
|
-
super()
|
|
12
|
-
n(this, "settings", {});
|
|
13
|
-
n(this, "el", {});
|
|
14
|
-
if (this.settings = { ...this.settings, ...e }, !this.settings.wrapperId)
|
|
10
|
+
if (super(), this.settings = { ...this.settings, ...e }, !this.settings.wrapperId)
|
|
15
11
|
throw new Error("Wrapper ID is required");
|
|
16
12
|
this.attachElements(), this.attachEvents(), requestAnimationFrame(() => {
|
|
17
13
|
this.closeAllMenus();
|
|
@@ -21,72 +17,54 @@ class b extends u {
|
|
|
21
17
|
this.el.wrapper = document.getElementById(this.settings.wrapperId);
|
|
22
18
|
}
|
|
23
19
|
attachEvents() {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
this.attachEvent(l, "keydown", o(this.eHandleKeypress.bind(this)));
|
|
29
|
-
});
|
|
30
|
-
const s = (r = this.el.wrapper) == null ? void 0 : r.querySelectorAll(f());
|
|
31
|
-
s == null || s.forEach((l) => {
|
|
32
|
-
this.attachEvent(l, "click", o(this.eToggleMenu.bind(this), h.slower, { trailing: !1 }));
|
|
20
|
+
this.attachEvent(window, "scroll", r(this.eHandleScroll.bind(this), i.default, { trailing: !1 })), this.el.wrapper?.querySelectorAll(l)?.forEach((s) => {
|
|
21
|
+
this.attachEvent(s, "keydown", r(this.eHandleKeypress.bind(this)));
|
|
22
|
+
}), this.el.wrapper?.querySelectorAll(h())?.forEach((s) => {
|
|
23
|
+
this.attachEvent(s, "click", r(this.eToggleMenu.bind(this), i.slower, { trailing: !1 }));
|
|
33
24
|
});
|
|
34
25
|
}
|
|
35
|
-
setMenu(e,
|
|
36
|
-
let
|
|
37
|
-
e &&
|
|
26
|
+
setMenu(e, t = !1) {
|
|
27
|
+
let s = t ? "true" : "false", a = e?.nextElementSibling;
|
|
28
|
+
e && a && (e.setAttribute("aria-expanded", s), t ? u(a) : (c(a), this.closeSubMenus(e)));
|
|
38
29
|
}
|
|
39
30
|
toggleMenu(e) {
|
|
40
|
-
|
|
41
|
-
this.setMenu(e, ((s = e == null ? void 0 : e.getAttribute("aria-expanded")) == null ? void 0 : s.toLowerCase()) !== "true");
|
|
31
|
+
this.setMenu(e, e?.getAttribute("aria-expanded")?.toLowerCase() !== "true");
|
|
42
32
|
}
|
|
43
33
|
closeSubMenus(e) {
|
|
44
|
-
let
|
|
45
|
-
(
|
|
46
|
-
|
|
47
|
-
((l = r.parentElement) == null ? void 0 : l.parentElement) === s && this.setMenu(r);
|
|
34
|
+
let t = e?.nextElementSibling;
|
|
35
|
+
(t?.querySelectorAll(n)).forEach((a) => {
|
|
36
|
+
a.parentElement?.parentElement === t && this.setMenu(a);
|
|
48
37
|
});
|
|
49
38
|
}
|
|
50
39
|
closeSiblingMenus(e) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
((r = s == null ? void 0 : s.parentElement) == null ? void 0 : r.querySelectorAll(c)).forEach((l) => {
|
|
54
|
-
l !== e && this.setMenu(l);
|
|
40
|
+
(e?.parentElement?.parentElement?.querySelectorAll(n)).forEach((a) => {
|
|
41
|
+
a !== e && this.setMenu(a);
|
|
55
42
|
});
|
|
56
43
|
}
|
|
57
44
|
closeAllMenus() {
|
|
58
|
-
|
|
59
|
-
let e = (s = this.el.wrapper) == null ? void 0 : s.querySelectorAll(c);
|
|
60
|
-
e == null || e.forEach((t) => {
|
|
45
|
+
this.el.wrapper?.querySelectorAll(n)?.forEach((t) => {
|
|
61
46
|
this.setMenu(t);
|
|
62
47
|
});
|
|
63
48
|
}
|
|
64
49
|
openClosestMenu() {
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
if ((e == null ? void 0 : e.getAttribute("aria-controls")) === this.settings.wrapperId && (s = this.el.wrapper), e != null && e.getAttribute("aria-controls") && s && !t) {
|
|
68
|
-
e.click();
|
|
69
|
-
let l = s.querySelector(p);
|
|
70
|
-
l == null || l.focus();
|
|
71
|
-
}
|
|
50
|
+
let e = document.activeElement, t = e?.nextElementSibling, s = e?.getAttribute("aria-expanded")?.toLowerCase() === "true";
|
|
51
|
+
e?.getAttribute("aria-controls") === this.settings.wrapperId && (t = this.el.wrapper), e?.getAttribute("aria-controls") && t && !s && (e.click(), t.querySelector(l)?.focus());
|
|
72
52
|
}
|
|
73
53
|
closeClosestMenu() {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
e != null && e.getAttribute("aria-controls") && ((r = e == null ? void 0 : e.getAttribute("aria-expanded")) == null ? void 0 : r.toLowerCase()) === "true" && (t = e), ((l = t == null ? void 0 : t.getAttribute("aria-expanded")) == null ? void 0 : l.toLowerCase()) === "true" && (t == null || t.click(), t == null || t.focus());
|
|
54
|
+
let e = document.activeElement, t = e?.closest(p), s = t?.previousElementSibling;
|
|
55
|
+
e?.getAttribute("aria-controls") && e?.getAttribute("aria-expanded")?.toLowerCase() === "true" && (s = e), s?.getAttribute("aria-expanded")?.toLowerCase() === "true" && (s?.click(), s?.focus());
|
|
77
56
|
}
|
|
78
57
|
toggleClosestMenu() {
|
|
79
|
-
|
|
80
|
-
((s = (e = document.activeElement) == null ? void 0 : e.getAttribute("aria-expanded")) == null ? void 0 : s.toLowerCase()) === "true" ? this.closeClosestMenu() : this.openClosestMenu();
|
|
58
|
+
document.activeElement?.getAttribute("aria-expanded")?.toLowerCase() === "true" ? this.closeClosestMenu() : this.openClosestMenu();
|
|
81
59
|
}
|
|
82
60
|
eHandleScroll() {
|
|
83
61
|
this.closeAllMenus();
|
|
84
62
|
}
|
|
85
63
|
eHandleButtonKeypress(e) {
|
|
86
|
-
let
|
|
64
|
+
let t = e.target, s = t?.closest("li");
|
|
87
65
|
switch (e.key.toLowerCase()) {
|
|
88
66
|
case "escape":
|
|
89
|
-
|
|
67
|
+
s?.classList.contains("mint-open") && this.setMenu(s);
|
|
90
68
|
break;
|
|
91
69
|
case "arrowleft":
|
|
92
70
|
this.closeClosestMenu();
|
|
@@ -96,12 +74,12 @@ class b extends u {
|
|
|
96
74
|
break;
|
|
97
75
|
case "enter":
|
|
98
76
|
case "space":
|
|
99
|
-
|
|
77
|
+
t?.click();
|
|
100
78
|
break;
|
|
101
79
|
}
|
|
102
80
|
}
|
|
103
81
|
eHandleLinkKeypress(e) {
|
|
104
|
-
let
|
|
82
|
+
let t = e.target;
|
|
105
83
|
switch (e.key.toLowerCase()) {
|
|
106
84
|
case "escape":
|
|
107
85
|
case "arrowleft":
|
|
@@ -112,14 +90,12 @@ class b extends u {
|
|
|
112
90
|
break;
|
|
113
91
|
case "enter":
|
|
114
92
|
case "space":
|
|
115
|
-
|
|
93
|
+
t?.click();
|
|
116
94
|
break;
|
|
117
95
|
}
|
|
118
96
|
}
|
|
119
97
|
eHandleKeypress(e) {
|
|
120
|
-
e.key.toLowerCase() !== "tab" && e.preventDefault()
|
|
121
|
-
const s = e.target;
|
|
122
|
-
switch (s == null ? void 0 : s.tagName.toLowerCase()) {
|
|
98
|
+
switch (e.key.toLowerCase() !== "tab" && e.preventDefault(), e.target?.tagName.toLowerCase()) {
|
|
123
99
|
case "a":
|
|
124
100
|
this.eHandleLinkKeypress(e);
|
|
125
101
|
break;
|
|
@@ -129,10 +105,10 @@ class b extends u {
|
|
|
129
105
|
}
|
|
130
106
|
}
|
|
131
107
|
eToggleMenu(e) {
|
|
132
|
-
let
|
|
133
|
-
this.closeSiblingMenus(
|
|
108
|
+
let t = e.target;
|
|
109
|
+
this.closeSiblingMenus(t), this.toggleMenu(t);
|
|
134
110
|
}
|
|
135
111
|
}
|
|
136
112
|
export {
|
|
137
|
-
|
|
113
|
+
w as Menu
|
|
138
114
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../../types/breakpoints.cjs.js"),h=require("../../types/side.cjs.js"),l=require("../../types/time.cjs.js"),c=require("../../abstract/attaches-events.cjs.js"),d=require("../../util/window.cjs.js"),n=require("../../util/event.cjs.js"),o=require("../../util/selectors.cjs.js");class p extends c.AttachesEvents{settings={title:"panel",from:h.sides[0],fixed:!0};el={};constructor(t){if(super(),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(){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=this.el.panel?.querySelector(o.controls(this.settings.wrapperId))||null}attachEvents(){this.attachEvent(window,"resize",n.throttleEvent(this.eHandleResize.bind(this),l.delay.default)),this.attachEvent(this.el.main,"click",n.throttleEvent(this.eClose.bind(this),l.delay.default,{trailing:!1})),this.attachEvent(this.el.wrapper,"transitionend",this.eTransitionEnd.bind(this)),o.getFocusables(this.el.panel)?.forEach(s=>{this.attachEvent(s,"keydown",n.throttleEvent(this.eWrapTab.bind(this)))}),this.el.panel?.querySelectorAll(o.controls(this.settings.wrapperId))?.forEach(s=>{this.attachEvent(s,"click",n.throttleEvent(this.eToggle.bind(this),l.delay.slower,{trailing:!1}))})}addClasses(){this.el.panel?.classList.add("mint-panel"),this.el.wrapper?.classList.add("mint-panel-wrap"),this.el.toggleButton?.classList.add("mint-panel-toggle"),this.settings.from&&(this.el.panel?.classList.remove("mint-top","mint-right","mint-bottom","mint-left"),this.el.panel?.classList.add(`mint-${this.settings.from.toLowerCase()}`)),this.settings.tray&&this.el.panel?.classList.add("mint-tray")}setPanel(t=!1){let e=t?"true":"false",s=t?`close ${this.settings.title}`:`open ${this.settings.title}`;this.el.toggleButton?.setAttribute("aria-expanded",e),setTimeout(()=>{this.el.toggleButton?.setAttribute("aria-label",s)},l.delay.faster),t?(this.closeOtherPanels(),this.settings.fixed!==!0&&window.scroll({top:0,left:0,behavior:"smooth"}),setTimeout(()=>{if(this.el.html){let i=d.windowWidth()<=r.breakpoints.sm,a="auto";this.settings.tray?i&&(a="hidden"):a="hidden",this.el.html.style.overflow=a}},this.settings.from===h.sides[3]?l.delay.default:l.delay.instant),this.el.wrapper&&(this.el.wrapper.style.display="flex"),requestAnimationFrame(()=>{this.el.wrapper?.classList.add("mint-open")})):(this.el.html&&(this.el.html.style.overflow="auto"),requestAnimationFrame(()=>{this.el.wrapper?.classList.remove("mint-open")}))}togglePanel(){this.setPanel(this.el.toggleButton?.getAttribute("aria-expanded")?.toLowerCase()==="false")}closeOtherPanels(){const t=`.mint-panel-toggle[aria-expanded="true"]:not([aria-controls="${this.settings.wrapperId}"])`;document.querySelector(t)?.click()}eHandleResize(){const t=d.windowWidth()<=r.breakpoints.sm;let e=!0;this.el.panel?.classList.contains("mint-tray")?e=!1:this.el.panel?.classList.contains("mint-expand")||(e=!1),!t&&e&&this.setPanel(!1);const s=this.el.toggleButton?.getAttribute("aria-expanded")?.toLowerCase()==="true";let i="auto";s&&(this.settings.tray?t&&(i="hidden"):i="hidden"),this.el.html&&(this.el.html.style.overflow=i)}eWrapTab(t){const e=o.getFocusables(this.el.panel),s=e?.[e?.length-1],i=e?.length>1&&document.activeElement===s;t.key.toLowerCase()==="tab"&&!t.shiftKey&&i&&(this.el.toggleButton?.focus(),document.activeElement===this.el.toggleButton&&t.preventDefault())}eToggle(){this.togglePanel()}eClose(){this.setPanel(!1)}eTransitionEnd(){this.el.wrapper?.classList.contains("mint-open")===!1&&(this.el.wrapper.style.display="none")}}exports.Panel=p;
|
|
@@ -1,92 +1,74 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import { breakpoints as o } from "../../types/breakpoints.es.js";
|
|
2
|
+
import { sides as r } from "../../types/side.es.js";
|
|
3
|
+
import { delay as l } from "../../types/time.es.js";
|
|
4
|
+
import { AttachesEvents as c } from "../../abstract/attaches-events.es.js";
|
|
5
|
+
import { windowWidth as h } from "../../util/window.es.js";
|
|
6
|
+
import { throttleEvent as n } from "../../util/event.es.js";
|
|
7
|
+
import { controls as d, getFocusables as p } from "../../util/selectors.es.js";
|
|
8
|
+
class v extends c {
|
|
9
|
+
settings = {
|
|
10
|
+
title: "panel",
|
|
11
|
+
from: r[0],
|
|
12
|
+
fixed: !0
|
|
13
|
+
};
|
|
14
|
+
el = {};
|
|
12
15
|
constructor(t) {
|
|
13
|
-
super()
|
|
14
|
-
d(this, "settings", {
|
|
15
|
-
title: "panel",
|
|
16
|
-
from: f[0],
|
|
17
|
-
fixed: !0
|
|
18
|
-
});
|
|
19
|
-
d(this, "el", {});
|
|
20
|
-
if (this.settings = { ...this.settings, ...t }, !this.settings.id || !this.settings.wrapperId)
|
|
16
|
+
if (super(), this.settings = { ...this.settings, ...t }, !this.settings.id || !this.settings.wrapperId)
|
|
21
17
|
throw new Error("Panel ID and wrapper ID are required");
|
|
22
18
|
this.attachElements(), this.attachEvents(), this.addClasses(), requestAnimationFrame(() => {
|
|
23
19
|
this.setPanel();
|
|
24
20
|
});
|
|
25
21
|
}
|
|
26
22
|
attachElements() {
|
|
27
|
-
|
|
28
|
-
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(u(this.settings.wrapperId))) || null;
|
|
23
|
+
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 = this.el.panel?.querySelector(d(this.settings.wrapperId)) || null;
|
|
29
24
|
}
|
|
30
25
|
attachEvents() {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
this.attachEvent(i, "keydown", h(this.eWrapTab.bind(this)));
|
|
36
|
-
});
|
|
37
|
-
const e = (a = this.el.panel) == null ? void 0 : a.querySelectorAll(u(this.settings.wrapperId));
|
|
38
|
-
e == null || e.forEach((i) => {
|
|
39
|
-
this.attachEvent(i, "click", h(this.eToggle.bind(this), o.slower, { trailing: !1 }));
|
|
26
|
+
this.attachEvent(window, "resize", n(this.eHandleResize.bind(this), l.default)), this.attachEvent(this.el.main, "click", n(this.eClose.bind(this), l.default, { trailing: !1 })), this.attachEvent(this.el.wrapper, "transitionend", this.eTransitionEnd.bind(this)), p(this.el.panel)?.forEach((s) => {
|
|
27
|
+
this.attachEvent(s, "keydown", n(this.eWrapTab.bind(this)));
|
|
28
|
+
}), this.el.panel?.querySelectorAll(d(this.settings.wrapperId))?.forEach((s) => {
|
|
29
|
+
this.attachEvent(s, "click", n(this.eToggle.bind(this), l.slower, { trailing: !1 }));
|
|
40
30
|
});
|
|
41
31
|
}
|
|
42
32
|
addClasses() {
|
|
43
|
-
|
|
44
|
-
(t = this.el.panel) == null || t.classList.add("mint-panel"), (e = this.el.wrapper) == null || e.classList.add("mint-panel-wrap"), (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"));
|
|
33
|
+
this.el.panel?.classList.add("mint-panel"), this.el.wrapper?.classList.add("mint-panel-wrap"), this.el.toggleButton?.classList.add("mint-panel-toggle"), this.settings.from && (this.el.panel?.classList.remove("mint-top", "mint-right", "mint-bottom", "mint-left"), this.el.panel?.classList.add(`mint-${this.settings.from.toLowerCase()}`)), this.settings.tray && this.el.panel?.classList.add("mint-tray");
|
|
45
34
|
}
|
|
46
35
|
setPanel(t = !1) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
(s = this.el.toggleButton) == null || s.setAttribute("aria-label", a);
|
|
52
|
-
}, o.faster), t ? (this.closeOtherPanels(), this.settings.fixed !== !0 && window.scroll({
|
|
36
|
+
let e = t ? "true" : "false", s = t ? `close ${this.settings.title}` : `open ${this.settings.title}`;
|
|
37
|
+
this.el.toggleButton?.setAttribute("aria-expanded", e), setTimeout(() => {
|
|
38
|
+
this.el.toggleButton?.setAttribute("aria-label", s);
|
|
39
|
+
}, l.faster), t ? (this.closeOtherPanels(), this.settings.fixed !== !0 && window.scroll({
|
|
53
40
|
top: 0,
|
|
54
41
|
left: 0,
|
|
55
42
|
behavior: "smooth"
|
|
56
43
|
}), setTimeout(() => {
|
|
57
44
|
if (this.el.html) {
|
|
58
|
-
let
|
|
59
|
-
this.settings.tray ?
|
|
45
|
+
let i = h() <= o.sm, a = "auto";
|
|
46
|
+
this.settings.tray ? i && (a = "hidden") : a = "hidden", this.el.html.style.overflow = a;
|
|
60
47
|
}
|
|
61
|
-
}, this.settings.from ===
|
|
62
|
-
|
|
63
|
-
(s = this.el.wrapper) == null || s.classList.add("mint-open");
|
|
48
|
+
}, this.settings.from === r[3] ? l.default : l.instant), this.el.wrapper && (this.el.wrapper.style.display = "flex"), requestAnimationFrame(() => {
|
|
49
|
+
this.el.wrapper?.classList.add("mint-open");
|
|
64
50
|
})) : (this.el.html && (this.el.html.style.overflow = "auto"), requestAnimationFrame(() => {
|
|
65
|
-
|
|
66
|
-
(s = this.el.wrapper) == null || s.classList.remove("mint-open");
|
|
51
|
+
this.el.wrapper?.classList.remove("mint-open");
|
|
67
52
|
}));
|
|
68
53
|
}
|
|
69
54
|
togglePanel() {
|
|
70
|
-
|
|
71
|
-
this.setPanel(((e = (t = this.el.toggleButton) == null ? void 0 : t.getAttribute("aria-expanded")) == null ? void 0 : e.toLowerCase()) === "false");
|
|
55
|
+
this.setPanel(this.el.toggleButton?.getAttribute("aria-expanded")?.toLowerCase() === "false");
|
|
72
56
|
}
|
|
73
57
|
closeOtherPanels() {
|
|
74
|
-
const t = `.mint-panel-toggle[aria-expanded="true"]:not([aria-controls="${this.settings.wrapperId}"])
|
|
75
|
-
|
|
58
|
+
const t = `.mint-panel-toggle[aria-expanded="true"]:not([aria-controls="${this.settings.wrapperId}"])`;
|
|
59
|
+
document.querySelector(t)?.click();
|
|
76
60
|
}
|
|
77
61
|
eHandleResize() {
|
|
78
|
-
|
|
79
|
-
const t = g() <= c.sm;
|
|
62
|
+
const t = h() <= o.sm;
|
|
80
63
|
let e = !0;
|
|
81
|
-
|
|
82
|
-
const
|
|
64
|
+
this.el.panel?.classList.contains("mint-tray") ? e = !1 : this.el.panel?.classList.contains("mint-expand") || (e = !1), !t && e && this.setPanel(!1);
|
|
65
|
+
const s = this.el.toggleButton?.getAttribute("aria-expanded")?.toLowerCase() === "true";
|
|
83
66
|
let i = "auto";
|
|
84
|
-
|
|
67
|
+
s && (this.settings.tray ? t && (i = "hidden") : i = "hidden"), this.el.html && (this.el.html.style.overflow = i);
|
|
85
68
|
}
|
|
86
69
|
eWrapTab(t) {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
t.key.toLowerCase() === "tab" && !t.shiftKey && i && ((l = this.el.toggleButton) == null || l.focus(), document.activeElement === this.el.toggleButton && t.preventDefault());
|
|
70
|
+
const e = p(this.el.panel), s = e?.[e?.length - 1], i = e?.length > 1 && document.activeElement === s;
|
|
71
|
+
t.key.toLowerCase() === "tab" && !t.shiftKey && i && (this.el.toggleButton?.focus(), document.activeElement === this.el.toggleButton && t.preventDefault());
|
|
90
72
|
}
|
|
91
73
|
eToggle() {
|
|
92
74
|
this.togglePanel();
|
|
@@ -95,10 +77,9 @@ class B extends v {
|
|
|
95
77
|
this.setPanel(!1);
|
|
96
78
|
}
|
|
97
79
|
eTransitionEnd() {
|
|
98
|
-
|
|
99
|
-
((t = this.el.wrapper) == null ? void 0 : t.classList.contains("mint-open")) === !1 && (this.el.wrapper.style.display = "none");
|
|
80
|
+
this.el.wrapper?.classList.contains("mint-open") === !1 && (this.el.wrapper.style.display = "none");
|
|
100
81
|
}
|
|
101
82
|
}
|
|
102
83
|
export {
|
|
103
|
-
|
|
84
|
+
v as Panel
|
|
104
85
|
};
|
package/dist/util/event.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../types/time.cjs.js");function c(t,n=o.delay.default){let e;return function(...u){e&&clearTimeout(e),e=Number(setTimeout(t,n,...u))}}function g(t,n=o.delay.default){return c(t,n)}function m(t,n=o.delay.default,e){let u,i,a,l,r=0,s=function(){r=e?.leading===!1?0:new Date().getTime(),l=0,a=t.apply(u,i),l||(u=i=null)};return function(){let f=new Date().getTime();!r&&e?.leading===!1&&(r=f);let d=n-f+r;return u=this,i=arguments,d<=0||d>n?(l&&(clearTimeout(l),l=0),r=f,a=t.apply(u,i),l||(u=i=null)):!l&&e?.trailing!==!1&&(l=window.setTimeout(s,d)),a}}function y(t,n=o.delay.default,e){return m(t,n,e)}exports.debounce=c;exports.debounceEvent=g;exports.throttle=m;exports.throttleEvent=y;
|
package/dist/util/event.es.js
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { delay as
|
|
2
|
-
function
|
|
1
|
+
import { delay as f } from "../types/time.es.js";
|
|
2
|
+
function c(t, n = f.default) {
|
|
3
3
|
let e;
|
|
4
|
-
return function(...
|
|
5
|
-
e && clearTimeout(e), e = Number(setTimeout(t,
|
|
4
|
+
return function(...i) {
|
|
5
|
+
e && clearTimeout(e), e = Number(setTimeout(t, n, ...i));
|
|
6
6
|
};
|
|
7
7
|
}
|
|
8
|
-
function
|
|
9
|
-
return
|
|
8
|
+
function h(t, n = f.default) {
|
|
9
|
+
return c(t, n);
|
|
10
10
|
}
|
|
11
|
-
function
|
|
12
|
-
let
|
|
13
|
-
|
|
11
|
+
function s(t, n = f.default, e) {
|
|
12
|
+
let i, r, o, l, u = 0, d = function() {
|
|
13
|
+
u = e?.leading === !1 ? 0 : (/* @__PURE__ */ new Date()).getTime(), l = 0, o = t.apply(i, r), l || (i = r = null);
|
|
14
14
|
};
|
|
15
15
|
return function() {
|
|
16
|
-
let
|
|
17
|
-
!
|
|
18
|
-
let
|
|
19
|
-
return
|
|
16
|
+
let a = (/* @__PURE__ */ new Date()).getTime();
|
|
17
|
+
!u && e?.leading === !1 && (u = a);
|
|
18
|
+
let m = n - a + u;
|
|
19
|
+
return i = this, r = arguments, m <= 0 || m > n ? (l && (clearTimeout(l), l = 0), u = a, o = t.apply(i, r), l || (i = r = null)) : !l && e?.trailing !== !1 && (l = window.setTimeout(d, m)), o;
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
|
-
function
|
|
23
|
-
return
|
|
22
|
+
function p(t, n = f.default, e) {
|
|
23
|
+
return s(t, n, e);
|
|
24
24
|
}
|
|
25
25
|
export {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
c as debounce,
|
|
27
|
+
h as debounceEvent,
|
|
28
|
+
s as throttle,
|
|
29
|
+
p as throttleEvent
|
|
30
30
|
};
|
package/dist/util/object.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function o(e,n){let t=Object.keys(e);if(t.length!==Object.keys(n).length)return!1;let r=!0;return t.forEach(s=>{e[s]!==n[s]&&(r=!1)}),r}function f(e,n){let t=!0;if(e===n)return t;try{if(Object.keys(n).length===0)return!t}catch{return!t}return Object.keys(n).forEach(r=>{t=t&&f(e[r],n[r])}),t}function l(e,n){return Object.keys(e).reduce((t,r)=>(n.includes(r)||(t[r]=e[r]),t),{})}function a(e,n){return Object.keys(e).reduce((t,r)=>(n.includes(e[r])||(t[r]=e[r]),t),{})}function y(e,n){return Object.keys(e).sort(n).reduce((t,r)=>(t[r]=e[r],t),{})}function h(e,n){return Object.keys(e).sort((t,r)=>n(e[t],e[r])).reduce((t,r)=>(t[r]=e[r],t),{})}function O(e,n){return n.reduce((t,r)=>(t[r]=e[r],t),{})}function d(e,n){return Object.keys(e).reduce((t,r)=>(n.includes(e[r])&&(t[r]=e[r]),t),{})}function p(e,n,t="id"){if(!n?.length)n?.forEach(s=>e.push(s));else{const s=n.reduce((c,i)=>({...c,[i?.[t]??""]:i}),{});e.filter(c=>!s[c?.[t]??""])?.forEach(c=>{const i=e.indexOf(c);typeof i=="number"&&i!==-1&&e.splice(i,1)}),e.forEach(c=>{s[c?.[t]??""]&&Object.assign(c,s[c?.[t]??""])})}n?.filter(s=>!e.some(u=>u?.[t]===s?.[t]))?.forEach(s=>e.push(s))}function b(e,n){return Object.keys(e).find(t=>e[t]===n)}function j(e){if(typeof e!="object"||e===null)return e;const n=new WeakMap,t=[[e,Array.isArray(e)?[]:{}]];for(;t.length;){const[r,s,u]=t.pop();if(u!==void 0){const c=r[u];if(typeof c=="function"){s[u]=c.bind(s);continue}if(typeof c!="object"||c===null){s[u]=c;continue}if(n.has(c)){s[u]=n.get(c);continue}s[u]=Array.isArray(c)?[]:{},n.set(c,s[u]),t.push([c,s[u]])}else{if(n.set(r,s),Array.isArray(r)){r.forEach((c,i)=>{t.push([r,s,i])});continue}Object.keys(r).forEach(c=>{t.push([r,s,c])})}}return n.get(e)}exports.objectDeepClone=j;exports.objectFilterKeys=O;exports.objectFilterValues=d;exports.objectGetKeyByValue=b;exports.objectIsSuperset=f;exports.objectRemoveValues=a;exports.objectSameKeys=o;exports.objectSortKeys=y;exports.objectSortValues=h;exports.objectUpdateArray=p;exports.removeKeys=l;
|
package/dist/util/object.es.js
CHANGED
|
@@ -1,110 +1,109 @@
|
|
|
1
|
-
function
|
|
2
|
-
let
|
|
3
|
-
if (
|
|
1
|
+
function o(e, n) {
|
|
2
|
+
let t = Object.keys(e);
|
|
3
|
+
if (t.length !== Object.keys(n).length)
|
|
4
4
|
return !1;
|
|
5
|
-
let
|
|
6
|
-
return
|
|
7
|
-
|
|
8
|
-
}),
|
|
5
|
+
let r = !0;
|
|
6
|
+
return t.forEach((s) => {
|
|
7
|
+
e[s] !== n[s] && (r = !1);
|
|
8
|
+
}), r;
|
|
9
9
|
}
|
|
10
|
-
function
|
|
11
|
-
let
|
|
12
|
-
if (
|
|
13
|
-
return
|
|
10
|
+
function i(e, n) {
|
|
11
|
+
let t = !0;
|
|
12
|
+
if (e === n)
|
|
13
|
+
return t;
|
|
14
14
|
try {
|
|
15
|
-
if (Object.keys(
|
|
16
|
-
return !
|
|
15
|
+
if (Object.keys(n).length === 0)
|
|
16
|
+
return !t;
|
|
17
17
|
} catch {
|
|
18
|
-
return !
|
|
18
|
+
return !t;
|
|
19
19
|
}
|
|
20
|
-
return Object.keys(
|
|
21
|
-
|
|
22
|
-
}),
|
|
20
|
+
return Object.keys(n).forEach((r) => {
|
|
21
|
+
t = t && i(e[r], n[r]);
|
|
22
|
+
}), t;
|
|
23
23
|
}
|
|
24
|
-
function
|
|
25
|
-
return Object.keys(
|
|
24
|
+
function l(e, n) {
|
|
25
|
+
return Object.keys(e).reduce((t, r) => (n.includes(r) || (t[r] = e[r]), t), {});
|
|
26
26
|
}
|
|
27
|
-
function
|
|
28
|
-
return Object.keys(
|
|
27
|
+
function a(e, n) {
|
|
28
|
+
return Object.keys(e).reduce((t, r) => (n.includes(e[r]) || (t[r] = e[r]), t), {});
|
|
29
29
|
}
|
|
30
|
-
function
|
|
31
|
-
return Object.keys(
|
|
30
|
+
function h(e, n) {
|
|
31
|
+
return Object.keys(e).sort(n).reduce((t, r) => (t[r] = e[r], t), {});
|
|
32
32
|
}
|
|
33
|
-
function
|
|
34
|
-
return Object.keys(
|
|
33
|
+
function O(e, n) {
|
|
34
|
+
return Object.keys(e).sort((t, r) => n(e[t], e[r])).reduce((t, r) => (t[r] = e[r], t), {});
|
|
35
35
|
}
|
|
36
|
-
function
|
|
37
|
-
return
|
|
36
|
+
function y(e, n) {
|
|
37
|
+
return n.reduce((t, r) => (t[r] = e[r], t), {});
|
|
38
38
|
}
|
|
39
|
-
function
|
|
40
|
-
return Object.keys(
|
|
39
|
+
function d(e, n) {
|
|
40
|
+
return Object.keys(e).reduce((t, r) => (n.includes(e[r]) && (t[r] = e[r]), t), {});
|
|
41
41
|
}
|
|
42
|
-
function
|
|
43
|
-
if (!
|
|
44
|
-
|
|
42
|
+
function p(e, n, t = "id") {
|
|
43
|
+
if (!n?.length)
|
|
44
|
+
n?.forEach((s) => e.push(s));
|
|
45
45
|
else {
|
|
46
|
-
const s =
|
|
47
|
-
...
|
|
48
|
-
[
|
|
49
|
-
}), {})
|
|
50
|
-
|
|
51
|
-
const
|
|
52
|
-
typeof
|
|
53
|
-
}),
|
|
54
|
-
s[
|
|
46
|
+
const s = n.reduce((c, f) => ({
|
|
47
|
+
...c,
|
|
48
|
+
[f?.[t] ?? ""]: f
|
|
49
|
+
}), {});
|
|
50
|
+
e.filter((c) => !s[c?.[t] ?? ""])?.forEach((c) => {
|
|
51
|
+
const f = e.indexOf(c);
|
|
52
|
+
typeof f == "number" && f !== -1 && e.splice(f, 1);
|
|
53
|
+
}), e.forEach((c) => {
|
|
54
|
+
s[c?.[t] ?? ""] && Object.assign(c, s[c?.[t] ?? ""]);
|
|
55
55
|
});
|
|
56
56
|
}
|
|
57
|
-
|
|
58
|
-
e == null || e.forEach((s) => r.push(s));
|
|
57
|
+
n?.filter((s) => !e.some((u) => u?.[t] === s?.[t]))?.forEach((s) => e.push(s));
|
|
59
58
|
}
|
|
60
|
-
function
|
|
61
|
-
return Object.keys(
|
|
59
|
+
function m(e, n) {
|
|
60
|
+
return Object.keys(e).find((t) => e[t] === n);
|
|
62
61
|
}
|
|
63
|
-
function
|
|
64
|
-
if (typeof
|
|
65
|
-
return
|
|
66
|
-
const
|
|
67
|
-
for (;
|
|
68
|
-
const [
|
|
69
|
-
if (
|
|
70
|
-
const
|
|
71
|
-
if (typeof
|
|
72
|
-
s[
|
|
62
|
+
function E(e) {
|
|
63
|
+
if (typeof e != "object" || e === null)
|
|
64
|
+
return e;
|
|
65
|
+
const n = /* @__PURE__ */ new WeakMap(), t = [[e, Array.isArray(e) ? [] : {}]];
|
|
66
|
+
for (; t.length; ) {
|
|
67
|
+
const [r, s, u] = t.pop();
|
|
68
|
+
if (u !== void 0) {
|
|
69
|
+
const c = r[u];
|
|
70
|
+
if (typeof c == "function") {
|
|
71
|
+
s[u] = c.bind(s);
|
|
73
72
|
continue;
|
|
74
73
|
}
|
|
75
|
-
if (typeof
|
|
76
|
-
s[
|
|
74
|
+
if (typeof c != "object" || c === null) {
|
|
75
|
+
s[u] = c;
|
|
77
76
|
continue;
|
|
78
77
|
}
|
|
79
|
-
if (
|
|
80
|
-
s[
|
|
78
|
+
if (n.has(c)) {
|
|
79
|
+
s[u] = n.get(c);
|
|
81
80
|
continue;
|
|
82
81
|
}
|
|
83
|
-
s[
|
|
82
|
+
s[u] = Array.isArray(c) ? [] : {}, n.set(c, s[u]), t.push([c, s[u]]);
|
|
84
83
|
} else {
|
|
85
|
-
if (
|
|
86
|
-
|
|
87
|
-
|
|
84
|
+
if (n.set(r, s), Array.isArray(r)) {
|
|
85
|
+
r.forEach((c, f) => {
|
|
86
|
+
t.push([r, s, f]);
|
|
88
87
|
});
|
|
89
88
|
continue;
|
|
90
89
|
}
|
|
91
|
-
Object.keys(
|
|
92
|
-
|
|
90
|
+
Object.keys(r).forEach((c) => {
|
|
91
|
+
t.push([r, s, c]);
|
|
93
92
|
});
|
|
94
93
|
}
|
|
95
94
|
}
|
|
96
|
-
return
|
|
95
|
+
return n.get(e);
|
|
97
96
|
}
|
|
98
97
|
export {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
98
|
+
E as objectDeepClone,
|
|
99
|
+
y as objectFilterKeys,
|
|
100
|
+
d as objectFilterValues,
|
|
101
|
+
m as objectGetKeyByValue,
|
|
102
|
+
i as objectIsSuperset,
|
|
103
|
+
a as objectRemoveValues,
|
|
104
|
+
o as objectSameKeys,
|
|
105
|
+
h as objectSortKeys,
|
|
106
|
+
O as objectSortValues,
|
|
107
|
+
p as objectUpdateArray,
|
|
108
|
+
l as removeKeys
|
|
110
109
|
};
|
package/dist/util/text.cjs.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function r(e,t=100){return e.length>t?e.slice(0,t).trim()+"...":e}function
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function r(e,t=100){return e.length>t?e.slice(0,t).trim()+"...":e}function c(e){return e?.trim().toLowerCase().replace(/'/g,"").replace(/[^\w/-]+/g,"-").replace(/-+/g,"-").replace(/^-+|-+$/g,"").replace(/^\/+|\/+$/g,"")??""}function u(e){return s(e.replace(/[-/]+/g," "))}function l(e){const t=e?.toString().trim()??"";if(t==="("||t==="")return t;let n=t.replace(/\D/g,"")??"",a="";n.length>10&&(a+=`+${n.slice(0,n.length-10)} `,n=n.slice(n.length-10));for(var i=0;i<n.length;i++){switch(i){case 0:a+="(";break;case 3:a+=") ";break;case 6:a+="-";break}a+=n[i]}switch(t[t.length-1]){case")":i===3&&(a+=") ");break;case"-":i===6&&(a+="-");break}return a}function x(e){return e.endsWith("ies")||e.endsWith("es")||e.endsWith("s")&&!e.endsWith("us")&&!e.endsWith("is")&&!e.endsWith("ss")?e:e.endsWith("y")&&!["a","e","i","o","u"].includes(e.charAt(e.length-2))?e.slice(0,-1)+"ies":e.endsWith("s")||e.endsWith("sh")||e.endsWith("ch")||e.endsWith("x")||e.endsWith("z")?e+"es":e+"s"}function s(e){return e.toLowerCase().replace(/(?:^|\s)\S/g,t=>t.toUpperCase())}function g(e){let t=document.createElement("textarea");return!e||!t?!1:(t.value=e,t.style.cssText=`
|
|
2
2
|
position: fixed;
|
|
3
3
|
top: 0;
|
|
4
4
|
left: 0;
|
|
5
5
|
transform: translate(-100%, -100%);
|
|
6
6
|
opacity: 0;
|
|
7
7
|
z-index: -1;
|
|
8
|
-
`,document.body.appendChild(t),t.select(),t.setSelectionRange(0,99999),navigator.clipboard.writeText(t.value),document.body.removeChild(t),!0)}function
|
|
8
|
+
`,document.body.appendChild(t),t.select(),t.setSelectionRange(0,99999),navigator.clipboard.writeText(t.value),document.body.removeChild(t),!0)}function f(e){return e.match(/(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/)!==null}function o(e=10){return Math.random().toString(36).substring(2,e+2)}function h(e){return!!e?.match(/\.(jpe?g|png|webp|gif|svg)$/i)}function p(e){return!!e?.match(/\.(mp4|webm|ogg)$/i)}exports.copyText=g;exports.formatPhone=l;exports.generateId=o;exports.isEmail=f;exports.isImage=h;exports.isVideo=p;exports.plural=x;exports.slug=c;exports.titleCase=s;exports.truncate=r;exports.unslug=u;
|
package/dist/util/text.es.js
CHANGED
|
@@ -2,13 +2,13 @@ function r(e, t = 100) {
|
|
|
2
2
|
return e.length > t ? e.slice(0, t).trim() + "..." : e;
|
|
3
3
|
}
|
|
4
4
|
function c(e) {
|
|
5
|
-
return
|
|
5
|
+
return e?.trim().toLowerCase().replace(/'/g, "").replace(/[^\w/-]+/g, "-").replace(/-+/g, "-").replace(/^-+|-+$/g, "").replace(/^\/+|\/+$/g, "") ?? "";
|
|
6
6
|
}
|
|
7
7
|
function u(e) {
|
|
8
8
|
return s(e.replace(/[-/]+/g, " "));
|
|
9
9
|
}
|
|
10
10
|
function l(e) {
|
|
11
|
-
const t =
|
|
11
|
+
const t = e?.toString().trim() ?? "";
|
|
12
12
|
if (t === "(" || t === "")
|
|
13
13
|
return t;
|
|
14
14
|
let n = t.replace(/\D/g, "") ?? "", a = "";
|
|
@@ -61,10 +61,10 @@ function h(e = 10) {
|
|
|
61
61
|
return Math.random().toString(36).substring(2, e + 2);
|
|
62
62
|
}
|
|
63
63
|
function o(e) {
|
|
64
|
-
return !!
|
|
64
|
+
return !!e?.match(/\.(jpe?g|png|webp|gif|svg)$/i);
|
|
65
65
|
}
|
|
66
|
-
function
|
|
67
|
-
return !!
|
|
66
|
+
function p(e) {
|
|
67
|
+
return !!e?.match(/\.(mp4|webm|ogg)$/i);
|
|
68
68
|
}
|
|
69
69
|
export {
|
|
70
70
|
f as copyText,
|
|
@@ -72,7 +72,7 @@ export {
|
|
|
72
72
|
h as generateId,
|
|
73
73
|
g as isEmail,
|
|
74
74
|
o as isImage,
|
|
75
|
-
|
|
75
|
+
p as isVideo,
|
|
76
76
|
x as plural,
|
|
77
77
|
c as slug,
|
|
78
78
|
s as titleCase,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@appartmint/tsm-mint",
|
|
3
3
|
"author": "App Art Mint LLC",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.12",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"description": "TypeScript Modules from App Art Mint LLC",
|
|
@@ -42,20 +42,24 @@
|
|
|
42
42
|
"clean": "rimraf dist",
|
|
43
43
|
"test:types": "tsc -b",
|
|
44
44
|
"test:circular": "madge --circular --extensions ts .",
|
|
45
|
-
"lint": "eslint --fix ."
|
|
45
|
+
"lint": "eslint --fix .",
|
|
46
|
+
"publish:link": "yalc publish"
|
|
46
47
|
},
|
|
47
48
|
"devDependencies": {
|
|
48
|
-
"@
|
|
49
|
+
"@eslint/js": "^10.0.1",
|
|
50
|
+
"@types/node": "^25.4.0",
|
|
49
51
|
"cross-replace": "^0.2.0",
|
|
50
|
-
"eslint": "^
|
|
51
|
-
"glob": "^
|
|
52
|
+
"eslint": "^10.0.3",
|
|
53
|
+
"glob": "^13.0.6",
|
|
54
|
+
"globals": "^17.4.0",
|
|
52
55
|
"madge": "^8.0.0",
|
|
53
56
|
"npm-check-updates": "^19.6.3",
|
|
54
57
|
"npm-run-all2": "^8.0.4",
|
|
55
|
-
"rimraf": "^6.1.
|
|
58
|
+
"rimraf": "^6.1.3",
|
|
56
59
|
"typescript": "^5.9.3",
|
|
57
|
-
"typescript-eslint": "^8.
|
|
58
|
-
"vite": "^
|
|
59
|
-
"vite-plugin-dts": "^4.5.4"
|
|
60
|
+
"typescript-eslint": "^8.57.0",
|
|
61
|
+
"vite": "^7.3.1",
|
|
62
|
+
"vite-plugin-dts": "^4.5.4",
|
|
63
|
+
"yalc": "^1.0.0-pre.53"
|
|
60
64
|
}
|
|
61
65
|
}
|