@appartmint/tsm-mint 0.2.1 → 0.3.2
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/components/widget/menu.cjs.js +1 -1
- package/dist/components/widget/menu.es.js +21 -15
- package/dist/components/widget/panel.cjs.js +1 -1
- package/dist/components/widget/panel.es.js +35 -27
- package/dist/{components → src/components}/widget/header.d.ts +2 -2
- package/dist/{components → src/components}/widget/menu.d.ts +5 -5
- package/dist/{components → src/components}/widget/panel.d.ts +4 -4
- package/dist/{types → src/types}/components/form/input.d.ts +1 -1
- package/dist/{util → src/util}/display.d.ts +1 -1
- package/dist/src/util/event.d.ts +4 -0
- package/dist/src/util/object.d.ts +59 -0
- package/dist/{util → src/util}/text.d.ts +1 -1
- package/dist/util/display.cjs.js +1 -1
- package/dist/util/display.es.js +2 -2
- package/dist/util/event.cjs.js +1 -1
- package/dist/util/event.es.js +22 -19
- package/dist/util/object.cjs.js +1 -1
- package/dist/util/object.es.js +77 -70
- package/dist/util/scroll.cjs.js +1 -1
- package/dist/util/scroll.es.js +9 -9
- package/dist/util/selectors.cjs.js +2 -2
- package/dist/util/selectors.es.js +1 -1
- package/dist/util/text.cjs.js +2 -2
- package/dist/util/text.es.js +6 -5
- package/package.json +10 -9
- package/dist/util/event.d.ts +0 -4
- package/dist/util/object.d.ts +0 -59
- /package/dist/{abstract → src/abstract}/attaches-events.d.ts +0 -0
- /package/dist/{components → src/components}/section/grid.d.ts +0 -0
- /package/dist/{components → src/components}/ui/text/title.d.ts +0 -0
- /package/dist/{types → src/types}/breakpoints.d.ts +0 -0
- /package/dist/{types → src/types}/side.d.ts +0 -0
- /package/dist/{types → src/types}/time.d.ts +0 -0
- /package/dist/{types → src/types}/util.d.ts +0 -0
- /package/dist/{util → src/util}/async.d.ts +0 -0
- /package/dist/{util → src/util}/color.d.ts +0 -0
- /package/dist/{util → src/util}/date.d.ts +0 -0
- /package/dist/{util → src/util}/math.d.ts +0 -0
- /package/dist/{util → src/util}/scroll.d.ts +0 -0
- /package/dist/{util → src/util}/selectors.d.ts +0 -0
- /package/dist/{util → src/util}/window.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../abstract/attaches-events.cjs.js"),i=require("../../types/time.cjs.js"),l=require("../../util/display.cjs.js"),r=require("../../util/event.cjs.js"),a=require("../../util/selectors.cjs.js");class
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../abstract/attaches-events.cjs.js"),i=require("../../types/time.cjs.js"),l=require("../../util/display.cjs.js"),r=require("../../util/event.cjs.js"),a=require("../../util/selectors.cjs.js");class c 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),i.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),i.delay.slower,{trailing:!1}))})}setMenu(e,t=!1){const s=t?"true":"false",n=e?.nextElementSibling;e&&n&&(e.setAttribute("aria-expanded",s),t?l.showElement(n):(l.hideElement(n),this.closeSubMenus(e)))}toggleMenu(e){this.setMenu(e,e?.getAttribute("aria-expanded")?.toLowerCase()!=="true")}closeSubMenus(e){const 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(){const e=document.activeElement,t=e?.getAttribute("aria-expanded")?.toLowerCase()==="true";let s=e?.nextElementSibling;e?.getAttribute("aria-controls")===this.settings.wrapperId&&(s=this.el.wrapper),e?.getAttribute("aria-controls")&&s&&!t&&(e.click(),s.querySelector(a.focusable)?.focus())}closeClosestMenu(){const e=document.activeElement;let s=e?.closest(a.subMenu)?.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){const 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){const 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){if(!(e instanceof KeyboardEvent))return;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){if(!(e instanceof MouseEvent))return;const t=e.target;this.closeSiblingMenus(t),this.toggleMenu(t)}}exports.Menu=c;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { AttachesEvents as
|
|
1
|
+
import { AttachesEvents as l } from "../../abstract/attaches-events.es.js";
|
|
2
2
|
import { delay as i } from "../../types/time.es.js";
|
|
3
3
|
import { showElement as c, hideElement as u } from "../../util/display.es.js";
|
|
4
|
-
import { throttleEvent as
|
|
5
|
-
import { focusable as
|
|
6
|
-
class
|
|
4
|
+
import { throttleEvent as r } from "../../util/event.es.js";
|
|
5
|
+
import { focusable as o, controls as h, subMenuButtons as a, subMenu as p } from "../../util/selectors.es.js";
|
|
6
|
+
class E extends l {
|
|
7
7
|
settings = {};
|
|
8
8
|
el = {};
|
|
9
9
|
constructor(e) {
|
|
@@ -17,10 +17,10 @@ class w extends o {
|
|
|
17
17
|
this.el.wrapper = document.getElementById(this.settings.wrapperId);
|
|
18
18
|
}
|
|
19
19
|
attachEvents() {
|
|
20
|
-
this.attachEvent(window, "scroll",
|
|
21
|
-
this.attachEvent(s, "keydown",
|
|
20
|
+
this.attachEvent(window, "scroll", r(this.eHandleScroll.bind(this), i.default, { trailing: !1 })), this.el.wrapper?.querySelectorAll(o)?.forEach((s) => {
|
|
21
|
+
this.attachEvent(s, "keydown", r(this.eHandleKeypress.bind(this)));
|
|
22
22
|
}), this.el.wrapper?.querySelectorAll(h())?.forEach((s) => {
|
|
23
|
-
this.attachEvent(s, "click",
|
|
23
|
+
this.attachEvent(s, "click", r(this.eToggleMenu.bind(this), i.slower, { trailing: !1 }));
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
26
|
setMenu(e, t = !1) {
|
|
@@ -32,27 +32,29 @@ class w extends o {
|
|
|
32
32
|
}
|
|
33
33
|
closeSubMenus(e) {
|
|
34
34
|
const t = e?.nextElementSibling;
|
|
35
|
-
|
|
35
|
+
t.querySelectorAll(a).forEach((n) => {
|
|
36
36
|
n.parentElement?.parentElement === t && this.setMenu(n);
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
39
|
closeSiblingMenus(e) {
|
|
40
|
-
|
|
40
|
+
e?.parentElement?.parentElement?.querySelectorAll(a)?.forEach((n) => {
|
|
41
41
|
n !== e && this.setMenu(n);
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
44
|
closeAllMenus() {
|
|
45
|
-
this.el.wrapper?.querySelectorAll(
|
|
45
|
+
this.el.wrapper?.querySelectorAll(a)?.forEach((t) => {
|
|
46
46
|
this.setMenu(t);
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
49
|
openClosestMenu() {
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
const e = document.activeElement, t = e?.getAttribute("aria-expanded")?.toLowerCase() === "true";
|
|
51
|
+
let s = e?.nextElementSibling;
|
|
52
|
+
e?.getAttribute("aria-controls") === this.settings.wrapperId && (s = this.el.wrapper), e?.getAttribute("aria-controls") && s && !t && (e.click(), s.querySelector(o)?.focus());
|
|
52
53
|
}
|
|
53
54
|
closeClosestMenu() {
|
|
54
|
-
|
|
55
|
-
|
|
55
|
+
const e = document.activeElement;
|
|
56
|
+
let s = e?.closest(p)?.previousElementSibling;
|
|
57
|
+
e?.getAttribute("aria-controls") && e.getAttribute("aria-expanded")?.toLowerCase() === "true" && (s = e), s?.getAttribute("aria-expanded")?.toLowerCase() === "true" && (s.click(), s.focus());
|
|
56
58
|
}
|
|
57
59
|
toggleClosestMenu() {
|
|
58
60
|
document.activeElement?.getAttribute("aria-expanded")?.toLowerCase() === "true" ? this.closeClosestMenu() : this.openClosestMenu();
|
|
@@ -95,6 +97,8 @@ class w extends o {
|
|
|
95
97
|
}
|
|
96
98
|
}
|
|
97
99
|
eHandleKeypress(e) {
|
|
100
|
+
if (!(e instanceof KeyboardEvent))
|
|
101
|
+
return;
|
|
98
102
|
switch (e.key.toLowerCase() !== "tab" && e.preventDefault(), e.target?.tagName.toLowerCase()) {
|
|
99
103
|
case "a":
|
|
100
104
|
this.eHandleLinkKeypress(e);
|
|
@@ -105,10 +109,12 @@ class w extends o {
|
|
|
105
109
|
}
|
|
106
110
|
}
|
|
107
111
|
eToggleMenu(e) {
|
|
112
|
+
if (!(e instanceof MouseEvent))
|
|
113
|
+
return;
|
|
108
114
|
const t = e.target;
|
|
109
115
|
this.closeSiblingMenus(t), this.toggleMenu(t);
|
|
110
116
|
}
|
|
111
117
|
}
|
|
112
118
|
export {
|
|
113
|
-
|
|
119
|
+
E as Menu
|
|
114
120
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("../../types/breakpoints.cjs.js"),d=require("../../types/side.cjs.js"),l=require("../../types/time.cjs.js"),p=require("../../abstract/attaches-events.cjs.js"),c=require("../../util/window.cjs.js"),n=require("../../util/event.cjs.js"),a=require("../../util/selectors.cjs.js");class u extends p.AttachesEvents{settings={title:"panel",from:d.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(a.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)),a.getFocusables(this.el.panel).forEach(s=>{this.attachEvent(s,"keydown",n.throttleEvent(this.eWrapTab.bind(this)))});const e=this.settings.wrapperId;if(typeof e!="string")return;this.el.panel?.querySelectorAll(a.controls(e))?.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");const t=this.settings.from;typeof t=="string"&&(this.el.panel?.classList.remove("mint-top","mint-right","mint-bottom","mint-left"),this.el.panel?.classList.add(`mint-${t.toLowerCase()}`)),this.settings.tray&&this.el.panel?.classList.add("mint-tray")}setPanel(t=!1){const e=typeof this.settings.title=="string"?this.settings.title:"panel",i=t?"true":"false",s=t?`close ${e}`:`open ${e}`;this.el.toggleButton?.setAttribute("aria-expanded",i),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){const r=c.windowWidth()<=h.breakpoints.sm;let o="auto";this.settings.tray?r&&(o="hidden"):o="hidden",this.el.html.style.overflow=o}},this.settings.from===d.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 e=`.mint-panel-toggle[aria-expanded="true"]:not([aria-controls="${typeof this.settings.wrapperId=="string"?this.settings.wrapperId:""}"])`,i=document.querySelector(e);i&&i.click()}eHandleResize(){const t=c.windowWidth()<=h.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 i=this.el.toggleButton?.getAttribute("aria-expanded")?.toLowerCase()==="true";let s="auto";i&&(this.settings.tray?t&&(s="hidden"):s="hidden"),this.el.html&&(this.el.html.style.overflow=s)}eWrapTab(t){if(!(t instanceof KeyboardEvent))return;const e=a.getFocusables(this.el.panel),i=e[e.length-1],s=e.length>1&&document.activeElement===i;t.key.toLowerCase()==="tab"&&!t.shiftKey&&s&&(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=u;
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { breakpoints as
|
|
2
|
-
import { sides as
|
|
1
|
+
import { breakpoints as r } from "../../types/breakpoints.es.js";
|
|
2
|
+
import { sides as h } from "../../types/side.es.js";
|
|
3
3
|
import { delay as l } from "../../types/time.es.js";
|
|
4
|
-
import { AttachesEvents as
|
|
5
|
-
import { windowWidth as
|
|
6
|
-
import { throttleEvent as
|
|
4
|
+
import { AttachesEvents as f } from "../../abstract/attaches-events.es.js";
|
|
5
|
+
import { windowWidth as p } from "../../util/window.es.js";
|
|
6
|
+
import { throttleEvent as a } from "../../util/event.es.js";
|
|
7
7
|
import { controls as d, getFocusables as c } from "../../util/selectors.es.js";
|
|
8
|
-
class
|
|
8
|
+
class L extends f {
|
|
9
9
|
settings = {
|
|
10
10
|
title: "panel",
|
|
11
|
-
from:
|
|
11
|
+
from: h[0],
|
|
12
12
|
fixed: !0
|
|
13
13
|
};
|
|
14
14
|
el = {};
|
|
@@ -23,18 +23,24 @@ class v extends p {
|
|
|
23
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;
|
|
24
24
|
}
|
|
25
25
|
attachEvents() {
|
|
26
|
-
this.attachEvent(window, "resize",
|
|
27
|
-
this.attachEvent(s, "keydown",
|
|
28
|
-
})
|
|
29
|
-
|
|
26
|
+
this.attachEvent(window, "resize", a(this.eHandleResize.bind(this), l.default)), this.attachEvent(this.el.main, "click", a(this.eClose.bind(this), l.default, { trailing: !1 })), this.attachEvent(this.el.wrapper, "transitionend", this.eTransitionEnd.bind(this)), c(this.el.panel).forEach((s) => {
|
|
27
|
+
this.attachEvent(s, "keydown", a(this.eWrapTab.bind(this)));
|
|
28
|
+
});
|
|
29
|
+
const e = this.settings.wrapperId;
|
|
30
|
+
if (typeof e != "string")
|
|
31
|
+
return;
|
|
32
|
+
this.el.panel?.querySelectorAll(d(e))?.forEach((s) => {
|
|
33
|
+
this.attachEvent(s, "click", a(this.eToggle.bind(this), l.slower, { trailing: !1 }));
|
|
30
34
|
});
|
|
31
35
|
}
|
|
32
36
|
addClasses() {
|
|
33
|
-
this.el.panel?.classList.add("mint-panel"), this.el.wrapper?.classList.add("mint-panel-wrap"), this.el.toggleButton?.classList.add("mint-panel-toggle")
|
|
37
|
+
this.el.panel?.classList.add("mint-panel"), this.el.wrapper?.classList.add("mint-panel-wrap"), this.el.toggleButton?.classList.add("mint-panel-toggle");
|
|
38
|
+
const t = this.settings.from;
|
|
39
|
+
typeof t == "string" && (this.el.panel?.classList.remove("mint-top", "mint-right", "mint-bottom", "mint-left"), this.el.panel?.classList.add(`mint-${t.toLowerCase()}`)), this.settings.tray && this.el.panel?.classList.add("mint-tray");
|
|
34
40
|
}
|
|
35
41
|
setPanel(t = !1) {
|
|
36
|
-
const e = t ? "true" : "false", s = t ? `close ${
|
|
37
|
-
this.el.toggleButton?.setAttribute("aria-expanded",
|
|
42
|
+
const e = typeof this.settings.title == "string" ? this.settings.title : "panel", i = t ? "true" : "false", s = t ? `close ${e}` : `open ${e}`;
|
|
43
|
+
this.el.toggleButton?.setAttribute("aria-expanded", i), setTimeout(() => {
|
|
38
44
|
this.el.toggleButton?.setAttribute("aria-label", s);
|
|
39
45
|
}, l.faster), t ? (this.closeOtherPanels(), this.settings.fixed !== !0 && window.scroll({
|
|
40
46
|
top: 0,
|
|
@@ -42,11 +48,11 @@ class v extends p {
|
|
|
42
48
|
behavior: "smooth"
|
|
43
49
|
}), setTimeout(() => {
|
|
44
50
|
if (this.el.html) {
|
|
45
|
-
const
|
|
46
|
-
let
|
|
47
|
-
this.settings.tray ?
|
|
51
|
+
const o = p() <= r.sm;
|
|
52
|
+
let n = "auto";
|
|
53
|
+
this.settings.tray ? o && (n = "hidden") : n = "hidden", this.el.html.style.overflow = n;
|
|
48
54
|
}
|
|
49
|
-
}, this.settings.from ===
|
|
55
|
+
}, this.settings.from === h[3] ? l.default : l.instant), this.el.wrapper && (this.el.wrapper.style.display = "flex"), requestAnimationFrame(() => {
|
|
50
56
|
this.el.wrapper?.classList.add("mint-open");
|
|
51
57
|
})) : (this.el.html && (this.el.html.style.overflow = "auto"), requestAnimationFrame(() => {
|
|
52
58
|
this.el.wrapper?.classList.remove("mint-open");
|
|
@@ -56,20 +62,22 @@ class v extends p {
|
|
|
56
62
|
this.setPanel(this.el.toggleButton?.getAttribute("aria-expanded")?.toLowerCase() === "false");
|
|
57
63
|
}
|
|
58
64
|
closeOtherPanels() {
|
|
59
|
-
const
|
|
60
|
-
|
|
65
|
+
const e = `.mint-panel-toggle[aria-expanded="true"]:not([aria-controls="${typeof this.settings.wrapperId == "string" ? this.settings.wrapperId : ""}"])`, i = document.querySelector(e);
|
|
66
|
+
i && i.click();
|
|
61
67
|
}
|
|
62
68
|
eHandleResize() {
|
|
63
|
-
const t =
|
|
69
|
+
const t = p() <= r.sm;
|
|
64
70
|
let e = !0;
|
|
65
71
|
this.el.panel?.classList.contains("mint-tray") ? e = !1 : this.el.panel?.classList.contains("mint-expand") || (e = !1), !t && e && this.setPanel(!1);
|
|
66
|
-
const
|
|
67
|
-
let
|
|
68
|
-
|
|
72
|
+
const i = this.el.toggleButton?.getAttribute("aria-expanded")?.toLowerCase() === "true";
|
|
73
|
+
let s = "auto";
|
|
74
|
+
i && (this.settings.tray ? t && (s = "hidden") : s = "hidden"), this.el.html && (this.el.html.style.overflow = s);
|
|
69
75
|
}
|
|
70
76
|
eWrapTab(t) {
|
|
71
|
-
|
|
72
|
-
|
|
77
|
+
if (!(t instanceof KeyboardEvent))
|
|
78
|
+
return;
|
|
79
|
+
const e = c(this.el.panel), i = e[e.length - 1], s = e.length > 1 && document.activeElement === i;
|
|
80
|
+
t.key.toLowerCase() === "tab" && !t.shiftKey && s && (this.el.toggleButton?.focus(), document.activeElement === this.el.toggleButton && t.preventDefault());
|
|
73
81
|
}
|
|
74
82
|
eToggle() {
|
|
75
83
|
this.togglePanel();
|
|
@@ -82,5 +90,5 @@ class v extends p {
|
|
|
82
90
|
}
|
|
83
91
|
}
|
|
84
92
|
export {
|
|
85
|
-
|
|
93
|
+
L as Panel
|
|
86
94
|
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Panel } from './panel';
|
|
2
2
|
import { Menu } from './menu';
|
|
3
3
|
export declare class Header {
|
|
4
|
-
settings: Record<string,
|
|
4
|
+
settings: Record<string, unknown>;
|
|
5
5
|
el: Record<string, HTMLElement | null>;
|
|
6
6
|
panel?: Panel;
|
|
7
7
|
menu?: Menu;
|
|
8
|
-
constructor(settings?: Record<string,
|
|
8
|
+
constructor(settings?: Record<string, unknown>);
|
|
9
9
|
detachEvents(): void;
|
|
10
10
|
attachElements(): void;
|
|
11
11
|
addClasses(): void;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { AttachesEvents } from '
|
|
1
|
+
import { AttachesEvents } from '../../../abstract/attaches-events';
|
|
2
2
|
export declare class Menu extends AttachesEvents {
|
|
3
|
-
settings: Record<string,
|
|
3
|
+
settings: Record<string, unknown>;
|
|
4
4
|
el: Record<string, HTMLElement | null>;
|
|
5
|
-
constructor(settings?: Record<string,
|
|
5
|
+
constructor(settings?: Record<string, unknown>);
|
|
6
6
|
attachElements(): void;
|
|
7
7
|
attachEvents(): void;
|
|
8
8
|
setMenu(button?: HTMLElement | null, open?: boolean): void;
|
|
@@ -16,6 +16,6 @@ export declare class Menu extends AttachesEvents {
|
|
|
16
16
|
eHandleScroll(): void;
|
|
17
17
|
eHandleButtonKeypress(e: KeyboardEvent): void;
|
|
18
18
|
eHandleLinkKeypress(e: KeyboardEvent): void;
|
|
19
|
-
eHandleKeypress(e:
|
|
20
|
-
eToggleMenu(e:
|
|
19
|
+
eHandleKeypress(e: Event): void;
|
|
20
|
+
eToggleMenu(e: Event): void;
|
|
21
21
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { AttachesEvents } from '
|
|
1
|
+
import { AttachesEvents } from '../../../abstract/attaches-events';
|
|
2
2
|
export declare class Panel extends AttachesEvents {
|
|
3
|
-
settings: Record<string,
|
|
3
|
+
settings: Record<string, unknown>;
|
|
4
4
|
el: Record<string, HTMLElement | null>;
|
|
5
|
-
constructor(settings?: Record<string,
|
|
5
|
+
constructor(settings?: Record<string, unknown>);
|
|
6
6
|
attachElements(): void;
|
|
7
7
|
attachEvents(): void;
|
|
8
8
|
addClasses(): void;
|
|
@@ -10,7 +10,7 @@ export declare class Panel extends AttachesEvents {
|
|
|
10
10
|
togglePanel(): void;
|
|
11
11
|
closeOtherPanels(): void;
|
|
12
12
|
eHandleResize(): void;
|
|
13
|
-
eWrapTab(e:
|
|
13
|
+
eWrapTab(e: Event): void;
|
|
14
14
|
eToggle(): void;
|
|
15
15
|
eClose(): void;
|
|
16
16
|
eTransitionEnd(): void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Prettify } from '
|
|
1
|
+
import { Prettify } from '../../../../types/util';
|
|
2
2
|
export type TextTypes = 'text' | 'textarea' | 'search' | 'tel' | 'url' | 'email' | 'password';
|
|
3
3
|
export type NumberTypes = 'number' | 'month' | 'week';
|
|
4
4
|
export type BooleanTypes = 'radio' | 'checkbox';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function debounce<T extends (...args: Parameters<T>) => ReturnType<T>>(func: T, wait?: number): (...args: Parameters<T>) => void;
|
|
2
|
+
export declare function debounceEvent<T extends (e: Event) => ReturnType<T>>(func: T, wait?: number): EventListener;
|
|
3
|
+
export declare function throttle<T extends (...args: never[]) => unknown>(func: T, wait?: number, options?: Record<string, boolean>): (...args: Parameters<T>) => ReturnType<T> | undefined;
|
|
4
|
+
export declare function throttleEvent(func: (e: Event) => unknown, wait?: number, options?: Record<string, boolean>): EventListener;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns true if the provided objects have the same keys
|
|
3
|
+
*/
|
|
4
|
+
export declare function objectSameKeys(obj1: Record<string, unknown>, obj2: Record<string, unknown>): boolean;
|
|
5
|
+
/**
|
|
6
|
+
* Returns true if the first object has at least the same
|
|
7
|
+
* entries as the second object
|
|
8
|
+
* @param superset - the object to check
|
|
9
|
+
* @param subset - the object whose entries are required
|
|
10
|
+
* @returns - true if the first object is a superset of the second
|
|
11
|
+
*/
|
|
12
|
+
export declare function objectIsSuperset(superset: unknown, subset: unknown): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Removes object entries by key
|
|
15
|
+
* @param object - the object to remove entries from
|
|
16
|
+
* @param keys - the keys to remove
|
|
17
|
+
*/
|
|
18
|
+
export declare function removeKeys(object: Record<string, unknown>, keys: string[]): Record<string, unknown>;
|
|
19
|
+
/**
|
|
20
|
+
* Removes object entries by value
|
|
21
|
+
*/
|
|
22
|
+
export declare function objectRemoveValues(object: Record<string, unknown>, values: unknown[]): Record<string, unknown>;
|
|
23
|
+
/**
|
|
24
|
+
* Sorts an object's entries alphabetically by key
|
|
25
|
+
*/
|
|
26
|
+
export declare function objectSortKeys(object: Record<string, unknown>, compareFn?: (a: string, b: string) => number): Record<string, unknown>;
|
|
27
|
+
/**
|
|
28
|
+
* Sorts an object's entries alphabetically by value
|
|
29
|
+
*/
|
|
30
|
+
export declare function objectSortValues(object: Record<string, unknown>, compareFn: (a: unknown, b: unknown) => number): Record<string, unknown>;
|
|
31
|
+
/**
|
|
32
|
+
* Filters an object by its keys
|
|
33
|
+
* @param object - the object to filter
|
|
34
|
+
* @param keys - the keys to keep
|
|
35
|
+
* @returns - the filtered object
|
|
36
|
+
*/
|
|
37
|
+
export declare function objectFilterKeys(object: Record<string, unknown>, keys: string[]): Record<string, unknown>;
|
|
38
|
+
/**
|
|
39
|
+
* Filters an object by its values
|
|
40
|
+
* @param object - the object to filter
|
|
41
|
+
* @param values - the values to keep
|
|
42
|
+
* @returns - the filtered object
|
|
43
|
+
*/
|
|
44
|
+
export declare function objectFilterValues(object: Record<string, unknown>, values: unknown[]): Record<string, unknown>;
|
|
45
|
+
/**
|
|
46
|
+
* Update two sets of objects
|
|
47
|
+
* @param original - the original object
|
|
48
|
+
* @param update - the object to update the original with
|
|
49
|
+
* @returns - the original objects with updated data from the update
|
|
50
|
+
*/
|
|
51
|
+
export declare function objectUpdateArray(original: Record<string, unknown>[], update?: Record<string, unknown>[], key?: string): void;
|
|
52
|
+
/**
|
|
53
|
+
* Get an object's key by value
|
|
54
|
+
*/
|
|
55
|
+
export declare function objectGetKeyByValue(object: Record<string, unknown>, value: unknown): string | undefined;
|
|
56
|
+
/**
|
|
57
|
+
* Create a deep copy of an object
|
|
58
|
+
*/
|
|
59
|
+
export declare function objectDeepClone<T extends Record<string, unknown>>(object: T): T;
|
|
@@ -33,7 +33,7 @@ export declare function titleCase(text: string): string;
|
|
|
33
33
|
* @param text - the text to copy
|
|
34
34
|
* @returns - true if the text was successfully copied to the clipboard; else false
|
|
35
35
|
*/
|
|
36
|
-
export declare function copyText(text: string): boolean
|
|
36
|
+
export declare function copyText(text: string): Promise<boolean>;
|
|
37
37
|
/**
|
|
38
38
|
* Tests the validity of an email address
|
|
39
39
|
* @see {@link https://stackoverflow.com/questions/201323/how-can-i-validate-an-email-address-using-a-regular-expression}
|
package/dist/util/display.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 r=require("../types/side.cjs.js"),l=require("../types/time.cjs.js");function y(t,{duration:s=l.delay.default,from:e=r.sides[0]}={}){if(!t)return;const i=e==="top"||e==="bottom";t.style.display="",requestAnimationFrame(()=>{const{scrollHeight:o,scrollWidth:n}=t;i?t.style.height=`${o.toString()}px`:t.style.width=`${n.toString()}px`,setTimeout(()=>{i?t.style.height="auto":t.style.width="auto"},s)})}function h(t,{duration:s=l.delay.default,from:e=r.sides[0]}={}){if(!t)return;const i=e==="top"||e==="bottom",{scrollHeight:o,scrollWidth:n,style:{transition:a}}=t;t.style.transition="",requestAnimationFrame(()=>{i?t.style.height=`${o.toString()}px`:t.style.width=`${n.toString()}px`,t.style.transition=a,requestAnimationFrame(()=>{i?t.style.height="0":t.style.width="0"})}),setTimeout(()=>{t.style.display="none"},s)}exports.hideElement=h;exports.showElement=y;
|
package/dist/util/display.es.js
CHANGED
|
@@ -9,7 +9,7 @@ function m(t, {
|
|
|
9
9
|
const e = i === "top" || i === "bottom";
|
|
10
10
|
t.style.display = "", requestAnimationFrame(() => {
|
|
11
11
|
const { scrollHeight: o, scrollWidth: n } = t;
|
|
12
|
-
e ? t.style.height = `${o}px` : t.style.width = `${n}px`, setTimeout(() => {
|
|
12
|
+
e ? t.style.height = `${o.toString()}px` : t.style.width = `${n.toString()}px`, setTimeout(() => {
|
|
13
13
|
e ? t.style.height = "auto" : t.style.width = "auto";
|
|
14
14
|
}, s);
|
|
15
15
|
});
|
|
@@ -22,7 +22,7 @@ function d(t, {
|
|
|
22
22
|
return;
|
|
23
23
|
const e = i === "top" || i === "bottom", { scrollHeight: o, scrollWidth: n, style: { transition: a } } = t;
|
|
24
24
|
t.style.transition = "", requestAnimationFrame(() => {
|
|
25
|
-
e ? t.style.height = `${o}px` : t.style.width = `${n}px`, t.style.transition = a, requestAnimationFrame(() => {
|
|
25
|
+
e ? t.style.height = `${o.toString()}px` : t.style.width = `${n.toString()}px`, t.style.transition = a, requestAnimationFrame(() => {
|
|
26
26
|
e ? t.style.height = "0" : t.style.width = "0";
|
|
27
27
|
});
|
|
28
28
|
}), setTimeout(() => {
|
package/dist/util/event.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../types/time.cjs.js");function
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../types/time.cjs.js");function d(l,t=o.delay.default){let e;return function(...u){e&&clearTimeout(e),e=window.setTimeout(()=>{l(...u)},t)}}function g(l,t=o.delay.default){return d(l,t)}function c(l,t=o.delay.default,e){let u,n=0,r=0,i=null;const s=()=>{r=e?.leading===!1?0:new Date().getTime(),n=0,i&&(u=i()),n||(i=null)};return function(...m){const a=new Date().getTime();!r&&e?.leading===!1&&(r=a);const f=t-a+r;return i=()=>l.apply(this,m),f<=0||f>t?(n&&(clearTimeout(n),n=0),r=a,u=i(),n||(i=null)):!n&&e?.trailing!==!1&&(n=window.setTimeout(s,f)),u}}function y(l,t=o.delay.default,e){return c(l,t,e)}exports.debounce=d;exports.debounceEvent=g;exports.throttle=c;exports.throttleEvent=y;
|
package/dist/util/event.es.js
CHANGED
|
@@ -1,30 +1,33 @@
|
|
|
1
|
-
import { delay as
|
|
2
|
-
function
|
|
1
|
+
import { delay as f } from "../types/time.es.js";
|
|
2
|
+
function m(l, t = f.default) {
|
|
3
3
|
let e;
|
|
4
|
-
return function(...
|
|
5
|
-
e && clearTimeout(e), e =
|
|
4
|
+
return function(...u) {
|
|
5
|
+
e && clearTimeout(e), e = window.setTimeout(() => {
|
|
6
|
+
l(...u);
|
|
7
|
+
}, t);
|
|
6
8
|
};
|
|
7
9
|
}
|
|
8
|
-
function
|
|
9
|
-
return
|
|
10
|
+
function w(l, t = f.default) {
|
|
11
|
+
return m(l, t);
|
|
10
12
|
}
|
|
11
|
-
function s(
|
|
12
|
-
let
|
|
13
|
-
|
|
13
|
+
function s(l, t = f.default, e) {
|
|
14
|
+
let u, n = 0, r = 0, i = null;
|
|
15
|
+
const c = () => {
|
|
16
|
+
r = e?.leading === !1 ? 0 : (/* @__PURE__ */ new Date()).getTime(), n = 0, i && (u = i()), n || (i = null);
|
|
14
17
|
};
|
|
15
|
-
return function() {
|
|
16
|
-
const
|
|
17
|
-
!
|
|
18
|
-
const
|
|
19
|
-
return
|
|
18
|
+
return function(...d) {
|
|
19
|
+
const o = (/* @__PURE__ */ new Date()).getTime();
|
|
20
|
+
!r && e?.leading === !1 && (r = o);
|
|
21
|
+
const a = t - o + r;
|
|
22
|
+
return i = () => l.apply(this, d), a <= 0 || a > t ? (n && (clearTimeout(n), n = 0), r = o, u = i(), n || (i = null)) : !n && e?.trailing !== !1 && (n = window.setTimeout(c, a)), u;
|
|
20
23
|
};
|
|
21
24
|
}
|
|
22
|
-
function
|
|
23
|
-
return s(
|
|
25
|
+
function T(l, t = f.default, e) {
|
|
26
|
+
return s(l, t, e);
|
|
24
27
|
}
|
|
25
28
|
export {
|
|
26
|
-
|
|
27
|
-
|
|
29
|
+
m as debounce,
|
|
30
|
+
w as debounceEvent,
|
|
28
31
|
s as throttle,
|
|
29
|
-
|
|
32
|
+
T as throttleEvent
|
|
30
33
|
};
|
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 l(t,n){const e=Object.keys(t);if(e.length!==Object.keys(n).length)return!1;let r=!0;return e.forEach(c=>{t[c]!==n[c]&&(r=!1)}),r}function f(t,n){let e=!0;if(t===n)return e;try{if(typeof n=="object"&&n!==null&&Object.keys(n).length===0)return!e}catch{return!e}return Object.keys(n).forEach(r=>{e=e&&f(t[r],n[r])}),e}function a(t,n){return Object.keys(t).reduce((e,r)=>(n.includes(r)||(e[r]=t[r]),e),{})}function y(t,n){return Object.keys(t).reduce((e,r)=>(n.includes(t[r])||(e[r]=t[r]),e),{})}function h(t,n){return Object.keys(t).sort(n).reduce((e,r)=>(e[r]=t[r],e),{})}function d(t,n){return Object.keys(t).sort((e,r)=>n(t[e],t[r])).reduce((e,r)=>(e[r]=t[r],e),{})}function p(t,n){return n.reduce((e,r)=>(e[r]=t[r],e),{})}function O(t,n){return Object.keys(t).reduce((e,r)=>(n.includes(t[r])&&(e[r]=t[r]),e),{})}function j(t,n,e="id"){if(!n?.length)n?.forEach(c=>t.push(c));else{const c=n.reduce((u,s)=>({...u,[s[e]??""]:s}),{});t.filter(u=>!c[u[e]??""]).forEach(u=>{const s=t.indexOf(u);typeof s=="number"&&s!==-1&&t.splice(s,1)}),t.forEach(u=>{c[u[e]??""]&&Object.assign(u,c[u[e]??""])})}n?.filter(c=>!t.some(o=>o[e]===c[e]))?.forEach(c=>t.push(c))}function b(t,n){return Object.keys(t).find(e=>t[e]===n)}function m(t){if(typeof t!="object")return t;const n=new WeakMap,e=[[t,{}]];for(;e.length;){const r=e.pop();if(!r)continue;const[c,o,u]=r;if(u!==void 0){const s=c[u];if(typeof s=="function"){o[u]=s.bind(o);continue}if(typeof s!="object"||s===null){o[u]=s;continue}if(n.has(s)){o[u]=n.get(s);continue}const i=Array.isArray(s)?[]:{};o[u]=i,n.set(s,i),e.push([s,i])}else{if(n.set(c,o),Array.isArray(c)){c.forEach((s,i)=>{e.push([c,o,i])});continue}Object.keys(c).forEach(s=>{e.push([c,o,s])})}}return n.get(t)}exports.objectDeepClone=m;exports.objectFilterKeys=p;exports.objectFilterValues=O;exports.objectGetKeyByValue=b;exports.objectIsSuperset=f;exports.objectRemoveValues=y;exports.objectSameKeys=l;exports.objectSortKeys=h;exports.objectSortValues=d;exports.objectUpdateArray=j;exports.removeKeys=a;
|
package/dist/util/object.es.js
CHANGED
|
@@ -1,109 +1,116 @@
|
|
|
1
|
-
function
|
|
2
|
-
const
|
|
3
|
-
if (
|
|
1
|
+
function l(t, n) {
|
|
2
|
+
const e = Object.keys(t);
|
|
3
|
+
if (e.length !== Object.keys(n).length)
|
|
4
4
|
return !1;
|
|
5
5
|
let r = !0;
|
|
6
|
-
return
|
|
7
|
-
|
|
6
|
+
return e.forEach((c) => {
|
|
7
|
+
t[c] !== n[c] && (r = !1);
|
|
8
8
|
}), r;
|
|
9
9
|
}
|
|
10
|
-
function
|
|
11
|
-
let
|
|
12
|
-
if (
|
|
13
|
-
return
|
|
10
|
+
function o(t, n) {
|
|
11
|
+
let e = !0;
|
|
12
|
+
if (t === n)
|
|
13
|
+
return e;
|
|
14
14
|
try {
|
|
15
|
-
if (Object.keys(n).length === 0)
|
|
16
|
-
return !
|
|
15
|
+
if (typeof n == "object" && n !== null && Object.keys(n).length === 0)
|
|
16
|
+
return !e;
|
|
17
17
|
} catch {
|
|
18
|
-
return !
|
|
18
|
+
return !e;
|
|
19
19
|
}
|
|
20
20
|
return Object.keys(n).forEach((r) => {
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
e = e && o(
|
|
22
|
+
t[r],
|
|
23
|
+
n[r]
|
|
24
|
+
);
|
|
25
|
+
}), e;
|
|
23
26
|
}
|
|
24
|
-
function
|
|
25
|
-
return Object.keys(
|
|
27
|
+
function a(t, n) {
|
|
28
|
+
return Object.keys(t).reduce((e, r) => (n.includes(r) || (e[r] = t[r]), e), {});
|
|
26
29
|
}
|
|
27
|
-
function
|
|
28
|
-
return Object.keys(
|
|
30
|
+
function h(t, n) {
|
|
31
|
+
return Object.keys(t).reduce((e, r) => (n.includes(t[r]) || (e[r] = t[r]), e), {});
|
|
29
32
|
}
|
|
30
|
-
function
|
|
31
|
-
return Object.keys(
|
|
33
|
+
function O(t, n) {
|
|
34
|
+
return Object.keys(t).sort(n).reduce((e, r) => (e[r] = t[r], e), {});
|
|
32
35
|
}
|
|
33
|
-
function
|
|
34
|
-
return Object.keys(
|
|
36
|
+
function d(t, n) {
|
|
37
|
+
return Object.keys(t).sort((e, r) => n(t[e], t[r])).reduce((e, r) => (e[r] = t[r], e), {});
|
|
35
38
|
}
|
|
36
|
-
function
|
|
37
|
-
return n.reduce((
|
|
39
|
+
function p(t, n) {
|
|
40
|
+
return n.reduce((e, r) => (e[r] = t[r], e), {});
|
|
38
41
|
}
|
|
39
|
-
function
|
|
40
|
-
return Object.keys(
|
|
42
|
+
function y(t, n) {
|
|
43
|
+
return Object.keys(t).reduce((e, r) => (n.includes(t[r]) && (e[r] = t[r]), e), {});
|
|
41
44
|
}
|
|
42
|
-
function
|
|
45
|
+
function m(t, n, e = "id") {
|
|
43
46
|
if (!n?.length)
|
|
44
|
-
n?.forEach((
|
|
47
|
+
n?.forEach((c) => t.push(c));
|
|
45
48
|
else {
|
|
46
|
-
const
|
|
47
|
-
...
|
|
48
|
-
[
|
|
49
|
+
const c = n.reduce((u, s) => ({
|
|
50
|
+
...u,
|
|
51
|
+
[s[e] ?? ""]: s
|
|
49
52
|
}), {});
|
|
50
|
-
|
|
51
|
-
const
|
|
52
|
-
typeof
|
|
53
|
-
}),
|
|
54
|
-
|
|
53
|
+
t.filter((u) => !c[u[e] ?? ""]).forEach((u) => {
|
|
54
|
+
const s = t.indexOf(u);
|
|
55
|
+
typeof s == "number" && s !== -1 && t.splice(s, 1);
|
|
56
|
+
}), t.forEach((u) => {
|
|
57
|
+
c[u[e] ?? ""] && Object.assign(u, c[u[e] ?? ""]);
|
|
55
58
|
});
|
|
56
59
|
}
|
|
57
|
-
n?.filter((
|
|
60
|
+
n?.filter((c) => !t.some((f) => f[e] === c[e]))?.forEach((c) => t.push(c));
|
|
58
61
|
}
|
|
59
|
-
function
|
|
60
|
-
return Object.keys(
|
|
62
|
+
function E(t, n) {
|
|
63
|
+
return Object.keys(t).find((e) => t[e] === n);
|
|
61
64
|
}
|
|
62
|
-
function
|
|
63
|
-
if (typeof
|
|
64
|
-
return
|
|
65
|
-
const n = /* @__PURE__ */ new WeakMap(),
|
|
66
|
-
for (;
|
|
67
|
-
const
|
|
65
|
+
function j(t) {
|
|
66
|
+
if (typeof t != "object")
|
|
67
|
+
return t;
|
|
68
|
+
const n = /* @__PURE__ */ new WeakMap(), e = [[t, {}]];
|
|
69
|
+
for (; e.length; ) {
|
|
70
|
+
const r = e.pop();
|
|
71
|
+
if (!r)
|
|
72
|
+
continue;
|
|
73
|
+
const [c, f, u] = r;
|
|
68
74
|
if (u !== void 0) {
|
|
69
|
-
const
|
|
70
|
-
if (typeof
|
|
71
|
-
|
|
75
|
+
const s = c[u];
|
|
76
|
+
if (typeof s == "function") {
|
|
77
|
+
f[u] = s.bind(f);
|
|
72
78
|
continue;
|
|
73
79
|
}
|
|
74
|
-
if (typeof
|
|
75
|
-
|
|
80
|
+
if (typeof s != "object" || s === null) {
|
|
81
|
+
f[u] = s;
|
|
76
82
|
continue;
|
|
77
83
|
}
|
|
78
|
-
if (n.has(
|
|
79
|
-
|
|
84
|
+
if (n.has(s)) {
|
|
85
|
+
f[u] = n.get(s);
|
|
80
86
|
continue;
|
|
81
87
|
}
|
|
82
|
-
|
|
88
|
+
const i = Array.isArray(s) ? [] : {};
|
|
89
|
+
f[u] = i, n.set(s, i), e.push([s, i]);
|
|
83
90
|
} else {
|
|
84
|
-
if (n.set(
|
|
85
|
-
|
|
86
|
-
|
|
91
|
+
if (n.set(c, f), Array.isArray(c)) {
|
|
92
|
+
c.forEach((s, i) => {
|
|
93
|
+
e.push([c, f, i]);
|
|
87
94
|
});
|
|
88
95
|
continue;
|
|
89
96
|
}
|
|
90
|
-
Object.keys(
|
|
91
|
-
|
|
97
|
+
Object.keys(c).forEach((s) => {
|
|
98
|
+
e.push([c, f, s]);
|
|
92
99
|
});
|
|
93
100
|
}
|
|
94
101
|
}
|
|
95
|
-
return n.get(
|
|
102
|
+
return n.get(t);
|
|
96
103
|
}
|
|
97
104
|
export {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
105
|
+
j as objectDeepClone,
|
|
106
|
+
p as objectFilterKeys,
|
|
107
|
+
y as objectFilterValues,
|
|
108
|
+
E as objectGetKeyByValue,
|
|
109
|
+
o as objectIsSuperset,
|
|
110
|
+
h as objectRemoveValues,
|
|
111
|
+
l as objectSameKeys,
|
|
112
|
+
O as objectSortKeys,
|
|
113
|
+
d as objectSortValues,
|
|
114
|
+
m as objectUpdateArray,
|
|
115
|
+
a as removeKeys
|
|
109
116
|
};
|
package/dist/util/scroll.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./event.cjs.js");function s(t){switch(t){case"top":t=0;break;case"bottom":t=document.body.scrollHeight;break}window.scrollTo(0,t)}function
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("./event.cjs.js");function s(t){switch(t){case"top":t=0;break;case"bottom":t=document.body.scrollHeight;break}window.scrollTo(0,t)}function n(){requestAnimationFrame(()=>{const t=document.querySelectorAll(".mint-fall-in:not(.mint-show)"),o=[];for(const e of t)e.getBoundingClientRect().top<0?e.classList.add("mint-show"):e.getBoundingClientRect().top<window.innerHeight*3/4&&o.push(e);for(let e=0;e<o.length;e++)setTimeout(()=>{o[e].classList.add("mint-show")},e*100)})}function i(){window.addEventListener("scroll",l.throttleEvent(n,200))}exports.scrollTo=s;exports.showElements=n;exports.showElementsOnScroll=i;
|
package/dist/util/scroll.es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { throttleEvent as
|
|
2
|
-
function
|
|
1
|
+
import { throttleEvent as n } from "./event.es.js";
|
|
2
|
+
function l(t) {
|
|
3
3
|
switch (t) {
|
|
4
4
|
case "top":
|
|
5
5
|
t = 0;
|
|
@@ -12,20 +12,20 @@ function s(t) {
|
|
|
12
12
|
}
|
|
13
13
|
function i() {
|
|
14
14
|
requestAnimationFrame(() => {
|
|
15
|
-
const t = document.querySelectorAll(".mint-fall-in:not(.mint-show)"),
|
|
16
|
-
for (
|
|
17
|
-
|
|
18
|
-
for (let e = 0; e <
|
|
15
|
+
const t = document.querySelectorAll(".mint-fall-in:not(.mint-show)"), o = [];
|
|
16
|
+
for (const e of t)
|
|
17
|
+
e.getBoundingClientRect().top < 0 ? e.classList.add("mint-show") : e.getBoundingClientRect().top < window.innerHeight * 3 / 4 && o.push(e);
|
|
18
|
+
for (let e = 0; e < o.length; e++)
|
|
19
19
|
setTimeout(() => {
|
|
20
|
-
|
|
20
|
+
o[e].classList.add("mint-show");
|
|
21
21
|
}, e * 100);
|
|
22
22
|
});
|
|
23
23
|
}
|
|
24
24
|
function c() {
|
|
25
|
-
window.addEventListener("scroll",
|
|
25
|
+
window.addEventListener("scroll", n(i, 200));
|
|
26
26
|
}
|
|
27
27
|
export {
|
|
28
|
-
|
|
28
|
+
l as scrollTo,
|
|
29
29
|
i as showElements,
|
|
30
30
|
c as showElementsOnScroll
|
|
31
31
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d="mint",a=`${d}-`,r="[disabled]",
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d="mint",a=`${d}-`,r="[disabled]",l="[aria-controls]",b="[aria-expanded]",u="[href]",$="[routerLink]",f="[id]",p=`button${l}`,m=`${p} + ul${f}`,o='[tabindex^="-"]',h=`[tabindex]${t(o)}`,c=`input${t(r)}${t(o)},
|
|
2
2
|
select${t(r)}${t(o)},
|
|
3
3
|
textarea${t(r)}${t(o)},
|
|
4
4
|
button${t(r)}${t(o)},
|
|
5
5
|
object${t(r)}${t(o)},
|
|
6
6
|
a${u}, a${$},
|
|
7
|
-
area${u}, ${h}`.replace(/\s/g,"");function s(e){return e=e.toLowerCase(),e.startsWith(a)?e:`${a}${e}`}function x(e){return`--${s(e.replace(/^-+/,""))}`}function g(e){return`var(${x(e)})`}function t(e){return`:not(${e})`}function L(e){return`.${s(e)}`}function k(e){return`#${s(e)}`}function w(e){return e?`[aria-controls="${s(e)}"]`:
|
|
7
|
+
area${u}, ${h}`.replace(/\s/g,"");function s(e){return e=e.toLowerCase(),e.startsWith(a)?e:`${a}${e}`}function x(e){return`--${s(e.replace(/^-+/,""))}`}function g(e){return`var(${x(e)})`}function t(e){return`:not(${e})`}function L(e){return`.${s(e)}`}function k(e){return`#${s(e)}`}function w(e){return e?`[aria-controls="${s(e)}"]`:l}function C(e){return typeof e=="boolean"?`[aria-expanded="${e?"true":"false"}"]`:b}function M(e){let n;return e?n=Array.from(e.querySelectorAll(c)):n=Array.from(document.querySelectorAll(c)),n.filter(i=>y(i))}function y(e){let n=e;do{if(window.getComputedStyle(n).getPropertyValue("display").toLowerCase()==="none")return!1;n=n.parentElement}while(n);return!0}exports.className=L;exports.controls=w;exports.cssPrefix=x;exports.cssVar=g;exports.disabled=r;exports.expanded=C;exports.focusable=c;exports.getFocusables=M;exports.hasControls=l;exports.hasExpanded=b;exports.hasId=f;exports.hasLink=u;exports.hasRouterLink=$;exports.id=k;exports.isFocusable=y;exports.lib=d;exports.not=t;exports.notTabbable=o;exports.pre=a;exports.prefix=s;exports.subMenu=m;exports.subMenuButtons=p;exports.tabbable=h;
|
|
@@ -27,7 +27,7 @@ function A(t) {
|
|
|
27
27
|
return t ? `[aria-controls="${a(t)}"]` : l;
|
|
28
28
|
}
|
|
29
29
|
function C(t) {
|
|
30
|
-
return typeof t == "boolean" ? `[aria-expanded="${t}"]` : d;
|
|
30
|
+
return typeof t == "boolean" ? `[aria-expanded="${t ? "true" : "false"}"]` : d;
|
|
31
31
|
}
|
|
32
32
|
function k(t) {
|
|
33
33
|
let n;
|
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 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,"")
|
|
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,""),i="";n.length>10&&(i+=`+${n.slice(0,n.length-10)} `,n=n.slice(n.length-10));let a=0;for(;a<n.length;a++){switch(a){case 0:i+="(";break;case 3:i+=") ";break;case 6:i+="-";break}i+=n[a]}switch(t[t.length-1]){case")":a===3&&(i+=") ");break;case"-":a===6&&(i+="-");break}return i}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())}async function g(e){const t=document.createElement("textarea");return e?(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 f(e){return/(?:[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])+)\])/.exec(e)!==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;
|
|
8
|
+
`,document.body.appendChild(t),t.select(),t.setSelectionRange(0,99999),await navigator.clipboard.writeText(t.value),document.body.removeChild(t),!0):!1}function f(e){return/(?:[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])+)\])/.exec(e)!==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
|
@@ -11,9 +11,10 @@ function l(e) {
|
|
|
11
11
|
const t = e?.toString().trim() ?? "";
|
|
12
12
|
if (t === "(" || t === "")
|
|
13
13
|
return t;
|
|
14
|
-
let n = t.replace(/\D/g, "")
|
|
14
|
+
let n = t.replace(/\D/g, ""), i = "";
|
|
15
15
|
n.length > 10 && (i += `+${n.slice(0, n.length - 10)} `, n = n.slice(n.length - 10));
|
|
16
|
-
|
|
16
|
+
let a = 0;
|
|
17
|
+
for (; a < n.length; a++) {
|
|
17
18
|
switch (a) {
|
|
18
19
|
case 0:
|
|
19
20
|
i += "(";
|
|
@@ -43,16 +44,16 @@ function x(e) {
|
|
|
43
44
|
function s(e) {
|
|
44
45
|
return e.toLowerCase().replace(/(?:^|\s)\S/g, (t) => t.toUpperCase());
|
|
45
46
|
}
|
|
46
|
-
function f(e) {
|
|
47
|
+
async function f(e) {
|
|
47
48
|
const t = document.createElement("textarea");
|
|
48
|
-
return
|
|
49
|
+
return e ? (t.value = e, t.style.cssText = `
|
|
49
50
|
position: fixed;
|
|
50
51
|
top: 0;
|
|
51
52
|
left: 0;
|
|
52
53
|
transform: translate(-100%, -100%);
|
|
53
54
|
opacity: 0;
|
|
54
55
|
z-index: -1;
|
|
55
|
-
`, document.body.appendChild(t), t.select(), t.setSelectionRange(0, 99999), navigator.clipboard.writeText(t.value), document.body.removeChild(t), !0);
|
|
56
|
+
`, document.body.appendChild(t), t.select(), t.setSelectionRange(0, 99999), await navigator.clipboard.writeText(t.value), document.body.removeChild(t), !0) : !1;
|
|
56
57
|
}
|
|
57
58
|
function g(e) {
|
|
58
59
|
return /(?:[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])+)\])/.exec(e) !== null;
|
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.2
|
|
4
|
+
"version": "0.3.2",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"description": "TypeScript Modules from App Art Mint LLC",
|
|
@@ -37,29 +37,30 @@
|
|
|
37
37
|
"version": "npm i && git add -A",
|
|
38
38
|
"postversion": "git push && git push --tags && cross-replace gh release create \"v$npm_package_version\" --generate-notes",
|
|
39
39
|
"prepare": "run-s build",
|
|
40
|
+
"clean": "rimraf dist",
|
|
40
41
|
"build": "run-p test:types build:prod",
|
|
41
42
|
"build:prod": "vite build",
|
|
42
|
-
"
|
|
43
|
+
"test": "run-p test:*",
|
|
43
44
|
"test:types": "tsc -b",
|
|
44
|
-
"test:
|
|
45
|
+
"test:deps": "depcruise src",
|
|
45
46
|
"lint": "eslint --fix .",
|
|
46
|
-
"publish
|
|
47
|
+
"yalc:publish": "yalc publish",
|
|
47
48
|
"check:updates": "npm-check-updates"
|
|
48
49
|
},
|
|
49
50
|
"devDependencies": {
|
|
50
51
|
"@eslint/js": "^10.0.1",
|
|
51
|
-
"@types/node": "^
|
|
52
|
+
"@types/node": "^26.1.1",
|
|
52
53
|
"cross-replace": "^0.2.0",
|
|
53
|
-
"eslint": "^10.0
|
|
54
|
+
"eslint": "^10.7.0",
|
|
54
55
|
"glob": "^13.0.6",
|
|
55
56
|
"globals": "^17.4.0",
|
|
56
57
|
"jiti": "^2.6.1",
|
|
57
58
|
"madge": "^8.0.0",
|
|
58
59
|
"npm-check-updates": "^19.6.3",
|
|
59
|
-
"npm-run-all2": "^
|
|
60
|
+
"npm-run-all2": "^9.0.2",
|
|
60
61
|
"rimraf": "^6.1.3",
|
|
61
|
-
"typescript": "^
|
|
62
|
-
"typescript-eslint": "^8.
|
|
62
|
+
"typescript": "^6.0.3",
|
|
63
|
+
"typescript-eslint": "^8.63.0",
|
|
63
64
|
"vite": "^7.3.1",
|
|
64
65
|
"vite-plugin-dts": "^4.5.4",
|
|
65
66
|
"yalc": "^1.0.0-pre.53"
|
package/dist/util/event.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export declare function debounce<T extends (...args: Parameters<T>) => ReturnType<T>>(func: T, wait?: number): (...args: Parameters<T>) => void;
|
|
2
|
-
export declare function debounceEvent<T extends (e: Event) => ReturnType<T>>(func: T, wait?: number): EventListener;
|
|
3
|
-
export declare function throttle(func: Function, wait?: number, options?: Record<string, boolean>): Function;
|
|
4
|
-
export declare function throttleEvent(func: Function, wait?: number, options?: Record<string, boolean>): EventListener;
|
package/dist/util/object.d.ts
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Returns true if the provided objects have the same keys
|
|
3
|
-
*/
|
|
4
|
-
export declare function objectSameKeys(obj1: any, obj2: any): boolean;
|
|
5
|
-
/**
|
|
6
|
-
* Returns true if the first object has at least the same
|
|
7
|
-
* entries as the second object
|
|
8
|
-
* @param superset - the object to check
|
|
9
|
-
* @param subset - the object whose entries are required
|
|
10
|
-
* @returns - true if the first object is a superset of the second
|
|
11
|
-
*/
|
|
12
|
-
export declare function objectIsSuperset(superset: any, subset: any): boolean;
|
|
13
|
-
/**
|
|
14
|
-
* Removes object entries by key
|
|
15
|
-
* @param object - the object to remove entries from
|
|
16
|
-
* @param keys - the keys to remove
|
|
17
|
-
*/
|
|
18
|
-
export declare function removeKeys(object: any, keys: string[]): any;
|
|
19
|
-
/**
|
|
20
|
-
* Removes object entries by value
|
|
21
|
-
*/
|
|
22
|
-
export declare function objectRemoveValues(object: any, values: any[]): any;
|
|
23
|
-
/**
|
|
24
|
-
* Sorts an object's entries alphabetically by key
|
|
25
|
-
*/
|
|
26
|
-
export declare function objectSortKeys(object: any, compareFn?: (a: string, b: string) => number): any;
|
|
27
|
-
/**
|
|
28
|
-
* Sorts an object's entries alphabetically by value
|
|
29
|
-
*/
|
|
30
|
-
export declare function objectSortValues(object: any, compareFn: (a: any, b: any) => number): any;
|
|
31
|
-
/**
|
|
32
|
-
* Filters an object by its keys
|
|
33
|
-
* @param object - the object to filter
|
|
34
|
-
* @param keys - the keys to keep
|
|
35
|
-
* @returns - the filtered object
|
|
36
|
-
*/
|
|
37
|
-
export declare function objectFilterKeys(object: any, keys: string[]): object;
|
|
38
|
-
/**
|
|
39
|
-
* Filters an object by its values
|
|
40
|
-
* @param object - the object to filter
|
|
41
|
-
* @param values - the values to keep
|
|
42
|
-
* @returns - the filtered object
|
|
43
|
-
*/
|
|
44
|
-
export declare function objectFilterValues(object: any, values: any[]): object;
|
|
45
|
-
/**
|
|
46
|
-
* Update two sets of objects
|
|
47
|
-
* @param original - the original object
|
|
48
|
-
* @param update - the object to update the original with
|
|
49
|
-
* @returns - the original objects with updated data from the update
|
|
50
|
-
*/
|
|
51
|
-
export declare function objectUpdateArray(original: any[], update?: any[], key?: string): any;
|
|
52
|
-
/**
|
|
53
|
-
* Get an object's key by value
|
|
54
|
-
*/
|
|
55
|
-
export declare function objectGetKeyByValue(object: any, value: any): string | undefined;
|
|
56
|
-
/**
|
|
57
|
-
* Create a deep copy of an object
|
|
58
|
-
*/
|
|
59
|
-
export declare function objectDeepClone<T>(object: T): T;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|