-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsprinkle.min.js
More file actions
1 lines (1 loc) · 45.9 KB
/
Copy pathsprinkle.min.js
File metadata and controls
1 lines (1 loc) · 45.9 KB
1
!function(){"use strict";var e,t=[],r={},n=0;function i(e){for(var r=0;r<t.length;r++)try{e.matches(t[r][0])&&t[r][1](e)}catch(e){console.error("ForgeSprinkle:",e)}}function a(){var e=document.querySelector('meta[name="sprinkle-svg-path"]');return e?e.getAttribute("content"):"/assets/svg/"}function s(e){return String(e).padStart(2,"0")}function l(e){return e.getFullYear()+"-"+s(e.getMonth()+1)+"-"+s(e.getDate())}window.ForgeSprinkle={register:function(e,i){t.push([e,i]);var a=e.match(/\[([\w-]+)]/g);if(a)for(var s=0;s<a.length;s++)r[a[s].slice(1,-1)]=1;n&&document.querySelectorAll(e).forEach(function(e){try{i(e)}catch(e){console.error("ForgeSprinkle:",e)}})}},ForgeSprinkle.register("textarea[autosize]",function(e){function t(){e.style.height="auto",e.style.height=e.scrollHeight+"px"}e.addEventListener("input",t),t()}),ForgeSprinkle.register("[sticky]",function(e){if(!e._sprinkleStickyInit){e._sprinkleStickyInit=1;var t=document.createElement("div");t.className="sprinkle-sticky-sentinel",e.parentNode&&(e.parentNode.insertBefore(t,e),new IntersectionObserver(function(t){var r=!t[0].isIntersecting;e.classList.toggle("sprinkle-stuck",r),e.toggleAttribute("data-sprinkle-stuck",r)},{threshold:[0]}).observe(t))}}),ForgeSprinkle.register("[copy]",function(t){t.addEventListener("click",function(){var r=t.getAttribute("copy"),n=r?document.querySelector(r):t;n&&navigator.clipboard.writeText(function(e){return"INPUT"===e.tagName||"TEXTAREA"===e.tagName?e.value:e.textContent}(n)).then(function(){!function(t){t.classList.add("sprinkle-copied"),e||((e=document.createElement("div")).setAttribute("aria-live","polite"),e.className="sprinkle-sr-only",document.body.appendChild(e)),e.textContent="Copied",setTimeout(function(){t.classList.remove("sprinkle-copied")},1500)}(t)}).catch(function(){})})}),ForgeSprinkle.register("img[zoomable]",function(e){e.addEventListener("click",function(){var t=document.createElement("div");t.className="sprinkle-zoomed-bg",t.addEventListener("click",function(){t.remove()});var r=document.createElement("img");r.src=e.src,r.alt=e.alt,r.className="sprinkle-zoomed-img",t.appendChild(r),document.body.appendChild(t)})}),ForgeSprinkle.register("form[confirm-leave]",function(e){var t=0;e.addEventListener("input",function(){t=1}),e.addEventListener("submit",function(){t=0}),window.addEventListener("beforeunload",function(e){t&&(e.preventDefault(),e.returnValue="")})}),ForgeSprinkle.register("button[loading]",function(e){function t(){e.classList.add("sprinkle-loading"),e.disabled=1,e.setAttribute("aria-busy","true")}e.addEventListener("click",function(){e.type&&"submit"!==e.type||t()}),e.form&&e.form.addEventListener("submit",t)}),ForgeSprinkle.register("[character-count]",function(e){var t=e.getAttribute("maxlength"),r=document.createElement("span");if(r.className="sprinkle-char-count",r.setAttribute("aria-live","polite"),e.parentNode){var n=e.parentNode.classList.contains("sprinkle-enhance-wrap")?e.parentNode:null;n||((n=document.createElement("span")).className="sprinkle-enhance-wrap",e.parentNode.insertBefore(n,e),n.appendChild(e)),n.appendChild(r),e.addEventListener("input",i),i()}function i(){var n=e.value.length;r.textContent=t?n+" / "+t:""+n}}),ForgeSprinkle.register("input[auto-select]",function(e){e.addEventListener("focus",function(){e.select()})}),ForgeSprinkle.register("[truncate]",function(e){var t=parseInt(e.getAttribute("truncate"),10)||3;e.style.maxHeight="none";var r=e.scrollHeight,n=parseFloat(getComputedStyle(e).lineHeight);n&&!isNaN(n)||(n=1.4*parseFloat(getComputedStyle(e).fontSize));var i=Math.ceil(n*t);if(e.style.maxHeight="",e.classList.add("sprinkle-truncated"),!(r<=i+1)){e.style.maxHeight=i+"px";var a=document.createElement("button");a.type="button",a.className="sprinkle-truncate-btn",a.textContent="Show more",a.setAttribute("aria-expanded","false"),a.addEventListener("click",function(){var t=e.classList.toggle("sprinkle-expanded");a.textContent=t?"Show less":"Show more",a.setAttribute("aria-expanded",t),e.style.maxHeight=t?r+"px":i+"px"}),e.after(a)}}),ForgeSprinkle.register("textarea[enter-submit]",function(e){e.addEventListener("keydown",function(t){if((t.ctrlKey||t.metaKey)&&"Enter"===t.key){var r=e.closest("form");r&&r.requestSubmit()}})}),ForgeSprinkle.register("label[drop-zone]",function(e){if(!e._sprinkleDropZone){e._sprinkleDropZone=1;var t=e.querySelector('input[type="file"]');if(t){var r=t.multiple,n=e.ownerDocument,i=e.querySelector(".sprinkle-drop-preview");i||((i=n.createElement("div")).className="sprinkle-drop-preview",i.setAttribute("aria-live","polite"),e.appendChild(i));var a=Array.from(t.files),s=[],l=0;e.addEventListener("dragenter",function(t){t.preventDefault(),t.stopPropagation(),l++,e.classList.add("sprinkle-drop-active")}),e.addEventListener("dragover",function(e){e.preventDefault(),e.stopPropagation()}),e.addEventListener("dragleave",function(t){t.preventDefault(),t.stopPropagation(),--l<=0&&(l=0,e.classList.remove("sprinkle-drop-active"))}),e.addEventListener("drop",function(n){n.preventDefault(),n.stopPropagation(),l=0,e.classList.remove("sprinkle-drop-active");var i=n.dataTransfer.files;if(i.length){if(r)for(var s=0;s<i.length;s++)a.push(i[s]);else a=[i[0]];o(),t.dispatchEvent(new Event("change",{bubbles:1})),u()}}),t.addEventListener("change",function(){a=Array.from(t.files),u()})}}function o(){for(var e=new DataTransfer,r=0;r<a.length;r++)e.items.add(a[r]);t.files=e.files}function u(){if(function(){for(var e=0;e<s.length;e++)URL.revokeObjectURL(s[e]);s=[]}(),i.innerHTML="",a.length)for(var e=0;e<a.length;e++)(function(e,t){var r=n.createElement("div");if(r.className="sprinkle-drop-file",e.type.startsWith("image/")){var l=n.createElement("img");l.src=URL.createObjectURL(e),s.push(l.src),l.alt=e.name,r.appendChild(l)}var d=n.createElement("div");d.className="sprinkle-drop-info";var c=n.createElement("span");c.className="sprinkle-drop-name",c.textContent=e.name,d.appendChild(c);var p,v=n.createElement("span");v.className="sprinkle-drop-size",v.textContent=(p=e.size)<1024?p+" B":p<1048576?(p/1024).toFixed(1)+" KB":(p/1048576).toFixed(1)+" MB",d.appendChild(v),r.appendChild(d);var g=n.createElement("button");g.type="button",g.className="sprinkle-drop-remove",g.setAttribute("aria-label","Remove "+e.name),g.innerHTML="×",g.addEventListener("click",function(e){e.stopPropagation(),a.splice(t,1),o(),u()}),r.appendChild(g),i.appendChild(r)})(a[e],e)}}),ForgeSprinkle.register('input[type="checkbox"][switch]',function(e){if(!e._sprinkleSwitchInit&&(e._sprinkleSwitchInit=1,e.parentNode)){var t=document.createElement("span");t.className="sprinkle-switch-wrap",e.parentNode.insertBefore(t,e),t.appendChild(e);var r=document.createElement("span");r.className="sprinkle-switch-track",r.setAttribute("role","switch"),r.setAttribute("aria-checked",e.checked),t.appendChild(r),r.addEventListener("click",function(t){t.stopPropagation(),e.click()}),e.addEventListener("change",n),n()}function n(){r.setAttribute("aria-checked",e.checked),r.classList.toggle("sprinkle-switch-on",e.checked)}}),ForgeSprinkle.register("input[leading], input[suffix], input[clearable]",function(e){if(e.parentNode){var t=e.parentNode.classList.contains("sprinkle-enhance-wrap")?e.parentNode:null;t||((t=document.createElement("span")).className="sprinkle-enhance-wrap",e.parentNode.insertBefore(t,e),t.appendChild(e));var r=a(),n=e.getAttribute("leading");if(n){var i=document.createElement("img");i.src=r+n+".svg",i.className="sprinkle-icon-leading",i.alt="",t.insertBefore(i,e)}var s=e.getAttribute("suffix"),l=e.hasAttribute("clearable"),o="password"===e.getAttribute("type"),u="search"===e.getAttribute("type"),d=o&&!l,c=s;if(c||!l&&!u||(c="close"),l&&(c="close"),c)if(d||l||u||"close"===s||"clear"===s){var p=document.createElement("button");p.type="button",p.className="sprinkle-icon-suffix sprinkle-icon-interactive";var v=document.createElement("img");v.alt="",p.appendChild(v),d?(p.setAttribute("aria-label","Show password"),v.src=r+s+".svg",p.addEventListener("click",function(){var t="password"===e.type;e.type=t?"text":"password",v.src=r+(t?s+"-off":s)+".svg",p.setAttribute("aria-label",t?"Hide password":"Show password"),t||e.focus()})):(p.setAttribute("aria-label","Clear input"),v.src=r+c+".svg",p.addEventListener("click",function(){e.value="",e.dispatchEvent(new Event("input",{bubbles:1})),e.focus()})),t.appendChild(p)}else{var g=document.createElement("img");g.className="sprinkle-icon-suffix",g.alt="",g.src=r+c+".svg",t.appendChild(g)}}}),ForgeSprinkle.register("details[accordion]",function(e){if(!e._sprinkleAccordionInit&&(e._sprinkleAccordionInit=1,e.classList.add("sprinkle-accordion"),e.parentNode)){var t=document.createElement("div");t.className="sprinkle-accordion-body",Array.from(e.children).forEach(function(e){"SUMMARY"!==e.tagName&&t.appendChild(e)}),e.appendChild(t);var r=e.querySelector("summary");if(r){r.addEventListener("click",function(t){if(t.preventDefault(),!e._sprinkleAnimating){var r=e.getAttribute("accordion");if(r&&!e.open)for(var n=document.querySelectorAll('details[accordion="'+r+'"].sprinkle-accordion[open]'),i=0;i<n.length;i++)n[i]!==e&&n[i]._sprinkleClose&&n[i]._sprinkleClose();e.open?e._sprinkleClose():e._sprinkleOpen()}}),e._sprinkleOpen=function(){e.parentNode&&(e._sprinkleAnimating=1,e.setAttribute("open",""),r.setAttribute("aria-expanded","true"),t.style.height="0px",requestAnimationFrame(function(){var r=t.scrollHeight;0!==r?(t.style.height=r+"px",t.addEventListener("transitionend",i,{once:1})):e._sprinkleAnimating=0}))},e._sprinkleClose=function(){e.parentNode&&(e._sprinkleAnimating=1,r.setAttribute("aria-expanded","false"),t.style.height=t.scrollHeight+"px",requestAnimationFrame(function(){t.style.height="0px",t.addEventListener("transitionend",function(){e.removeAttribute("open"),i()},{once:1})}))};var n=e.hasAttribute("open");r.setAttribute("aria-expanded",n?"true":"false"),n&&(t.style.height="")}}function i(){e._sprinkleAnimating=0,t.style.height=""}}),ForgeSprinkle.register("[close-outside]",function(e){document.addEventListener("click",function(t){if(e.open){for(var r=t.target;r;){if(r!==e&&r.open&&("DIALOG"===r.tagName||"DETAILS"===r.tagName))return;r=r.parentElement}if("DIALOG"===e.tagName){if(e.contains(t.target)&&e!==t.target)return;e.close()}else{if(e.contains(t.target))return;e._sprinkleClose?e._sprinkleClose():e.removeAttribute("open")}}},1)}),ForgeSprinkle.register("[open-group], [close-group]",function(e){e.addEventListener("click",function(){for(var t=e.getAttribute("open-group")||e.getAttribute("close-group"),r=e.hasAttribute("open-group"),n=document.querySelectorAll('details[accordion="'+t+'"]'),i=0;i<n.length;i++)r?n[i]._sprinkleOpen?n[i]._sprinkleOpen():n[i].setAttribute("open",""):n[i]._sprinkleClose?n[i]._sprinkleClose():n[i].removeAttribute("open")})}),ForgeSprinkle.register("input[no-past], input[no-future]",function(e){if(("date"===e.type||"datetime-local"===e.type)&&!e._sprinkleDateInputInit){var t=e.hasAttribute("no-past"),r=new Date,n=l(r);"datetime-local"===e.type?e.setAttribute(t?"min":"max",n+"T"+s(r.getHours())+":"+s(r.getMinutes())):e.setAttribute(t?"min":"max",n),e.addEventListener("change",function(){if(e.value){var r=new Date(e.value+("date"===e.type?"T00:00:00":""));(t?r<new Date:r>new Date)?(e.value="",e.setCustomValidity(t?"Past dates are not allowed":"Future dates are not allowed")):e.setCustomValidity("")}})}}),ForgeSprinkle.register("input[disable-days]",function(e){if(("date"===e.type||"datetime-local"===e.type)&&!e._sprinkleDateInputInit){var t={sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6};e.addEventListener("change",function(){e.value&&(function(r){var n=e.getAttribute("disable-days");if(!n)return 0;var i=r.getDay();return"weekends"===n?0===i||6===i:"weekdays"===n?i>=1&&i<=5:n.split(",").map(function(e){return e.trim().toLowerCase().slice(0,3)}).some(function(e){return t[e]===i})}(new Date(e.value+("date"===e.type?"T00:00:00":"")))?(e.value="",e.setCustomValidity("This date is not available")):e.setCustomValidity(""))})}}),ForgeSprinkle.register('input[type="datetime-local"][business-hours]',function(e){if(!e._sprinkleDateInputInit){var t=e.getAttribute("business-hours"),r=t?t.split("-"):[];if(!(r.length<2)){var n=a(r[0]),i=a(r[1]);null!==n&&null!==i&&e.addEventListener("change",function(){if(e.value){var t=e.value.split("T")[1];if(t){var a=t.split(":"),s=60*parseInt(a[0],10)+parseInt(a[1],10);if(s<n||s>i){var l=s<n?n:i,o=String(Math.floor(l/60)).padStart(2,"0"),u=String(l%60).padStart(2,"0");e.value=e.value.split("T")[0]+"T"+o+":"+u,e.setCustomValidity("Time must be between "+r[0].trim()+" and "+r[1].trim())}else e.setCustomValidity("")}}})}}function a(e){var t=e.trim().match(/^(\d{1,2}):(\d{2})(?:\s*(AM|PM))?$/i);if(!t)return null;var r=parseInt(t[1],10),n=parseInt(t[2],10);if(t[3]){var i="PM"===t[3].toUpperCase();i&&12!==r&&(r+=12),i||12!==r||(r=0)}return 60*r+n}}),ForgeSprinkle.register("input[date-range]",function(e){if(!e._sprinkleDateInputInit&&!e.hasAttribute("date-input")){var t=e.getAttribute("date-range"),r=e.getAttribute("data-range-type");if(t&&r){var n='input[date-range="'+t+'"][data-range-type="'+("start"===r?"end":"start")+'"]',i=document.querySelector(n);if(i){var a=null;e.value&&i.value&&o(),e.addEventListener("change",function(){if("start"===r&&null!==a&&i.value){var t=function(e,t){var r=-1!==e.indexOf("T"),n=new Date(s(e)+"T00:00:00");n.setDate(n.getDate()+t);var i=l(n);return r?i+"T"+(e.split("T")[1]||"00:00"):i}(e.value,a),n=i.getAttribute("min"),u=i.getAttribute("max");n&&t.substring(0,10)<n.substring(0,10)&&(t=n),u&&t.substring(0,10)>u.substring(0,10)&&(t=u),i.value=t}e.value&&i.value&&o(),"start"===r&&e.value&&(i.focus(),i.showPicker&&i.showPicker())}),e.addEventListener("focus",u),e.addEventListener("blur",d),i.addEventListener("focus",u),i.addEventListener("blur",d)}}}function s(e){return(e||"").split("T")[0]}function o(){if(e.value&&i.value){var t=new Date(s(e.value)+"T00:00:00"),r=new Date(s(i.value)+"T00:00:00");a=Math.round((r-t)/864e5)}else a=null}function u(){e.setAttribute("data-sprinkle-range-active",""),i.setAttribute("data-sprinkle-range-active","")}function d(){setTimeout(function(){document.activeElement!==i&&document.activeElement!==e&&(e.removeAttribute("data-sprinkle-range-active"),i.removeAttribute("data-sprinkle-range-active"))},0)}}),ForgeSprinkle.register("input[date-input]",function(e){if(("date"===e.type||"datetime-local"===e.type)&&!e._sprinkleDateInputInit){e._sprinkleDateInputInit=1;var t=["January","February","March","April","May","June","July","August","September","October","November","December"],r=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],n=["Su","Mo","Tu","We","Th","Fr","Sa"],i={sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6},a=e.ownerDocument||document,s=C(e.value),o=_(s||new Date),u=C(e.getAttribute("min")),d=C(e.getAttribute("max"));if(e.hasAttribute("no-past")){var c=new Date;c.setHours(0,0,0,0),(!u||c>u)&&(u=c)}if(e.hasAttribute("no-future")){var p=new Date;p.setHours(0,0,0,0),(!d||p<d)&&(d=p)}var v=e.getAttribute("disable-days"),g=e.getAttribute("date-range"),f=e.getAttribute("data-range-type"),m=!(!g||!f),h=null;if(e.style.cssText="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0",m&&(h=document.querySelector('input[date-range="'+g+'"][data-range-type="'+("start"===f?"end":"start")+'"]'),e._sprinkleDpShared)){var b=T(),k=e._sprinkleDpShared;function V(){"true"===k.getAttribute("aria-hidden")?k._sprinkleDpOpen():k._sprinkleDpClose()}return e._sprinkleDpTrigger=b,e._sprinkleDpUpdateTrigger=function(){var t=C(e.value);b._updateLabel(t?S(t):"")},b.addEventListener("click",V),b.addEventListener("keydown",function(e){"Enter"===e.key||" "===e.key?(e.preventDefault(),V()):"ArrowDown"!==e.key&&"ArrowUp"!==e.key||(e.preventDefault(),k._sprinkleDpOpen())}),void e._sprinkleDpUpdateTrigger()}b=T(),I();var y,w=[];if(m){(y=a.createElement("div")).className="sprinkle-dp-range-wrap",y.setAttribute("role","dialog"),y.setAttribute("aria-modal","true"),y.setAttribute("aria-label","Choose date range"),y.setAttribute("aria-hidden","true");var A=a.createElement("div");A.className="sprinkle-dp-range";var E=q(o,function(t){O(t,e)}),D=q(M(o,1),function(e){O(e,h)});w=[E,D],A.appendChild(E.panel),A.appendChild(D.panel),y.appendChild(A),E.prevBtn.addEventListener("click",function(){E.viewDate=M(E.viewDate,-1),D.viewDate=M(E.viewDate,1),B(E),B(D)}),E.nextBtn.removeEventListener("click",E.nextBtn.onclick),E.nextBtn.addEventListener("click",function(){E.viewDate=M(E.viewDate,1),D.viewDate=M(E.viewDate,1),B(E),B(D)}),D.prevBtn.addEventListener("click",function(){D.viewDate=M(D.viewDate,-1),E.viewDate=M(D.viewDate,-1),B(E),B(D)}),D.nextBtn.removeEventListener("click",D.nextBtn.onclick),D.nextBtn.addEventListener("click",function(){D.viewDate=M(D.viewDate,1),B(D),E.viewDate=M(D.viewDate,-1),B(E)}),h&&(h._sprinkleDpShared=y)}else{(y=a.createElement("div")).className="sprinkle-dp",y.setAttribute("role","dialog"),y.setAttribute("aria-modal","true"),y.setAttribute("aria-label","Choose date"),y.setAttribute("aria-hidden","true");var x=q(o);w=[x],y.appendChild(x.panel)}e._sprinkleDpPopup=y,a.body.appendChild(y),y._sprinkleDpOpen=H,y._sprinkleDpClose=U,y.addEventListener("keydown",function(t){if("true"!==y.getAttribute("aria-hidden")){if("Escape"===t.key)return t.preventDefault(),U(),void b.focus();var r=a.activeElement;if(r&&r.classList.contains("sprinkle-dp-day")){var n=C(r.getAttribute("data-date"));if(n){var i=null;switch(t.key){case"ArrowRight":i=new Date(n.getTime()+864e5);break;case"ArrowLeft":i=new Date(n.getTime()-864e5);break;case"ArrowDown":i=new Date(n.getTime()+6048e5);break;case"ArrowUp":i=new Date(n.getTime()-6048e5);break;case"Home":i=new Date(n.getFullYear(),n.getMonth(),1);break;case"End":i=new Date(n.getFullYear(),n.getMonth()+1,0);break;case"PageDown":i=t.shiftKey?new Date(n.getFullYear()+1,n.getMonth(),n.getDate()):M(n,1);break;case"PageUp":i=t.shiftKey?new Date(n.getFullYear()-1,n.getMonth(),n.getDate()):M(n,-1);break;case"Enter":case" ":return t.preventDefault(),void O(n,w.length>1&&w[1].grid.contains(r)?h:e)}if(i){t.preventDefault();for(var s=_(i),o=0;o<w.length&&w[o].viewDate.getTime()!==s.getTime();o++);o===w.length&&(w[0].viewDate=s,m&&w.length>1&&(w[1].viewDate=M(s,1)),w[0].showMonths=0,B(w[0]),m&&B(w[1]));var u=y.querySelector('[data-date="'+l(i)+'"]');if(u&&!u.getAttribute("aria-disabled")){for(var d=y.querySelectorAll(".sprinkle-dp-day"),c=0;c<d.length;c++)d[c].setAttribute("tabindex","-1");u.setAttribute("tabindex","0"),u.focus()}}}}}}),b.addEventListener("click",function(){"true"===y.getAttribute("aria-hidden")?H():U()}),b.addEventListener("keydown",function(e){"Enter"===e.key||" "===e.key?(e.preventDefault(),"true"===y.getAttribute("aria-hidden")?H():U()):"ArrowDown"!==e.key&&"ArrowUp"!==e.key||(e.preventDefault(),H())}),a.addEventListener("mousedown",function(e){if("true"!==y.getAttribute("aria-hidden")&&!y.contains(e.target)&&!b.contains(e.target)){if(m&&h){var t=h._sprinkleDpTrigger;if(t&&t.contains(e.target))return}U()}});var L=function(){"false"===y.getAttribute("aria-hidden")&&P()};window.addEventListener("scroll",L,1),window.addEventListener("resize",L),b._sprinkleDpPopup=y,m&&h&&(h._sprinkleDpTrigger=b),R(),B(w[0]),m&&B(w[1])}function C(e){if(!e)return null;var t=e.split("T")[0].split("-");if(t.length<3)return null;var r=new Date(+t[0],+t[1]-1,+t[2]);return r.getFullYear()===+t[0]&&r.getMonth()===+t[1]-1&&r.getDate()===+t[2]?r:null}function S(e){return e?t[e.getMonth()]+" "+e.getDate()+", "+e.getFullYear():""}function N(e,t){return e&&t&&e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()}function _(e){return new Date(e.getFullYear(),e.getMonth(),1)}function M(e,t){var r=new Date(e.getTime()),n=r.getDate();return r.setMonth(r.getMonth()+t),r.getDate()!==n&&r.setDate(0),r}function F(e){return function(e){if(!v)return 0;if("weekends"===v)return 0===e||6===e;if("weekdays"===v)return e>=1&&e<=5;for(var t=v.split(","),r=0;r<t.length;r++)if(i[t[r].trim().toLowerCase().slice(0,3)]===e)return 1;return 0}(e.getDay())||u&&e<u||d&&e>d?1:0}function T(){var t=e.getAttribute("aria-label")||"";if(!t&&e.id){var r=a.querySelector('label[for="'+e.id+'"]');r&&(t=r.textContent.trim())}t||(t=e.getAttribute("name")||"Choose date");var n=a.createElement("button");n.type="button",n.className="sprinkle-dp-trigger",n.style.cssText="font:inherit;padding:0.35em 2.2em 0.35em 0.5em;border:1px solid var(--sprinkle-dp-trigger-border);border-radius:4px;background:var(--sprinkle-dp-trigger-bg);color:var(--sprinkle-dp-trigger-color);min-width:14ch;box-sizing:border-box;cursor:pointer;text-align:left;position:relative",n.setAttribute("aria-label",t),n.setAttribute("aria-haspopup","dialog"),n.setAttribute("aria-expanded","false"),e.hasAttribute("required")&&n.setAttribute("required","");var i=a.createElement("span");return i.className="sprinkle-dp-icon",i.setAttribute("aria-hidden","true"),n._updateLabel=function(e){n.textContent="",n.appendChild(a.createTextNode(e||t)),n.appendChild(i)},e.parentNode&&e.parentNode.insertBefore(n,e.nextSibling),n}function I(){b._updateLabel(s?S(s):"")}function q(e,r){var i=a.createElement("div");i.className="sprinkle-dp";var s=a.createElement("div");s.className="sprinkle-dp-header";var l=a.createElement("button");l.type="button",l.className="sprinkle-dp-prev",l.setAttribute("aria-label","Previous month"),l.innerHTML="‹";var o=a.createElement("button");o.type="button",o.className="sprinkle-dp-month",o.setAttribute("aria-live","polite");var u=a.createElement("button");u.type="button",u.className="sprinkle-dp-next",u.setAttribute("aria-label","Next month"),u.innerHTML="›",s.appendChild(l),s.appendChild(o),s.appendChild(u),i.appendChild(s);var d=a.createElement("div");d.className="sprinkle-dp-weekdays",d.setAttribute("role","row");for(var c=0;c<7;c++){var p=a.createElement("span");p.setAttribute("role","columnheader"),p.setAttribute("aria-label",t[c]||""),p.textContent=n[c],d.appendChild(p)}i.appendChild(d);var v=a.createElement("div");v.className="sprinkle-dp-grid",v.setAttribute("role","grid"),i.appendChild(v);var g=a.createElement("button");g.type="button",g.className="sprinkle-dp-clear",g.textContent="Clear",i.appendChild(g);var f={panel:i,header:s,prevBtn:l,monthBtn:o,nextBtn:u,grid:v,clearBtn:g,weekdays:d,viewDate:_(e),showMonths:0,onSelect:r||null};return l.addEventListener("click",function(){f.showMonths?f.viewDate=new Date(f.viewDate.getFullYear()-1,f.viewDate.getMonth(),1):f.viewDate=M(f.viewDate,-1),B(f)}),u.addEventListener("click",function(){f.showMonths?f.viewDate=new Date(f.viewDate.getFullYear()+1,f.viewDate.getMonth(),1):f.viewDate=M(f.viewDate,1),B(f)}),o.addEventListener("click",function(){f.showMonths=!f.showMonths,B(f)}),g.addEventListener("click",function(){(f.onSelect||O)(null)}),f}function B(e){var n=e.viewDate.getFullYear(),i=e.viewDate.getMonth();if(e.grid.innerHTML="",e.showMonths){e.monthBtn.textContent=""+n,e.weekdays.style.display="none",e.grid.setAttribute("aria-label","Months in "+n),e.grid.style.display="",e.grid.style.gridTemplateColumns="repeat(3, 1fr)";for(var o=0;o<12;o++)(function(s){var l=a.createElement("button");l.type="button",l.textContent=r[s],l.setAttribute("aria-label",t[s]+" "+n),l.style.cssText="width:auto;font:inherit;border:none;background:none;cursor:pointer;border-radius:4px;color:var(--sprinkle-dp-text);font-size:0.85em",s===i&&(l.style.background="var(--sprinkle-dp-accent)",l.style.color="var(--sprinkle-dp-accent-text)",l.style.fontWeight="600"),new Date(n,s,1);for(var o=new Date(n,s+1,0),u=1,d=1;d<=o.getDate();d++)if(!F(new Date(n,s,d))){u=0;break}u&&(l.style.opacity="0.4",l.style.cursor="default"),l.addEventListener("click",function(){u||(e.viewDate=new Date(n,s,1),e.showMonths=0,B(e))}),e.grid.appendChild(l)})(o);e.clearBtn.style.display=""}else{e.monthBtn.textContent=t[i]+" "+n,e.weekdays.style.display="",e.grid.style.display="",e.grid.style.gridTemplateColumns="",e.grid.setAttribute("aria-label",t[i]+" "+n);var u=function(e,t){return new Date(e,t,1).getDay()}(n,i),d=function(e,t){return new Date(e,t+1,0).getDate()}(n,i),c=new Date;c.setHours(0,0,0,0);for(var p=0;p<u;p++){var v=a.createElement("span");v.className="sprinkle-dp-empty",v.setAttribute("aria-hidden","true"),e.grid.appendChild(v)}for(var g=1;g<=d;g++){var b=new Date(n,i,g),k=a.createElement("button");if(k.type="button",k.className="sprinkle-dp-day",k.setAttribute("role","gridcell"),k.setAttribute("tabindex","-1"),k.setAttribute("data-date",l(b)),k.setAttribute("aria-label",S(b)),k.textContent=g,F(b)&&k.setAttribute("aria-disabled","true"),N(b,c)&&k.classList.add("sprinkle-dp-today"),N(b,s)&&(k.classList.add("sprinkle-dp-selected"),k.setAttribute("aria-selected","true"),k.setAttribute("tabindex","0")),m&&s){var y="start"===f?s:C(h?h.value:""),w="start"===f?C(h?h.value:""):s;if(y&&w){if(y>w){var A=y;y=w,w=A}N(b,y)?k.classList.add("sprinkle-dp-range-start"):N(b,w)?k.classList.add("sprinkle-dp-range-end"):b>y&&b<w&&k.classList.add("sprinkle-dp-range-between")}}F(b)||k.addEventListener("click",function(t){return function(){(e.onSelect||O)(t)}}(b)),e.grid.appendChild(k)}for(var E=u+d,D=E%7==0?0:7-E%7,x=42-(E+D),L=0;L<D+x;L++){var _=a.createElement("span");_.className="sprinkle-dp-empty",_.setAttribute("aria-hidden","true"),e.grid.appendChild(_)}e.clearBtn.style.display=""}}function O(t,r){if(!t||!F(t)){if(r=r||e,m){if(r===e){if(s=t,t&&h){var n=C(h.value);n&&n<t&&(h.value=l(t),h.dispatchEvent(new Event("change",{bubbles:1})))}}else{if(t&&h){var i=C(e.value);if(i&&t<i)return}r.value=t?l(t):"",r.dispatchEvent(new Event("input",{bubbles:1})),r.dispatchEvent(new Event("change",{bubbles:1}))}B(w[0]),B(w[1])}else s=t,o=_(t||new Date),w[0].viewDate=o,B(w[0]),U();I(),R(),e.dispatchEvent(new Event("input",{bubbles:1})),e.dispatchEvent(new Event("change",{bubbles:1})),m&&h&&h._sprinkleDpUpdateTrigger&&h._sprinkleDpUpdateTrigger()}}function R(){e.value=s?l(s):""}function P(){var e=b.getBoundingClientRect(),t=window.innerHeight,r=y.offsetWidth||(m?560:280),n=y.offsetHeight||320;if(y.style.left="",y.style.top="",m){var i=h&&h._sprinkleDpTrigger;if(i){var a=b.getBoundingClientRect(),s=i.getBoundingClientRect(),l=Math.min(a.left,s.left),o=Math.max(a.right,s.right);y.style.left=l+"px",o+8>window.innerWidth&&(y.style.left=Math.max(8,window.innerWidth-r-8)+"px")}else y.style.left=e.left+"px"}else y.style.left=e.left+"px";var u=e.top,d=t-e.bottom;y.style.top=d>=n+8?e.bottom+4+"px":u>=n+8?e.top-n-4+"px":e.bottom+4+"px";var c=parseFloat(y.style.left);c+r>window.innerWidth&&(y.style.left=Math.max(8,window.innerWidth-r-8)+"px"),c<0&&(y.style.left="8px")}function H(){if("false"!==y.getAttribute("aria-hidden")){for(var e=a.querySelectorAll('.sprinkle-dp[aria-hidden="false"],.sprinkle-dp-range-wrap[aria-hidden="false"]'),t=0;t<e.length;t++)e[t]!==y&&e[t]._sprinkleDpClose&&e[t]._sprinkleDpClose();if(m&&h){var r=C(h.value);"start"===f?(w[0].viewDate=_(s||new Date),w[1].viewDate=r?_(r):M(w[0].viewDate,1)):(w[1].viewDate=_(s||new Date),w[0].viewDate=r?_(r):M(w[1].viewDate,-1))}else w[0].viewDate=_(s||new Date),w[0].showMonths=0;B(w[0]),m&&B(w[1]),y.setAttribute("aria-hidden","false"),b.setAttribute("aria-expanded","true"),y.parentNode||a.body.appendChild(y),P();var n=y.querySelector(".sprinkle-dp-selected")||y.querySelector(".sprinkle-dp-today:not([aria-disabled])")||y.querySelector(".sprinkle-dp-day:not([aria-disabled])");n&&setTimeout(function(){n.focus()},0)}}function U(){y.setAttribute("aria-hidden","true"),b.setAttribute("aria-expanded","false"),w[0]&&(w[0].showMonths=0),y.parentNode&&y.parentNode.removeChild(y)}});var o={valueMissing:"required",typeMismatch:"type",patternMismatch:"pattern",tooShort:"minlength",tooLong:"maxlength",rangeUnderflow:"min",rangeOverflow:"max",stepMismatch:"step",badInput:"badinput"},u={valueMissing:"This field is required.",tooShort:"Value is too short.",tooLong:"Value is too long.",rangeUnderflow:"Value is too low.",rangeOverflow:"Value is too high.",typeMismatch:"Please enter a valid value.",patternMismatch:"Please match the requested format.",stepMismatch:"Please enter a valid step value.",badInput:"Please enter a valid number."},d=0,c="[error-message],[allowed-domains]";for(var p in o)c+=",[error-message-"+o[p]+"]";function v(e){document.documentElement.setAttribute("data-sprinkle-theme",e?"dark":"light");try{localStorage.setItem("sprinkle-theme",e?"dark":"light")}catch(e){}}function g(){var e=document.documentElement.getAttribute("data-sprinkle-theme");return"dark"===e?1:"light"===e?0:window.matchMedia("(prefers-color-scheme: dark)").matches}function f(){!function(){var e;try{e=localStorage.getItem("sprinkle-theme")}catch(e){}v("dark"===e?1:"light"===e?0:window.matchMedia("(prefers-color-scheme: dark)").matches)}();var e=t.reduce(function(e,t){return e+(e?",":"")+t[0]},"");e&&document.querySelectorAll(e).forEach(i),document.addEventListener("click",function(e){var t=e.target.closest("[commandfor], [command-for]");if(t){var r=t.getAttribute("commandfor")||t.getAttribute("command-for"),n=t.getAttribute("command");if(r&&n){var i=document.getElementById(r);i&&"DIALOG"===i.tagName&&(e.preventDefault(),"show-modal"===n||"showmodal"===n?i.showModal():"close"===n&&i.close())}}}),function(){if(!m){m=1;var e=window.MutationObserver;e&&new e(function(e){e.forEach(function(e){e.addedNodes.forEach(function(e){1===e.nodeType&&function(e){if(!e.hasAttributes)return 0;for(var t=e.attributes,n=0;n<t.length;n++)if(r[t[n].name])return 1;return 0}(e)&&i(e)})})}).observe(document.body,{childList:1,subtree:1})}}(),n=1}ForgeSprinkle.register(c,function(e){if(!e._sprinkleErrorInit){e._sprinkleErrorInit=1;var t=document.createElement("div");t.className="sprinkle-error",t.setAttribute("role","alert"),t.setAttribute("aria-hidden","true"),t.id="sprinkle-err-"+ ++d,e._sprinkleErrorShow=function(){t.textContent=function(e){var t=e.validity,r=e.getAttribute("error-message");for(var n in o)if(t[n])return e.getAttribute("error-message-"+o[n])||r||u[n]||e.validationMessage;return t.customError?e.validationMessage:void 0!==e._sprinkleMaxLen&&e.value.length>e._sprinkleMaxLen?e.getAttribute("error-message-maxlength")||r||u.tooLong||e.validationMessage:r||e.validationMessage}(e),e.setAttribute("aria-invalid","true"),t.setAttribute("aria-hidden","false"),e.setAttribute("aria-describedby",t.id);var r=e._sprinkleErrorRef?e._sprinkleErrorRef:e.parentNode&&e.parentNode.classList.contains("sprinkle-enhance-wrap")?e.parentNode:e;r.parentNode.insertBefore(t,r.nextSibling)},e._sprinkleErrorClear=function(){t.parentNode&&t.parentNode.removeChild(t),e.removeAttribute("aria-invalid"),e.removeAttribute("aria-describedby"),t.setAttribute("aria-hidden","true")};var r=e.getAttribute("maxlength");null!==r&&(e._sprinkleMaxLen=parseInt(r,10),e.removeAttribute("maxlength"));var n=e.closest("form");n&&!n._sprinkleErrorInit&&(n._sprinkleErrorInit=1,n.setAttribute("novalidate",""),n.addEventListener("submit",function(e){e.preventDefault();for(var t=0;t<n.elements.length;t++)n.elements[t]._sprinkleErrorClear&&n.elements[t]._sprinkleErrorClear();var r=1,i=null;for(t=0;t<n.elements.length;t++){var a=n.elements[t];a._sprinkleErrorShow&&(!a.checkValidity()||void 0!==a._sprinkleMaxLen&&a.value.length>a._sprinkleMaxLen)&&(r=0,i||(i=a),a._sprinkleErrorShow())}if(r){if(n.hasAttribute("enhance"))return;n.submit()}else i&&i.focus()})),e.addEventListener("invalid",function(t){t.preventDefault(),e._sprinkleErrorShow()}),e.addEventListener("input",function(){void 0!==e._sprinkleMaxLen&&e.value.length>e._sprinkleMaxLen?e._sprinkleErrorShow():e._sprinkleErrorClear()})}}),ForgeSprinkle.register("input[otp]",function(e){if(!e._sprinkleOtpInit){var t=parseInt(e.getAttribute("max"),10);if(!(isNaN(t)||t<2)){e._sprinkleOtpInit=1,e.type="text",e.inputMode="numeric",e.pattern="[0-9]{"+t+"}",e.maxLength=t,e.autocomplete="one-time-code";var r=document.createElement("div");r.className="sprinkle-otp",r.setAttribute("role","group"),r.setAttribute("aria-label","One-time code, "+t+" digits");for(var n=[],i=0;i<t;i++)(function(e){var i=document.createElement("input");i.type="text",i.inputMode="numeric",i.maxLength=1,i.pattern="[0-9]",i.className="sprinkle-otp-box",i.setAttribute("aria-label","Digit "+(e+1)+" of "+t),i.setAttribute("autocomplete","one-time-code"),i.addEventListener("input",function(){this.value=this.value.replace(/[^0-9]/g,"").slice(0,1),this.value&&e<t-1&&n[e+1].focus(),s()}),i.addEventListener("keydown",function(r){"Backspace"===r.key?!this.value&&e>0&&(n[e-1].focus(),n[e-1].value="",s()):"ArrowLeft"===r.key&&e>0?(r.preventDefault(),n[e-1].focus()):"ArrowRight"===r.key&&e<t-1&&(r.preventDefault(),n[e+1].focus())}),i.addEventListener("paste",function(e){e.preventDefault();for(var r=(e.clipboardData||window.clipboardData).getData("text").replace(/[^0-9]/g,"").slice(0,t),i=0;i<r.length&&i<t;i++)n[i].value=r[i];n[Math.min(r.length,t-1)].focus(),s()}),r.appendChild(i),n.push(i)})(i);var a=e.parentNode&&e.parentNode.classList.contains("sprinkle-enhance-wrap")?e.parentNode:e;a.parentNode.insertBefore(r,a.nextSibling),e._sprinkleErrorRef=r,e.addEventListener("focus",function(){for(var e=0;e<t;e++)if(!n[e].value)return void n[e].focus();n[t-1].focus()})}}function s(){e.value=n.map(function(e){return e.value}).join("")}}),ForgeSprinkle.register('input[type="url"][prefix]',function(e){var t=e.getAttribute("prefix")||"",r="https://"+t+(t?".":"");e.addEventListener("input",function(t){t.inputType&&-1!==t.inputType.indexOf("delete")||e.value&&-1===e.value.indexOf("://")&&e.value.slice(0,r.length)!==r&&(e.value=r+e.value,e.setSelectionRange(e.value.length,e.value.length))})}),ForgeSprinkle.register('input[type="tel"][mask], input[type="text"][mask]',function(e){var t=function(e){return null===e.getAttribute("mask")||"tel"!==e.type||e.getAttribute("mask")?e.getAttribute("mask")||"":"(000) 000-0000"}(e);t&&e.addEventListener("input",function(){var r=e.selectionStart,n=(e.value.slice(0,r).match(/[0-9]/g)||[]).length;e.value=function(e,t){for(var r=e.replace(/[^0-9]/g,""),n="",i=0,a=0;a<t.length&&i<r.length;a++)n+="0"===t[a]?r[i++]:t[a];return n}(e.value,t);for(var i=0,a=0,s=0;s<t.length&&a<n;s++)i++,"0"===t[s]&&a++;e.setSelectionRange(i,i)})}),ForgeSprinkle.register("input[allowed-domains]",function(e){function t(){if(!e.value)return e.setCustomValidity(""),void e.checkValidity();var t=e.getAttribute("allowed-domains").split(",").map(function(e){return e.trim()}),r=function(t){if("email"===e.type){var r=t.indexOf("@");return r>=0?t.slice(r+1):""}try{return new URL(t).hostname}catch(e){return""}}(e.value);r&&-1===t.indexOf(r)?e.setCustomValidity(e.getAttribute("error-message-allowed-domains")||"Domain not allowed."):e.setCustomValidity(""),e.checkValidity()}e.addEventListener("input",t),e.addEventListener("change",t)}),ForgeSprinkle.register("img[avatar], ul[breadcrumb]",function(){}),ForgeSprinkle.register("[tooltip]",function(e){function t(){var t=e.getBoundingClientRect(),r=t.top,n=window.innerHeight-t.bottom,i=t.left,a=window.innerWidth-t.right,s=e.getAttribute("tooltip")||"",l=Math.min(7*s.length+16,360);e.classList.remove("sprinkle-tip-bottom","sprinkle-tip-left","sprinkle-tip-right"),r>=28||(n>=28?e.classList.add("sprinkle-tip-bottom"):a>=l?e.classList.add("sprinkle-tip-right"):i>=l?e.classList.add("sprinkle-tip-left"):e.classList.add("sprinkle-tip-bottom"))}e.hasAttribute("title")&&e.removeAttribute("title"),e.addEventListener("mouseenter",t),e.addEventListener("focusin",t)}),ForgeSprinkle.register("dialog[drawer], dialog[modal]",function(e){e.addEventListener("click",function(t){var r=t.target.closest('[command-for="'+e.id+'"], [commandfor="'+e.id+'"]');r&&"close"===r.getAttribute("command")&&(t.preventDefault(),e.close())})}),ForgeSprinkle.register("details[dropdown]",function(e){e.addEventListener("keydown",function(t){if("Escape"===t.key&&e.open)return e.removeAttribute("open"),e.querySelector("summary").focus(),void t.preventDefault();if(e.open){var r=e.querySelectorAll('a, button, [role="menuitem"], li > a, li > button, li[role="option"], [search-box]'),n=Array.from(r).filter(function(e){return!e.disabled&&null!==e.offsetParent});if(n.length){var i=n.indexOf(document.activeElement);"ArrowDown"===t.key?(t.preventDefault(),n[(i+1)%n.length].focus()):"ArrowUp"===t.key?(t.preventDefault(),n[(i-1+n.length)%n.length].focus()):"Home"===t.key?(t.preventDefault(),n[0].focus()):"End"===t.key&&(t.preventDefault(),n[n.length-1].focus())}}})}),ForgeSprinkle.register("select[combo-box]",function(e){if(!e._sprinkleComboBoxInit&&(e._sprinkleComboBoxInit=1,e.parentNode)){var t=e.offsetWidth;e.style.display="none";var r=a(),n=e.ownerDocument,s=e.multiple,l=(e.name||e.id||"combo")+"-listbox",o=n.createElement("div");o.className="sprinkle-combo-wrap",o.setAttribute("role","combobox"),o.setAttribute("aria-haspopup","listbox"),o.setAttribute("aria-expanded","false"),o.setAttribute("aria-controls",l);var u=n.createElement("details");u.className="sprinkle-combo",u.setAttribute("dropdown",""),u.setAttribute("close-outside","");var d=n.createElement("summary");d.setAttribute("role","button"),d.setAttribute("tabindex","0");var c=e.getAttribute("aria-label")||e.getAttribute("label")||"";if(!c&&e.id){var p=n.querySelector('label[for="'+e.id+'"]');p&&(c=p.textContent.trim())}c||(c=e.name||""),c&&(o.setAttribute("aria-label",c),d.setAttribute("aria-label",c));var v=[];y(),w();var g,f=n.createElement("div");f.setAttribute("listbox",""),f.setAttribute("role","listbox"),f.id=l,s&&f.setAttribute("aria-multiselectable","true"),e.hasAttribute("searchable")&&((g=n.createElement("input")).type="text",g.setAttribute("search-box",""),g.setAttribute("aria-label","Search options"),g.placeholder=e.getAttribute("search-placeholder")||"Search options...",g.addEventListener("input",function(){for(var e=g.value.toLowerCase().trim(),t=f.querySelectorAll('li[role="option"]'),r=0;r<t.length;r++)t[r].style.display=e&&-1===t[r].textContent.toLowerCase().indexOf(e)?"none":"";var n=f.querySelectorAll(".sprinkle-combo-category");if(e)for(var i=0;i<n.length;i++){for(var a=n[i],s=a.nextElementSibling,l=0;s&&!s.classList.contains("sprinkle-combo-category");){if("none"!==s.style.display){l=1;break}s=s.nextElementSibling}a.style.display=l?"":"none"}else for(i=0;i<n.length;i++)n[i].style.display=""}),g.addEventListener("click",function(e){e.stopPropagation()}),f.appendChild(g));for(var m=n.createElement("ul"),h=null,b=0;b<e.options.length;b++){var k=e.options[b].getAttribute("category");k!==h&&(x(k),h=k),function(t){var r=e.options[t],i=n.createElement("li");if(i.setAttribute("role","option"),i.setAttribute("data-value",r.value),i.setAttribute("data-category",k||""),i.setAttribute("aria-posinset",String(t+1)),i.setAttribute("aria-setsize",String(e.options.length)),i.tabIndex=-1,r.disabled&&i.setAttribute("aria-disabled","true"),s){var a=n.createElement("span");a.className="sprinkle-combo-check",a.textContent="✓",i.appendChild(a)}var l=r.getAttribute("data-avatar");if(l){var o=n.createElement("img");o.src=l,o.setAttribute("avatar","sm"),o.alt="",i.appendChild(o)}i.appendChild(n.createTextNode(r.textContent)),r.disabled||(i.addEventListener("click",function(){D(t)}),i.addEventListener("keydown",function(e){"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),D(t))})),m.appendChild(i)}(b)}E(),f.appendChild(m),u.appendChild(d),u.appendChild(f),o.appendChild(u),t>0&&(o.style.minWidth=t+"px"),u.addEventListener("toggle",function(){u.open?(g&&setTimeout(function(){g.focus()},0),o.setAttribute("aria-expanded","true")):(o.setAttribute("aria-expanded","false"),A())}),e.addEventListener("change",function(){var e=v.slice();y(),(e.length!==v.length||e.some(function(e,t){return e!==v[t]}))&&(w(),E())}),e.parentNode.insertBefore(o,e.nextSibling),i(u)}function y(){if(s){v=[];for(var t=0;t<e.options.length;t++)e.options[t].selected&&v.push(t)}else{var r=e.selectedIndex;v=r>=0?[r]:[0]}}function w(){d.innerHTML="";var t=e.getAttribute("leading");if(t){var i=n.createElement("span");i.className="sprinkle-icon-leading",i.style.maskImage="url("+r+t+".svg)",i.style.webkitMaskImage="url("+r+t+".svg)",d.appendChild(i)}if(s){var a=n.createElement("span");a.textContent=v.length?v.length+" selected":"Select...",d.appendChild(a)}else{var l=e.options[v[0]];if(l){var o=l.getAttribute("data-avatar");if(o){var u=n.createElement("img");u.src=o,u.setAttribute("avatar","sm"),u.alt="",d.appendChild(u)}var c=n.createElement("span");c.textContent=l.textContent,d.appendChild(c)}}var p=e.getAttribute("suffix");if(p){var g=n.createElement("span");g.className="sprinkle-icon-suffix",g.style.maskImage="url("+r+p+".svg)",g.style.webkitMaskImage="url("+r+p+".svg)",d.appendChild(g)}}function A(){if(g){g.value="";for(var e=f.querySelectorAll('li[role="option"]'),t=0;t<e.length;t++)e[t].style.display=""}}function E(){for(var e=m.querySelectorAll('li[role="option"]'),t=0;t<e.length;t++)e[t].removeAttribute("active"),e[t].removeAttribute("aria-selected"),(n=e[t].querySelector(".sprinkle-combo-check"))&&(n.style.display="none");for(var r=0;r<v.length;r++){var n,i=e[v[r]];i&&(i.setAttribute("active",""),i.setAttribute("aria-selected","true"),(n=i.querySelector(".sprinkle-combo-check"))&&(n.style.display=""))}}function D(t){if(!e.options[t]||!e.options[t].disabled)if(s){var r=v.indexOf(t);r>=0?(v.splice(r,1),e.options[t].selected=0):(v.push(t),v.sort(function(e,t){return e-t}),e.options[t].selected=1),e.dispatchEvent(new(window.Event||window.CustomEvent)("change",{bubbles:1})),w(),E()}else v=[t],e.selectedIndex=t,e.dispatchEvent(new(window.Event||window.CustomEvent)("change",{bubbles:1})),w(),E(),A(),u.removeAttribute("open")}function x(e){if(e){var t=n.createElement("li");t.className="sprinkle-combo-category",t.setAttribute("role","separator"),t.setAttribute("aria-label",e),t.textContent=e,m.appendChild(t)}}}),ForgeSprinkle.register("[shell]",function(e){var t=e.querySelector(':scope > [sidebar="left"]'),r=e.querySelector(':scope > [sidebar="right"]'),n=e.querySelector(':scope > [sidebar="top"]'),i=e.querySelector(':scope > [sidebar="bottom"]'),a=e.querySelector(":scope > [content]"),s=[];t&&s.push("auto"),s.push("1fr"),r&&s.push("auto");var l=[];n&&l.push("auto"),l.push("1fr"),i&&l.push("auto"),e.style.gridTemplateColumns=s.join(" "),e.style.gridTemplateRows=l.join(" ");var o=s.length,u=l.length,d=t?2:1,c=n?2:1;if(t&&(t.style.gridColumn="1",t.style.gridRow="1 / "+(u+1)),r&&(r.style.gridColumn=""+o,r.style.gridRow="1 / "+(u+1)),n&&(n.style.gridColumn="1 / "+(o+1),n.style.gridRow="1"),i&&(i.style.gridColumn="1 / "+(o+1),i.style.gridRow=""+u),a&&(a.style.gridColumn=""+d,a.style.gridRow=""+c),t&&a&&!e._sprinkleShellInit){e._sprinkleShellInit=1,window.innerWidth<=768&&e.setAttribute("sidebar-hidden","");var p=document.createElement("button");p.className="sprinkle-sidebar-toggle",p.setAttribute("aria-label","Toggle sidebar"),p.textContent="☰",p.addEventListener("click",function(){e.toggleAttribute("sidebar-hidden")}),a.insertBefore(p,a.firstChild)}}),ForgeSprinkle.register("[theme-toggle]",function(e){e.setAttribute("aria-label",g()?"Switch to light theme":"Switch to dark theme"),e.addEventListener("click",function(){v(!g()),e.setAttribute("aria-label",g()?"Switch to light theme":"Switch to dark theme")})}),ForgeSprinkle.register("ul[nav]",function(e){e._sprinkleNavInit||(e._sprinkleNavInit=1,function(){for(var t=e.querySelectorAll("a[active]"),r=0;r<t.length;r++)t[r].setAttribute("aria-current","page")}(),e.addEventListener("toggle",function(t){if("DETAILS"===t.target.tagName&&t.target.hasAttribute("nav-group")&&t.target.open)for(var r=t.target.getAttribute("nav-group")||"",n=e.querySelectorAll("details[nav-group"+(r?'="'+r+'"':"")+"][open]"),i=0;i<n.length;i++)n[i]!==t.target&&n[i].removeAttribute("open")},1))}),ForgeSprinkle.register("form[enhance]",function(e){if(!e._sprinkleEnhanceInit){e._sprinkleEnhanceInit=1,e.setAttribute("novalidate",""),e.querySelectorAll('input:not([type="submit"]):not([type="reset"]):not([type="button"]):not([type="hidden"]), textarea, select').forEach(function(e){e.hasAttribute("error-message")||(e.setAttribute("error-message",""),i(e))});var t=document.createElement("div");t.className="sprinkle-form-msg",t.style.display="none",e.insertBefore(t,e.firstChild),e.addEventListener("submit",function(i){if(i.preventDefault(),t.style.display="none",t.textContent="",e.checkValidity()){var a=e.querySelectorAll('button[type="submit"], input[type="submit"]');a.forEach(function(e){e.classList.add("sprinkle-loading"),e.disabled=1,e.setAttribute("aria-busy","true")});var s=e.getAttribute("action")||window.location.href,l=(e.getAttribute("method")||"GET").toUpperCase();fetch(s,{method:l,body:new FormData(e),headers:{Accept:"application/json"},cache:"no-store"}).then(function(e){return e.json().then(function(t){return{status:e.status,ok:e.ok,data:t}}).catch(function(){return{status:e.status,ok:e.ok,data:null}})}).then(function(t){var i=t.data;if(i&&i.errors)for(var a in i.errors){var s=e.elements[a];s&&(s._sprinkleServerError=i.errors[a],s.setCustomValidity(i.errors[a]),s._sprinkleErrorShow&&s._sprinkleErrorShow(),s.addEventListener("input",n))}t.ok&&i&&0!=i.success?(r("success",i.message||"Form submitted successfully."),e.reset()):r("error",i&&i.message?i.message:"An error occurred. Please try again.")}).catch(function(){r("error","A network error occurred. Please check your connection and try again.")}).finally(function(){a.forEach(function(e){e.classList.remove("sprinkle-loading"),e.disabled=0,e.removeAttribute("aria-busy")})})}})}function r(e,r){t.className="sprinkle-form-msg sprinkle-form-msg-"+e,t.textContent=r,t.style.display=""}function n(){this._sprinkleServerError&&(this._sprinkleServerError=null,this.setCustomValidity(""),this._sprinkleErrorClear&&this._sprinkleErrorClear())}}),ForgeSprinkle.register("fieldset[card]",function(e){e._sprinkleCardInit||(e._sprinkleCardInit=1,e.hasAttribute("href")&&(e.addEventListener("click",function(t){if(!t.target.closest('a, button, input, textarea, select, [role="button"]')){var r=e.querySelector(".card-link");r&&r.click()}}),e.style.cursor="pointer"))}),ForgeSprinkle.register("[count-up]",function(e){if(!e._sprinkleCountUp){e._sprinkleCountUp=1;var t,r="PROGRESS"===e.tagName,n=parseFloat(e.getAttribute("start"))||0,i=parseInt(e.getAttribute("duration"),10)||2e3;if(r){if(t=parseFloat(e.getAttribute("value")),isNaN(t))return}else{var a=e.textContent.match(/^([^0-9]*)([\d,]+(?:\.\d+)?)(.*)$/);if(!a)return;t=parseFloat(a[2].replace(/,/g,""))}var s=new IntersectionObserver(function(l){if(l[0].isIntersecting){s.disconnect();var o=null;!function s(l){null===o&&(o=l);var u=Math.min((l-o)/i,1),d=n+(t-n)*(1-(1-u)*(1-u));r?e.value=d:e.textContent=a[1]+Math.round(d).toLocaleString()+a[3],u<1&&requestAnimationFrame(s)}(performance.now())}},{threshold:.3});s.observe(e)}});var m=0;"loading"===document.readyState?document.addEventListener("DOMContentLoaded",f):f()}();