@flexilla/dismissible 2.0.1 → 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,74 +1,76 @@
1
1
  var a = Object.defineProperty;
2
- var c = (i, s, e) => s in i ? a(i, s, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[s] = e;
3
- var t = (i, s, e) => (c(i, typeof s != "symbol" ? s + "" : s, e), e);
4
- const h = (i, s = document.body) => s.querySelector(i), d = (i, s = document.body) => Array.from(s.querySelectorAll(i)), l = ({
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
5
  element: i,
6
- callback: s
6
+ callback: e
7
7
  }) => {
8
- const e = getComputedStyle(i).transition;
9
- e !== "none" && e !== "" && e !== "all 0s ease 0s" ? i.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
- i.removeEventListener("transitionend", n), s();
12
+ i.removeEventListener("transitionend", n), e();
13
13
  },
14
14
  { once: !0 }
15
- ) : s();
16
- }, o = class o {
15
+ ) : e();
16
+ }, m = class m {
17
17
  /**
18
18
  * Dismissible Component
19
19
  * @param dismissible
20
20
  * @param action
21
21
  * @param onDissmiss
22
22
  */
23
- constructor(s, e, n) {
23
+ constructor(e, s, n) {
24
24
  t(this, "dismissibleElement");
25
25
  t(this, "dismissButtons");
26
26
  t(this, "action");
27
27
  t(this, "onDismiss");
28
28
  t(this, "hideFromScreen", () => {
29
- var s;
30
- this.dismissibleElement.style.display = "none", (s = this.onDismiss) == null || s.call(this);
29
+ var e;
30
+ this.dismissibleElement.style.display = "none", (e = this.onDismiss) == null || e.call(this);
31
31
  });
32
32
  t(this, "removeFromDom", () => {
33
- var s, e;
34
- (s = this.onDismiss) == null || s.call(this), (e = this.dismissibleElement.parentNode) == null || e.removeChild(this.dismissibleElement);
33
+ var e, s;
34
+ (e = this.onDismiss) == null || e.call(this), (s = this.dismissibleElement.parentElement) == null || s.removeChild(this.dismissibleElement);
35
35
  });
36
36
  t(this, "dismiss", () => {
37
37
  switch (this.action) {
38
38
  case "hide-from-screen":
39
- this.dismissibleElement.setAttribute("aria-hidden", "true"), l({
39
+ this.dismissibleElement.setAttribute("aria-hidden", "true"), this.dismissibleElement.setAttribute("data-state", "hidden"), r({
40
40
  element: this.dismissibleElement,
41
41
  callback: this.hideFromScreen
42
42
  });
43
43
  break;
44
44
  default:
45
- this.dismissibleElement.setAttribute("data-hidden", ""), this.dismissibleElement.setAttribute("aria-hidden", "true"), l({
45
+ this.dismissibleElement.setAttribute("data-hidden", ""), this.dismissibleElement.setAttribute("aria-hidden", "true"), this.dismissibleElement.setAttribute("data-state", "removed"), r({
46
46
  element: this.dismissibleElement,
47
47
  callback: this.removeFromDom
48
48
  });
49
49
  break;
50
50
  }
51
51
  });
52
- const m = typeof s == "string" ? h(s, document.body) : s;
53
- if (!(m instanceof HTMLElement))
52
+ const o = typeof e == "string" ? h(e, document.body) : e;
53
+ if (!(o instanceof HTMLElement))
54
54
  throw new Error("Provided Element not a valid HTMLElement");
55
- this.dismissibleElement = m, this.action = e || this.dismissibleElement.dataset.action || "hide-from-screen", this.dismissButtons = d("[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();
56
56
  }
57
57
  init() {
58
- for (const s of this.dismissButtons)
59
- s.addEventListener("click", this.dismiss);
58
+ for (const e of this.dismissButtons)
59
+ e.addEventListener("click", this.dismiss);
60
60
  }
61
61
  };
62
62
  /**
63
63
  * auto init Dismissible Element based on the selector provided
64
64
  * @param selector {string} default is [data-fx-dismissible]
65
65
  */
66
- t(o, "autoInit", (s = "[data-fx-dismissible]") => {
67
- const e = d(s);
68
- for (const n of e)
69
- new o(n);
66
+ t(m, "autoInit", (e = "[data-fx-dismissible]") => {
67
+ const s = l(e);
68
+ for (const n of s)
69
+ new m(n);
70
70
  });
71
- let r = o;
71
+ let d = m;
72
+ const E = (i, e, s) => new d(i, e, s);
72
73
  export {
73
- r as Dismissible
74
+ d as Dismissible,
75
+ E as fDismissible
74
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 h=Object.defineProperty;var b=(s,i,o)=>i in s?h(s,i,{enumerable:!0,configurable:!0,writable:!0,value:o}):s[i]=o;var n=(s,i,o)=>(b(s,typeof i!="symbol"?i+"":i,o),o);const i=(d,e=document.body)=>e.querySelector(d),o=(d,e=document.body)=>Array.from(e.querySelectorAll(d)),a=({element:d,callback:e})=>{const t=getComputedStyle(d).transition;t!=="none"&&t!==""&&t!=="all 0s ease 0s"?d.addEventListener("transitionend",function l(){d.removeEventListener("transitionend",l),e()},{once:!0}):e()},m=class m{constructor(e,t,l){n(this,"dismissibleElement");n(this,"dismissButtons");n(this,"action");n(this,"onDismiss");n(this,"hideFromScreen",()=>{var e;this.dismissibleElement.style.display="none",(e=this.onDismiss)==null||e.call(this)});n(this,"removeFromDom",()=>{var e,t;(e=this.onDismiss)==null||e.call(this),(t=this.dismissibleElement.parentNode)==null||t.removeChild(this.dismissibleElement)});n(this,"dismiss",()=>{switch(this.action){case"hide-from-screen":this.dismissibleElement.setAttribute("aria-hidden","true"),a({element:this.dismissibleElement,callback:this.hideFromScreen});break;default:this.dismissibleElement.setAttribute("data-hidden",""),this.dismissibleElement.setAttribute("aria-hidden","true"),a({element:this.dismissibleElement,callback:this.removeFromDom});break}});const c=typeof e=="string"?i(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)}};n(m,"autoInit",(e="[data-fx-dismissible]")=>{const t=o(e);for(const l of t)new m(l)});let r=m;s.Dismissible=r,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
@@ -21,4 +21,13 @@ export declare class Dismissible {
21
21
  static autoInit: (selector?: string) => void;
22
22
  }
23
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
+
24
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.1",
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": "8435693ee1ff8e2f9d279b5d4026949530d7d05d"
67
+ "gitHead": "98932fa7279389be90368e974e58fab0fb1ba654"
68
68
  }