@appartmint/tsm-mint 0.3.0 → 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.
Files changed (41) hide show
  1. package/dist/components/widget/menu.cjs.js +1 -1
  2. package/dist/components/widget/menu.es.js +21 -15
  3. package/dist/components/widget/panel.cjs.js +1 -1
  4. package/dist/components/widget/panel.es.js +35 -27
  5. package/dist/{components → src/components}/widget/header.d.ts +2 -2
  6. package/dist/{components → src/components}/widget/menu.d.ts +5 -5
  7. package/dist/{components → src/components}/widget/panel.d.ts +4 -4
  8. package/dist/{types → src/types}/components/form/input.d.ts +1 -1
  9. package/dist/{util → src/util}/display.d.ts +1 -1
  10. package/dist/src/util/event.d.ts +4 -0
  11. package/dist/src/util/object.d.ts +59 -0
  12. package/dist/{util → src/util}/text.d.ts +1 -1
  13. package/dist/util/display.cjs.js +1 -1
  14. package/dist/util/display.es.js +2 -2
  15. package/dist/util/event.cjs.js +1 -1
  16. package/dist/util/event.es.js +22 -19
  17. package/dist/util/object.cjs.js +1 -1
  18. package/dist/util/object.es.js +77 -70
  19. package/dist/util/scroll.cjs.js +1 -1
  20. package/dist/util/scroll.es.js +9 -9
  21. package/dist/util/selectors.cjs.js +2 -2
  22. package/dist/util/selectors.es.js +1 -1
  23. package/dist/util/text.cjs.js +2 -2
  24. package/dist/util/text.es.js +6 -5
  25. package/package.json +10 -9
  26. package/dist/util/event.d.ts +0 -4
  27. package/dist/util/object.d.ts +0 -59
  28. /package/dist/{abstract → src/abstract}/attaches-events.d.ts +0 -0
  29. /package/dist/{components → src/components}/section/grid.d.ts +0 -0
  30. /package/dist/{components → src/components}/ui/text/title.d.ts +0 -0
  31. /package/dist/{types → src/types}/breakpoints.d.ts +0 -0
  32. /package/dist/{types → src/types}/side.d.ts +0 -0
  33. /package/dist/{types → src/types}/time.d.ts +0 -0
  34. /package/dist/{types → src/types}/util.d.ts +0 -0
  35. /package/dist/{util → src/util}/async.d.ts +0 -0
  36. /package/dist/{util → src/util}/color.d.ts +0 -0
  37. /package/dist/{util → src/util}/date.d.ts +0 -0
  38. /package/dist/{util → src/util}/math.d.ts +0 -0
  39. /package/dist/{util → src/util}/scroll.d.ts +0 -0
  40. /package/dist/{util → src/util}/selectors.d.ts +0 -0
  41. /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 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),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(){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){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){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){const t=e.target;this.closeSiblingMenus(t),this.toggleMenu(t)}}exports.Menu=u;
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 o } from "../../abstract/attaches-events.es.js";
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 a } from "../../util/event.es.js";
5
- import { focusable as l, controls as h, subMenuButtons as r, subMenu as p } from "../../util/selectors.es.js";
6
- class w extends o {
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", a(this.eHandleScroll.bind(this), i.default, { trailing: !1 })), this.el.wrapper?.querySelectorAll(l)?.forEach((s) => {
21
- this.attachEvent(s, "keydown", a(this.eHandleKeypress.bind(this)));
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", a(this.eToggleMenu.bind(this), i.slower, { trailing: !1 }));
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
- (t?.querySelectorAll(r)).forEach((n) => {
35
+ t.querySelectorAll(a).forEach((n) => {
36
36
  n.parentElement?.parentElement === t && this.setMenu(n);
37
37
  });
38
38
  }
39
39
  closeSiblingMenus(e) {
40
- (e?.parentElement?.parentElement?.querySelectorAll(r)).forEach((n) => {
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(r)?.forEach((t) => {
45
+ this.el.wrapper?.querySelectorAll(a)?.forEach((t) => {
46
46
  this.setMenu(t);
47
47
  });
48
48
  }
49
49
  openClosestMenu() {
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());
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
- 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());
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
- w as Menu
119
+ E as Menu
114
120
  };
@@ -1 +1 @@
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){const 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){const i=d.windowWidth()<=r.breakpoints.sm;let 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}"])`,e=document.querySelector(t);e&&e.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
+ "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 o } from "../../types/breakpoints.es.js";
2
- import { sides as r } from "../../types/side.es.js";
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 p } 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";
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 v extends p {
8
+ class L extends f {
9
9
  settings = {
10
10
  title: "panel",
11
- from: r[0],
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", 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)), c(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 }));
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"), 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");
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 ${this.settings.title}` : `open ${this.settings.title}`;
37
- this.el.toggleButton?.setAttribute("aria-expanded", e), setTimeout(() => {
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 i = h() <= o.sm;
46
- let a = "auto";
47
- this.settings.tray ? i && (a = "hidden") : a = "hidden", this.el.html.style.overflow = a;
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 === r[3] ? l.default : l.instant), this.el.wrapper && (this.el.wrapper.style.display = "flex"), requestAnimationFrame(() => {
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 t = `.mint-panel-toggle[aria-expanded="true"]:not([aria-controls="${this.settings.wrapperId}"])`, e = document.querySelector(t);
60
- e && e.click();
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 = h() <= o.sm;
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 s = this.el.toggleButton?.getAttribute("aria-expanded")?.toLowerCase() === "true";
67
- let i = "auto";
68
- s && (this.settings.tray ? t && (i = "hidden") : i = "hidden"), this.el.html && (this.el.html.style.overflow = i);
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
- const e = c(this.el.panel), s = e[e.length - 1], i = e.length > 1 && document.activeElement === s;
72
- t.key.toLowerCase() === "tab" && !t.shiftKey && i && (this.el.toggleButton?.focus(), document.activeElement === this.el.toggleButton && t.preventDefault());
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
- v as Panel
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, any>;
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, any>);
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 '../../abstract/attaches-events';
1
+ import { AttachesEvents } from '../../../abstract/attaches-events';
2
2
  export declare class Menu extends AttachesEvents {
3
- settings: Record<string, any>;
3
+ settings: Record<string, unknown>;
4
4
  el: Record<string, HTMLElement | null>;
5
- constructor(settings?: Record<string, any>);
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: KeyboardEvent): void;
20
- eToggleMenu(e: MouseEvent): void;
19
+ eHandleKeypress(e: Event): void;
20
+ eToggleMenu(e: Event): void;
21
21
  }
@@ -1,8 +1,8 @@
1
- import { AttachesEvents } from '../../abstract/attaches-events';
1
+ import { AttachesEvents } from '../../../abstract/attaches-events';
2
2
  export declare class Panel extends AttachesEvents {
3
- settings: Record<string, any>;
3
+ settings: Record<string, unknown>;
4
4
  el: Record<string, HTMLElement | null>;
5
- constructor(settings?: Record<string, any>);
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: KeyboardEvent): void;
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 '../../util';
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';
@@ -1,4 +1,4 @@
1
- import { Side } from '../types/side';
1
+ import { Side } from '../../types/side';
2
2
  export interface TransitionProps {
3
3
  duration?: number;
4
4
  from?: Side;
@@ -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}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const l=require("../types/side.cjs.js"),r=require("../types/time.cjs.js");function y(t,{duration:s=r.delay.default,from:e=l.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}px`:t.style.width=`${n}px`,setTimeout(()=>{i?t.style.height="auto":t.style.width="auto"},s)})}function h(t,{duration:s=r.delay.default,from:e=l.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}px`:t.style.width=`${n}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;
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;
@@ -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(() => {
@@ -1 +1 @@
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 s(t,n=o.delay.default,e){let u,i,a,l,r=0,m=function(){r=e?.leading===!1?0:new Date().getTime(),l=0,a=t.apply(u,i),l||(u=i=null)};return function(){const f=new Date().getTime();!r&&e?.leading===!1&&(r=f);const 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(m,d)),a}}function y(t,n=o.delay.default,e){return s(t,n,e)}exports.debounce=c;exports.debounceEvent=g;exports.throttle=s;exports.throttleEvent=y;
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;
@@ -1,30 +1,33 @@
1
- import { delay as o } from "../types/time.es.js";
2
- function d(t, n = o.default) {
1
+ import { delay as f } from "../types/time.es.js";
2
+ function m(l, t = f.default) {
3
3
  let e;
4
- return function(...l) {
5
- e && clearTimeout(e), e = Number(setTimeout(t, n, ...l));
4
+ return function(...u) {
5
+ e && clearTimeout(e), e = window.setTimeout(() => {
6
+ l(...u);
7
+ }, t);
6
8
  };
7
9
  }
8
- function h(t, n = o.default) {
9
- return d(t, n);
10
+ function w(l, t = f.default) {
11
+ return m(l, t);
10
12
  }
11
- function s(t, n = o.default, e) {
12
- let l, r, f, i, u = 0, m = function() {
13
- u = e?.leading === !1 ? 0 : (/* @__PURE__ */ new Date()).getTime(), i = 0, f = t.apply(l, r), i || (l = r = null);
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 a = (/* @__PURE__ */ new Date()).getTime();
17
- !u && e?.leading === !1 && (u = a);
18
- const c = n - a + u;
19
- return l = this, r = arguments, c <= 0 || c > n ? (i && (clearTimeout(i), i = 0), u = a, f = t.apply(l, r), i || (l = r = null)) : !i && e?.trailing !== !1 && (i = window.setTimeout(m, c)), f;
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 p(t, n = o.default, e) {
23
- return s(t, n, e);
25
+ function T(l, t = f.default, e) {
26
+ return s(l, t, e);
24
27
  }
25
28
  export {
26
- d as debounce,
27
- h as debounceEvent,
29
+ m as debounce,
30
+ w as debounceEvent,
28
31
  s as throttle,
29
- p as throttleEvent
32
+ T as throttleEvent
30
33
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function f(e,n){const 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 o(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&&o(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=o;exports.objectRemoveValues=a;exports.objectSameKeys=f;exports.objectSortKeys=y;exports.objectSortValues=h;exports.objectUpdateArray=p;exports.removeKeys=l;
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;
@@ -1,109 +1,116 @@
1
- function o(e, n) {
2
- const t = Object.keys(e);
3
- if (t.length !== Object.keys(n).length)
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 t.forEach((s) => {
7
- e[s] !== n[s] && (r = !1);
6
+ return e.forEach((c) => {
7
+ t[c] !== n[c] && (r = !1);
8
8
  }), r;
9
9
  }
10
- function i(e, n) {
11
- let t = !0;
12
- if (e === n)
13
- return t;
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 !t;
15
+ if (typeof n == "object" && n !== null && Object.keys(n).length === 0)
16
+ return !e;
17
17
  } catch {
18
- return !t;
18
+ return !e;
19
19
  }
20
20
  return Object.keys(n).forEach((r) => {
21
- t = t && i(e[r], n[r]);
22
- }), t;
21
+ e = e && o(
22
+ t[r],
23
+ n[r]
24
+ );
25
+ }), e;
23
26
  }
24
- function l(e, n) {
25
- return Object.keys(e).reduce((t, r) => (n.includes(r) || (t[r] = e[r]), t), {});
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 a(e, n) {
28
- return Object.keys(e).reduce((t, r) => (n.includes(e[r]) || (t[r] = e[r]), t), {});
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 h(e, n) {
31
- return Object.keys(e).sort(n).reduce((t, r) => (t[r] = e[r], t), {});
33
+ function O(t, n) {
34
+ return Object.keys(t).sort(n).reduce((e, r) => (e[r] = t[r], e), {});
32
35
  }
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), {});
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 y(e, n) {
37
- return n.reduce((t, r) => (t[r] = e[r], t), {});
39
+ function p(t, n) {
40
+ return n.reduce((e, r) => (e[r] = t[r], e), {});
38
41
  }
39
- function d(e, n) {
40
- return Object.keys(e).reduce((t, r) => (n.includes(e[r]) && (t[r] = e[r]), t), {});
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 p(e, n, t = "id") {
45
+ function m(t, n, e = "id") {
43
46
  if (!n?.length)
44
- n?.forEach((s) => e.push(s));
47
+ n?.forEach((c) => t.push(c));
45
48
  else {
46
- const s = n.reduce((c, f) => ({
47
- ...c,
48
- [f?.[t] ?? ""]: f
49
+ const c = n.reduce((u, s) => ({
50
+ ...u,
51
+ [s[e] ?? ""]: s
49
52
  }), {});
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] ?? ""]);
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((s) => !e.some((u) => u?.[t] === s?.[t]))?.forEach((s) => e.push(s));
60
+ n?.filter((c) => !t.some((f) => f[e] === c[e]))?.forEach((c) => t.push(c));
58
61
  }
59
- function m(e, n) {
60
- return Object.keys(e).find((t) => e[t] === n);
62
+ function E(t, n) {
63
+ return Object.keys(t).find((e) => t[e] === n);
61
64
  }
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();
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 c = r[u];
70
- if (typeof c == "function") {
71
- s[u] = c.bind(s);
75
+ const s = c[u];
76
+ if (typeof s == "function") {
77
+ f[u] = s.bind(f);
72
78
  continue;
73
79
  }
74
- if (typeof c != "object" || c === null) {
75
- s[u] = c;
80
+ if (typeof s != "object" || s === null) {
81
+ f[u] = s;
76
82
  continue;
77
83
  }
78
- if (n.has(c)) {
79
- s[u] = n.get(c);
84
+ if (n.has(s)) {
85
+ f[u] = n.get(s);
80
86
  continue;
81
87
  }
82
- s[u] = Array.isArray(c) ? [] : {}, n.set(c, s[u]), t.push([c, s[u]]);
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(r, s), Array.isArray(r)) {
85
- r.forEach((c, f) => {
86
- t.push([r, s, f]);
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(r).forEach((c) => {
91
- t.push([r, s, c]);
97
+ Object.keys(c).forEach((s) => {
98
+ e.push([c, f, s]);
92
99
  });
93
100
  }
94
101
  }
95
- return n.get(e);
102
+ return n.get(t);
96
103
  }
97
104
  export {
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
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
  };
@@ -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 o(){requestAnimationFrame(()=>{const t=document.querySelectorAll(".mint-fall-in:not(.mint-show)"),n=[];for(let e=0;e<t.length;e++)t[e].getBoundingClientRect().top<0?t[e].classList.add("mint-show"):t[e].getBoundingClientRect().top<window.innerHeight*3/4&&n.push(t[e]);for(let e=0;e<n.length;e++)setTimeout(()=>{n[e].classList.add("mint-show")},e*100)})}function i(){window.addEventListener("scroll",l.throttleEvent(o,200))}exports.scrollTo=s;exports.showElements=o;exports.showElementsOnScroll=i;
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;
@@ -1,5 +1,5 @@
1
- import { throttleEvent as o } from "./event.es.js";
2
- function s(t) {
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)"), n = [];
16
- for (let e = 0; e < t.length; e++)
17
- t[e].getBoundingClientRect().top < 0 ? t[e].classList.add("mint-show") : t[e].getBoundingClientRect().top < window.innerHeight * 3 / 4 && n.push(t[e]);
18
- for (let e = 0; e < n.length; 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
- n[e].classList.add("mint-show");
20
+ o[e].classList.add("mint-show");
21
21
  }, e * 100);
22
22
  });
23
23
  }
24
24
  function c() {
25
- window.addEventListener("scroll", o(i, 200));
25
+ window.addEventListener("scroll", n(i, 200));
26
26
  }
27
27
  export {
28
- s as scrollTo,
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]",i="[aria-controls]",b="[aria-expanded]",u="[href]",$="[routerLink]",f="[id]",p=`button${i}`,m=`${p} + ul${f}`,o='[tabindex^="-"]',h=`[tabindex]${t(o)}`,c=`input${t(r)}${t(o)},
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)}"]`:i}function C(e){return typeof e=="boolean"?`[aria-expanded="${e}"]`:b}function M(e){let n;return e?n=Array.from(e.querySelectorAll(c)):n=Array.from(document.querySelectorAll(c)),n.filter(l=>y(l))}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=i;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;
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;
@@ -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,"")??"",i="";n.length>10&&(i+=`+${n.slice(0,n.length-10)} `,n=n.slice(n.length-10));for(var a=0;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())}function g(e){const t=document.createElement("textarea");return!e||!t?!1:(t.value=e,t.style.cssText=`
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;
@@ -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, "") ?? "", i = "";
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
- for (var a = 0; a < n.length; a++) {
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 !e || !t ? !1 : (t.value = e, t.style.cssText = `
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.3.0",
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
- "clean": "rimraf dist",
43
+ "test": "run-p test:*",
43
44
  "test:types": "tsc -b",
44
- "test:circular": "madge --circular --extensions ts .",
45
+ "test:deps": "depcruise src",
45
46
  "lint": "eslint --fix .",
46
- "publish:link": "yalc 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": "^25.4.0",
52
+ "@types/node": "^26.1.1",
52
53
  "cross-replace": "^0.2.0",
53
- "eslint": "^10.0.3",
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": "^8.0.4",
60
+ "npm-run-all2": "^9.0.2",
60
61
  "rimraf": "^6.1.3",
61
- "typescript": "^5.9.3",
62
- "typescript-eslint": "^8.57.0",
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"
@@ -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;
@@ -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