@ramstack/alpinegear-main 1.2.0 → 1.2.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.
@@ -329,6 +329,9 @@ function plugin$5({ directive, entangle, evaluateLater, mapAttributes, mutateDom
329
329
 
330
330
  function process_files() {
331
331
  if (el.type === "file") {
332
+ get_value() instanceof FileList || update_variable();
333
+
334
+ effect(update_property);
332
335
  cleanup(listen(el, "input", update_variable));
333
336
  processed = true;
334
337
  }
@@ -430,6 +433,7 @@ function plugin$4({ directive, evaluateLater, mutateDom }) {
430
433
  directive("format", (el, { modifiers }, { effect }) => {
431
434
  const placeholder_regex = /{{(?<expr>.+?)}}/g;
432
435
  const is_once = has_modifier(modifiers, "once");
436
+ const has_format_attr = el => el.hasAttribute("x-format");
433
437
 
434
438
  process(el);
435
439
 
@@ -449,6 +453,30 @@ function plugin$4({ directive, evaluateLater, mutateDom }) {
449
453
  break;
450
454
 
451
455
  case Node.ELEMENT_NODE:
456
+ if (node !== el) {
457
+
458
+
459
+
460
+
461
+
462
+
463
+
464
+
465
+
466
+
467
+
468
+
469
+
470
+ if (node.hasAttribute("x-data") && !has_format_attr(node)) {
471
+ node.setAttribute("x-format", "");
472
+ }
473
+
474
+ if (has_format_attr(node)) {
475
+ break;
476
+ }
477
+ }
478
+
479
+
452
480
  process_nodes(node);
453
481
  process_attributes(node);
454
482
  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("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,indeterminate,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 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"indeterminate":"checkbox"===l.type&&(c(w())&&H(),N(D),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(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 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 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 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,i=e=>null==e,c=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)),h=e=>"object"==typeof e?JSON.parse(JSON.stringify(e)):e;function v(e,t,n=null){const{effect:o,release:a}=Alpine;let r,i,c=!1;const l=o(()=>{r=e(),c||(n?.deep&&JSON.stringify(r),i=r),(c||(n?.immediate??1))&&setTimeout(()=>{t(r,i),i=r},0),c=!0});return()=>a(l)}const b=new Map("value,checked,files,innerHTML,innerText,textContent,videoHeight,videoWidth,naturalHeight,naturalWidth,clientHeight,clientWidth,offsetHeight,offsetWidth,indeterminate,open,group".split(",").map(e=>[e.trim().toLowerCase(),e.trim()]));function g({directive:l,entangle:u,evaluateLater:g,mapAttributes:T,mutateDom:x,prefixed:_}){T(e=>({name:e.name.replace(/^&/,_("bound:")),value:e.value})),l("bound",(l,{expression:T,value:_,modifiers:k},{effect:N,cleanup:y})=>{if(!_)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(_.trim().replace("-","").toLowerCase());T||=L;const w=e(g,l,T),S=t(g,l,T),D=()=>d(l[L],w())||x(()=>l[L]=w()),A=()=>S((e=>"number"===e.type||"range"===e.type)(l)?function(e){return""===e?null:+e}(l[L]):l[L]);let H;switch(L){case"value":!function(){switch(E){case"INPUT":case"TEXTAREA":i(w())&&A(),N(D),y(m(l,"input",A)),H=!0;break;case"SELECT":setTimeout(()=>{i(w())&&A(),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),H=!0}}();break;case"checked":c(l)&&(N(D),y(m(l,"change",A)),H=!0);break;case"files":"file"===l.type&&(w()instanceof FileList||A(),N(D),y(m(l,"input",A)),H=!0);break;case"innerHTML":case"innerText":case"textContent":"true"===l.contentEditable&&(i(w())&&A(),N(D),y(m(l,"input",A)),H=!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,A)),H=!0;break;case"indeterminate":"checkbox"===l.type&&(i(w())&&A(),N(D),H=!0);break;case"open":"DETAILS"===E&&(i(w())&&A(),N(D),y(m(l,"toggle",A)),H=!0);break;case"group":c(l)&&(l.name||x(()=>l.name=T),N(()=>x(()=>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())))),H=!0)}if(!H){const n=p(k,"in")?"in":p(k,"out")?"out":"inout",o=T===_?((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 '${_}' property is defined`);const r={get:e(g,o,T),set:t(g,o,T)},i={get:e(g,l,_),set:t(g,l,_)};switch(n){case"in":y(v(()=>r.get(),e=>i.set(h(e))));break;case"out":y(v(()=>i.get(),e=>r.set(h(e))));break;default:y(u(r,i))}}function C(e,t){E===e&&(A(),y(m(l,t,A)),H=!0)}})}function T({directive:t,evaluateLater:n,mutateDom:o}){t("format",(t,{modifiers:a},{effect:r})=>{const i=/{{(?<expr>.+?)}}/g,c=p(a,"once"),l=e=>e.hasAttribute("x-format");function u(e){c?o(()=>e()):r(()=>o(()=>e()))}!function a(r){switch(r.nodeType){case Node.TEXT_NODE:!function(t){const a=t.textContent.split(i);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 i=e(n,t.parentNode,a[o]),c=document.createTextNode("");r.append(c),u(()=>c.textContent=i())}o(()=>t.parentElement.replaceChild(r,t))}}(r);break;case Node.ELEMENT_NODE:if(r!==t&&(r.hasAttribute("x-data")&&!l(r)&&r.setAttribute("x-format",""),l(r)))break;!function(e){for(let t of e.childNodes)a(t)}(r),function(t){for(let o of t.attributes)if([...o.value.matchAll(i)].length){const a=o.value;u(()=>o.value=a.replace(i,(o,a)=>e(n,t,a)()))}}(r)}}(t)})}function x(e,t,{addScopeToNode:n,cleanup:o,initTree:a,mutateDom:r,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 c=l(t)?[...t.content.cloneNode(!0).childNodes]:[t.cloneNode(!0)];r(()=>{for(let t of c)u(t)&&n(t,i,e),e.parentElement.insertBefore(t,e),u(t)&&a(t)}),e._r_block={template:t,update(){r(()=>{for(let t of c??[])e.parentElement.insertBefore(t,e)})},delete(){e._r_block=null;for(let e of c??[])e.remove();c=null}},o(()=>e._r_block?.delete())}function _({addScopeToNode:e,directive:t,initTree:n,mutateDom:o}){t("fragment",(t,{},{cleanup:r})=>{l(t)?x(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:i,effect:c,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();c(()=>{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(),x(n,a.el,{addScopeToNode:t,cleanup:i,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:i},{cleanup:c,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()?x(n,n,{addScopeToNode:t,cleanup:c,initTree:o,mutateDom:r}):n._r_block?.delete())})}export{g as bound,T as format,_ as fragment,k as match,N as template,y as when};
@@ -332,6 +332,9 @@
332
332
 
333
333
  function process_files() {
334
334
  if (el.type === "file") {
335
+ get_value() instanceof FileList || update_variable();
336
+
337
+ effect(update_property);
335
338
  cleanup(listen(el, "input", update_variable));
336
339
  processed = true;
337
340
  }
@@ -433,6 +436,7 @@
433
436
  directive("format", (el, { modifiers }, { effect }) => {
434
437
  const placeholder_regex = /{{(?<expr>.+?)}}/g;
435
438
  const is_once = has_modifier(modifiers, "once");
439
+ const has_format_attr = el => el.hasAttribute("x-format");
436
440
 
437
441
  process(el);
438
442
 
@@ -452,6 +456,30 @@
452
456
  break;
453
457
 
454
458
  case Node.ELEMENT_NODE:
459
+ if (node !== el) {
460
+
461
+
462
+
463
+
464
+
465
+
466
+
467
+
468
+
469
+
470
+
471
+
472
+
473
+ if (node.hasAttribute("x-data") && !has_format_attr(node)) {
474
+ node.setAttribute("x-format", "");
475
+ }
476
+
477
+ if (has_format_attr(node)) {
478
+ break;
479
+ }
480
+ }
481
+
482
+
455
483
  process_nodes(node);
456
484
  process_attributes(node);
457
485
  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("alpinegear.js:",...e),i=Array.isArray,c=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=>i(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 i,c,r=!1;const l=o(()=>{i=e(),r||(n?.deep&&JSON.stringify(i),c=i),(r||(n?.immediate??1))&&setTimeout(()=>{t(i,c),c=i},0),r=!0});return()=>a(l)}const b=new Map("value,checked,files,innerHTML,innerText,textContent,videoHeight,videoWidth,naturalHeight,naturalWidth,clientHeight,clientWidth,offsetHeight,offsetWidth,indeterminate,open,group".split(",").map(e=>[e.trim().toLowerCase(),e.trim()]));function g(e,t,{addScopeToNode:n,cleanup:o,initTree:a,mutateDom:i,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 r=l(t)?[...t.content.cloneNode(!0).childNodes]:[t.cloneNode(!0)];i(()=>{for(let t of r)u(t)&&n(t,c,e),e.parentElement.insertBefore(t,e),u(t)&&a(t)}),e._r_block={template:t,update(){i(()=>{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: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 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(E){case"INPUT":case"TEXTAREA":c(S())&&H(),N(D),y(m(l,"input",H)),A=!0;break;case"SELECT":setTimeout(()=>{c(S())&&H(),N(()=>function(e,t){for(const n of e.options)n.selected=f(t,n.value)>=0}(l,s(S()??[]))),y(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),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(S())&&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"indeterminate":"checkbox"===l.type&&(c(S())&&H(),N(D),A=!0);break;case"open":"DETAILS"===E&&(c(S())&&H(),N(D),y(m(l,"toggle",H)),A=!0);break;case"group":r(l)&&(l.name||_(()=>l.name=T),N(()=>_(()=>function(e,t){e.checked=i(t)?f(t,e.value)>=0:d(e.value,t)}(l,S()??[]))),y(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 i={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(()=>i.get(),e=>c.set(v(e))));break;case"out":y(h(()=>c.get(),e=>i.set(v(e))));break;default:y(u(i,c))}}function C(e,t){E===e&&(H(),y(m(l,t,H)),A=!0)}})})(u),function({directive:t,evaluateLater:n,mutateDom:o}){t("format",(t,{modifiers:a},{effect:i})=>{const c=/{{(?<expr>.+?)}}/g,r=p(a,"once");function l(e){r?o(()=>e()):i(()=>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 i=new DocumentFragment;for(let o=0;a.length>o;o++)if(o%2==0)i.appendChild(document.createTextNode(a[o]));else{const c=e(n,t.parentNode,a[o]),r=document.createTextNode("");i.append(r),l(()=>r.textContent=c())}o(()=>t.parentElement.replaceChild(i,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)})}(u),function({addScopeToNode:e,directive:t,initTree:n,mutateDom:o}){t("fragment",(t,{},{cleanup:i})=>{l(t)?g(t,t,{addScopeToNode:e,cleanup:i,initTree:n,mutateDom:o}):a("x-fragment can only be used on a 'template' tag")})}(u),function({addScopeToNode:t,directive:n,initTree:o,mutateDom:i}){n("match",(n,{},{cleanup:c,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:c,initTree:o,mutateDom:i}))):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:i}){n("when",(n,{expression:c},{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,c);u(()=>d()?g(n,n,{addScopeToNode:t,cleanup:r,initTree:o,mutateDom:i}):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),i=Array.isArray,r=e=>null==e,c=e=>"checkbox"===e.type||"radio"===e.type,l=e=>e instanceof HTMLTemplateElement,u=e=>e.nodeType===Node.ELEMENT_NODE,s=e=>i(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 i,r,c=!1;const l=o(()=>{i=e(),c||(n?.deep&&JSON.stringify(i),r=i),(c||(n?.immediate??1))&&setTimeout(()=>{t(i,r),r=i},0),c=!0});return()=>a(l)}const b=new Map("value,checked,files,innerHTML,innerText,textContent,videoHeight,videoWidth,naturalHeight,naturalWidth,clientHeight,clientWidth,offsetHeight,offsetWidth,indeterminate,open,group".split(",").map(e=>[e.trim().toLowerCase(),e.trim()]));function g(e,t,{addScopeToNode:n,cleanup:o,initTree:a,mutateDom:i,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 c=l(t)?[...t.content.cloneNode(!0).childNodes]:[t.cloneNode(!0)];i(()=>{for(let t of c)u(t)&&n(t,r,e),e.parentElement.insertBefore(t,e),u(t)&&a(t)}),e._r_block={template:t,update(){i(()=>{for(let t of c??[])e.parentElement.insertBefore(t,e)})},delete(){e._r_block=null;for(let e of c??[])e.remove();c=null}},o(()=>e._r_block?.delete())}function T(u){(function({directive:l,entangle:u,evaluateLater:g,mapAttributes:T,mutateDom:x,prefixed:_}){T(e=>({name:e.name.replace(/^&/,_("bound:")),value:e.value})),l("bound",(l,{expression:T,value:_,modifiers:k},{effect:N,cleanup:y})=>{if(!_)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(_.trim().replace("-","").toLowerCase());T||=L;const S=e(g,l,T),w=t(g,l,T),D=()=>d(l[L],S())||x(()=>l[L]=S()),A=()=>w((e=>"number"===e.type||"range"===e.type)(l)?function(e){return""===e?null:+e}(l[L]):l[L]);let H;switch(L){case"value":!function(){switch(E){case"INPUT":case"TEXTAREA":r(S())&&A(),N(D),y(m(l,"input",A)),H=!0;break;case"SELECT":setTimeout(()=>{r(S())&&A(),N(()=>function(e,t){for(const n of e.options)n.selected=f(t,n.value)>=0}(l,s(S()??[]))),y(m(l,"change",()=>w(function(e){return e.multiple?[...e.selectedOptions].map(e=>e.value):e.value}(l))))},0),H=!0}}();break;case"checked":c(l)&&(N(D),y(m(l,"change",A)),H=!0);break;case"files":"file"===l.type&&(S()instanceof FileList||A(),N(D),y(m(l,"input",A)),H=!0);break;case"innerHTML":case"innerText":case"textContent":"true"===l.contentEditable&&(r(S())&&A(),N(D),y(m(l,"input",A)),H=!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,A)),H=!0;break;case"indeterminate":"checkbox"===l.type&&(r(S())&&A(),N(D),H=!0);break;case"open":"DETAILS"===E&&(r(S())&&A(),N(D),y(m(l,"toggle",A)),H=!0);break;case"group":c(l)&&(l.name||x(()=>l.name=T),N(()=>x(()=>function(e,t){e.checked=i(t)?f(t,e.value)>=0:d(e.value,t)}(l,S()??[]))),y(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())))),H=!0)}if(!H){const n=p(k,"in")?"in":p(k,"out")?"out":"inout",o=T===_?((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 '${_}' property is defined`);const i={get:e(g,o,T),set:t(g,o,T)},r={get:e(g,l,_),set:t(g,l,_)};switch(n){case"in":y(h(()=>i.get(),e=>r.set(v(e))));break;case"out":y(h(()=>r.get(),e=>i.set(v(e))));break;default:y(u(i,r))}}function C(e,t){E===e&&(A(),y(m(l,t,A)),H=!0)}})})(u),function({directive:t,evaluateLater:n,mutateDom:o}){t("format",(t,{modifiers:a},{effect:i})=>{const r=/{{(?<expr>.+?)}}/g,c=p(a,"once"),l=e=>e.hasAttribute("x-format");function u(e){c?o(()=>e()):i(()=>o(()=>e()))}!function a(i){switch(i.nodeType){case Node.TEXT_NODE:!function(t){const a=t.textContent.split(r);if(a.length>1){const i=new DocumentFragment;for(let o=0;a.length>o;o++)if(o%2==0)i.appendChild(document.createTextNode(a[o]));else{const r=e(n,t.parentNode,a[o]),c=document.createTextNode("");i.append(c),u(()=>c.textContent=r())}o(()=>t.parentElement.replaceChild(i,t))}}(i);break;case Node.ELEMENT_NODE:if(i!==t&&(i.hasAttribute("x-data")&&!l(i)&&i.setAttribute("x-format",""),l(i)))break;!function(e){for(let t of e.childNodes)a(t)}(i),function(t){for(let o of t.attributes)if([...o.value.matchAll(r)].length){const a=o.value;u(()=>o.value=a.replace(r,(o,a)=>e(n,t,a)()))}}(i)}}(t)})}(u),function({addScopeToNode:e,directive:t,initTree:n,mutateDom:o}){t("fragment",(t,{},{cleanup:i})=>{l(t)?g(t,t,{addScopeToNode:e,cleanup:i,initTree:n,mutateDom:o}):a("x-fragment can only be used on a 'template' tag")})}(u),function({addScopeToNode:t,directive:n,initTree:o,mutateDom:i}){n("match",(n,{},{cleanup:r,effect:c,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();c(()=>{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:i}))):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:i}){n("when",(n,{expression:r},{cleanup:c,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:c,initTree:o,mutateDom:i}):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.2.0",
3
+ "version": "1.2.2",
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",