@ramstack/alpinegear-main 1.1.0-preview.6 → 1.1.1

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
@@ -11,7 +11,7 @@ To include the CDN version of this plugin, add the following `<script>` tag befo
11
11
 
12
12
  ```html
13
13
  <!-- alpine.js plugin -->
14
- <script src="https://cdn.jsdelivr.net/npm/@ramstack/alpinegear-main@1/dist/alpinegear-main.min.js" defer></script>
14
+ <script src="https://cdn.jsdelivr.net/npm/@ramstack/alpinegear-main@1/alpinegear-main.min.js" defer></script>
15
15
 
16
16
  <!-- alpine.js -->
17
17
  <script src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js" defer></script>
@@ -38,10 +38,10 @@ function has_setter(value) {
38
38
  }
39
39
 
40
40
  const key = Symbol();
41
- let observable;
41
+ let observer;
42
42
 
43
43
  function observe_resize(el, listener) {
44
- observable ??= new ResizeObserver(entries => {
44
+ observer ??= new ResizeObserver(entries => {
45
45
  for (const e of entries) {
46
46
  for (const callback of e.target[key]?.values() ?? []) {
47
47
  callback(e);
@@ -52,19 +52,19 @@ function observe_resize(el, listener) {
52
52
  el[key] ??= new Set();
53
53
  el[key].add(listener);
54
54
 
55
- observable.observe(el);
55
+ observer.observe(el);
56
56
 
57
57
  return () => {
58
58
  el[key].delete(listener);
59
59
 
60
60
  if (!el[key].size) {
61
- observable.unobserve(el);
61
+ observer.unobserve(el);
62
62
  el[key] = null;
63
63
  }
64
64
  };
65
65
  }
66
66
 
67
- const warn = (...args) => console.warn("alpine-gear.js:", ...args);
67
+ const warn = (...args) => console.warn("alpinegear.js:", ...args);
68
68
  const is_array = Array.isArray;
69
69
  const is_nullish = value => value === null || value === undefined;
70
70
  const is_checkable_input = el => el.type === "checkbox" || el.type === "radio";
@@ -249,12 +249,12 @@ function plugin$5({ directive, entangle, evaluateLater, mapAttributes, mutateDom
249
249
 
250
250
  const source = {
251
251
  get: create_getter(evaluateLater, source_el, expression),
252
- set: create_setter(evaluateLater, source_el, expression),
252
+ set: create_setter(evaluateLater, source_el, expression)
253
253
  };
254
254
 
255
255
  const target = {
256
256
  get: create_getter(evaluateLater, el, value),
257
- set: create_setter(evaluateLater, el, value),
257
+ set: create_setter(evaluateLater, el, value)
258
258
  };
259
259
 
260
260
  switch (modifier) {
@@ -292,14 +292,14 @@ function plugin$5({ directive, entangle, evaluateLater, mapAttributes, mutateDom
292
292
 
293
293
 
294
294
 
295
- queueMicrotask(() => {
295
+ setTimeout(() => {
296
296
 
297
297
 
298
298
  is_nullish(get_value()) && update_variable();
299
299
 
300
300
  effect(() => apply_select_values(el, as_array(get_value() ?? [])));
301
301
  cleanup(listen(el, "change", () => set_value(collect_selected_values(el))));
302
- });
302
+ }, 0);
303
303
 
304
304
  processed = true;
305
305
  break;
@@ -1 +1 @@
1
- function e(e,...t){const n=e(...t);return()=>{let e;return n((t=>e=t)),t=e,"function"==typeof t?.get?e.get():e;var t}}function t(e,...t){const n=e(...t);t[t.length-1]=`${t.at(-1)} = __val`;const o=e(...t);return e=>{let t;n((e=>t=e)),function(e){return"function"==typeof e?.set}(t)?t.set(e):o((()=>{}),{scope:{__val:e}})}}const n=Symbol();let o;const a=(...e)=>console.warn("alpine-gear.js:",...e),r=Array.isArray,c=e=>null==e,i=e=>"checkbox"===e.type||"radio"===e.type,l=e=>e instanceof HTMLTemplateElement,u=e=>e.nodeType===Node.ELEMENT_NODE,s=e=>r(e)?e:[e],d=(e,t)=>e==t,f=(e,t)=>e.findIndex((e=>e==t)),p=(e,t)=>e.includes(t),m=(e,t,n,o)=>(e.addEventListener(t,n,o),()=>e.removeEventListener(t,n,o)),v=e=>"object"==typeof e?JSON.parse(JSON.stringify(e)):e;function h(e,t,n=null){const{effect:o,release:a}=Alpine;let r,c,i=!1;const l=o((()=>{r=e(),i||(n?.deep&&JSON.stringify(r),c=r),(i||(n?.immediate??1))&&setTimeout((()=>{t(r,c),c=r}),0),i=!0}));return()=>a(l)}const b=new Map("value,checked,files,innerHTML,innerText,textContent,videoHeight,videoWidth,naturalHeight,naturalWidth,clientHeight,clientWidth,offsetHeight,offsetWidth,open,group".split(",").map((e=>[e.trim().toLowerCase(),e.trim()])));function g({directive:l,entangle:u,evaluateLater:g,mapAttributes:T,mutateDom:_,prefixed:k}){T((e=>({name:e.name.replace(/^&/,k("bound:")),value:e.value}))),l("bound",((l,{expression:T,value:k,modifiers:x},{effect:N,cleanup:y})=>{if(!k)return void a("x-bound directive expects the presence of a bound property name");const E=l.tagName.toUpperCase();T=T?.trim();const L=b.get(k.trim().replace("-","").toLowerCase());T||=L;const w=e(g,l,T),S=t(g,l,T),D=()=>d(l[L],w())||_((()=>l[L]=w())),H=()=>S((e=>"number"===e.type||"range"===e.type)(l)?function(e){return""===e?null:+e}(l[L]):l[L]);let M;switch(L){case"value":!function(){switch(E){case"INPUT":case"TEXTAREA":c(w())&&H(),N(D),y(m(l,"input",H)),M=!0;break;case"SELECT":queueMicrotask((()=>{c(w())&&H(),N((()=>function(e,t){for(const n of e.options)n.selected=f(t,n.value)>=0}(l,s(w()??[])))),y(m(l,"change",(()=>S(function(e){return e.multiple?[...e.selectedOptions].map((e=>e.value)):e.value}(l)))))})),M=!0}}();break;case"checked":i(l)&&(N(D),y(m(l,"change",H)),M=!0);break;case"files":"file"===l.type&&(y(m(l,"input",H)),M=!0);break;case"innerHTML":case"innerText":case"textContent":"true"===l.contentEditable&&(c(w())&&H(),N(D),y(m(l,"input",H)),M=!0);break;case"videoHeight":case"videoWidth":A("VIDEO","resize");break;case"naturalHeight":case"naturalWidth":A("IMG","load");break;case"clientHeight":case"clientWidth":case"offsetHeight":case"offsetWidth":y(function(e,t){return o??=new ResizeObserver((e=>{for(const t of e)for(const e of t.target[n]?.values()??[])e(t)})),e[n]??=new Set,e[n].add(t),o.observe(e),()=>{e[n].delete(t),e[n].size||(o.unobserve(e),e[n]=null)}}(l,H)),M=!0;break;case"open":"DETAILS"===E&&(c(w())&&H(),N(D),y(m(l,"toggle",H)),M=!0);break;case"group":i(l)&&(l.name||_((()=>l.name=T)),N((()=>_((()=>function(e,t){e.checked=r(t)?f(t,e.value)>=0:d(e.value,t)}(l,w()??[]))))),y(m(l,"input",(()=>S(function(e,t){if("radio"===e.type)return e.value;t=s(t);const n=f(t,e.value);return e.checked?n>=0||t.push(e.value):n>=0&&t.splice(n,1),t}(l,w()))))),M=!0)}if(!M){const n=p(x,"in")?"in":p(x,"out")?"out":"inout",o=T===k?(e=>{for(;e&&!e._x_dataStack;)e=(e._x_teleportBack??e).parentElement;return e})(l.parentNode):l;if(!l._x_dataStack)return void a("x-bound directive requires the presence of the x-data directive to bind component properties");if(!o)return void a(`x-bound directive cannot find the parent scope where the '${k}' property is defined`);const r={get:e(g,o,T),set:t(g,o,T)},c={get:e(g,l,k),set:t(g,l,k)};switch(n){case"in":y(h((()=>r.get()),(e=>c.set(v(e)))));break;case"out":y(h((()=>c.get()),(e=>r.set(v(e)))));break;default:y(u(r,c))}}function A(e,t){E===e&&(H(),y(m(l,t,H)),M=!0)}}))}function T({directive:t,evaluateLater:n,mutateDom:o}){t("format",((t,{modifiers:a},{effect:r})=>{const c=/{{(?<expr>.+?)}}/g,i=p(a,"once");function l(e){i?o((()=>e())):r((()=>o((()=>e()))))}!function t(a){switch(a.nodeType){case Node.TEXT_NODE:!function(t){const a=t.textContent.split(c);if(a.length>1){const r=new DocumentFragment;for(let o=0;a.length>o;o++)if(o%2==0)r.appendChild(document.createTextNode(a[o]));else{const c=e(n,t.parentNode,a[o]),i=document.createTextNode("");r.append(i),l((()=>i.textContent=c()))}o((()=>t.parentElement.replaceChild(r,t)))}}(a);break;case Node.ELEMENT_NODE:!function(e){for(let n of e.childNodes)t(n)}(a),function(t){for(let o of t.attributes)if([...o.value.matchAll(c)].length){const a=o.value;l((()=>o.value=a.replace(c,((o,a)=>e(n,t,a)()))))}}(a)}}(t)}))}function _(e,t,{addScopeToNode:n,cleanup:o,initTree:a,mutateDom:r,scope:c={}}){if(e._r_block)return;document.body._r_block??=(()=>{const e=new MutationObserver((e=>{for(let t of e)for(let e of t.addedNodes)e._r_block?.update()}));return e.observe(document.body,{childList:!0,subtree:!0}),e})();let i=l(t)?[...t.content.cloneNode(!0).childNodes]:[t.cloneNode(!0)];r((()=>{for(let t of i)u(t)&&n(t,c,e),e.parentElement.insertBefore(t,e),u(t)&&a(t)})),e._r_block={template:t,update(){r((()=>{for(let t of i??[])e.parentElement.insertBefore(t,e)}))},delete(){e._r_block=null;for(let e of i??[])e.remove();i=null}},o((()=>e._r_block?.delete()))}function k({addScopeToNode:e,directive:t,initTree:n,mutateDom:o}){t("fragment",((t,{},{cleanup:r})=>{l(t)?_(t,t,{addScopeToNode:e,cleanup:r,initTree:n,mutateDom:o}):a("x-fragment can only be used on a 'template' tag")}))}function x({addScopeToNode:t,directive:n,initTree:o,mutateDom:r}){n("match",((n,{},{cleanup:c,effect:i,evaluateLater:u})=>{if(!l(n))return void a("x-match can only be used on a 'template' tag");const s=[];for(let t of n.content.children){const n=t.getAttribute("x-case");null!==n?s.push({el:t,get_value:e(u,n)}):t.hasAttribute("x-default")&&s.push({el:t,get_value:()=>!0,default:!0})}const d=()=>n._r_block?.delete();i((()=>{let e;for(let t of s)t.get_value()&&!e&&(e=t);var a;e?(a=e,n._r_block?.template!==a.el&&(d(),_(n,a.el,{addScopeToNode:t,cleanup:c,initTree:o,mutateDom:r}))):d()}))}))}function N(e){e.directive("template",((e,{expression:t})=>{if(l(e))return void a("x-template cannot be used on a 'template' tag");const n=document.getElementById(t);l(n)?queueMicrotask((()=>{e.innerHTML="",e.append(n.content.cloneNode(!0))})):a("x-template directive can only reference the template tag")}))}function y({addScopeToNode:t,directive:n,initTree:o,mutateDom:r}){n("when",((n,{expression:c},{cleanup:i,effect:u,evaluateLater:s})=>{if(!l(n))return void a("x-when can only be used on a 'template' tag");const d=e(s,c);u((()=>d()?_(n,n,{addScopeToNode:t,cleanup:i,initTree:o,mutateDom:r}):n._r_block?.delete()))}))}export{g as bound,T as format,k as fragment,x as match,N as template,y as when};
1
+ function e(e,...t){const n=e(...t);return()=>{let e;return n(t=>e=t),t=e,"function"==typeof t?.get?e.get():e;var t}}function t(e,...t){const n=e(...t);t[t.length-1]=`${t.at(-1)} = __val`;const o=e(...t);return e=>{let t;n(e=>t=e),function(e){return"function"==typeof e?.set}(t)?t.set(e):o(()=>{},{scope:{__val:e}})}}const n=Symbol();let o;const a=(...e)=>console.warn("alpinegear.js:",...e),r=Array.isArray,c=e=>null==e,i=e=>"checkbox"===e.type||"radio"===e.type,l=e=>e instanceof HTMLTemplateElement,u=e=>e.nodeType===Node.ELEMENT_NODE,s=e=>r(e)?e:[e],d=(e,t)=>e==t,f=(e,t)=>e.findIndex(e=>e==t),p=(e,t)=>e.includes(t),m=(e,t,n,o)=>(e.addEventListener(t,n,o),()=>e.removeEventListener(t,n,o)),v=e=>"object"==typeof e?JSON.parse(JSON.stringify(e)):e;function h(e,t,n=null){const{effect:o,release:a}=Alpine;let r,c,i=!1;const l=o(()=>{r=e(),i||(n?.deep&&JSON.stringify(r),c=r),(i||(n?.immediate??1))&&setTimeout(()=>{t(r,c),c=r},0),i=!0});return()=>a(l)}const b=new Map("value,checked,files,innerHTML,innerText,textContent,videoHeight,videoWidth,naturalHeight,naturalWidth,clientHeight,clientWidth,offsetHeight,offsetWidth,open,group".split(",").map(e=>[e.trim().toLowerCase(),e.trim()]));function g({directive:l,entangle:u,evaluateLater:g,mapAttributes:T,mutateDom:_,prefixed:x}){T(e=>({name:e.name.replace(/^&/,x("bound:")),value:e.value})),l("bound",(l,{expression:T,value:x,modifiers:k},{effect:N,cleanup:y})=>{if(!x)return void a("x-bound directive expects the presence of a bound property name");const E=l.tagName.toUpperCase();T=T?.trim();const L=b.get(x.trim().replace("-","").toLowerCase());T||=L;const w=e(g,l,T),S=t(g,l,T),D=()=>d(l[L],w())||_(()=>l[L]=w()),H=()=>S((e=>"number"===e.type||"range"===e.type)(l)?function(e){return""===e?null:+e}(l[L]):l[L]);let A;switch(L){case"value":!function(){switch(E){case"INPUT":case"TEXTAREA":c(w())&&H(),N(D),y(m(l,"input",H)),A=!0;break;case"SELECT":setTimeout(()=>{c(w())&&H(),N(()=>function(e,t){for(const n of e.options)n.selected=f(t,n.value)>=0}(l,s(w()??[]))),y(m(l,"change",()=>S(function(e){return e.multiple?[...e.selectedOptions].map(e=>e.value):e.value}(l))))},0),A=!0}}();break;case"checked":i(l)&&(N(D),y(m(l,"change",H)),A=!0);break;case"files":"file"===l.type&&(y(m(l,"input",H)),A=!0);break;case"innerHTML":case"innerText":case"textContent":"true"===l.contentEditable&&(c(w())&&H(),N(D),y(m(l,"input",H)),A=!0);break;case"videoHeight":case"videoWidth":C("VIDEO","resize");break;case"naturalHeight":case"naturalWidth":C("IMG","load");break;case"clientHeight":case"clientWidth":case"offsetHeight":case"offsetWidth":y(function(e,t){return o??=new ResizeObserver(e=>{for(const t of e)for(const e of t.target[n]?.values()??[])e(t)}),e[n]??=new Set,e[n].add(t),o.observe(e),()=>{e[n].delete(t),e[n].size||(o.unobserve(e),e[n]=null)}}(l,H)),A=!0;break;case"open":"DETAILS"===E&&(c(w())&&H(),N(D),y(m(l,"toggle",H)),A=!0);break;case"group":i(l)&&(l.name||_(()=>l.name=T),N(()=>_(()=>function(e,t){e.checked=r(t)?f(t,e.value)>=0:d(e.value,t)}(l,w()??[]))),y(m(l,"input",()=>S(function(e,t){if("radio"===e.type)return e.value;t=s(t);const n=f(t,e.value);return e.checked?n>=0||t.push(e.value):n>=0&&t.splice(n,1),t}(l,w())))),A=!0)}if(!A){const n=p(k,"in")?"in":p(k,"out")?"out":"inout",o=T===x?((e,t)=>{for(;e&&!t(e);)e=(e._x_teleportBack??e).parentElement;return e})(l.parentNode,e=>e._x_dataStack):l;if(!l._x_dataStack)return void a("x-bound directive requires the presence of the x-data directive to bind component properties");if(!o)return void a(`x-bound directive cannot find the parent scope where the '${x}' property is defined`);const r={get:e(g,o,T),set:t(g,o,T)},c={get:e(g,l,x),set:t(g,l,x)};switch(n){case"in":y(h(()=>r.get(),e=>c.set(v(e))));break;case"out":y(h(()=>c.get(),e=>r.set(v(e))));break;default:y(u(r,c))}}function C(e,t){E===e&&(H(),y(m(l,t,H)),A=!0)}})}function T({directive:t,evaluateLater:n,mutateDom:o}){t("format",(t,{modifiers:a},{effect:r})=>{const c=/{{(?<expr>.+?)}}/g,i=p(a,"once");function l(e){i?o(()=>e()):r(()=>o(()=>e()))}!function t(a){switch(a.nodeType){case Node.TEXT_NODE:!function(t){const a=t.textContent.split(c);if(a.length>1){const r=new DocumentFragment;for(let o=0;a.length>o;o++)if(o%2==0)r.appendChild(document.createTextNode(a[o]));else{const c=e(n,t.parentNode,a[o]),i=document.createTextNode("");r.append(i),l(()=>i.textContent=c())}o(()=>t.parentElement.replaceChild(r,t))}}(a);break;case Node.ELEMENT_NODE:!function(e){for(let n of e.childNodes)t(n)}(a),function(t){for(let o of t.attributes)if([...o.value.matchAll(c)].length){const a=o.value;l(()=>o.value=a.replace(c,(o,a)=>e(n,t,a)()))}}(a)}}(t)})}function _(e,t,{addScopeToNode:n,cleanup:o,initTree:a,mutateDom:r,scope:c={}}){if(e._r_block)return;document.body._r_block??=(()=>{const e=new MutationObserver(e=>{for(let t of e)for(let e of t.addedNodes)e._r_block?.update()});return e.observe(document.body,{childList:!0,subtree:!0}),e})();let i=l(t)?[...t.content.cloneNode(!0).childNodes]:[t.cloneNode(!0)];r(()=>{for(let t of i)u(t)&&n(t,c,e),e.parentElement.insertBefore(t,e),u(t)&&a(t)}),e._r_block={template:t,update(){r(()=>{for(let t of i??[])e.parentElement.insertBefore(t,e)})},delete(){e._r_block=null;for(let e of i??[])e.remove();i=null}},o(()=>e._r_block?.delete())}function x({addScopeToNode:e,directive:t,initTree:n,mutateDom:o}){t("fragment",(t,{},{cleanup:r})=>{l(t)?_(t,t,{addScopeToNode:e,cleanup:r,initTree:n,mutateDom:o}):a("x-fragment can only be used on a 'template' tag")})}function k({addScopeToNode:t,directive:n,initTree:o,mutateDom:r}){n("match",(n,{},{cleanup:c,effect:i,evaluateLater:u})=>{if(!l(n))return void a("x-match can only be used on a 'template' tag");const s=[];for(let t of n.content.children){const n=t.getAttribute("x-case");null!==n?s.push({el:t,get_value:e(u,n)}):t.hasAttribute("x-default")&&s.push({el:t,get_value:()=>!0,default:!0})}const d=()=>n._r_block?.delete();i(()=>{let e;for(let t of s)t.get_value()&&!e&&(e=t);var a;e?(a=e,n._r_block?.template!==a.el&&(d(),_(n,a.el,{addScopeToNode:t,cleanup:c,initTree:o,mutateDom:r}))):d()})})}function N(e){e.directive("template",(e,{expression:t})=>{if(l(e))return void a("x-template cannot be used on a 'template' tag");const n=document.getElementById(t);l(n)?queueMicrotask(()=>{e.innerHTML="",e.append(n.content.cloneNode(!0))}):a("x-template directive can only reference the template tag")})}function y({addScopeToNode:t,directive:n,initTree:o,mutateDom:r}){n("when",(n,{expression:c},{cleanup:i,effect:u,evaluateLater:s})=>{if(!l(n))return void a("x-when can only be used on a 'template' tag");const d=e(s,c);u(()=>d()?_(n,n,{addScopeToNode:t,cleanup:i,initTree:o,mutateDom:r}):n._r_block?.delete())})}export{g as bound,T as format,x as fragment,k as match,N as template,y as when};
@@ -41,10 +41,10 @@
41
41
  }
42
42
 
43
43
  const key = Symbol();
44
- let observable;
44
+ let observer;
45
45
 
46
46
  function observe_resize(el, listener) {
47
- observable ??= new ResizeObserver(entries => {
47
+ observer ??= new ResizeObserver(entries => {
48
48
  for (const e of entries) {
49
49
  for (const callback of e.target[key]?.values() ?? []) {
50
50
  callback(e);
@@ -55,19 +55,19 @@
55
55
  el[key] ??= new Set();
56
56
  el[key].add(listener);
57
57
 
58
- observable.observe(el);
58
+ observer.observe(el);
59
59
 
60
60
  return () => {
61
61
  el[key].delete(listener);
62
62
 
63
63
  if (!el[key].size) {
64
- observable.unobserve(el);
64
+ observer.unobserve(el);
65
65
  el[key] = null;
66
66
  }
67
67
  };
68
68
  }
69
69
 
70
- const warn = (...args) => console.warn("alpine-gear.js:", ...args);
70
+ const warn = (...args) => console.warn("alpinegear.js:", ...args);
71
71
  const is_array = Array.isArray;
72
72
  const is_nullish = value => value === null || value === undefined;
73
73
  const is_checkable_input = el => el.type === "checkbox" || el.type === "radio";
@@ -252,12 +252,12 @@
252
252
 
253
253
  const source = {
254
254
  get: create_getter(evaluateLater, source_el, expression),
255
- set: create_setter(evaluateLater, source_el, expression),
255
+ set: create_setter(evaluateLater, source_el, expression)
256
256
  };
257
257
 
258
258
  const target = {
259
259
  get: create_getter(evaluateLater, el, value),
260
- set: create_setter(evaluateLater, el, value),
260
+ set: create_setter(evaluateLater, el, value)
261
261
  };
262
262
 
263
263
  switch (modifier) {
@@ -295,14 +295,14 @@
295
295
 
296
296
 
297
297
 
298
- queueMicrotask(() => {
298
+ setTimeout(() => {
299
299
 
300
300
 
301
301
  is_nullish(get_value()) && update_variable();
302
302
 
303
303
  effect(() => apply_select_values(el, as_array(get_value() ?? [])));
304
304
  cleanup(listen(el, "change", () => set_value(collect_selected_values(el))));
305
- });
305
+ }, 0);
306
306
 
307
307
  processed = true;
308
308
  break;
@@ -1 +1 @@
1
- !function(){"use strict";function e(e,...t){const n=e(...t);return()=>{let e;return n((t=>e=t)),t=e,"function"==typeof t?.get?e.get():e;var t}}function t(e,...t){const n=e(...t);t[t.length-1]=`${t.at(-1)} = __val`;const o=e(...t);return e=>{let t;n((e=>t=e)),function(e){return"function"==typeof e?.set}(t)?t.set(e):o((()=>{}),{scope:{__val:e}})}}const n=Symbol();let o;const a=(...e)=>console.warn("alpine-gear.js:",...e),c=Array.isArray,r=e=>null==e,i=e=>"checkbox"===e.type||"radio"===e.type,l=e=>e instanceof HTMLTemplateElement,u=e=>e.nodeType===Node.ELEMENT_NODE,s=e=>c(e)?e:[e],d=(e,t)=>e==t,f=(e,t)=>e.findIndex((e=>e==t)),p=(e,t)=>e.includes(t),m=(e,t,n,o)=>(e.addEventListener(t,n,o),()=>e.removeEventListener(t,n,o)),v=e=>"object"==typeof e?JSON.parse(JSON.stringify(e)):e;function h(e,t,n=null){const{effect:o,release:a}=Alpine;let c,r,i=!1;const l=o((()=>{c=e(),i||(n?.deep&&JSON.stringify(c),r=c),(i||(n?.immediate??1))&&setTimeout((()=>{t(c,r),r=c}),0),i=!0}));return()=>a(l)}const b=new Map("value,checked,files,innerHTML,innerText,textContent,videoHeight,videoWidth,naturalHeight,naturalWidth,clientHeight,clientWidth,offsetHeight,offsetWidth,open,group".split(",").map((e=>[e.trim().toLowerCase(),e.trim()])));function g(e,t,{addScopeToNode:n,cleanup:o,initTree:a,mutateDom:c,scope:r={}}){if(e._r_block)return;document.body._r_block??=(()=>{const e=new MutationObserver((e=>{for(let t of e)for(let e of t.addedNodes)e._r_block?.update()}));return e.observe(document.body,{childList:!0,subtree:!0}),e})();let i=l(t)?[...t.content.cloneNode(!0).childNodes]:[t.cloneNode(!0)];c((()=>{for(let t of i)u(t)&&n(t,r,e),e.parentElement.insertBefore(t,e),u(t)&&a(t)})),e._r_block={template:t,update(){c((()=>{for(let t of i??[])e.parentElement.insertBefore(t,e)}))},delete(){e._r_block=null;for(let e of i??[])e.remove();i=null}},o((()=>e._r_block?.delete()))}function T(u){(function({directive:l,entangle:u,evaluateLater:g,mapAttributes:T,mutateDom:_,prefixed:k}){T((e=>({name:e.name.replace(/^&/,k("bound:")),value:e.value}))),l("bound",((l,{expression:T,value:k,modifiers:x},{effect:N,cleanup:E})=>{if(!k)return void a("x-bound directive expects the presence of a bound property name");const y=l.tagName.toUpperCase();T=T?.trim();const L=b.get(k.trim().replace("-","").toLowerCase());T||=L;const S=e(g,l,T),w=t(g,l,T),D=()=>d(l[L],S())||_((()=>l[L]=S())),H=()=>w((e=>"number"===e.type||"range"===e.type)(l)?function(e){return""===e?null:+e}(l[L]):l[L]);let A;switch(L){case"value":!function(){switch(y){case"INPUT":case"TEXTAREA":r(S())&&H(),N(D),E(m(l,"input",H)),A=!0;break;case"SELECT":queueMicrotask((()=>{r(S())&&H(),N((()=>function(e,t){for(const n of e.options)n.selected=f(t,n.value)>=0}(l,s(S()??[])))),E(m(l,"change",(()=>w(function(e){return e.multiple?[...e.selectedOptions].map((e=>e.value)):e.value}(l)))))})),A=!0}}();break;case"checked":i(l)&&(N(D),E(m(l,"change",H)),A=!0);break;case"files":"file"===l.type&&(E(m(l,"input",H)),A=!0);break;case"innerHTML":case"innerText":case"textContent":"true"===l.contentEditable&&(r(S())&&H(),N(D),E(m(l,"input",H)),A=!0);break;case"videoHeight":case"videoWidth":M("VIDEO","resize");break;case"naturalHeight":case"naturalWidth":M("IMG","load");break;case"clientHeight":case"clientWidth":case"offsetHeight":case"offsetWidth":E(function(e,t){return o??=new ResizeObserver((e=>{for(const t of e)for(const e of t.target[n]?.values()??[])e(t)})),e[n]??=new Set,e[n].add(t),o.observe(e),()=>{e[n].delete(t),e[n].size||(o.unobserve(e),e[n]=null)}}(l,H)),A=!0;break;case"open":"DETAILS"===y&&(r(S())&&H(),N(D),E(m(l,"toggle",H)),A=!0);break;case"group":i(l)&&(l.name||_((()=>l.name=T)),N((()=>_((()=>function(e,t){e.checked=c(t)?f(t,e.value)>=0:d(e.value,t)}(l,S()??[]))))),E(m(l,"input",(()=>w(function(e,t){if("radio"===e.type)return e.value;t=s(t);const n=f(t,e.value);return e.checked?n>=0||t.push(e.value):n>=0&&t.splice(n,1),t}(l,S()))))),A=!0)}if(!A){const n=p(x,"in")?"in":p(x,"out")?"out":"inout",o=T===k?(e=>{for(;e&&!e._x_dataStack;)e=(e._x_teleportBack??e).parentElement;return e})(l.parentNode):l;if(!l._x_dataStack)return void a("x-bound directive requires the presence of the x-data directive to bind component properties");if(!o)return void a(`x-bound directive cannot find the parent scope where the '${k}' property is defined`);const c={get:e(g,o,T),set:t(g,o,T)},r={get:e(g,l,k),set:t(g,l,k)};switch(n){case"in":E(h((()=>c.get()),(e=>r.set(v(e)))));break;case"out":E(h((()=>r.get()),(e=>c.set(v(e)))));break;default:E(u(c,r))}}function M(e,t){y===e&&(H(),E(m(l,t,H)),A=!0)}}))})(u),function({directive:t,evaluateLater:n,mutateDom:o}){t("format",((t,{modifiers:a},{effect:c})=>{const r=/{{(?<expr>.+?)}}/g,i=p(a,"once");function l(e){i?o((()=>e())):c((()=>o((()=>e()))))}!function t(a){switch(a.nodeType){case Node.TEXT_NODE:!function(t){const a=t.textContent.split(r);if(a.length>1){const c=new DocumentFragment;for(let o=0;a.length>o;o++)if(o%2==0)c.appendChild(document.createTextNode(a[o]));else{const r=e(n,t.parentNode,a[o]),i=document.createTextNode("");c.append(i),l((()=>i.textContent=r()))}o((()=>t.parentElement.replaceChild(c,t)))}}(a);break;case Node.ELEMENT_NODE:!function(e){for(let n of e.childNodes)t(n)}(a),function(t){for(let o of t.attributes)if([...o.value.matchAll(r)].length){const a=o.value;l((()=>o.value=a.replace(r,((o,a)=>e(n,t,a)()))))}}(a)}}(t)}))}(u),function({addScopeToNode:e,directive:t,initTree:n,mutateDom:o}){t("fragment",((t,{},{cleanup:c})=>{l(t)?g(t,t,{addScopeToNode:e,cleanup:c,initTree:n,mutateDom:o}):a("x-fragment can only be used on a 'template' tag")}))}(u),function({addScopeToNode:t,directive:n,initTree:o,mutateDom:c}){n("match",((n,{},{cleanup:r,effect:i,evaluateLater:u})=>{if(!l(n))return void a("x-match can only be used on a 'template' tag");const s=[];for(let t of n.content.children){const n=t.getAttribute("x-case");null!==n?s.push({el:t,get_value:e(u,n)}):t.hasAttribute("x-default")&&s.push({el:t,get_value:()=>!0,default:!0})}const d=()=>n._r_block?.delete();i((()=>{let e;for(let t of s)t.get_value()&&!e&&(e=t);var a;e?(a=e,n._r_block?.template!==a.el&&(d(),g(n,a.el,{addScopeToNode:t,cleanup:r,initTree:o,mutateDom:c}))):d()}))}))}(u),function(e){e.directive("template",((e,{expression:t})=>{if(l(e))return void a("x-template cannot be used on a 'template' tag");const n=document.getElementById(t);l(n)?queueMicrotask((()=>{e.innerHTML="",e.append(n.content.cloneNode(!0))})):a("x-template directive can only reference the template tag")}))}(u),function({addScopeToNode:t,directive:n,initTree:o,mutateDom:c}){n("when",((n,{expression:r},{cleanup:i,effect:u,evaluateLater:s})=>{if(!l(n))return void a("x-when can only be used on a 'template' tag");const d=e(s,r);u((()=>d()?g(n,n,{addScopeToNode:t,cleanup:i,initTree:o,mutateDom:c}):n._r_block?.delete()))}))}(u)}document.addEventListener("alpine:init",(()=>{Alpine.plugin(T)}))}();
1
+ !function(){"use strict";function e(e,...t){const n=e(...t);return()=>{let e;return n(t=>e=t),t=e,"function"==typeof t?.get?e.get():e;var t}}function t(e,...t){const n=e(...t);t[t.length-1]=`${t.at(-1)} = __val`;const o=e(...t);return e=>{let t;n(e=>t=e),function(e){return"function"==typeof e?.set}(t)?t.set(e):o(()=>{},{scope:{__val:e}})}}const n=Symbol();let o;const a=(...e)=>console.warn("alpinegear.js:",...e),c=Array.isArray,i=e=>null==e,r=e=>"checkbox"===e.type||"radio"===e.type,l=e=>e instanceof HTMLTemplateElement,u=e=>e.nodeType===Node.ELEMENT_NODE,s=e=>c(e)?e:[e],d=(e,t)=>e==t,f=(e,t)=>e.findIndex(e=>e==t),p=(e,t)=>e.includes(t),m=(e,t,n,o)=>(e.addEventListener(t,n,o),()=>e.removeEventListener(t,n,o)),v=e=>"object"==typeof e?JSON.parse(JSON.stringify(e)):e;function h(e,t,n=null){const{effect:o,release:a}=Alpine;let c,i,r=!1;const l=o(()=>{c=e(),r||(n?.deep&&JSON.stringify(c),i=c),(r||(n?.immediate??1))&&setTimeout(()=>{t(c,i),i=c},0),r=!0});return()=>a(l)}const b=new Map("value,checked,files,innerHTML,innerText,textContent,videoHeight,videoWidth,naturalHeight,naturalWidth,clientHeight,clientWidth,offsetHeight,offsetWidth,open,group".split(",").map(e=>[e.trim().toLowerCase(),e.trim()]));function g(e,t,{addScopeToNode:n,cleanup:o,initTree:a,mutateDom:c,scope:i={}}){if(e._r_block)return;document.body._r_block??=(()=>{const e=new MutationObserver(e=>{for(let t of e)for(let e of t.addedNodes)e._r_block?.update()});return e.observe(document.body,{childList:!0,subtree:!0}),e})();let r=l(t)?[...t.content.cloneNode(!0).childNodes]:[t.cloneNode(!0)];c(()=>{for(let t of r)u(t)&&n(t,i,e),e.parentElement.insertBefore(t,e),u(t)&&a(t)}),e._r_block={template:t,update(){c(()=>{for(let t of r??[])e.parentElement.insertBefore(t,e)})},delete(){e._r_block=null;for(let e of r??[])e.remove();r=null}},o(()=>e._r_block?.delete())}function T(u){(function({directive:l,entangle:u,evaluateLater:g,mapAttributes:T,mutateDom:_,prefixed:k}){T(e=>({name:e.name.replace(/^&/,k("bound:")),value:e.value})),l("bound",(l,{expression:T,value:k,modifiers:x},{effect:N,cleanup:E})=>{if(!k)return void a("x-bound directive expects the presence of a bound property name");const y=l.tagName.toUpperCase();T=T?.trim();const L=b.get(k.trim().replace("-","").toLowerCase());T||=L;const S=e(g,l,T),w=t(g,l,T),D=()=>d(l[L],S())||_(()=>l[L]=S()),H=()=>w((e=>"number"===e.type||"range"===e.type)(l)?function(e){return""===e?null:+e}(l[L]):l[L]);let A;switch(L){case"value":!function(){switch(y){case"INPUT":case"TEXTAREA":i(S())&&H(),N(D),E(m(l,"input",H)),A=!0;break;case"SELECT":setTimeout(()=>{i(S())&&H(),N(()=>function(e,t){for(const n of e.options)n.selected=f(t,n.value)>=0}(l,s(S()??[]))),E(m(l,"change",()=>w(function(e){return e.multiple?[...e.selectedOptions].map(e=>e.value):e.value}(l))))},0),A=!0}}();break;case"checked":r(l)&&(N(D),E(m(l,"change",H)),A=!0);break;case"files":"file"===l.type&&(E(m(l,"input",H)),A=!0);break;case"innerHTML":case"innerText":case"textContent":"true"===l.contentEditable&&(i(S())&&H(),N(D),E(m(l,"input",H)),A=!0);break;case"videoHeight":case"videoWidth":C("VIDEO","resize");break;case"naturalHeight":case"naturalWidth":C("IMG","load");break;case"clientHeight":case"clientWidth":case"offsetHeight":case"offsetWidth":E(function(e,t){return o??=new ResizeObserver(e=>{for(const t of e)for(const e of t.target[n]?.values()??[])e(t)}),e[n]??=new Set,e[n].add(t),o.observe(e),()=>{e[n].delete(t),e[n].size||(o.unobserve(e),e[n]=null)}}(l,H)),A=!0;break;case"open":"DETAILS"===y&&(i(S())&&H(),N(D),E(m(l,"toggle",H)),A=!0);break;case"group":r(l)&&(l.name||_(()=>l.name=T),N(()=>_(()=>function(e,t){e.checked=c(t)?f(t,e.value)>=0:d(e.value,t)}(l,S()??[]))),E(m(l,"input",()=>w(function(e,t){if("radio"===e.type)return e.value;t=s(t);const n=f(t,e.value);return e.checked?n>=0||t.push(e.value):n>=0&&t.splice(n,1),t}(l,S())))),A=!0)}if(!A){const n=p(x,"in")?"in":p(x,"out")?"out":"inout",o=T===k?((e,t)=>{for(;e&&!t(e);)e=(e._x_teleportBack??e).parentElement;return e})(l.parentNode,e=>e._x_dataStack):l;if(!l._x_dataStack)return void a("x-bound directive requires the presence of the x-data directive to bind component properties");if(!o)return void a(`x-bound directive cannot find the parent scope where the '${k}' property is defined`);const c={get:e(g,o,T),set:t(g,o,T)},i={get:e(g,l,k),set:t(g,l,k)};switch(n){case"in":E(h(()=>c.get(),e=>i.set(v(e))));break;case"out":E(h(()=>i.get(),e=>c.set(v(e))));break;default:E(u(c,i))}}function C(e,t){y===e&&(H(),E(m(l,t,H)),A=!0)}})})(u),function({directive:t,evaluateLater:n,mutateDom:o}){t("format",(t,{modifiers:a},{effect:c})=>{const i=/{{(?<expr>.+?)}}/g,r=p(a,"once");function l(e){r?o(()=>e()):c(()=>o(()=>e()))}!function t(a){switch(a.nodeType){case Node.TEXT_NODE:!function(t){const a=t.textContent.split(i);if(a.length>1){const c=new DocumentFragment;for(let o=0;a.length>o;o++)if(o%2==0)c.appendChild(document.createTextNode(a[o]));else{const i=e(n,t.parentNode,a[o]),r=document.createTextNode("");c.append(r),l(()=>r.textContent=i())}o(()=>t.parentElement.replaceChild(c,t))}}(a);break;case Node.ELEMENT_NODE:!function(e){for(let n of e.childNodes)t(n)}(a),function(t){for(let o of t.attributes)if([...o.value.matchAll(i)].length){const a=o.value;l(()=>o.value=a.replace(i,(o,a)=>e(n,t,a)()))}}(a)}}(t)})}(u),function({addScopeToNode:e,directive:t,initTree:n,mutateDom:o}){t("fragment",(t,{},{cleanup:c})=>{l(t)?g(t,t,{addScopeToNode:e,cleanup:c,initTree:n,mutateDom:o}):a("x-fragment can only be used on a 'template' tag")})}(u),function({addScopeToNode:t,directive:n,initTree:o,mutateDom:c}){n("match",(n,{},{cleanup:i,effect:r,evaluateLater:u})=>{if(!l(n))return void a("x-match can only be used on a 'template' tag");const s=[];for(let t of n.content.children){const n=t.getAttribute("x-case");null!==n?s.push({el:t,get_value:e(u,n)}):t.hasAttribute("x-default")&&s.push({el:t,get_value:()=>!0,default:!0})}const d=()=>n._r_block?.delete();r(()=>{let e;for(let t of s)t.get_value()&&!e&&(e=t);var a;e?(a=e,n._r_block?.template!==a.el&&(d(),g(n,a.el,{addScopeToNode:t,cleanup:i,initTree:o,mutateDom:c}))):d()})})}(u),function(e){e.directive("template",(e,{expression:t})=>{if(l(e))return void a("x-template cannot be used on a 'template' tag");const n=document.getElementById(t);l(n)?queueMicrotask(()=>{e.innerHTML="",e.append(n.content.cloneNode(!0))}):a("x-template directive can only reference the template tag")})}(u),function({addScopeToNode:t,directive:n,initTree:o,mutateDom:c}){n("when",(n,{expression:i},{cleanup:r,effect:u,evaluateLater:s})=>{if(!l(n))return void a("x-when can only be used on a 'template' tag");const d=e(s,i);u(()=>d()?g(n,n,{addScopeToNode:t,cleanup:r,initTree:o,mutateDom:c}):n._r_block?.delete())})}(u)}document.addEventListener("alpine:init",()=>{Alpine.plugin(T)})}();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ramstack/alpinegear-main",
3
- "version": "1.1.0-preview.6",
3
+ "version": "1.1.1",
4
4
  "description": "@ramstack/alpinegear-main is a combined plugin that includes several Alpine.js directives, providing a convenient all-in-one package.",
5
5
  "author": "Rameel Burhan",
6
6
  "license": "MIT",