@flexilla/alpine-offcanvas 0.1.2 → 0.2.0

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/dist/cdn.js CHANGED
@@ -1,10 +1,10 @@
1
1
  (() => {
2
2
  // ../../node_modules/@flexilla/offcanvas/dist/offcanvas.js
3
- var w = Object.defineProperty;
4
- var b = (t, e, n) => e in t ? w(t, e, { enumerable: true, configurable: true, writable: true, value: n }) : t[e] = n;
5
- var o = (t, e, n) => b(t, typeof e != "symbol" ? e + "" : e, n);
3
+ var g = Object.defineProperty;
4
+ var w = (t, e, n) => e in t ? g(t, e, { enumerable: true, configurable: true, writable: true, value: n }) : t[e] = n;
5
+ var o = (t, e, n) => w(t, typeof e != "symbol" ? e + "" : e, n);
6
6
  var m = (t, e = document.body) => e.querySelector(t);
7
- var d = (t, e = document.body) => Array.from(e.querySelectorAll(t));
7
+ var v = (t, e = document.body) => Array.from(e.querySelectorAll(t));
8
8
  var y = ({
9
9
  newElement: t,
10
10
  existingElement: e
@@ -43,10 +43,18 @@
43
43
  keysCheck: ["all 0s ease 0s", "all"]
44
44
  });
45
45
  };
46
- var v = (t, e, n) => {
46
+ var h = (t, e, n) => {
47
47
  const s = new CustomEvent(e, { detail: n });
48
48
  t.dispatchEvent(s);
49
49
  };
50
+ function A(t) {
51
+ const e = () => {
52
+ document.querySelector(
53
+ "[data-fx-component]:not([data-component-initialized])"
54
+ ) ? requestAnimationFrame(e) : t();
55
+ };
56
+ e();
57
+ }
50
58
  function B(t, e, n = "move") {
51
59
  if (!(t instanceof HTMLElement))
52
60
  throw new Error("Source element must be an HTMLElement");
@@ -78,7 +86,7 @@
78
86
  }
79
87
  });
80
88
  }
81
- var A = (t) => {
89
+ var S = (t) => {
82
90
  var e;
83
91
  return (e = t.parentElement) == null ? void 0 : e.removeChild(t);
84
92
  };
@@ -86,11 +94,11 @@
86
94
  t.setAttribute("data-state", "invisible"), O({
87
95
  element: t,
88
96
  callback() {
89
- A(t);
97
+ S(t);
90
98
  }
91
99
  });
92
100
  };
93
- var L = (t, e) => {
101
+ var x = (t, e) => {
94
102
  const n = t;
95
103
  if (n === "" || !n)
96
104
  return;
@@ -101,9 +109,9 @@
101
109
  return n !== "" && s.classList.add(...a), s;
102
110
  };
103
111
  var u = (t, e, n) => {
104
- t.setAttribute("aria-hidden", n === "open" ? "false" : "true"), t.setAttribute("data-state", n), e || S(n);
112
+ t.setAttribute("aria-hidden", n === "open" ? "false" : "true"), t.setAttribute("data-state", n), e || L(n);
105
113
  };
106
- var S = (t) => {
114
+ var L = (t) => {
107
115
  document.body.style.overflow = t === "open" ? "hidden" : "", document.body.style.overflowY = t === "open" ? "hidden" : "auto";
108
116
  };
109
117
  var I = (t, e) => {
@@ -113,13 +121,13 @@
113
121
  const n = m(`[data-fx-offcanvas-overlay][data-offcanvas-el=${t.getAttribute("id")}]`, t.parentElement);
114
122
  n instanceof HTMLElement && C(n);
115
123
  };
116
- var x = (t) => {
117
- const e = d("[data-fx-offcanvas][data-state=open]");
124
+ var T = (t) => {
125
+ const e = v("[data-fx-offcanvas][data-state=open]");
118
126
  if (!(e.length <= 0))
119
127
  for (const n of e)
120
128
  I(n, t);
121
129
  };
122
- var h = class {
130
+ var d = class {
123
131
  static initGlobalRegistry() {
124
132
  window.$flexillaInstances || (window.$flexillaInstances = {});
125
133
  }
@@ -137,6 +145,12 @@
137
145
  (s) => s.element !== n
138
146
  ));
139
147
  }
148
+ static setup(e) {
149
+ e.setAttribute("data-fx-component", "fx");
150
+ }
151
+ static initialized(e) {
152
+ e.setAttribute("data-component-initialized", "initialized");
153
+ }
140
154
  };
141
155
  var f = class f2 {
142
156
  /**
@@ -166,7 +180,7 @@
166
180
  o(this, "options");
167
181
  o(this, "teleporter");
168
182
  o(this, "moveElOnInit", () => {
169
- this.teleporter.append();
183
+ A(() => this.teleporter.append());
170
184
  });
171
185
  o(this, "closeWhenClickOutSide", (e2) => {
172
186
  const n2 = this.offCanvasElement.getAttribute("data-state") === "open", s2 = !this.offCanvasElement.contains(e2.target) && ![...this.offCanvasTriggers].includes(e2.target);
@@ -175,19 +189,19 @@
175
189
  o(this, "closeOffCanvas", () => {
176
190
  var i2, l2, r2, c2, p;
177
191
  let e2 = false;
178
- if (v(this.offCanvasElement, "offcanvas-before-hide", {
192
+ if (h(this.offCanvasElement, "offcanvas-before-hide", {
179
193
  offcanvasId: this.offCanvasElement.id,
180
- setExitAction: (g) => {
181
- e2 = g;
194
+ setExitAction: (b) => {
195
+ e2 = b;
182
196
  }
183
197
  }), ((r2 = (l2 = (i2 = this.options).beforeHide) == null ? void 0 : l2.call(i2)) == null ? void 0 : r2.cancelAction) || e2)
184
198
  return;
185
199
  const s2 = this.offCanvasElement.getAttribute("id"), a2 = m(`[data-fx-offcanvas-overlay][data-offcanvas-el=${s2}]`);
186
- a2 instanceof HTMLElement && C(a2), u(
200
+ a2 instanceof HTMLElement && C(a2), this.offCanvasElement.blur(), u(
187
201
  this.offCanvasElement,
188
202
  this.allowBodyScroll,
189
203
  "close"
190
- ), document.removeEventListener("keydown", this.closeWithEsc), !this.allowBodyScroll && !a2 && document.removeEventListener("click", this.closeWhenClickOutSide), (p = (c2 = this.options).onHide) == null || p.call(c2), v(this.offCanvasElement, "offcanvas-close", { offcanvasId: this.offCanvasElement.id });
204
+ ), document.removeEventListener("keydown", this.closeWithEsc), !this.allowBodyScroll && !a2 && document.removeEventListener("click", this.closeWhenClickOutSide), (p = (c2 = this.options).onHide) == null || p.call(c2), h(this.offCanvasElement, "offcanvas-close", { offcanvasId: this.offCanvasElement.id });
191
205
  });
192
206
  o(this, "closeWithEsc", (e2) => {
193
207
  e2.key === "Escape" && (e2.preventDefault(), this.closeOffCanvas());
@@ -201,33 +215,34 @@
201
215
  const s = typeof e == "string" ? m(e) : e;
202
216
  if (!(s instanceof HTMLElement))
203
217
  throw new Error("Invalid Offcanvas, the provided Element is not a valid HTMLElement");
204
- const a = h.getInstance("offcanvas", s);
218
+ this.offCanvasElement = s;
219
+ const a = d.getInstance("offcanvas", s);
205
220
  if (a)
206
221
  return a;
207
- this.options = n;
222
+ d.setup(this.offCanvasElement), this.options = n;
208
223
  const { staticBackdrop: i, allowBodyScroll: l, backdrop: r } = this.options;
209
- this.offCanvasElement = s, this.setupAttributes(), this.staticBackdrop = i || s.hasAttribute("data-static-backdrop") && s.dataset.staticBackdrop !== "false" || false, this.allowBodyScroll = l || s.hasAttribute("data-allow-body-scroll") && s.dataset.allowBodyScroll !== "false" || false;
224
+ this.setupAttributes(), this.staticBackdrop = i || s.hasAttribute("data-static-backdrop") && s.dataset.staticBackdrop !== "false" || false, this.allowBodyScroll = l || s.hasAttribute("data-allow-body-scroll") && s.dataset.allowBodyScroll !== "false" || false;
210
225
  const c = this.offCanvasElement.getAttribute("id");
211
- this.offCanvasTriggers = this.findOffCanvasElements("[data-offcanvas-trigger]", false, c), this.offCanvasCloseBtns = this.findOffCanvasElements("[data-offcanvas-close]", true, c, this.offCanvasElement), this.backdrop = r || this.offCanvasElement.dataset.offcanvasBackdrop || "", this.teleporter = B(this.offCanvasElement, document.body, "move"), this.setupOffcanvas(), this.moveElOnInit(), h.register("offcanvas", this.offCanvasElement, this);
226
+ this.offCanvasTriggers = this.findOffCanvasElements("[data-offcanvas-trigger]", false, c), this.offCanvasCloseBtns = this.findOffCanvasElements("[data-offcanvas-close]", true, c, this.offCanvasElement), this.backdrop = r || this.offCanvasElement.dataset.offcanvasBackdrop || "", this.teleporter = B(this.offCanvasElement, document.body, "move"), this.setupOffcanvas(), this.moveElOnInit(), d.register("offcanvas", this.offCanvasElement, this), d.initialized(this.offCanvasElement);
212
227
  }
213
228
  findOffCanvasElements(e, n, s, a) {
214
- return n ? d(`${e}`, a) : d(`${e}[data-target=${s}]`);
229
+ return n ? v(`${e}`, a) : v(`${e}[data-target=${s}]`);
215
230
  }
216
231
  setupAttributes() {
217
232
  this.offCanvasElement.hasAttribute("data-fx-offcanvas") || this.offCanvasElement.setAttribute("data-fx-offcanvas", "");
218
233
  }
219
234
  openOffCanvas() {
220
235
  var s, a, i, l;
221
- (a = (s = this.options).beforeShow) == null || a.call(s), x(this.offCanvasElement), u(
236
+ (a = (s = this.options).beforeShow) == null || a.call(s), T(this.offCanvasElement), u(
222
237
  this.offCanvasElement,
223
238
  this.allowBodyScroll,
224
239
  "open"
225
240
  );
226
- const e = this.offCanvasElement.getAttribute("id"), n = L(
241
+ const e = this.offCanvasElement.getAttribute("id"), n = x(
227
242
  this.backdrop,
228
243
  e
229
244
  );
230
- n instanceof HTMLElement && (y({ newElement: n, existingElement: this.offCanvasElement }), this.staticBackdrop || n.addEventListener("click", this.closeOffCanvas)), document.addEventListener("keydown", this.closeWithEsc), (l = (i = this.options).onShow) == null || l.call(i), v(this.offCanvasElement, "offcanvas-open", { offcanvasId: this.offCanvasElement.id });
245
+ n instanceof HTMLElement && (y({ newElement: n, existingElement: this.offCanvasElement }), this.staticBackdrop || n.addEventListener("click", this.closeOffCanvas)), document.addEventListener("keydown", this.closeWithEsc), (l = (i = this.options).onShow) == null || l.call(i), h(this.offCanvasElement, "offcanvas-open", { offcanvasId: this.offCanvasElement.id });
231
246
  }
232
247
  initCloseBtns() {
233
248
  for (const e of this.offCanvasCloseBtns)
@@ -281,11 +296,11 @@
281
296
  e.removeEventListener("click", this.changeState);
282
297
  for (const e of this.offCanvasCloseBtns)
283
298
  e.removeEventListener("click", this.closeOffCanvas);
284
- document.removeEventListener("keydown", this.closeWithEsc), this.allowBodyScroll || document.removeEventListener("click", this.closeWhenClickOutSide), h.removeInstance("offcanvas", this.offCanvasElement);
299
+ document.removeEventListener("keydown", this.closeWithEsc), this.allowBodyScroll || document.removeEventListener("click", this.closeWhenClickOutSide), d.removeInstance("offcanvas", this.offCanvasElement);
285
300
  }
286
301
  };
287
302
  o(f, "autoInit", (e = "[data-fx-offcanvas]") => {
288
- const n = d(e);
303
+ const n = v(e);
289
304
  for (const s of n)
290
305
  new f(s);
291
306
  }), /**
package/dist/cdn.min.js CHANGED
@@ -1 +1 @@
1
- (()=>{var x=Object.defineProperty,S=(t,e,s)=>e in t?x(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,o=(t,e,s)=>S(t,typeof e!="symbol"?e+"":e,s),E=(t,e=document.body)=>e.querySelector(t),m=(t,e=document.body)=>Array.from(e.querySelectorAll(t)),A=({newElement:t,existingElement:e})=>{if(!(t instanceof HTMLElement)||!(e instanceof HTMLElement))throw new Error("Both parameters must be valid HTML elements.");let s=e.parentElement;if(s)s.insertBefore(t,e);else throw new Error("Existing element must have a parent element.")},T=({element:t,callback:e,type:s,keysCheck:n})=>{let a=getComputedStyle(t),i=a.transition;if(i!=="none"&&i!==""&&!n.includes(i)){let l="transitionend",d=()=>{t.removeEventListener(l,d),e()};t.addEventListener(l,d,{once:!0})}else e()},$=({element:t,callback:e})=>{T({element:t,callback:e,type:"transition",keysCheck:["all 0s ease 0s","all"]})},p=(t,e,s)=>{let n=new CustomEvent(e,{detail:s});t.dispatchEvent(n)};function H(t,e,s="move"){if(!(t instanceof HTMLElement))throw new Error("Source element must be an HTMLElement");if(!(e instanceof HTMLElement))throw new Error("Target element must be an HTMLElement");if(!["move","detachable"].includes(s))throw new Error(`Invalid teleport mode: ${s}. Must be "move" or "detachable".`);let n=document.createComment("teleporter-placeholder"),a=t.parentNode;return a?a.insertBefore(n,t):console.warn("Element has no parent; placeholder not inserted."),s==="move"?(t.parentNode&&e.appendChild(t),{append(){t.parentNode!==e&&e.appendChild(t)},remove(){n!=null&&n.parentNode&&t.parentNode&&n.parentNode.insertBefore(t,n)},restore(){n!=null&&n.parentNode&&t.parentNode!==a&&n.parentNode.insertBefore(t,n)}}):(t.parentNode&&e.appendChild(t),{append(){e.contains(t)||e.appendChild(t)},remove(){t.parentNode&&t.remove()},restore(){n!=null&&n.parentNode&&!t.parentNode&&n.parentNode.insertBefore(t,n)}})}var N=t=>{var e;return(e=t.parentElement)==null?void 0:e.removeChild(t)},k=t=>{t.setAttribute("data-state","invisible"),$({element:t,callback(){N(t)}})},M=(t,e)=>{let s=t;if(s===""||!s)return;let n=document.createElement("div");if(n.setAttribute("aria-hidden","true"),n.setAttribute("data-state","visible"),n.setAttribute("data-fx-offcanvas-overlay",""),n.setAttribute("data-offcanvas-el",e),s==="")return;let a=s.split(" ");return s!==""&&n.classList.add(...a),n},y=(t,e,s)=>{t.setAttribute("aria-hidden",s==="open"?"false":"true"),t.setAttribute("data-state",s),e||W(s)},W=t=>{document.body.style.overflow=t==="open"?"hidden":"",document.body.style.overflowY=t==="open"?"hidden":"auto"},G=(t,e)=>{if(t===e)return;t.setAttribute("aria-hidden","true"),t.setAttribute("data-state","close");let s=E(`[data-fx-offcanvas-overlay][data-offcanvas-el=${t.getAttribute("id")}]`,t.parentElement);s instanceof HTMLElement&&k(s)},R=t=>{let e=m("[data-fx-offcanvas][data-state=open]");if(!(e.length<=0))for(let s of e)G(s,t)},c=class{static initGlobalRegistry(){window.$flexillaInstances||(window.$flexillaInstances={})}static register(e,s,n){return this.initGlobalRegistry(),window.$flexillaInstances[e]||(window.$flexillaInstances[e]=[]),this.getInstance(e,s)||(window.$flexillaInstances[e].push({element:s,instance:n}),n)}static getInstance(e,s){var n,a;return this.initGlobalRegistry(),(a=(n=window.$flexillaInstances[e])==null?void 0:n.find(i=>i.element===s))==null?void 0:a.instance}static removeInstance(e,s){this.initGlobalRegistry(),window.$flexillaInstances[e]&&(window.$flexillaInstances[e]=window.$flexillaInstances[e].filter(n=>n.element!==s))}},f=class{constructor(e,s={}){o(this,"offCanvasElement"),o(this,"offCanvasTriggers"),o(this,"offCanvasCloseBtns"),o(this,"allowBodyScroll"),o(this,"staticBackdrop"),o(this,"backdrop"),o(this,"options"),o(this,"teleporter"),o(this,"moveElOnInit",()=>{this.teleporter.append()}),o(this,"closeWhenClickOutSide",r=>{let v=this.offCanvasElement.getAttribute("data-state")==="open",h=!this.offCanvasElement.contains(r.target)&&![...this.offCanvasTriggers].includes(r.target);v&&h&&this.closeOffCanvas()}),o(this,"closeOffCanvas",()=>{var r,v,h,w,b;let g=!1;if(p(this.offCanvasElement,"offcanvas-before-hide",{offcanvasId:this.offCanvasElement.id,setExitAction:I=>{g=I}}),((h=(v=(r=this.options).beforeHide)==null?void 0:v.call(r))==null?void 0:h.cancelAction)||g)return;let B=this.offCanvasElement.getAttribute("id"),u=E(`[data-fx-offcanvas-overlay][data-offcanvas-el=${B}]`);u instanceof HTMLElement&&k(u),y(this.offCanvasElement,this.allowBodyScroll,"close"),document.removeEventListener("keydown",this.closeWithEsc),!this.allowBodyScroll&&!u&&document.removeEventListener("click",this.closeWhenClickOutSide),(b=(w=this.options).onHide)==null||b.call(w),p(this.offCanvasElement,"offcanvas-close",{offcanvasId:this.offCanvasElement.id})}),o(this,"closeWithEsc",r=>{r.key==="Escape"&&(r.preventDefault(),this.closeOffCanvas())}),o(this,"changeState",()=>{this.offCanvasElement.getAttribute("data-state")==="open"?this.closeOffCanvas():this.openOffCanvas()}),o(this,"setOptions",({allowBodyscroll:r})=>{r!==void 0&&(this.allowBodyScroll=r)});let n=typeof e=="string"?E(e):e;if(!(n instanceof HTMLElement))throw new Error("Invalid Offcanvas, the provided Element is not a valid HTMLElement");let a=c.getInstance("offcanvas",n);if(a)return a;this.options=s;let{staticBackdrop:i,allowBodyScroll:l,backdrop:d}=this.options;this.offCanvasElement=n,this.setupAttributes(),this.staticBackdrop=i||n.hasAttribute("data-static-backdrop")&&n.dataset.staticBackdrop!=="false"||!1,this.allowBodyScroll=l||n.hasAttribute("data-allow-body-scroll")&&n.dataset.allowBodyScroll!=="false"||!1;let C=this.offCanvasElement.getAttribute("id");this.offCanvasTriggers=this.findOffCanvasElements("[data-offcanvas-trigger]",!1,C),this.offCanvasCloseBtns=this.findOffCanvasElements("[data-offcanvas-close]",!0,C,this.offCanvasElement),this.backdrop=d||this.offCanvasElement.dataset.offcanvasBackdrop||"",this.teleporter=H(this.offCanvasElement,document.body,"move"),this.setupOffcanvas(),this.moveElOnInit(),c.register("offcanvas",this.offCanvasElement,this)}findOffCanvasElements(e,s,n,a){return s?m(`${e}`,a):m(`${e}[data-target=${n}]`)}setupAttributes(){this.offCanvasElement.hasAttribute("data-fx-offcanvas")||this.offCanvasElement.setAttribute("data-fx-offcanvas","")}openOffCanvas(){var e,s,n,a;(s=(e=this.options).beforeShow)==null||s.call(e),R(this.offCanvasElement),y(this.offCanvasElement,this.allowBodyScroll,"open");let i=this.offCanvasElement.getAttribute("id"),l=M(this.backdrop,i);l instanceof HTMLElement&&(A({newElement:l,existingElement:this.offCanvasElement}),this.staticBackdrop||l.addEventListener("click",this.closeOffCanvas)),document.addEventListener("keydown",this.closeWithEsc),(a=(n=this.options).onShow)==null||a.call(n),p(this.offCanvasElement,"offcanvas-open",{offcanvasId:this.offCanvasElement.id})}initCloseBtns(){for(let e of this.offCanvasCloseBtns)e.addEventListener("click",this.closeOffCanvas)}initTriggers(){for(let e of this.offCanvasTriggers)e.addEventListener("click",this.changeState)}setupOffcanvas(){this.initTriggers(),this.initCloseBtns()}open(){this.openOffCanvas()}close(){this.closeOffCanvas()}cleanup(){for(let e of this.offCanvasTriggers)e.removeEventListener("click",this.changeState);for(let e of this.offCanvasCloseBtns)e.removeEventListener("click",this.closeOffCanvas);document.removeEventListener("keydown",this.closeWithEsc),this.allowBodyScroll||document.removeEventListener("click",this.closeWhenClickOutSide),c.removeInstance("offcanvas",this.offCanvasElement)}};o(f,"autoInit",(t="[data-fx-offcanvas]")=>{let e=m(t);for(let s of e)new f(s)}),o(f,"init",(t,e={})=>new f(t,e));var L=f;function q(t){t.directive("offcanvas",(e,{},{cleanup:s})=>{let n=e.getAttribute("id");if(!n){console.error("\u274C id is required but missing on element:",e);return}let a=new L(e);t.store("sheets")||t.store("sheets",{}),t.store("sheets")[n]=a;let i=()=>a.open(),l=()=>a.close();document.addEventListener(`sheet:${n}:open`,i),document.addEventListener(`sheet:${n}:close`,l),s(()=>{document.removeEventListener(`sheet:${n}:open`,i),document.removeEventListener(`sheet:${n}:close`,l),a.cleanup(),delete t.store("sheets")[n]})}),t.magic("offcanvas",e=>s=>t.store("sheets")?t.store("sheets")[s]?t.store("sheets")[s]:(console.warn(`\u26A0\uFE0F No offcanvas instance found for ID: ${s}`),null):(console.warn("\u26A0\uFE0F Alpine store for Offcanvas is not initialized."),null))}var O=q;document.addEventListener("alpine:init",()=>{O(window.Alpine)});})();
1
+ (()=>{var I=Object.defineProperty,A=(t,e,s)=>e in t?I(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s,o=(t,e,s)=>A(t,typeof e!="symbol"?e+"":e,s),E=(t,e=document.body)=>e.querySelector(t),m=(t,e=document.body)=>Array.from(e.querySelectorAll(t)),S=({newElement:t,existingElement:e})=>{if(!(t instanceof HTMLElement)||!(e instanceof HTMLElement))throw new Error("Both parameters must be valid HTML elements.");let s=e.parentElement;if(s)s.insertBefore(t,e);else throw new Error("Existing element must have a parent element.")},T=({element:t,callback:e,type:s,keysCheck:n})=>{let a=getComputedStyle(t),i=a.transition;if(i!=="none"&&i!==""&&!n.includes(i)){let l="transitionend",d=()=>{t.removeEventListener(l,d),e()};t.addEventListener(l,d,{once:!0})}else e()},$=({element:t,callback:e})=>{T({element:t,callback:e,type:"transition",keysCheck:["all 0s ease 0s","all"]})},p=(t,e,s)=>{let n=new CustomEvent(e,{detail:s});t.dispatchEvent(n)};function H(t){let e=()=>{document.querySelector("[data-fx-component]:not([data-component-initialized])")?requestAnimationFrame(e):t()};e()}function N(t,e,s="move"){if(!(t instanceof HTMLElement))throw new Error("Source element must be an HTMLElement");if(!(e instanceof HTMLElement))throw new Error("Target element must be an HTMLElement");if(!["move","detachable"].includes(s))throw new Error(`Invalid teleport mode: ${s}. Must be "move" or "detachable".`);let n=document.createComment("teleporter-placeholder"),a=t.parentNode;return a?a.insertBefore(n,t):console.warn("Element has no parent; placeholder not inserted."),s==="move"?(t.parentNode&&e.appendChild(t),{append(){t.parentNode!==e&&e.appendChild(t)},remove(){n!=null&&n.parentNode&&t.parentNode&&n.parentNode.insertBefore(t,n)},restore(){n!=null&&n.parentNode&&t.parentNode!==a&&n.parentNode.insertBefore(t,n)}}):(t.parentNode&&e.appendChild(t),{append(){e.contains(t)||e.appendChild(t)},remove(){t.parentNode&&t.remove()},restore(){n!=null&&n.parentNode&&!t.parentNode&&n.parentNode.insertBefore(t,n)}})}var M=t=>{var e;return(e=t.parentElement)==null?void 0:e.removeChild(t)},k=t=>{t.setAttribute("data-state","invisible"),$({element:t,callback(){M(t)}})},W=(t,e)=>{let s=t;if(s===""||!s)return;let n=document.createElement("div");if(n.setAttribute("aria-hidden","true"),n.setAttribute("data-state","visible"),n.setAttribute("data-fx-offcanvas-overlay",""),n.setAttribute("data-offcanvas-el",e),s==="")return;let a=s.split(" ");return s!==""&&n.classList.add(...a),n},y=(t,e,s)=>{t.setAttribute("aria-hidden",s==="open"?"false":"true"),t.setAttribute("data-state",s),e||z(s)},z=t=>{document.body.style.overflow=t==="open"?"hidden":"",document.body.style.overflowY=t==="open"?"hidden":"auto"},q=(t,e)=>{if(t===e)return;t.setAttribute("aria-hidden","true"),t.setAttribute("data-state","close");let s=E(`[data-fx-offcanvas-overlay][data-offcanvas-el=${t.getAttribute("id")}]`,t.parentElement);s instanceof HTMLElement&&k(s)},G=t=>{let e=m("[data-fx-offcanvas][data-state=open]");if(!(e.length<=0))for(let s of e)q(s,t)},f=class{static initGlobalRegistry(){window.$flexillaInstances||(window.$flexillaInstances={})}static register(e,s,n){return this.initGlobalRegistry(),window.$flexillaInstances[e]||(window.$flexillaInstances[e]=[]),this.getInstance(e,s)||(window.$flexillaInstances[e].push({element:s,instance:n}),n)}static getInstance(e,s){var n,a;return this.initGlobalRegistry(),(a=(n=window.$flexillaInstances[e])==null?void 0:n.find(i=>i.element===s))==null?void 0:a.instance}static removeInstance(e,s){this.initGlobalRegistry(),window.$flexillaInstances[e]&&(window.$flexillaInstances[e]=window.$flexillaInstances[e].filter(n=>n.element!==s))}static setup(e){e.setAttribute("data-fx-component","fx")}static initialized(e){e.setAttribute("data-component-initialized","initialized")}},c=class{constructor(e,s={}){o(this,"offCanvasElement"),o(this,"offCanvasTriggers"),o(this,"offCanvasCloseBtns"),o(this,"allowBodyScroll"),o(this,"staticBackdrop"),o(this,"backdrop"),o(this,"options"),o(this,"teleporter"),o(this,"moveElOnInit",()=>{H(()=>this.teleporter.append())}),o(this,"closeWhenClickOutSide",r=>{let v=this.offCanvasElement.getAttribute("data-state")==="open",h=!this.offCanvasElement.contains(r.target)&&![...this.offCanvasTriggers].includes(r.target);v&&h&&this.closeOffCanvas()}),o(this,"closeOffCanvas",()=>{var r,v,h,b,w;let g=!1;if(p(this.offCanvasElement,"offcanvas-before-hide",{offcanvasId:this.offCanvasElement.id,setExitAction:x=>{g=x}}),((h=(v=(r=this.options).beforeHide)==null?void 0:v.call(r))==null?void 0:h.cancelAction)||g)return;let B=this.offCanvasElement.getAttribute("id"),u=E(`[data-fx-offcanvas-overlay][data-offcanvas-el=${B}]`);u instanceof HTMLElement&&k(u),this.offCanvasElement.blur(),y(this.offCanvasElement,this.allowBodyScroll,"close"),document.removeEventListener("keydown",this.closeWithEsc),!this.allowBodyScroll&&!u&&document.removeEventListener("click",this.closeWhenClickOutSide),(w=(b=this.options).onHide)==null||w.call(b),p(this.offCanvasElement,"offcanvas-close",{offcanvasId:this.offCanvasElement.id})}),o(this,"closeWithEsc",r=>{r.key==="Escape"&&(r.preventDefault(),this.closeOffCanvas())}),o(this,"changeState",()=>{this.offCanvasElement.getAttribute("data-state")==="open"?this.closeOffCanvas():this.openOffCanvas()}),o(this,"setOptions",({allowBodyscroll:r})=>{r!==void 0&&(this.allowBodyScroll=r)});let n=typeof e=="string"?E(e):e;if(!(n instanceof HTMLElement))throw new Error("Invalid Offcanvas, the provided Element is not a valid HTMLElement");this.offCanvasElement=n;let a=f.getInstance("offcanvas",n);if(a)return a;f.setup(this.offCanvasElement),this.options=s;let{staticBackdrop:i,allowBodyScroll:l,backdrop:d}=this.options;this.setupAttributes(),this.staticBackdrop=i||n.hasAttribute("data-static-backdrop")&&n.dataset.staticBackdrop!=="false"||!1,this.allowBodyScroll=l||n.hasAttribute("data-allow-body-scroll")&&n.dataset.allowBodyScroll!=="false"||!1;let C=this.offCanvasElement.getAttribute("id");this.offCanvasTriggers=this.findOffCanvasElements("[data-offcanvas-trigger]",!1,C),this.offCanvasCloseBtns=this.findOffCanvasElements("[data-offcanvas-close]",!0,C,this.offCanvasElement),this.backdrop=d||this.offCanvasElement.dataset.offcanvasBackdrop||"",this.teleporter=N(this.offCanvasElement,document.body,"move"),this.setupOffcanvas(),this.moveElOnInit(),f.register("offcanvas",this.offCanvasElement,this),f.initialized(this.offCanvasElement)}findOffCanvasElements(e,s,n,a){return s?m(`${e}`,a):m(`${e}[data-target=${n}]`)}setupAttributes(){this.offCanvasElement.hasAttribute("data-fx-offcanvas")||this.offCanvasElement.setAttribute("data-fx-offcanvas","")}openOffCanvas(){var e,s,n,a;(s=(e=this.options).beforeShow)==null||s.call(e),G(this.offCanvasElement),y(this.offCanvasElement,this.allowBodyScroll,"open");let i=this.offCanvasElement.getAttribute("id"),l=W(this.backdrop,i);l instanceof HTMLElement&&(S({newElement:l,existingElement:this.offCanvasElement}),this.staticBackdrop||l.addEventListener("click",this.closeOffCanvas)),document.addEventListener("keydown",this.closeWithEsc),(a=(n=this.options).onShow)==null||a.call(n),p(this.offCanvasElement,"offcanvas-open",{offcanvasId:this.offCanvasElement.id})}initCloseBtns(){for(let e of this.offCanvasCloseBtns)e.addEventListener("click",this.closeOffCanvas)}initTriggers(){for(let e of this.offCanvasTriggers)e.addEventListener("click",this.changeState)}setupOffcanvas(){this.initTriggers(),this.initCloseBtns()}open(){this.openOffCanvas()}close(){this.closeOffCanvas()}cleanup(){for(let e of this.offCanvasTriggers)e.removeEventListener("click",this.changeState);for(let e of this.offCanvasCloseBtns)e.removeEventListener("click",this.closeOffCanvas);document.removeEventListener("keydown",this.closeWithEsc),this.allowBodyScroll||document.removeEventListener("click",this.closeWhenClickOutSide),f.removeInstance("offcanvas",this.offCanvasElement)}};o(c,"autoInit",(t="[data-fx-offcanvas]")=>{let e=m(t);for(let s of e)new c(s)}),o(c,"init",(t,e={})=>new c(t,e));var L=c;function R(t){t.directive("offcanvas",(e,{},{cleanup:s})=>{let n=e.getAttribute("id");if(!n){console.error("\u274C id is required but missing on element:",e);return}let a=new L(e);t.store("sheets")||t.store("sheets",{}),t.store("sheets")[n]=a;let i=()=>a.open(),l=()=>a.close();document.addEventListener(`sheet:${n}:open`,i),document.addEventListener(`sheet:${n}:close`,l),s(()=>{document.removeEventListener(`sheet:${n}:open`,i),document.removeEventListener(`sheet:${n}:close`,l),a.cleanup(),delete t.store("sheets")[n]})}),t.magic("offcanvas",e=>s=>t.store("sheets")?t.store("sheets")[s]?t.store("sheets")[s]:(console.warn(`\u26A0\uFE0F No offcanvas instance found for ID: ${s}`),null):(console.warn("\u26A0\uFE0F Alpine store for Offcanvas is not initialized."),null))}var O=R;document.addEventListener("alpine:init",()=>{O(window.Alpine)});})();
@@ -24,11 +24,11 @@ __export(module_exports, {
24
24
  module.exports = __toCommonJS(module_exports);
25
25
 
26
26
  // ../../node_modules/@flexilla/offcanvas/dist/offcanvas.js
27
- var w = Object.defineProperty;
28
- var b = (t, e, n) => e in t ? w(t, e, { enumerable: true, configurable: true, writable: true, value: n }) : t[e] = n;
29
- var o = (t, e, n) => b(t, typeof e != "symbol" ? e + "" : e, n);
27
+ var g = Object.defineProperty;
28
+ var w = (t, e, n) => e in t ? g(t, e, { enumerable: true, configurable: true, writable: true, value: n }) : t[e] = n;
29
+ var o = (t, e, n) => w(t, typeof e != "symbol" ? e + "" : e, n);
30
30
  var m = (t, e = document.body) => e.querySelector(t);
31
- var d = (t, e = document.body) => Array.from(e.querySelectorAll(t));
31
+ var v = (t, e = document.body) => Array.from(e.querySelectorAll(t));
32
32
  var y = ({
33
33
  newElement: t,
34
34
  existingElement: e
@@ -67,10 +67,18 @@ var O = ({
67
67
  keysCheck: ["all 0s ease 0s", "all"]
68
68
  });
69
69
  };
70
- var v = (t, e, n) => {
70
+ var h = (t, e, n) => {
71
71
  const s = new CustomEvent(e, { detail: n });
72
72
  t.dispatchEvent(s);
73
73
  };
74
+ function A(t) {
75
+ const e = () => {
76
+ document.querySelector(
77
+ "[data-fx-component]:not([data-component-initialized])"
78
+ ) ? requestAnimationFrame(e) : t();
79
+ };
80
+ e();
81
+ }
74
82
  function B(t, e, n = "move") {
75
83
  if (!(t instanceof HTMLElement))
76
84
  throw new Error("Source element must be an HTMLElement");
@@ -102,7 +110,7 @@ function B(t, e, n = "move") {
102
110
  }
103
111
  });
104
112
  }
105
- var A = (t) => {
113
+ var S = (t) => {
106
114
  var e;
107
115
  return (e = t.parentElement) == null ? void 0 : e.removeChild(t);
108
116
  };
@@ -110,11 +118,11 @@ var C = (t) => {
110
118
  t.setAttribute("data-state", "invisible"), O({
111
119
  element: t,
112
120
  callback() {
113
- A(t);
121
+ S(t);
114
122
  }
115
123
  });
116
124
  };
117
- var L = (t, e) => {
125
+ var x = (t, e) => {
118
126
  const n = t;
119
127
  if (n === "" || !n)
120
128
  return;
@@ -125,9 +133,9 @@ var L = (t, e) => {
125
133
  return n !== "" && s.classList.add(...a), s;
126
134
  };
127
135
  var u = (t, e, n) => {
128
- t.setAttribute("aria-hidden", n === "open" ? "false" : "true"), t.setAttribute("data-state", n), e || S(n);
136
+ t.setAttribute("aria-hidden", n === "open" ? "false" : "true"), t.setAttribute("data-state", n), e || L(n);
129
137
  };
130
- var S = (t) => {
138
+ var L = (t) => {
131
139
  document.body.style.overflow = t === "open" ? "hidden" : "", document.body.style.overflowY = t === "open" ? "hidden" : "auto";
132
140
  };
133
141
  var I = (t, e) => {
@@ -137,13 +145,13 @@ var I = (t, e) => {
137
145
  const n = m(`[data-fx-offcanvas-overlay][data-offcanvas-el=${t.getAttribute("id")}]`, t.parentElement);
138
146
  n instanceof HTMLElement && C(n);
139
147
  };
140
- var x = (t) => {
141
- const e = d("[data-fx-offcanvas][data-state=open]");
148
+ var T = (t) => {
149
+ const e = v("[data-fx-offcanvas][data-state=open]");
142
150
  if (!(e.length <= 0))
143
151
  for (const n of e)
144
152
  I(n, t);
145
153
  };
146
- var h = class {
154
+ var d = class {
147
155
  static initGlobalRegistry() {
148
156
  window.$flexillaInstances || (window.$flexillaInstances = {});
149
157
  }
@@ -161,6 +169,12 @@ var h = class {
161
169
  (s) => s.element !== n
162
170
  ));
163
171
  }
172
+ static setup(e) {
173
+ e.setAttribute("data-fx-component", "fx");
174
+ }
175
+ static initialized(e) {
176
+ e.setAttribute("data-component-initialized", "initialized");
177
+ }
164
178
  };
165
179
  var f = class f2 {
166
180
  /**
@@ -190,7 +204,7 @@ var f = class f2 {
190
204
  o(this, "options");
191
205
  o(this, "teleporter");
192
206
  o(this, "moveElOnInit", () => {
193
- this.teleporter.append();
207
+ A(() => this.teleporter.append());
194
208
  });
195
209
  o(this, "closeWhenClickOutSide", (e2) => {
196
210
  const n2 = this.offCanvasElement.getAttribute("data-state") === "open", s2 = !this.offCanvasElement.contains(e2.target) && ![...this.offCanvasTriggers].includes(e2.target);
@@ -199,19 +213,19 @@ var f = class f2 {
199
213
  o(this, "closeOffCanvas", () => {
200
214
  var i2, l2, r2, c2, p;
201
215
  let e2 = false;
202
- if (v(this.offCanvasElement, "offcanvas-before-hide", {
216
+ if (h(this.offCanvasElement, "offcanvas-before-hide", {
203
217
  offcanvasId: this.offCanvasElement.id,
204
- setExitAction: (g) => {
205
- e2 = g;
218
+ setExitAction: (b) => {
219
+ e2 = b;
206
220
  }
207
221
  }), ((r2 = (l2 = (i2 = this.options).beforeHide) == null ? void 0 : l2.call(i2)) == null ? void 0 : r2.cancelAction) || e2)
208
222
  return;
209
223
  const s2 = this.offCanvasElement.getAttribute("id"), a2 = m(`[data-fx-offcanvas-overlay][data-offcanvas-el=${s2}]`);
210
- a2 instanceof HTMLElement && C(a2), u(
224
+ a2 instanceof HTMLElement && C(a2), this.offCanvasElement.blur(), u(
211
225
  this.offCanvasElement,
212
226
  this.allowBodyScroll,
213
227
  "close"
214
- ), document.removeEventListener("keydown", this.closeWithEsc), !this.allowBodyScroll && !a2 && document.removeEventListener("click", this.closeWhenClickOutSide), (p = (c2 = this.options).onHide) == null || p.call(c2), v(this.offCanvasElement, "offcanvas-close", { offcanvasId: this.offCanvasElement.id });
228
+ ), document.removeEventListener("keydown", this.closeWithEsc), !this.allowBodyScroll && !a2 && document.removeEventListener("click", this.closeWhenClickOutSide), (p = (c2 = this.options).onHide) == null || p.call(c2), h(this.offCanvasElement, "offcanvas-close", { offcanvasId: this.offCanvasElement.id });
215
229
  });
216
230
  o(this, "closeWithEsc", (e2) => {
217
231
  e2.key === "Escape" && (e2.preventDefault(), this.closeOffCanvas());
@@ -225,33 +239,34 @@ var f = class f2 {
225
239
  const s = typeof e == "string" ? m(e) : e;
226
240
  if (!(s instanceof HTMLElement))
227
241
  throw new Error("Invalid Offcanvas, the provided Element is not a valid HTMLElement");
228
- const a = h.getInstance("offcanvas", s);
242
+ this.offCanvasElement = s;
243
+ const a = d.getInstance("offcanvas", s);
229
244
  if (a)
230
245
  return a;
231
- this.options = n;
246
+ d.setup(this.offCanvasElement), this.options = n;
232
247
  const { staticBackdrop: i, allowBodyScroll: l, backdrop: r } = this.options;
233
- this.offCanvasElement = s, this.setupAttributes(), this.staticBackdrop = i || s.hasAttribute("data-static-backdrop") && s.dataset.staticBackdrop !== "false" || false, this.allowBodyScroll = l || s.hasAttribute("data-allow-body-scroll") && s.dataset.allowBodyScroll !== "false" || false;
248
+ this.setupAttributes(), this.staticBackdrop = i || s.hasAttribute("data-static-backdrop") && s.dataset.staticBackdrop !== "false" || false, this.allowBodyScroll = l || s.hasAttribute("data-allow-body-scroll") && s.dataset.allowBodyScroll !== "false" || false;
234
249
  const c = this.offCanvasElement.getAttribute("id");
235
- this.offCanvasTriggers = this.findOffCanvasElements("[data-offcanvas-trigger]", false, c), this.offCanvasCloseBtns = this.findOffCanvasElements("[data-offcanvas-close]", true, c, this.offCanvasElement), this.backdrop = r || this.offCanvasElement.dataset.offcanvasBackdrop || "", this.teleporter = B(this.offCanvasElement, document.body, "move"), this.setupOffcanvas(), this.moveElOnInit(), h.register("offcanvas", this.offCanvasElement, this);
250
+ this.offCanvasTriggers = this.findOffCanvasElements("[data-offcanvas-trigger]", false, c), this.offCanvasCloseBtns = this.findOffCanvasElements("[data-offcanvas-close]", true, c, this.offCanvasElement), this.backdrop = r || this.offCanvasElement.dataset.offcanvasBackdrop || "", this.teleporter = B(this.offCanvasElement, document.body, "move"), this.setupOffcanvas(), this.moveElOnInit(), d.register("offcanvas", this.offCanvasElement, this), d.initialized(this.offCanvasElement);
236
251
  }
237
252
  findOffCanvasElements(e, n, s, a) {
238
- return n ? d(`${e}`, a) : d(`${e}[data-target=${s}]`);
253
+ return n ? v(`${e}`, a) : v(`${e}[data-target=${s}]`);
239
254
  }
240
255
  setupAttributes() {
241
256
  this.offCanvasElement.hasAttribute("data-fx-offcanvas") || this.offCanvasElement.setAttribute("data-fx-offcanvas", "");
242
257
  }
243
258
  openOffCanvas() {
244
259
  var s, a, i, l;
245
- (a = (s = this.options).beforeShow) == null || a.call(s), x(this.offCanvasElement), u(
260
+ (a = (s = this.options).beforeShow) == null || a.call(s), T(this.offCanvasElement), u(
246
261
  this.offCanvasElement,
247
262
  this.allowBodyScroll,
248
263
  "open"
249
264
  );
250
- const e = this.offCanvasElement.getAttribute("id"), n = L(
265
+ const e = this.offCanvasElement.getAttribute("id"), n = x(
251
266
  this.backdrop,
252
267
  e
253
268
  );
254
- n instanceof HTMLElement && (y({ newElement: n, existingElement: this.offCanvasElement }), this.staticBackdrop || n.addEventListener("click", this.closeOffCanvas)), document.addEventListener("keydown", this.closeWithEsc), (l = (i = this.options).onShow) == null || l.call(i), v(this.offCanvasElement, "offcanvas-open", { offcanvasId: this.offCanvasElement.id });
269
+ n instanceof HTMLElement && (y({ newElement: n, existingElement: this.offCanvasElement }), this.staticBackdrop || n.addEventListener("click", this.closeOffCanvas)), document.addEventListener("keydown", this.closeWithEsc), (l = (i = this.options).onShow) == null || l.call(i), h(this.offCanvasElement, "offcanvas-open", { offcanvasId: this.offCanvasElement.id });
255
270
  }
256
271
  initCloseBtns() {
257
272
  for (const e of this.offCanvasCloseBtns)
@@ -305,11 +320,11 @@ var f = class f2 {
305
320
  e.removeEventListener("click", this.changeState);
306
321
  for (const e of this.offCanvasCloseBtns)
307
322
  e.removeEventListener("click", this.closeOffCanvas);
308
- document.removeEventListener("keydown", this.closeWithEsc), this.allowBodyScroll || document.removeEventListener("click", this.closeWhenClickOutSide), h.removeInstance("offcanvas", this.offCanvasElement);
323
+ document.removeEventListener("keydown", this.closeWithEsc), this.allowBodyScroll || document.removeEventListener("click", this.closeWhenClickOutSide), d.removeInstance("offcanvas", this.offCanvasElement);
309
324
  }
310
325
  };
311
326
  o(f, "autoInit", (e = "[data-fx-offcanvas]") => {
312
- const n = d(e);
327
+ const n = v(e);
313
328
  for (const s of n)
314
329
  new f(s);
315
330
  }), /**
@@ -1,9 +1,9 @@
1
1
  // ../../node_modules/@flexilla/offcanvas/dist/offcanvas.js
2
- var w = Object.defineProperty;
3
- var b = (t, e, n) => e in t ? w(t, e, { enumerable: true, configurable: true, writable: true, value: n }) : t[e] = n;
4
- var o = (t, e, n) => b(t, typeof e != "symbol" ? e + "" : e, n);
2
+ var g = Object.defineProperty;
3
+ var w = (t, e, n) => e in t ? g(t, e, { enumerable: true, configurable: true, writable: true, value: n }) : t[e] = n;
4
+ var o = (t, e, n) => w(t, typeof e != "symbol" ? e + "" : e, n);
5
5
  var m = (t, e = document.body) => e.querySelector(t);
6
- var d = (t, e = document.body) => Array.from(e.querySelectorAll(t));
6
+ var v = (t, e = document.body) => Array.from(e.querySelectorAll(t));
7
7
  var y = ({
8
8
  newElement: t,
9
9
  existingElement: e
@@ -42,10 +42,18 @@ var O = ({
42
42
  keysCheck: ["all 0s ease 0s", "all"]
43
43
  });
44
44
  };
45
- var v = (t, e, n) => {
45
+ var h = (t, e, n) => {
46
46
  const s = new CustomEvent(e, { detail: n });
47
47
  t.dispatchEvent(s);
48
48
  };
49
+ function A(t) {
50
+ const e = () => {
51
+ document.querySelector(
52
+ "[data-fx-component]:not([data-component-initialized])"
53
+ ) ? requestAnimationFrame(e) : t();
54
+ };
55
+ e();
56
+ }
49
57
  function B(t, e, n = "move") {
50
58
  if (!(t instanceof HTMLElement))
51
59
  throw new Error("Source element must be an HTMLElement");
@@ -77,7 +85,7 @@ function B(t, e, n = "move") {
77
85
  }
78
86
  });
79
87
  }
80
- var A = (t) => {
88
+ var S = (t) => {
81
89
  var e;
82
90
  return (e = t.parentElement) == null ? void 0 : e.removeChild(t);
83
91
  };
@@ -85,11 +93,11 @@ var C = (t) => {
85
93
  t.setAttribute("data-state", "invisible"), O({
86
94
  element: t,
87
95
  callback() {
88
- A(t);
96
+ S(t);
89
97
  }
90
98
  });
91
99
  };
92
- var L = (t, e) => {
100
+ var x = (t, e) => {
93
101
  const n = t;
94
102
  if (n === "" || !n)
95
103
  return;
@@ -100,9 +108,9 @@ var L = (t, e) => {
100
108
  return n !== "" && s.classList.add(...a), s;
101
109
  };
102
110
  var u = (t, e, n) => {
103
- t.setAttribute("aria-hidden", n === "open" ? "false" : "true"), t.setAttribute("data-state", n), e || S(n);
111
+ t.setAttribute("aria-hidden", n === "open" ? "false" : "true"), t.setAttribute("data-state", n), e || L(n);
104
112
  };
105
- var S = (t) => {
113
+ var L = (t) => {
106
114
  document.body.style.overflow = t === "open" ? "hidden" : "", document.body.style.overflowY = t === "open" ? "hidden" : "auto";
107
115
  };
108
116
  var I = (t, e) => {
@@ -112,13 +120,13 @@ var I = (t, e) => {
112
120
  const n = m(`[data-fx-offcanvas-overlay][data-offcanvas-el=${t.getAttribute("id")}]`, t.parentElement);
113
121
  n instanceof HTMLElement && C(n);
114
122
  };
115
- var x = (t) => {
116
- const e = d("[data-fx-offcanvas][data-state=open]");
123
+ var T = (t) => {
124
+ const e = v("[data-fx-offcanvas][data-state=open]");
117
125
  if (!(e.length <= 0))
118
126
  for (const n of e)
119
127
  I(n, t);
120
128
  };
121
- var h = class {
129
+ var d = class {
122
130
  static initGlobalRegistry() {
123
131
  window.$flexillaInstances || (window.$flexillaInstances = {});
124
132
  }
@@ -136,6 +144,12 @@ var h = class {
136
144
  (s) => s.element !== n
137
145
  ));
138
146
  }
147
+ static setup(e) {
148
+ e.setAttribute("data-fx-component", "fx");
149
+ }
150
+ static initialized(e) {
151
+ e.setAttribute("data-component-initialized", "initialized");
152
+ }
139
153
  };
140
154
  var f = class f2 {
141
155
  /**
@@ -165,7 +179,7 @@ var f = class f2 {
165
179
  o(this, "options");
166
180
  o(this, "teleporter");
167
181
  o(this, "moveElOnInit", () => {
168
- this.teleporter.append();
182
+ A(() => this.teleporter.append());
169
183
  });
170
184
  o(this, "closeWhenClickOutSide", (e2) => {
171
185
  const n2 = this.offCanvasElement.getAttribute("data-state") === "open", s2 = !this.offCanvasElement.contains(e2.target) && ![...this.offCanvasTriggers].includes(e2.target);
@@ -174,19 +188,19 @@ var f = class f2 {
174
188
  o(this, "closeOffCanvas", () => {
175
189
  var i2, l2, r2, c2, p;
176
190
  let e2 = false;
177
- if (v(this.offCanvasElement, "offcanvas-before-hide", {
191
+ if (h(this.offCanvasElement, "offcanvas-before-hide", {
178
192
  offcanvasId: this.offCanvasElement.id,
179
- setExitAction: (g) => {
180
- e2 = g;
193
+ setExitAction: (b) => {
194
+ e2 = b;
181
195
  }
182
196
  }), ((r2 = (l2 = (i2 = this.options).beforeHide) == null ? void 0 : l2.call(i2)) == null ? void 0 : r2.cancelAction) || e2)
183
197
  return;
184
198
  const s2 = this.offCanvasElement.getAttribute("id"), a2 = m(`[data-fx-offcanvas-overlay][data-offcanvas-el=${s2}]`);
185
- a2 instanceof HTMLElement && C(a2), u(
199
+ a2 instanceof HTMLElement && C(a2), this.offCanvasElement.blur(), u(
186
200
  this.offCanvasElement,
187
201
  this.allowBodyScroll,
188
202
  "close"
189
- ), document.removeEventListener("keydown", this.closeWithEsc), !this.allowBodyScroll && !a2 && document.removeEventListener("click", this.closeWhenClickOutSide), (p = (c2 = this.options).onHide) == null || p.call(c2), v(this.offCanvasElement, "offcanvas-close", { offcanvasId: this.offCanvasElement.id });
203
+ ), document.removeEventListener("keydown", this.closeWithEsc), !this.allowBodyScroll && !a2 && document.removeEventListener("click", this.closeWhenClickOutSide), (p = (c2 = this.options).onHide) == null || p.call(c2), h(this.offCanvasElement, "offcanvas-close", { offcanvasId: this.offCanvasElement.id });
190
204
  });
191
205
  o(this, "closeWithEsc", (e2) => {
192
206
  e2.key === "Escape" && (e2.preventDefault(), this.closeOffCanvas());
@@ -200,33 +214,34 @@ var f = class f2 {
200
214
  const s = typeof e == "string" ? m(e) : e;
201
215
  if (!(s instanceof HTMLElement))
202
216
  throw new Error("Invalid Offcanvas, the provided Element is not a valid HTMLElement");
203
- const a = h.getInstance("offcanvas", s);
217
+ this.offCanvasElement = s;
218
+ const a = d.getInstance("offcanvas", s);
204
219
  if (a)
205
220
  return a;
206
- this.options = n;
221
+ d.setup(this.offCanvasElement), this.options = n;
207
222
  const { staticBackdrop: i, allowBodyScroll: l, backdrop: r } = this.options;
208
- this.offCanvasElement = s, this.setupAttributes(), this.staticBackdrop = i || s.hasAttribute("data-static-backdrop") && s.dataset.staticBackdrop !== "false" || false, this.allowBodyScroll = l || s.hasAttribute("data-allow-body-scroll") && s.dataset.allowBodyScroll !== "false" || false;
223
+ this.setupAttributes(), this.staticBackdrop = i || s.hasAttribute("data-static-backdrop") && s.dataset.staticBackdrop !== "false" || false, this.allowBodyScroll = l || s.hasAttribute("data-allow-body-scroll") && s.dataset.allowBodyScroll !== "false" || false;
209
224
  const c = this.offCanvasElement.getAttribute("id");
210
- this.offCanvasTriggers = this.findOffCanvasElements("[data-offcanvas-trigger]", false, c), this.offCanvasCloseBtns = this.findOffCanvasElements("[data-offcanvas-close]", true, c, this.offCanvasElement), this.backdrop = r || this.offCanvasElement.dataset.offcanvasBackdrop || "", this.teleporter = B(this.offCanvasElement, document.body, "move"), this.setupOffcanvas(), this.moveElOnInit(), h.register("offcanvas", this.offCanvasElement, this);
225
+ this.offCanvasTriggers = this.findOffCanvasElements("[data-offcanvas-trigger]", false, c), this.offCanvasCloseBtns = this.findOffCanvasElements("[data-offcanvas-close]", true, c, this.offCanvasElement), this.backdrop = r || this.offCanvasElement.dataset.offcanvasBackdrop || "", this.teleporter = B(this.offCanvasElement, document.body, "move"), this.setupOffcanvas(), this.moveElOnInit(), d.register("offcanvas", this.offCanvasElement, this), d.initialized(this.offCanvasElement);
211
226
  }
212
227
  findOffCanvasElements(e, n, s, a) {
213
- return n ? d(`${e}`, a) : d(`${e}[data-target=${s}]`);
228
+ return n ? v(`${e}`, a) : v(`${e}[data-target=${s}]`);
214
229
  }
215
230
  setupAttributes() {
216
231
  this.offCanvasElement.hasAttribute("data-fx-offcanvas") || this.offCanvasElement.setAttribute("data-fx-offcanvas", "");
217
232
  }
218
233
  openOffCanvas() {
219
234
  var s, a, i, l;
220
- (a = (s = this.options).beforeShow) == null || a.call(s), x(this.offCanvasElement), u(
235
+ (a = (s = this.options).beforeShow) == null || a.call(s), T(this.offCanvasElement), u(
221
236
  this.offCanvasElement,
222
237
  this.allowBodyScroll,
223
238
  "open"
224
239
  );
225
- const e = this.offCanvasElement.getAttribute("id"), n = L(
240
+ const e = this.offCanvasElement.getAttribute("id"), n = x(
226
241
  this.backdrop,
227
242
  e
228
243
  );
229
- n instanceof HTMLElement && (y({ newElement: n, existingElement: this.offCanvasElement }), this.staticBackdrop || n.addEventListener("click", this.closeOffCanvas)), document.addEventListener("keydown", this.closeWithEsc), (l = (i = this.options).onShow) == null || l.call(i), v(this.offCanvasElement, "offcanvas-open", { offcanvasId: this.offCanvasElement.id });
244
+ n instanceof HTMLElement && (y({ newElement: n, existingElement: this.offCanvasElement }), this.staticBackdrop || n.addEventListener("click", this.closeOffCanvas)), document.addEventListener("keydown", this.closeWithEsc), (l = (i = this.options).onShow) == null || l.call(i), h(this.offCanvasElement, "offcanvas-open", { offcanvasId: this.offCanvasElement.id });
230
245
  }
231
246
  initCloseBtns() {
232
247
  for (const e of this.offCanvasCloseBtns)
@@ -280,11 +295,11 @@ var f = class f2 {
280
295
  e.removeEventListener("click", this.changeState);
281
296
  for (const e of this.offCanvasCloseBtns)
282
297
  e.removeEventListener("click", this.closeOffCanvas);
283
- document.removeEventListener("keydown", this.closeWithEsc), this.allowBodyScroll || document.removeEventListener("click", this.closeWhenClickOutSide), h.removeInstance("offcanvas", this.offCanvasElement);
298
+ document.removeEventListener("keydown", this.closeWithEsc), this.allowBodyScroll || document.removeEventListener("click", this.closeWhenClickOutSide), d.removeInstance("offcanvas", this.offCanvasElement);
284
299
  }
285
300
  };
286
301
  o(f, "autoInit", (e = "[data-fx-offcanvas]") => {
287
- const n = d(e);
302
+ const n = v(e);
288
303
  for (const s of n)
289
304
  new f(s);
290
305
  }), /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flexilla/alpine-offcanvas",
3
- "version": "0.1.2",
3
+ "version": "0.2.0",
4
4
  "description": "AlpineJS plugin for adding offcanvas functionality to your AlpineJS components",
5
5
  "type": "module",
6
6
  "private": false,
@@ -61,7 +61,7 @@
61
61
  ],
62
62
  "dependencies": {
63
63
  "@flexilla/alpine-offcanvas": "^0.0.3",
64
- "@flexilla/offcanvas": "^2.1.1"
64
+ "@flexilla/offcanvas": "^2.1.4"
65
65
  },
66
- "gitHead": "869394b528d21d4842486a7396449aa9fbe3cbcb"
66
+ "gitHead": "9ac916234e8bb129724224819f3b59420b34081f"
67
67
  }