@flexilla/dismissible 2.0.8 → 2.0.10

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,69 +1,93 @@
1
- var b = Object.defineProperty;
2
- var u = (s, e, t) => e in s ? b(s, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[e] = t;
3
- var i = (s, e, t) => u(s, typeof e != "symbol" ? e + "" : e, t);
4
- const E = (s, e = document.body) => e.querySelector(s), r = (s, e = document.body) => Array.from(e.querySelectorAll(s)), f = ({
5
- element: s,
1
+ var u = Object.defineProperty;
2
+ var E = (t, e, s) => e in t ? u(t, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : t[e] = s;
3
+ var n = (t, e, s) => E(t, typeof e != "symbol" ? e + "" : e, s);
4
+ const f = (t, e = document.body) => e.querySelector(t), c = (t, e = document.body) => Array.from(e.querySelectorAll(t)), w = ({
5
+ element: t,
6
6
  callback: e,
7
- type: t,
8
- keysCheck: n
7
+ type: s,
8
+ keysCheck: i
9
9
  }) => {
10
- const l = getComputedStyle(s), o = l.transition;
11
- if (o !== "none" && o !== "" && !n.includes(o)) {
12
- const d = "transitionend", a = () => {
13
- s.removeEventListener(d, a), e();
10
+ const l = getComputedStyle(t), a = l.transition;
11
+ if (a !== "none" && a !== "" && !i.includes(a)) {
12
+ const d = "transitionend", r = () => {
13
+ t.removeEventListener(d, r), e();
14
14
  };
15
- s.addEventListener(d, a, { once: !0 });
15
+ t.addEventListener(d, r, { once: !0 });
16
16
  } else
17
17
  e();
18
- }, c = ({
19
- element: s,
18
+ }, h = ({
19
+ element: t,
20
20
  callback: e
21
21
  }) => {
22
- f({
23
- element: s,
22
+ w({
23
+ element: t,
24
24
  callback: e,
25
25
  type: "transition",
26
26
  keysCheck: ["all 0s ease 0s", "all"]
27
27
  });
28
- }, m = class m {
28
+ };
29
+ class o {
30
+ static initGlobalRegistry() {
31
+ window.$flexillaInstances || (window.$flexillaInstances = {});
32
+ }
33
+ static register(e, s, i) {
34
+ return this.initGlobalRegistry(), window.$flexillaInstances[e] || (window.$flexillaInstances[e] = []), this.getInstance(e, s) || (window.$flexillaInstances[e].push({ element: s, instance: i }), i);
35
+ }
36
+ static getInstance(e, s) {
37
+ var i, l;
38
+ return this.initGlobalRegistry(), (l = (i = window.$flexillaInstances[e]) == null ? void 0 : i.find(
39
+ (a) => a.element === s
40
+ )) == null ? void 0 : l.instance;
41
+ }
42
+ static removeInstance(e, s) {
43
+ this.initGlobalRegistry(), window.$flexillaInstances[e] && (window.$flexillaInstances[e] = window.$flexillaInstances[e].filter(
44
+ (i) => i.element !== s
45
+ ));
46
+ }
47
+ }
48
+ const m = class m {
29
49
  /**
30
50
  * Dismissible Component
31
51
  * @param dismissible
32
52
  * @param action
33
53
  * @param onDissmiss
34
54
  */
35
- constructor(e, t, n) {
36
- i(this, "dismissibleElement");
37
- i(this, "dismissButtons");
38
- i(this, "action");
39
- i(this, "onDismiss");
40
- i(this, "hideFromScreen", () => {
55
+ constructor(e, s, i) {
56
+ n(this, "dismissibleElement");
57
+ n(this, "dismissButtons");
58
+ n(this, "action");
59
+ n(this, "onDismiss");
60
+ n(this, "hideFromScreen", () => {
41
61
  var e;
42
62
  this.dismissibleElement.style.display = "none", (e = this.onDismiss) == null || e.call(this);
43
63
  });
44
- i(this, "removeFromDom", () => {
45
- var e, t;
46
- (e = this.onDismiss) == null || e.call(this), (t = this.dismissibleElement.parentElement) == null || t.removeChild(this.dismissibleElement);
64
+ n(this, "removeFromDom", () => {
65
+ var e, s;
66
+ (e = this.onDismiss) == null || e.call(this), (s = this.dismissibleElement.parentElement) == null || s.removeChild(this.dismissibleElement);
47
67
  });
48
- i(this, "dismiss", () => {
68
+ n(this, "dismiss", () => {
49
69
  switch (this.action) {
50
70
  case "hide-from-screen":
51
- this.dismissibleElement.setAttribute("aria-hidden", "true"), this.dismissibleElement.setAttribute("data-state", "hidden"), c({
71
+ this.dismissibleElement.setAttribute("aria-hidden", "true"), this.dismissibleElement.setAttribute("data-state", "hidden"), h({
52
72
  element: this.dismissibleElement,
53
73
  callback: this.hideFromScreen
54
74
  });
55
75
  break;
56
76
  default:
57
- this.dismissibleElement.setAttribute("data-hidden", ""), this.dismissibleElement.setAttribute("aria-hidden", "true"), this.dismissibleElement.setAttribute("data-state", "removed"), c({
77
+ this.dismissibleElement.setAttribute("data-hidden", ""), this.dismissibleElement.setAttribute("aria-hidden", "true"), this.dismissibleElement.setAttribute("data-state", "removed"), h({
58
78
  element: this.dismissibleElement,
59
79
  callback: this.removeFromDom
60
80
  });
61
81
  break;
62
82
  }
63
83
  });
64
- const l = typeof e == "string" ? E(e, document.body) : e;
84
+ const l = typeof e == "string" ? f(e, document.body) : e;
65
85
  if (!(l instanceof HTMLElement)) throw new Error("Provided Element not a valid HTMLElement");
66
- this.dismissibleElement = l, this.action = t || this.dismissibleElement.dataset.action || "hide-from-screen", this.dismissButtons = r("[data-dismiss-btn]", this.dismissibleElement), this.onDismiss = n, this.dismissibleElement.setAttribute("aria-hidden", "false"), this.setupDismissible();
86
+ this.dismissibleElement = l, this.action = s || this.dismissibleElement.dataset.action || "hide-from-screen", this.dismissButtons = c("[data-dismiss-btn]", this.dismissibleElement), this.onDismiss = i, this.dismissibleElement.setAttribute("aria-hidden", "false");
87
+ const a = o.getInstance("dismissible", this.dismissibleElement);
88
+ if (a)
89
+ return a;
90
+ this.setupDismissible(), o.register("dismissible", this.dismissibleElement, this);
67
91
  }
68
92
  setupDismissible() {
69
93
  for (const e of this.dismissButtons)
@@ -75,11 +99,12 @@ const E = (s, e = document.body) => e.querySelector(s), r = (s, e = document.bod
75
99
  cleanup() {
76
100
  for (const e of this.dismissButtons)
77
101
  e.removeEventListener("click", this.dismiss);
102
+ o.removeInstance("dismissible", this.dismissibleElement);
78
103
  }
79
104
  };
80
- i(m, "autoInit", (e = "[data-fx-dismissible]") => {
81
- const t = r(e);
82
- for (const n of t) new m(n);
105
+ n(m, "autoInit", (e = "[data-fx-dismissible]") => {
106
+ const s = c(e);
107
+ for (const i of s) new m(i);
83
108
  }), /**
84
109
  *
85
110
  * @param dismissible
@@ -87,8 +112,8 @@ i(m, "autoInit", (e = "[data-fx-dismissible]") => {
87
112
  * @param onDissmiss
88
113
  * @returns
89
114
  */
90
- i(m, "init", (e, t, n) => new m(e, t, n));
91
- let h = m;
115
+ n(m, "init", (e, s, i) => new m(e, s, i));
116
+ let b = m;
92
117
  export {
93
- h as Dismissible
118
+ b as Dismissible
94
119
  };
@@ -1 +1 @@
1
- (function(i,s){typeof exports=="object"&&typeof module<"u"?s(exports):typeof define=="function"&&define.amd?define(["exports"],s):(i=typeof globalThis<"u"?globalThis:i||self,s(i["@flexilla/dismissible"]={}))})(this,function(i){"use strict";var E=Object.defineProperty;var y=(i,s,o)=>s in i?E(i,s,{enumerable:!0,configurable:!0,writable:!0,value:o}):i[s]=o;var t=(i,s,o)=>y(i,typeof s!="symbol"?s+"":s,o);const s=(n,e=document.body)=>e.querySelector(n),o=(n,e=document.body)=>Array.from(e.querySelectorAll(n)),f=({element:n,callback:e,type:l,keysCheck:d})=>{const a=getComputedStyle(n),c=a.transition;if(c!=="none"&&c!==""&&!d.includes(c)){const b="transitionend",u=()=>{n.removeEventListener(b,u),e()};n.addEventListener(b,u,{once:!0})}else e()},h=({element:n,callback:e})=>{f({element:n,callback:e,type:"transition",keysCheck:["all 0s ease 0s","all"]})},m=class m{constructor(e,l,d){t(this,"dismissibleElement");t(this,"dismissButtons");t(this,"action");t(this,"onDismiss");t(this,"hideFromScreen",()=>{var e;this.dismissibleElement.style.display="none",(e=this.onDismiss)==null||e.call(this)});t(this,"removeFromDom",()=>{var e,l;(e=this.onDismiss)==null||e.call(this),(l=this.dismissibleElement.parentElement)==null||l.removeChild(this.dismissibleElement)});t(this,"dismiss",()=>{switch(this.action){case"hide-from-screen":this.dismissibleElement.setAttribute("aria-hidden","true"),this.dismissibleElement.setAttribute("data-state","hidden"),h({element:this.dismissibleElement,callback:this.hideFromScreen});break;default:this.dismissibleElement.setAttribute("data-hidden",""),this.dismissibleElement.setAttribute("aria-hidden","true"),this.dismissibleElement.setAttribute("data-state","removed"),h({element:this.dismissibleElement,callback:this.removeFromDom});break}});const a=typeof e=="string"?s(e,document.body):e;if(!(a instanceof HTMLElement))throw new Error("Provided Element not a valid HTMLElement");this.dismissibleElement=a,this.action=l||this.dismissibleElement.dataset.action||"hide-from-screen",this.dismissButtons=o("[data-dismiss-btn]",this.dismissibleElement),this.onDismiss=d,this.dismissibleElement.setAttribute("aria-hidden","false"),this.setupDismissible()}setupDismissible(){for(const e of this.dismissButtons)e.addEventListener("click",this.dismiss)}cleanup(){for(const e of this.dismissButtons)e.removeEventListener("click",this.dismiss)}};t(m,"autoInit",(e="[data-fx-dismissible]")=>{const l=o(e);for(const d of l)new m(d)}),t(m,"init",(e,l,d)=>new m(e,l,d));let r=m;i.Dismissible=r,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});
1
+ (function(n,t){typeof exports=="object"&&typeof module<"u"?t(exports):typeof define=="function"&&define.amd?define(["exports"],t):(n=typeof globalThis<"u"?globalThis:n||self,t(n["@flexilla/dismissible"]={}))})(this,function(n){"use strict";var w=Object.defineProperty;var y=(n,t,m)=>t in n?w(n,t,{enumerable:!0,configurable:!0,writable:!0,value:m}):n[t]=m;var o=(n,t,m)=>y(n,typeof t!="symbol"?t+"":t,m);const t=(l,e=document.body)=>e.querySelector(l),m=(l,e=document.body)=>Array.from(e.querySelectorAll(l)),E=({element:l,callback:e,type:s,keysCheck:i})=>{const a=getComputedStyle(l),d=a.transition;if(d!=="none"&&d!==""&&!i.includes(d)){const u="transitionend",f=()=>{l.removeEventListener(u,f),e()};l.addEventListener(u,f,{once:!0})}else e()},b=({element:l,callback:e})=>{E({element:l,callback:e,type:"transition",keysCheck:["all 0s ease 0s","all"]})};class c{static initGlobalRegistry(){window.$flexillaInstances||(window.$flexillaInstances={})}static register(e,s,i){return this.initGlobalRegistry(),window.$flexillaInstances[e]||(window.$flexillaInstances[e]=[]),this.getInstance(e,s)||(window.$flexillaInstances[e].push({element:s,instance:i}),i)}static getInstance(e,s){var i,a;return this.initGlobalRegistry(),(a=(i=window.$flexillaInstances[e])==null?void 0:i.find(d=>d.element===s))==null?void 0:a.instance}static removeInstance(e,s){this.initGlobalRegistry(),window.$flexillaInstances[e]&&(window.$flexillaInstances[e]=window.$flexillaInstances[e].filter(i=>i.element!==s))}}const r=class r{constructor(e,s,i){o(this,"dismissibleElement");o(this,"dismissButtons");o(this,"action");o(this,"onDismiss");o(this,"hideFromScreen",()=>{var e;this.dismissibleElement.style.display="none",(e=this.onDismiss)==null||e.call(this)});o(this,"removeFromDom",()=>{var e,s;(e=this.onDismiss)==null||e.call(this),(s=this.dismissibleElement.parentElement)==null||s.removeChild(this.dismissibleElement)});o(this,"dismiss",()=>{switch(this.action){case"hide-from-screen":this.dismissibleElement.setAttribute("aria-hidden","true"),this.dismissibleElement.setAttribute("data-state","hidden"),b({element:this.dismissibleElement,callback:this.hideFromScreen});break;default:this.dismissibleElement.setAttribute("data-hidden",""),this.dismissibleElement.setAttribute("aria-hidden","true"),this.dismissibleElement.setAttribute("data-state","removed"),b({element:this.dismissibleElement,callback:this.removeFromDom});break}});const a=typeof e=="string"?t(e,document.body):e;if(!(a instanceof HTMLElement))throw new Error("Provided Element not a valid HTMLElement");this.dismissibleElement=a,this.action=s||this.dismissibleElement.dataset.action||"hide-from-screen",this.dismissButtons=m("[data-dismiss-btn]",this.dismissibleElement),this.onDismiss=i,this.dismissibleElement.setAttribute("aria-hidden","false");const d=c.getInstance("dismissible",this.dismissibleElement);if(d)return d;this.setupDismissible(),c.register("dismissible",this.dismissibleElement,this)}setupDismissible(){for(const e of this.dismissButtons)e.addEventListener("click",this.dismiss)}cleanup(){for(const e of this.dismissButtons)e.removeEventListener("click",this.dismiss);c.removeInstance("dismissible",this.dismissibleElement)}};o(r,"autoInit",(e="[data-fx-dismissible]")=>{const s=m(e);for(const i of s)new r(i)}),o(r,"init",(e,s,i)=>new r(e,s,i));let h=r;n.Dismissible=h,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@flexilla/dismissible",
3
3
  "private": false,
4
- "version": "2.0.8",
4
+ "version": "2.0.10",
5
5
  "type": "module",
6
6
  "description": "A lightweight JavaScript component that automatically makes a component dismissible for easy user interaction.",
7
7
  "publishConfig": {
8
8
  "access": "public"
9
9
  },
10
- "main": "./dist/dismissible.umd.js",
10
+ "main": "./dist/dismissible.umd.cjs",
11
11
  "module": "./dist/dismissible.js",
12
12
  "types": "./dist/index.d.ts",
13
13
  "exports": {
@@ -18,7 +18,7 @@
18
18
  },
19
19
  "require": {
20
20
  "types": "./dist/index.d.ts",
21
- "default": "./dist/dismissible.umd.js"
21
+ "default": "./dist/dismissible.umd.cjs"
22
22
  }
23
23
  }
24
24
  },
@@ -61,5 +61,8 @@
61
61
  },
62
62
  "license": "MIT",
63
63
  "author": "johnkat-mj",
64
- "gitHead": "e03f36f1dc6006668fd79949e0803fc2e08219c1"
64
+ "dependencies": {
65
+ "@flexilla/manager": "^0.0.0"
66
+ },
67
+ "gitHead": "4140779a05fd5faf443de9d97ce4ba2a99b2ed37"
65
68
  }