@appartmint/tsm-mint 0.1.4 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- "use strict";var i=Object.defineProperty;var a=(s,e,t)=>e in s?i(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var n=(s,e,t)=>a(s,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./panel.cjs.js"),l=require("./menu.cjs.js");class h{constructor(e){n(this,"settings",{id:"mint-menu",wrapperId:"mint-wrapper",title:"menu",fixed:!0});n(this,"el",{});n(this,"panel");n(this,"menu");this.settings={...this.settings,...e},console.log("header settings",this.settings),this.panel=new d.Panel(this.settings),this.menu=new l.Menu(this.settings),this.attachElements(),this.addClasses()}detachEvents(){var e,t;(e=this.panel)==null||e.detachEvents(),(t=this.menu)==null||t.detachEvents()}attachElements(){this.el.body=document.querySelector("body")}addClasses(){var e;this.settings.fixed&&((e=this.el.body)==null||e.classList.add("mint-fixed"))}}exports.Header=h;
1
+ "use strict";var i=Object.defineProperty;var a=(s,e,t)=>e in s?i(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t;var n=(s,e,t)=>a(s,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./panel.cjs.js"),l=require("./menu.cjs.js");class r{constructor(e){n(this,"settings",{id:"mint-menu",wrapperId:"mint-wrapper",title:"menu",fixed:!0});n(this,"el",{});n(this,"panel");n(this,"menu");this.settings={...this.settings,...e},this.panel=new d.Panel(this.settings),this.menu=new l.Menu(this.settings),this.attachElements(),this.addClasses()}detachEvents(){var e,t;(e=this.panel)==null||e.detachEvents(),(t=this.menu)==null||t.detachEvents()}attachElements(){this.el.body=document.querySelector("body")}addClasses(){var e;this.settings.fixed&&((e=this.el.body)==null||e.classList.add("mint-fixed"))}}exports.Header=r;
@@ -14,7 +14,7 @@ class o {
14
14
  i(this, "el", {});
15
15
  i(this, "panel");
16
16
  i(this, "menu");
17
- this.settings = { ...this.settings, ...t }, console.log("header settings", this.settings), this.panel = new d(this.settings), this.menu = new h(this.settings), this.attachElements(), this.addClasses();
17
+ this.settings = { ...this.settings, ...t }, this.panel = new d(this.settings), this.menu = new h(this.settings), this.attachElements(), this.addClasses();
18
18
  }
19
19
  detachEvents() {
20
20
  var t, e;
@@ -1 +1 @@
1
- "use strict";var w=Object.defineProperty;var y=(r,a,t)=>a in r?w(r,a,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[a]=t;var c=(r,a,t)=>y(r,typeof a!="symbol"?a+"":a,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const m=require("../../types/breakpoints.cjs.js"),u=require("../../types/side.cjs.js"),o=require("../../types/time.cjs.js"),v=require("../../abstract/attaches-events.cjs.js"),f=require("../../util/window.cjs.js"),h=require("../../util/event.cjs.js"),d=require("../../util/selectors.cjs.js");class E extends v.AttachesEvents{constructor(t){super();c(this,"settings",{title:"panel",from:u.sides[0],fixed:!0});c(this,"el",{});if(this.settings={...this.settings,...t},console.log("panel settings",this.settings),!this.settings.id||!this.settings.wrapperId)throw new Error("Panel ID and wrapper ID are required");this.attachElements(),this.attachEvents(),this.addClasses(),requestAnimationFrame(()=>{this.setPanel()})}attachElements(){var t;this.el.html=document.querySelector("html"),this.el.main=document.querySelector("main"),this.el.panel=document.getElementById(this.settings.id),this.el.wrapper=document.getElementById(this.settings.wrapperId),this.el.toggleButton=((t=this.el.panel)==null?void 0:t.querySelector(d.controls(this.settings.wrapperId)))||null}attachEvents(){var n;this.attachEvent(window,"resize",h.throttleEvent(this.eHandleResize.bind(this),o.delay.default)),this.attachEvent(this.el.main,"click",h.throttleEvent(this.eClose.bind(this),o.delay.default,{trailing:!1})),this.attachEvent(this.el.wrapper,"transitionend",this.eTransitionEnd.bind(this));const t=d.getFocusables(this.el.panel);t==null||t.forEach(i=>{this.attachEvent(i,"keydown",h.throttleEvent(this.eWrapTab.bind(this)))});const e=(n=this.el.panel)==null?void 0:n.querySelectorAll(d.controls(this.settings.wrapperId));e==null||e.forEach(i=>{this.attachEvent(i,"click",h.throttleEvent(this.eToggle.bind(this),o.delay.slower,{trailing:!1}))})}addClasses(){var t,e,n,i,s,l;(t=this.el.panel)==null||t.classList.add("mint-panel"),(e=this.el.wrapper)==null||e.classList.add("mint-panel-wrapper"),(n=this.el.toggleButton)==null||n.classList.add("mint-panel-toggle"),this.settings.from&&((i=this.el.panel)==null||i.classList.remove("mint-top","mint-right","mint-bottom","mint-left"),(s=this.el.panel)==null||s.classList.add(`mint-${this.settings.from.toLowerCase()}`)),this.settings.tray&&((l=this.el.panel)==null||l.classList.add("mint-tray"))}setPanel(t=!1){var i;let e=t?"true":"false",n=t?`close ${this.settings.title}`:`open ${this.settings.title}`;(i=this.el.toggleButton)==null||i.setAttribute("aria-expanded",e),setTimeout(()=>{var s;(s=this.el.toggleButton)==null||s.setAttribute("aria-label",n)},o.delay.faster),t?(this.closeOtherPanels(),this.settings.fixed!==!0&&window.scroll({top:0,left:0,behavior:"smooth"}),setTimeout(()=>{if(this.el.html){let s=f.windowWidth()<=m.breakpoints.sm,l="auto";this.settings.tray?s&&(l="hidden"):l="hidden",this.el.html.style.overflow=l}},this.settings.from===u.sides[3]?o.delay.default:o.delay.instant),this.el.wrapper&&(this.el.wrapper.style.display="flex"),requestAnimationFrame(()=>{var s;(s=this.el.wrapper)==null||s.classList.add("mint-open")})):(this.el.html&&(this.el.html.style.overflow="auto"),requestAnimationFrame(()=>{var s;(s=this.el.wrapper)==null||s.classList.remove("mint-open")}))}togglePanel(){var t,e;this.setPanel(((e=(t=this.el.toggleButton)==null?void 0:t.getAttribute("aria-expanded"))==null?void 0:e.toLowerCase())==="false")}closeOtherPanels(){const t=`.mint-panel-toggle[aria-expanded="true"]:not([aria-controls="${this.settings.wrapperId}"])`,e=document.querySelector(t);e==null||e.click()}eHandleResize(){var s,l,p,g;const t=f.windowWidth()<=m.breakpoints.sm;let e=!0;(s=this.el.panel)!=null&&s.classList.contains("mint-tray")?e=!1:(l=this.el.panel)!=null&&l.classList.contains("mint-expand")||(e=!1),!t&&e&&this.setPanel(!1);const n=((g=(p=this.el.toggleButton)==null?void 0:p.getAttribute("aria-expanded"))==null?void 0:g.toLowerCase())==="true";let i="auto";n&&(this.settings.tray?t&&(i="hidden"):i="hidden"),this.el.html&&(this.el.html.style.overflow=i)}eWrapTab(t){var l;const e=d.getFocusables(this.el.panel),n=e==null?void 0:e[(e==null?void 0:e.length)-1],i=(e==null?void 0:e.length)>1&&document.activeElement===n;t.key.toLowerCase()==="tab"&&!t.shiftKey&&i&&((l=this.el.toggleButton)==null||l.focus(),document.activeElement===this.el.toggleButton&&t.preventDefault())}eToggle(){this.togglePanel()}eClose(){this.setPanel(!1)}eTransitionEnd(){var t;((t=this.el.wrapper)==null?void 0:t.classList.contains("mint-open"))===!1&&(this.el.wrapper.style.display="none")}}exports.Panel=E;
1
+ "use strict";var w=Object.defineProperty;var y=(r,n,t)=>n in r?w(r,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[n]=t;var c=(r,n,t)=>y(r,typeof n!="symbol"?n+"":n,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("../../types/breakpoints.cjs.js"),g=require("../../types/side.cjs.js"),o=require("../../types/time.cjs.js"),v=require("../../abstract/attaches-events.cjs.js"),f=require("../../util/window.cjs.js"),h=require("../../util/event.cjs.js"),d=require("../../util/selectors.cjs.js");class E extends v.AttachesEvents{constructor(t){super();c(this,"settings",{title:"panel",from:g.sides[0],fixed:!0});c(this,"el",{});if(this.settings={...this.settings,...t},!this.settings.id||!this.settings.wrapperId)throw new Error("Panel ID and wrapper ID are required");this.attachElements(),this.attachEvents(),this.addClasses(),requestAnimationFrame(()=>{this.setPanel()})}attachElements(){var t;this.el.html=document.querySelector("html"),this.el.main=document.querySelector("main"),this.el.panel=document.getElementById(this.settings.id),this.el.wrapper=document.getElementById(this.settings.wrapperId),this.el.toggleButton=((t=this.el.panel)==null?void 0:t.querySelector(d.controls(this.settings.wrapperId)))||null}attachEvents(){var a;this.attachEvent(window,"resize",h.throttleEvent(this.eHandleResize.bind(this),o.delay.default)),this.attachEvent(this.el.main,"click",h.throttleEvent(this.eClose.bind(this),o.delay.default,{trailing:!1})),this.attachEvent(this.el.wrapper,"transitionend",this.eTransitionEnd.bind(this));const t=d.getFocusables(this.el.panel);t==null||t.forEach(i=>{this.attachEvent(i,"keydown",h.throttleEvent(this.eWrapTab.bind(this)))});const e=(a=this.el.panel)==null?void 0:a.querySelectorAll(d.controls(this.settings.wrapperId));e==null||e.forEach(i=>{this.attachEvent(i,"click",h.throttleEvent(this.eToggle.bind(this),o.delay.slower,{trailing:!1}))})}addClasses(){var t,e,a,i,s,l;(t=this.el.panel)==null||t.classList.add("mint-panel"),(e=this.el.wrapper)==null||e.classList.add("mint-panel-wrapper"),(a=this.el.toggleButton)==null||a.classList.add("mint-panel-toggle"),this.settings.from&&((i=this.el.panel)==null||i.classList.remove("mint-top","mint-right","mint-bottom","mint-left"),(s=this.el.panel)==null||s.classList.add(`mint-${this.settings.from.toLowerCase()}`)),this.settings.tray&&((l=this.el.panel)==null||l.classList.add("mint-tray"))}setPanel(t=!1){var i;let e=t?"true":"false",a=t?`close ${this.settings.title}`:`open ${this.settings.title}`;(i=this.el.toggleButton)==null||i.setAttribute("aria-expanded",e),setTimeout(()=>{var s;(s=this.el.toggleButton)==null||s.setAttribute("aria-label",a)},o.delay.faster),t?(this.closeOtherPanels(),this.settings.fixed!==!0&&window.scroll({top:0,left:0,behavior:"smooth"}),setTimeout(()=>{if(this.el.html){let s=f.windowWidth()<=u.breakpoints.sm,l="auto";this.settings.tray?s&&(l="hidden"):l="hidden",this.el.html.style.overflow=l}},this.settings.from===g.sides[3]?o.delay.default:o.delay.instant),this.el.wrapper&&(this.el.wrapper.style.display="flex"),requestAnimationFrame(()=>{var s;(s=this.el.wrapper)==null||s.classList.add("mint-open")})):(this.el.html&&(this.el.html.style.overflow="auto"),requestAnimationFrame(()=>{var s;(s=this.el.wrapper)==null||s.classList.remove("mint-open")}))}togglePanel(){var t,e;this.setPanel(((e=(t=this.el.toggleButton)==null?void 0:t.getAttribute("aria-expanded"))==null?void 0:e.toLowerCase())==="false")}closeOtherPanels(){const t=`.mint-panel-toggle[aria-expanded="true"]:not([aria-controls="${this.settings.wrapperId}"])`,e=document.querySelector(t);e==null||e.click()}eHandleResize(){var s,l,p,m;const t=f.windowWidth()<=u.breakpoints.sm;let e=!0;(s=this.el.panel)!=null&&s.classList.contains("mint-tray")?e=!1:(l=this.el.panel)!=null&&l.classList.contains("mint-expand")||(e=!1),!t&&e&&this.setPanel(!1);const a=((m=(p=this.el.toggleButton)==null?void 0:p.getAttribute("aria-expanded"))==null?void 0:m.toLowerCase())==="true";let i="auto";a&&(this.settings.tray?t&&(i="hidden"):i="hidden"),this.el.html&&(this.el.html.style.overflow=i)}eWrapTab(t){var l;const e=d.getFocusables(this.el.panel),a=e==null?void 0:e[(e==null?void 0:e.length)-1],i=(e==null?void 0:e.length)>1&&document.activeElement===a;t.key.toLowerCase()==="tab"&&!t.shiftKey&&i&&((l=this.el.toggleButton)==null||l.focus(),document.activeElement===this.el.toggleButton&&t.preventDefault())}eToggle(){this.togglePanel()}eClose(){this.setPanel(!1)}eTransitionEnd(){var t;((t=this.el.wrapper)==null?void 0:t.classList.contains("mint-open"))===!1&&(this.el.wrapper.style.display="none")}}exports.Panel=E;
@@ -2,10 +2,10 @@ var y = Object.defineProperty;
2
2
  var E = (r, n, t) => n in r ? y(r, n, { enumerable: !0, configurable: !0, writable: !0, value: t }) : r[n] = t;
3
3
  var d = (r, n, t) => E(r, typeof n != "symbol" ? n + "" : n, t);
4
4
  import { breakpoints as c } from "../../types/breakpoints.es.js";
5
- import { sides as g } from "../../types/side.es.js";
5
+ import { sides as f } from "../../types/side.es.js";
6
6
  import { delay as o } from "../../types/time.es.js";
7
7
  import { AttachesEvents as v } from "../../abstract/attaches-events.es.js";
8
- import { windowWidth as f } from "../../util/window.es.js";
8
+ import { windowWidth as g } from "../../util/window.es.js";
9
9
  import { throttleEvent as h } from "../../util/event.es.js";
10
10
  import { controls as u, getFocusables as w } from "../../util/selectors.es.js";
11
11
  class B extends v {
@@ -13,11 +13,11 @@ class B extends v {
13
13
  super();
14
14
  d(this, "settings", {
15
15
  title: "panel",
16
- from: g[0],
16
+ from: f[0],
17
17
  fixed: !0
18
18
  });
19
19
  d(this, "el", {});
20
- if (this.settings = { ...this.settings, ...t }, console.log("panel settings", this.settings), !this.settings.id || !this.settings.wrapperId)
20
+ if (this.settings = { ...this.settings, ...t }, !this.settings.id || !this.settings.wrapperId)
21
21
  throw new Error("Panel ID and wrapper ID are required");
22
22
  this.attachElements(), this.attachEvents(), this.addClasses(), requestAnimationFrame(() => {
23
23
  this.setPanel();
@@ -55,10 +55,10 @@ class B extends v {
55
55
  behavior: "smooth"
56
56
  }), setTimeout(() => {
57
57
  if (this.el.html) {
58
- let s = f() <= c.sm, l = "auto";
58
+ let s = g() <= c.sm, l = "auto";
59
59
  this.settings.tray ? s && (l = "hidden") : l = "hidden", this.el.html.style.overflow = l;
60
60
  }
61
- }, this.settings.from === g[3] ? o.default : o.instant), this.el.wrapper && (this.el.wrapper.style.display = "flex"), requestAnimationFrame(() => {
61
+ }, this.settings.from === f[3] ? o.default : o.instant), this.el.wrapper && (this.el.wrapper.style.display = "flex"), requestAnimationFrame(() => {
62
62
  var s;
63
63
  (s = this.el.wrapper) == null || s.classList.add("mint-open");
64
64
  })) : (this.el.html && (this.el.html.style.overflow = "auto"), requestAnimationFrame(() => {
@@ -76,7 +76,7 @@ class B extends v {
76
76
  }
77
77
  eHandleResize() {
78
78
  var s, l, p, m;
79
- const t = f() <= c.sm;
79
+ const t = g() <= c.sm;
80
80
  let e = !0;
81
81
  (s = this.el.panel) != null && s.classList.contains("mint-tray") ? e = !1 : (l = this.el.panel) != null && l.classList.contains("mint-expand") || (e = !1), !t && e && this.setPanel(!1);
82
82
  const a = ((m = (p = this.el.toggleButton) == null ? void 0 : p.getAttribute("aria-expanded")) == null ? void 0 : m.toLowerCase()) === "true";
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=16;function u(s){const e=s.match(/^#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/);if(e){let t=e[1];t.length===3&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]);const r=parseInt(t.substring(0,2),c),a=parseInt(t.substring(2,4),c),i=parseInt(t.substring(4,6),c);return o({r,g:a,b:i})}const n=s.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)?(?:,\s*(\d(?:\.\d*)?)\s*\))?/);if(n){const t=parseInt(n[1]),r=parseInt(n[2]),a=parseInt(n[3]),i=n[4]?parseFloat(n[4]):void 0;return o({r:t,g:r,b:a,a:i})}throw new Error(`Invalid color: ${s}`)}function o({r:s,g:e,b:n,a:t}){return t===0?262:!isNaN(s)&&!isNaN(e)&&!isNaN(n)?Math.round((s*299+e*587+n*144)/1e3):-1}exports.getLuminance=u;exports.getLuminanceRGBA=o;
@@ -0,0 +1,8 @@
1
+ export interface RGBA {
2
+ r: number;
3
+ g: number;
4
+ b: number;
5
+ a?: number;
6
+ }
7
+ export declare function getLuminance(color: string): number;
8
+ export declare function getLuminanceRGBA({ r, g, b, a }: RGBA): number;
@@ -0,0 +1,22 @@
1
+ function o(n) {
2
+ const e = n.match(/^#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/);
3
+ if (e) {
4
+ let s = e[1];
5
+ s.length === 3 && (s = s[0] + s[0] + s[1] + s[1] + s[2] + s[2]);
6
+ const r = parseInt(s.substring(0, 2), 16), a = parseInt(s.substring(2, 4), 16), c = parseInt(s.substring(4, 6), 16);
7
+ return i({ r, g: a, b: c });
8
+ }
9
+ const t = n.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)?(?:,\s*(\d(?:\.\d*)?)\s*\))?/);
10
+ if (t) {
11
+ const s = parseInt(t[1]), r = parseInt(t[2]), a = parseInt(t[3]), c = t[4] ? parseFloat(t[4]) : void 0;
12
+ return i({ r: s, g: r, b: a, a: c });
13
+ }
14
+ throw new Error(`Invalid color: ${n}`);
15
+ }
16
+ function i({ r: n, g: e, b: t, a: s }) {
17
+ return s === 0 ? 262 : !isNaN(n) && !isNaN(e) && !isNaN(t) ? Math.round((n * 299 + e * 587 + t * 144) / 1e3) : -1;
18
+ }
19
+ export {
20
+ o as getLuminance,
21
+ i as getLuminanceRGBA
22
+ };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@appartmint/tsm-mint",
3
3
  "author": "App Art Mint LLC",
4
- "version": "0.1.4",
4
+ "version": "0.1.6",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "description": "TypeScript Modules from App Art Mint LLC",