@flexilla/dismissible 2.0.0 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -27,7 +27,13 @@ import Dismissible from '@flexilla/dismissible';
27
27
  action: "remove-from-dom",
28
28
  onDismiss: () => {
29
29
  console.log("Element dismissed!");
30
- }
31
- );
30
+ });
31
+
32
+ // or
33
+ fDismissible('.dismissable-element',
34
+ action: "remove-from-dom",
35
+ onDismiss: () => {
36
+ console.log("Element dismissed!");
37
+ })
32
38
  </script>
33
39
  ```
@@ -1,27 +1,26 @@
1
- var l = Object.defineProperty;
2
- var d = (s, e, i) => e in s ? l(s, e, { enumerable: !0, configurable: !0, writable: !0, value: i }) : s[e] = i;
3
- var t = (s, e, i) => (d(s, typeof e != "symbol" ? e + "" : e, i), i);
4
- const r = (s, e = document.body) => e.querySelector(s), a = (s, e = document.body) => Array.from(e.querySelectorAll(s)), o = ({
5
- element: s,
1
+ var a = Object.defineProperty;
2
+ var c = (i, e, s) => e in i ? a(i, e, { enumerable: !0, configurable: !0, writable: !0, value: s }) : i[e] = s;
3
+ var t = (i, e, s) => (c(i, typeof e != "symbol" ? e + "" : e, s), s);
4
+ const h = (i, e = document.body) => e.querySelector(i), l = (i, e = document.body) => Array.from(e.querySelectorAll(i)), r = ({
5
+ element: i,
6
6
  callback: e
7
7
  }) => {
8
- const i = getComputedStyle(s).transition;
9
- i !== "none" && i !== "" && i !== "all 0s ease 0s" ? s.addEventListener(
8
+ const s = getComputedStyle(i).transition;
9
+ s !== "none" && s !== "" && s !== "all 0s ease 0s" && s !== "all" ? i.addEventListener(
10
10
  "transitionend",
11
11
  function n() {
12
- s.removeEventListener("transitionend", n), e();
12
+ i.removeEventListener("transitionend", n), e();
13
13
  },
14
14
  { once: !0 }
15
15
  ) : e();
16
- };
17
- class c {
16
+ }, m = class m {
18
17
  /**
19
18
  * Dismissible Component
20
19
  * @param dismissible
21
20
  * @param action
22
21
  * @param onDissmiss
23
22
  */
24
- constructor(e, i, n) {
23
+ constructor(e, s, n) {
25
24
  t(this, "dismissibleElement");
26
25
  t(this, "dismissButtons");
27
26
  t(this, "action");
@@ -31,35 +30,47 @@ class c {
31
30
  this.dismissibleElement.style.display = "none", (e = this.onDismiss) == null || e.call(this);
32
31
  });
33
32
  t(this, "removeFromDom", () => {
34
- var e, i;
35
- (e = this.onDismiss) == null || e.call(this), (i = this.dismissibleElement.parentNode) == null || i.removeChild(this.dismissibleElement);
33
+ var e, s;
34
+ (e = this.onDismiss) == null || e.call(this), (s = this.dismissibleElement.parentElement) == null || s.removeChild(this.dismissibleElement);
36
35
  });
37
36
  t(this, "dismiss", () => {
38
37
  switch (this.action) {
39
38
  case "hide-from-screen":
40
- this.dismissibleElement.setAttribute("aria-hidden", "true"), o({
39
+ this.dismissibleElement.setAttribute("aria-hidden", "true"), this.dismissibleElement.setAttribute("data-state", "hidden"), r({
41
40
  element: this.dismissibleElement,
42
41
  callback: this.hideFromScreen
43
42
  });
44
43
  break;
45
44
  default:
46
- this.dismissibleElement.setAttribute("data-hidden", ""), this.dismissibleElement.setAttribute("aria-hidden", "true"), o({
45
+ this.dismissibleElement.setAttribute("data-hidden", ""), this.dismissibleElement.setAttribute("aria-hidden", "true"), this.dismissibleElement.setAttribute("data-state", "removed"), r({
47
46
  element: this.dismissibleElement,
48
47
  callback: this.removeFromDom
49
48
  });
50
49
  break;
51
50
  }
52
51
  });
53
- const m = typeof e == "string" ? r(e, document.body) : e;
54
- if (!(m instanceof HTMLElement))
52
+ const o = typeof e == "string" ? h(e, document.body) : e;
53
+ if (!(o instanceof HTMLElement))
55
54
  throw new Error("Provided Element not a valid HTMLElement");
56
- this.dismissibleElement = m, this.action = i || this.dismissibleElement.dataset.action || "hide-from-screen", this.dismissButtons = a("[data-dismiss-btn]", this.dismissibleElement), this.onDismiss = n, this.dismissibleElement.setAttribute("aria-hidden", "false"), this.init();
55
+ this.dismissibleElement = o, this.action = s || this.dismissibleElement.dataset.action || "hide-from-screen", this.dismissButtons = l("[data-dismiss-btn]", this.dismissibleElement), this.onDismiss = n, this.dismissibleElement.setAttribute("aria-hidden", "false"), this.init();
57
56
  }
58
57
  init() {
59
58
  for (const e of this.dismissButtons)
60
59
  e.addEventListener("click", this.dismiss);
61
60
  }
62
- }
61
+ };
62
+ /**
63
+ * auto init Dismissible Element based on the selector provided
64
+ * @param selector {string} default is [data-fx-dismissible]
65
+ */
66
+ t(m, "autoInit", (e = "[data-fx-dismissible]") => {
67
+ const s = l(e);
68
+ for (const n of s)
69
+ new m(n);
70
+ });
71
+ let d = m;
72
+ const E = (i, e, s) => new d(i, e, s);
63
73
  export {
64
- c as Dismissible
74
+ d as Dismissible,
75
+ E as fDismissible
65
76
  };
@@ -1 +1 @@
1
- (function(s,i){typeof exports=="object"&&typeof module<"u"?i(exports):typeof define=="function"&&define.amd?define(["exports"],i):(s=typeof globalThis<"u"?globalThis:s||self,i(s["@flexilla/dismissible"]={}))})(this,function(s){"use strict";var c=Object.defineProperty;var h=(s,i,d)=>i in s?c(s,i,{enumerable:!0,configurable:!0,writable:!0,value:d}):s[i]=d;var o=(s,i,d)=>(h(s,typeof i!="symbol"?i+"":i,d),d);const i=(t,e=document.body)=>e.querySelector(t),d=(t,e=document.body)=>Array.from(e.querySelectorAll(t)),l=({element:t,callback:e})=>{const n=getComputedStyle(t).transition;n!=="none"&&n!==""&&n!=="all 0s ease 0s"?t.addEventListener("transitionend",function m(){t.removeEventListener("transitionend",m),e()},{once:!0}):e()};class a{constructor(e,n,m){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,n;(e=this.onDismiss)==null||e.call(this),(n=this.dismissibleElement.parentNode)==null||n.removeChild(this.dismissibleElement)});o(this,"dismiss",()=>{switch(this.action){case"hide-from-screen":this.dismissibleElement.setAttribute("aria-hidden","true"),l({element:this.dismissibleElement,callback:this.hideFromScreen});break;default:this.dismissibleElement.setAttribute("data-hidden",""),this.dismissibleElement.setAttribute("aria-hidden","true"),l({element:this.dismissibleElement,callback:this.removeFromDom});break}});const r=typeof e=="string"?i(e,document.body):e;if(!(r instanceof HTMLElement))throw new Error("Provided Element not a valid HTMLElement");this.dismissibleElement=r,this.action=n||this.dismissibleElement.dataset.action||"hide-from-screen",this.dismissButtons=d("[data-dismiss-btn]",this.dismissibleElement),this.onDismiss=m,this.dismissibleElement.setAttribute("aria-hidden","false"),this.init()}init(){for(const e of this.dismissButtons)e.addEventListener("click",this.dismiss)}}s.Dismissible=a,Object.defineProperty(s,Symbol.toStringTag,{value:"Module"})});
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 b=Object.defineProperty;var u=(i,s,o)=>s in i?b(i,s,{enumerable:!0,configurable:!0,writable:!0,value:o}):i[s]=o;var d=(i,s,o)=>(u(i,typeof s!="symbol"?s+"":s,o),o);const s=(n,e=document.body)=>e.querySelector(n),o=(n,e=document.body)=>Array.from(e.querySelectorAll(n)),a=({element:n,callback:e})=>{const t=getComputedStyle(n).transition;t!=="none"&&t!==""&&t!=="all 0s ease 0s"&&t!=="all"?n.addEventListener("transitionend",function l(){n.removeEventListener("transitionend",l),e()},{once:!0}):e()},r=class r{constructor(e,t,l){d(this,"dismissibleElement");d(this,"dismissButtons");d(this,"action");d(this,"onDismiss");d(this,"hideFromScreen",()=>{var e;this.dismissibleElement.style.display="none",(e=this.onDismiss)==null||e.call(this)});d(this,"removeFromDom",()=>{var e,t;(e=this.onDismiss)==null||e.call(this),(t=this.dismissibleElement.parentElement)==null||t.removeChild(this.dismissibleElement)});d(this,"dismiss",()=>{switch(this.action){case"hide-from-screen":this.dismissibleElement.setAttribute("aria-hidden","true"),this.dismissibleElement.setAttribute("data-state","hidden"),a({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"),a({element:this.dismissibleElement,callback:this.removeFromDom});break}});const c=typeof e=="string"?s(e,document.body):e;if(!(c instanceof HTMLElement))throw new Error("Provided Element not a valid HTMLElement");this.dismissibleElement=c,this.action=t||this.dismissibleElement.dataset.action||"hide-from-screen",this.dismissButtons=o("[data-dismiss-btn]",this.dismissibleElement),this.onDismiss=l,this.dismissibleElement.setAttribute("aria-hidden","false"),this.init()}init(){for(const e of this.dismissButtons)e.addEventListener("click",this.dismiss)}};d(r,"autoInit",(e="[data-fx-dismissible]")=>{const t=o(e);for(const l of t)new r(l)});let m=r;const h=(n,e,t)=>new m(n,e,t);i.Dismissible=m,i.fDismissible=h,Object.defineProperty(i,Symbol.toStringTag,{value:"Module"})});
package/dist/index.d.ts CHANGED
@@ -14,6 +14,20 @@ export declare class Dismissible {
14
14
  private removeFromDom;
15
15
  dismiss: () => void;
16
16
  private init;
17
+ /**
18
+ * auto init Dismissible Element based on the selector provided
19
+ * @param selector {string} default is [data-fx-dismissible]
20
+ */
21
+ static autoInit: (selector?: string) => void;
17
22
  }
18
23
 
24
+ /**
25
+ *
26
+ * @param dismissible
27
+ * @param action
28
+ * @param onDissmiss
29
+ * @returns
30
+ */
31
+ export declare const fDismissible: (dismissible: string | HTMLElement, action?: "remove-from-dom" | "hide-from-screen", onDissmiss?: () => void) => Dismissible;
32
+
19
33
  export { }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@flexilla/dismissible",
3
3
  "private": false,
4
- "version": "2.0.0",
4
+ "version": "2.0.2",
5
5
  "type": "module",
6
6
  "description": "A lightweight JavaScript component that automatically makes a component dismissible for easy user interaction.",
7
7
  "publishConfig": {
@@ -64,5 +64,5 @@
64
64
  },
65
65
  "license": "MIT",
66
66
  "author": "johnkat-mj",
67
- "gitHead": "b182c7035953bc34e8f350b834df9862bec8acb5"
67
+ "gitHead": "98932fa7279389be90368e974e58fab0fb1ba654"
68
68
  }