@lengkapp/edge 0.0.32 → 0.0.34
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/edge-client.js +2 -2
- package/dist/edge-server.d.ts +1 -1
- package/dist/edge-server.js +1 -1
- package/package.json +1 -1
- package/readme.md +1 -0
package/dist/edge-client.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* @lengkapp/edge v0.0.
|
|
2
|
+
* @lengkapp/edge v0.0.34
|
|
3
3
|
* MIT License
|
|
4
4
|
*
|
|
5
5
|
* LengkApp Edge License
|
|
@@ -30,4 +30,4 @@
|
|
|
30
30
|
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
31
31
|
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
32
32
|
*/
|
|
33
|
-
!function(){"use strict";var e=document,t=window,r=null;function n(e){return!!e.hasAttribute("_id")&&(e.hasAttribute("_get")||e.hasAttribute("_post")||e.hasAttribute("_go")||e.hasAttribute("_open"))}function a(){return r||(r=function(){var r=[navigator.userAgent,navigator.language,screen.width,screen.height,screen.colorDepth,(new Date).getTimezoneOffset(),navigator.hardwareConcurrency||"?",navigator.deviceMemory||"?"].join("|"),n=e.createElement("canvas"),a="",i=n.getContext&&n.getContext("2d");if(i){i.textBaseline="top",i.font="14px Arial",i.fillStyle="#f60",i.fillRect(125,1,62,20),i.fillStyle="#069",i.fillText("FP",2,15),i.fillStyle="rgba(102,204,0,0.7)",i.fillText("FP",4,17);try{a=n.toDataURL()}catch(e){a=""}}var o="";try{var s=n.getContext("webgl")||n.getContext("experimental-webgl");if(s){var u=s.getExtension("WEBGL_debug_renderer_info");o=u?s.getParameter(u.UNMASKED_VENDOR_WEBGL)+"~"+s.getParameter(u.UNMASKED_RENDERER_WEBGL):s.getParameter(s.VERSION)+"~"+s.getParameter(s.RENDERER)}}catch(e){o=""}var c=["Arial","Courier New","Times New Roman","Helvetica","Georgia","Verdana","Comic Sans MS","Trebuchet MS","Impact","Lucida Console"],l="",f=e.body||e.documentElement;if(f){for(var d=[],v=0;v<c.length;v++){var p=e.createElement("span");p.style.cssText='position:absolute;left:-9999px;visibility:hidden;font:72px "'+c[v]+'",monospace',p.textContent="mmmmmmmmmmlli",f.appendChild(p),d.push(p.offsetWidth),f.removeChild(p)}l=d.join(",")}return function(){var e=t.OfflineAudioContext||t.webkitOfflineAudioContext;if(!e)return Promise.resolve("");try{var r=new e(1,44100,44100),n=r.createOscillator();n.type="triangle",n.frequency.value=1e4;var a=r.createDynamicsCompressor();return a.threshold.value=-50,a.knee.value=40,a.ratio.value=12,a.attack.value=0,a.release.value=.25,n.connect(a),a.connect(r.destination),n.start(0),r.startRendering().then(function(e){for(var t=e.getChannelData(0),r=0,n=4500;n<5e3;n++)r+=Math.abs(t[n]);return r.toString()}).catch(function(){return""})}catch(e){return Promise.resolve("")}}().then(function(e){return function(e){if(!t.crypto||!t.crypto.subtle||!t.TextEncoder){for(var r=5381,n=0;n<e.length;n++)r=(r<<5)+r^e.charCodeAt(n);return Promise.resolve((r>>>0).toString(16))}var a=(new TextEncoder).encode(e);return t.crypto.subtle.digest("SHA-256",a).then(function(e){for(var t=new Uint8Array(e),r="",n=0;n<t.length;n++)r+=t[n].toString(16).padStart(2,"0");return r})}([r,a,o,l,e].join("||"))})}().catch(function(){return""})),r}var i="ax-app-style",o=["@keyframes ax-spin{to{transform:rotate(360deg)}}","@keyframes ax-shimmer{0%{background-position:100% 50%}100%{background-position:0 50%}}","@keyframes ax-fade-in{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}",".ax-state,.ax-state *,.ax-state *::before,.ax-state *::after{box-sizing:border-box;margin:0;padding:0}",".ax-state{","display:flex;flex-direction:column;align-items:center;justify-content:center;","gap:calc(var(--pad,1) * 12px);","width:100%;min-width:min(240px,100%);min-height:240px;","padding:calc(var(--pad,1) * 20px);","background:inherit;","color:var(--fg2,#71717a);","font-family:var(--font,system-ui,-apple-system,sans-serif);","font-size:var(--fs,14px);line-height:1.45;text-align:center;","transition:var(--t,all .25s ease);","-webkit-user-select:none;user-select:none;","}",".ax-state--loading,.ax-state--skeleton{animation:ax-fade-in 220ms ease-out both}",".ax-state svg{display:block;flex:0 0 auto;width:24px;height:24px}",".ax-state--loading svg{color:var(--p,#6d28d9);animation:ax-spin .85s linear infinite}",".ax-state--skeleton{align-items:stretch}",".ax-skel{display:flex;flex-direction:column;gap:calc(var(--pad,1) * 10px);width:100%}",".ax-skel-line{","height:12px;border-radius:calc(var(--br,10px) / 2);","background-color:transparent;","background-image:linear-gradient(90deg,","var(--sk1,#e4e4e7) 25%,var(--sk2,#f4f4f5) 37%,var(--sk1,#e4e4e7) 63%);","background-size:400% 100%;","animation:ax-shimmer 1.4s ease-in-out infinite;","}",".ax-state-text{font-size:var(--fs,14px);color:var(--fg2,#71717a);max-width:34ch}",".ax-state--skeleton .ax-state-text{align-self:center}",".ax-state--error{color:var(--fg,#18181b);animation:ax-fade-in 200ms ease-out both}",".ax-state--error .ax-state-text{color:var(--err,#ef4444)}",".ax-state-btn{","display:inline-flex;align-items:center;justify-content:center;","width:44px;height:44px;padding:0;font:inherit;color:var(--fg,#18181b);","border:none;","background:inherit;","cursor:pointer;transition:var(--t,all .25s ease);","}",".ax-state-btn:hover{color:var(--p,#6d28d9);border-color:var(--p,#6d28d9);box-shadow:var(--sh2,0 4px 12px rgba(0,0,0,.08))}",".ax-state-btn:focus-visible{outline:2px solid var(--p,#6d28d9);outline-offset:2px}",".ax-state-btn:active{transform:scale(.96)}",".ax-state-btn svg{transition:transform .25s ease}",".ax-state-btn:hover svg{transform:rotate(-45deg)}",".ax-hide{display:none !important}","@media (prefers-reduced-motion:reduce){",".ax-state,.ax-state--loading,.ax-state--skeleton,.ax-state--error{animation:none}",".ax-state--loading svg{animation-duration:2s}",".ax-skel-line{animation:none;background-image:none;background-color:var(--sk1,#e4e4e7)}",".ax-state-btn:hover svg{transform:none}","::view-transition-old(root),::view-transition-new(root){animation:none}","}"].join("\n");!function(){if(!e.getElementById(i)){var t=e.createElement("style");t.id=i,t.appendChild(e.createTextNode(o)),(e.head||e.documentElement).appendChild(t)}}();var s,u=new Set,c=new WeakSet,l=new WeakMap,f=new WeakMap,d="[_get],[_post],[_go],[_open]",v=["_in","_out","_before","_after"];function p(t){return new URL(t,e.baseURI).href}function m(e){return new Promise(function(t){var r=new FileReader;r.onload=function(){t({name:e.name,type:e.type||"application/octet-stream",size:e.size,data:r.result})},r.onerror=function(){t({name:e.name,type:e.type,size:e.size,data:null})},r.readAsDataURL(e)})}function x(e){if(e.disabled)return Promise.resolve(void 0);var t=e.type;if("file"===t){var r=e.files;return r&&r.length?e.multiple?Promise.all(Array.prototype.map.call(r,m)):m(r[0]):Promise.resolve(e.multiple?[]:null)}return"checkbox"===t?Promise.resolve(e.checked?e.value||"on":null):"radio"===t?Promise.resolve(e.checked?e.value:null):"SELECT"===e.tagName&&e.multiple?Promise.resolve(Array.prototype.map.call(e.selectedOptions,function(e){return e.value})):Promise.resolve(e.value)}function g(t){var r,n=null,a=null;for(r=0;r<v.length;r++)if(t.hasAttribute(v[r])){n=v[r],a=t.getAttribute(v[r]);break}if(!n)return null;var i=t;if(a&&"this"!==a)try{i=e.querySelector(a)}catch(e){return null}return i&&i.parentNode?{mode:n,el:i,parent:i.parentNode}:null}function h(e,t){"_before"===e.mode||"_out"===e.mode?e.parent.insertBefore(t,e.el):e.parent.insertBefore(t,e.el.nextSibling)}function b(e){var t=f.get(e);t&&(t.node&&t.node.parentNode&&t.node.parentNode.removeChild(t.node),t.target&&t.target.removeAttribute("aria-busy"),f.delete(e))}function k(e,t){var r=e.querySelector(".ax-state-btn");r&&r.addEventListener("click",function(e){e.preventDefault(),e.stopPropagation(),P(t)})}function w(t){var r=e.createElement("div");return r.className="ax-state ax-state--error",r.setAttribute("role","alert"),r.innerHTML='<button type="button" class="ax-state-btn" aria-label="Retry"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-ccw preview-icon" aria-hidden="true"><path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"/><path d="M3 3v5h5"/></svg></button><span class="ax-state-text">'+String(t).replace(/[&<>"']/g,function(e){return{"&":"&","<":"<",">":">",'"':""","'":"'"}[e]})+"</span>",r}function _(t){if("function"==typeof e.startViewTransition)try{return void e.startViewTransition(t)}catch(e){}t()}function y(e,r){if(e.hasAttribute("_go"))t.location.assign(r);else{var n=t.open(r,"_blank","noopener,noreferrer");n&&(n.opener=null)}}function P(t){if(function(e){return e.hasAttribute("_go")||e.hasAttribute("_open")}(t))!function(e){var t=function(e){var t=e.hasAttribute("_go")?e.getAttribute("_go"):e.getAttribute("_open");if(!(t=(t||"").trim())||"this"===t){var r=e.getAttribute("href");r&&(t=r)}return t?p(t):""}(e);t&&(n(e)?a().then(function(r){y(e,function(e,t){return t?e+(e.indexOf("?")>=0?"&":"?")+"_did="+encodeURIComponent(t):e}(t,r))}):y(e,t))}(t);else{var r=t.hasAttribute("_get"),i=t.getAttribute(r?"_get":"_post");if(null!==i&&g(t)){var o=l.get(t),s=new AbortController;l.set(t,s),o&&o.abort(),b(t);var c=0,v=setTimeout(function(){l.get(t)===s&&(function(t){var r=g(t);if(!r)return null;var n=(t.getAttribute("_loader")||"spinner").toLowerCase();if("none"===n||"off"===n||"false"===n)return null;r.el.classList.add("ax-hide"),r.el.setAttribute("aria-busy","true");var a=function(t){var r="skeleton"===t,n=e.createElement("div");return n.className="ax-state ax-state--"+(r?"skeleton":"loading"),n.setAttribute("role","status"),n.setAttribute("aria-live","polite"),n.setAttribute("aria-busy","true"),n.innerHTML=r?'<div class="ax-skel" aria-hidden="true"><span class="ax-skel-line" style="width:48%"></span><span class="ax-skel-line"></span><span class="ax-skel-line" style="width:86%"></span><span class="ax-skel-line" style="width:64%"></span></div><span class="ax-state-text">Loading…</span>':'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-loader-circle preview-icon" aria-hidden="true"><path d="M21 12a9 9 0 1 1-6.219-8.56"/></svg><span class="ax-state-text">Loading…</span>',n}(n);h(r,a),f.set(t,{node:a,target:r.el})}(t),c=performance.now())},100),m=parseInt(t.getAttribute("_timeout"),10);m>0||(m=2e4);var P={method:r?"GET":"POST",credentials:"same-origin",headers:{"X-Requested-With":"XMLHttpRequest"},redirect:"follow",referrerPolicy:"same-origin",signal:s.signal},T=setTimeout(function(){s.abort()},m),M=Promise.resolve();if(!r)if(t.hasAttribute("_json"))M=function(t){var r=(t.getAttribute("_json")||"").trim();if(!r)return Promise.resolve(null);var n=r.split(",").map(function(e){return e.trim()}).filter(Boolean);if(!n.length)return Promise.resolve(null);var a=t.closest("form")||e;return Promise.all(n.map(function(t){return function(t,r){var n=e.getElementById(r);if(n&&t.contains(n))return x(n);var a=function(e,t){for(var r=e.querySelectorAll("input[name],select[name],textarea[name]"),n=[],a=0;a<r.length;a++)r[a].name===t&&n.push(r[a]);return n}(t,r);if(!a.length)return Promise.resolve(void 0);if(1===a.length)return x(a[0]);var i=a[0];if("radio"===i.type){for(var o=0;o<a.length;o++)if(a[o].checked)return Promise.resolve(a[o].value);return Promise.resolve(null)}if("checkbox"===i.type){for(var s=[],u=0;u<a.length;u++)a[u].checked&&!a[u].disabled&&s.push(a[u].value||"on");return Promise.resolve(s)}return x(i)}(a,t).then(function(e){return[t,e]})})).then(function(e){for(var t={},r=0;r<e.length;r++)void 0!==e[r][1]&&(t[e[r][0]]=e[r][1]);return JSON.stringify(t)})}(t).then(function(e){null!==e&&(P.headers["Content-Type"]="application/json",P.body=e)});else if(t.hasAttribute("_form")){var S=function(t){var r,n=t.getAttribute("_form");try{r=e.querySelector(n)||e.getElementById(n)}catch(e){r=null}return r?new FormData(r):null}(t);S&&(P.body=S)}n(t)&&(M=Promise.all([M,a()]).then(function(e){var t=e[1];t&&(P.headers["X-DeviceId"]=t)})),M.then(function(){return fetch(i,P)}).then(function(e){if(clearTimeout(T),!e.ok){var t=new Error("HTTP "+e.status);throw t.status=e.status,t}return e.text()}).then(function(r){clearTimeout(v),C(function(){var n=function(){b(t),r&&function(t,r){var n=g(t);if(n){var a=e.createElement("template");a.innerHTML=r;var i,o,s=a.content,c=[],l=[];for(o=s.querySelectorAll("script"),i=0;i<o.length;i++)c.push(o[i]),o[i].parentNode.removeChild(o[i]);for(o=s.querySelectorAll(d),i=0;i<o.length;i++)l.push(o[i]);var f=n.el,v=n.parent;if("_in"===n.mode){for(;f.firstChild;)f.removeChild(f.firstChild);f.appendChild(s),f.classList.remove("ax-hide")}else"_out"===n.mode?v.replaceChild(s,f):"_before"===n.mode?(v.insertBefore(s,f),f.classList.remove("ax-hide")):(v.insertBefore(s,f.nextSibling),f.classList.remove("ax-hide"));for(i=0;i<l.length;i++)A(l[i]);!function(t){for(var r=0;r<t.length;r++){var n=t[r],a=n.getAttribute("src");if(a){if(a=p(a),u.has(a))continue;u.add(a)}for(var i=e.createElement("script"),o=0;o<n.attributes.length;o++)i.setAttribute(n.attributes[o].name,n.attributes[o].value);a||(i.text=n.text),i.async=!1,e.head.appendChild(i)}}(c)}}(t,r)};f.get(t)?_(n):n()})}).catch(function(e){var r;clearTimeout(T),clearTimeout(v),l.get(t)===s&&(r=e&&"AbortError"===e.name?"Request timed out":e&&e.message?e.message:"Request failed",e&&"AbortError"!==e.name&&console.error("[app]",e),C(function(){!function(e,t){var r=f.get(e),n=function(){if(r&&r.node&&r.node.parentNode){var n=r.node,a=w(t);n.parentNode.replaceChild(a,n),r.target&&r.target.removeAttribute("aria-busy"),f.set(e,{node:a,target:r.target}),k(a,e)}else{var i=g(e);if(!i)return;i.el.classList.add("ax-hide"),i.el.setAttribute("aria-busy","true");var o=w(t);h(i,o),f.set(e,{node:o,target:i.el}),k(o,e)}};r?_(n):n()}(t,r)}))})}}function C(e){if(0!==c){var r=Math.max(0,240-(performance.now()-c));0===r?l.get(t)===s&&e():setTimeout(function(){l.get(t)===s&&e()},r)}else l.get(t)===s&&e()}}function T(e){var t=e.getAttribute("_trigger");"load"===t||"visible"===t?P(e):e.addEventListener(t,function(t){if("click"===t.type){var r=e.tagName;"BUTTON"!==r&&"A"!==r||t.preventDefault()}P(e)})}function A(e){c.has(e)||(c.add(e),"click"!==(e.getAttribute("_trigger")||"click")&&("IntersectionObserver"in t?(s||(s=new IntersectionObserver(function(e){for(var t=0;t<e.length;t++)e[t].isIntersecting&&(s.unobserve(e[t].target),T(e[t].target))},{rootMargin:"300px"})),s.observe(e)):T(e)))}function M(e){for(var t=e.querySelectorAll(d),r=0;r<t.length;r++)A(t[r])}e.addEventListener("click",function(e){if(!e.target.closest(".ax-state")){var t=e.target.closest(d);if(t&&"click"===(t.getAttribute("_trigger")||"click")&&!(t.hasAttribute("_go")&&"A"===t.tagName&&t.getAttribute("href")&&(0!==e.button||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey))){var r=t.tagName;"BUTTON"!==r&&"A"!==r||e.preventDefault(),P(t)}}},!0),function(){for(var t=e.querySelectorAll("script[src]"),r=0;r<t.length;r++)u.add(p(t[r].src));e.querySelector("[_id]")&&a(),"loading"===e.readyState?e.addEventListener("DOMContentLoaded",function(){M(e)}):M(e)}()}();
|
|
33
|
+
!function(){"use strict";var r=document,e=window,t=null;function n(r){return!!r.hasAttribute("_id")&&(r.hasAttribute("_get")||r.hasAttribute("_post")||r.hasAttribute("_go")||r.hasAttribute("_open"))}function a(){return t||(t=function(){var t=[navigator.userAgent,navigator.language,screen.width,screen.height,screen.colorDepth,(new Date).getTimezoneOffset(),navigator.hardwareConcurrency||"?",navigator.deviceMemory||"?"].join("|"),n=r.createElement("canvas"),a="",i=n.getContext&&n.getContext("2d");if(i){i.textBaseline="top",i.font="14px Arial",i.fillStyle="#f60",i.fillRect(125,1,62,20),i.fillStyle="#069",i.fillText("FP",2,15),i.fillStyle="rgba(102,204,0,0.7)",i.fillText("FP",4,17);try{a=n.toDataURL()}catch(r){a=""}}var o="";try{var s=n.getContext("webgl")||n.getContext("experimental-webgl");if(s){var f=s.getExtension("WEBGL_debug_renderer_info");o=f?s.getParameter(f.UNMASKED_VENDOR_WEBGL)+"~"+s.getParameter(f.UNMASKED_RENDERER_WEBGL):s.getParameter(s.VERSION)+"~"+s.getParameter(s.RENDERER)}}catch(r){o=""}var u=["Arial","Courier New","Times New Roman","Helvetica","Georgia","Verdana","Comic Sans MS","Trebuchet MS","Impact","Lucida Console"],c="",l=r.body||r.documentElement;if(l){for(var v=[],d=0;d<u.length;d++){var p=r.createElement("span");p.style.cssText='position:absolute;left:-9999px;visibility:hidden;font:72px "'+u[d]+'",monospace',p.textContent="mmmmmmmmmmlli",l.appendChild(p),v.push(p.offsetWidth),l.removeChild(p)}c=v.join(",")}return function(){var r=e.OfflineAudioContext||e.webkitOfflineAudioContext;if(!r)return Promise.resolve("");try{var t=new r(1,44100,44100),n=t.createOscillator();n.type="triangle",n.frequency.value=1e4;var a=t.createDynamicsCompressor();return a.threshold.value=-50,a.knee.value=40,a.ratio.value=12,a.attack.value=0,a.release.value=.25,n.connect(a),a.connect(t.destination),n.start(0),t.startRendering().then(function(r){for(var e=r.getChannelData(0),t=0,n=4500;n<5e3;n++)t+=Math.abs(e[n]);return t.toString()}).catch(function(){return""})}catch(r){return Promise.resolve("")}}().then(function(r){return function(r){if(!e.crypto||!e.crypto.subtle||!e.TextEncoder){for(var t=5381,n=0;n<r.length;n++)t=(t<<5)+t^r.charCodeAt(n);return Promise.resolve((t>>>0).toString(16))}var a=(new TextEncoder).encode(r);return e.crypto.subtle.digest("SHA-256",a).then(function(r){for(var e=new Uint8Array(r),t="",n=0;n<e.length;n++)t+=e[n].toString(16).padStart(2,"0");return t})}([t,a,o,c,r].join("||"))})}().catch(function(){return""})),t}var i="ax-app-style",o=["@keyframes ax-spin{to{transform:rotate(360deg)}}","@keyframes ax-shimmer{0%{background-position:100% 50%}100%{background-position:0 50%}}","@keyframes ax-fade-in{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}",".ax-state,.ax-state *,.ax-state *::before,.ax-state *::after{box-sizing:border-box;margin:0;padding:0}",".ax-state{","display:flex;flex-direction:column;align-items:center;justify-content:center;","gap:calc(var(--pad,1) * 12px);","width:100%;min-width:min(240px,100%);min-height:240px;","padding:calc(var(--pad,1) * 20px);","background:inherit;","color:var(--fg2,#71717a);","font-family:var(--font,system-ui,-apple-system,sans-serif);","font-size:var(--fs,14px);line-height:1.45;text-align:center;","transition:var(--t,all .25s ease);","-webkit-user-select:none;user-select:none;","}",".ax-state--loading,.ax-state--skeleton{animation:ax-fade-in 220ms ease-out both}",".ax-state svg{display:block;flex:0 0 auto;width:24px;height:24px}",".ax-state--loading svg{color:var(--p,#6d28d9);animation:ax-spin .85s linear infinite}",".ax-state--skeleton{align-items:stretch}",".ax-skel{display:flex;flex-direction:column;gap:calc(var(--pad,1) * 10px);width:100%}",".ax-skel-line{","height:12px;border-radius:calc(var(--br,10px) / 2);","background-color:transparent;","background-image:linear-gradient(90deg,","var(--sk1,#e4e4e7) 25%,var(--sk2,#f4f4f5) 37%,var(--sk1,#e4e4e7) 63%);","background-size:400% 100%;","animation:ax-shimmer 1.4s ease-in-out infinite;","}",".ax-state-text{font-size:var(--fs,14px);color:var(--fg2,#71717a);max-width:34ch}",".ax-state--skeleton .ax-state-text{align-self:center}",".ax-state--error{color:var(--fg,#18181b);animation:ax-fade-in 200ms ease-out both}",".ax-state--error .ax-state-text{color:var(--err,#ef4444)}",".ax-state-btn{","display:inline-flex;align-items:center;justify-content:center;","width:44px;height:44px;padding:0;font:inherit;color:var(--fg,#18181b);","border:none;","background:inherit;","cursor:pointer;transition:var(--t,all .25s ease);","}",".ax-state-btn:hover{color:var(--p,#6d28d9);border-color:var(--p,#6d28d9);box-shadow:var(--sh2,0 4px 12px rgba(0,0,0,.08))}",".ax-state-btn:focus-visible{outline:2px solid var(--p,#6d28d9);outline-offset:2px}",".ax-state-btn:active{transform:scale(.96)}",".ax-state-btn svg{transition:transform .25s ease}",".ax-state-btn:hover svg{transform:rotate(-45deg)}",".ax-hide{display:none !important}","@media (prefers-reduced-motion:reduce){",".ax-state,.ax-state--loading,.ax-state--skeleton,.ax-state--error{animation:none}",".ax-state--loading svg{animation-duration:2s}",".ax-skel-line{animation:none;background-image:none;background-color:var(--sk1,#e4e4e7)}",".ax-state-btn:hover svg{transform:none}","::view-transition-old(root),::view-transition-new(root){animation:none}","}"].join("\n");!function(){if(!r.getElementById(i)){var e=r.createElement("style");e.id=i,e.appendChild(r.createTextNode(o)),(r.head||r.documentElement).appendChild(e)}}();var s,f=new Set,u=new WeakSet,c=new WeakMap,l=new WeakMap,v="[_get],[_post],[_go],[_open]",d=["_in","_out","_before","_after"];function p(e){return new URL(e,r.baseURI).href}function m(r){return new Promise(function(e){var t=new FileReader;t.onload=function(){e({name:r.name,type:r.type||"application/octet-stream",size:r.size,data:t.result})},t.onerror=function(){e({name:r.name,type:r.type,size:r.size,data:null})},t.readAsDataURL(r)})}function x(r){if(r.disabled)return Promise.resolve(void 0);var e=r.type;if("file"===e){var t=r.files;return t&&t.length?r.multiple?Promise.all(Array.prototype.map.call(t,m)):m(t[0]):Promise.resolve(r.multiple?[]:null)}return"checkbox"===e?Promise.resolve(r.checked?r.value||"on":null):"radio"===e?Promise.resolve(r.checked?r.value:null):"SELECT"===r.tagName&&r.multiple?Promise.resolve(Array.prototype.map.call(r.selectedOptions,function(r){return r.value})):Promise.resolve(r.value)}function g(e){var t,n=null,a=null;for(t=0;t<d.length;t++)if(e.hasAttribute(d[t])){n=d[t],a=e.getAttribute(d[t]);break}if(!n)return null;var i=e;if(a&&"this"!==a)try{i=r.querySelector(a)}catch(r){return null}return i&&i.parentNode?{mode:n,el:i,parent:i.parentNode}:null}function h(r,e){"_before"===r.mode||"_out"===r.mode?r.parent.insertBefore(e,r.el):r.parent.insertBefore(e,r.el.nextSibling)}function b(r){var e=l.get(r);e&&(e.node&&e.node.parentNode&&e.node.parentNode.removeChild(e.node),e.target&&e.target.removeAttribute("aria-busy"),l.delete(r))}function w(r,e){var t=r.querySelector(".ax-state-btn");t&&t.addEventListener("click",function(r){r.preventDefault(),r.stopPropagation(),P(e)})}function k(e){var t=r.createElement("div");return t.className="ax-state ax-state--error",t.setAttribute("role","alert"),t.innerHTML='<button type="button" class="ax-state-btn" aria-label="Retry"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rotate-ccw preview-icon" aria-hidden="true"><path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"/><path d="M3 3v5h5"/></svg></button><span class="ax-state-text">'+String(e).replace(/[&<>"']/g,function(r){return{"&":"&","<":"<",">":">",'"':""","'":"'"}[r]})+"</span>",t}function _(e){if("function"==typeof r.startViewTransition)try{return void r.startViewTransition(e)}catch(r){}e()}function y(r,t){if(r.hasAttribute("_go"))e.location.assign(t);else{var n=e.open(t,"_blank","noopener,noreferrer");n&&(n.opener=null)}}function P(e){if(function(r){return r.hasAttribute("_go")||r.hasAttribute("_open")}(e))!function(r){var e=function(r){var e=r.hasAttribute("_go")?r.getAttribute("_go"):r.getAttribute("_open");if(!(e=(e||"").trim())||"this"===e){var t=r.getAttribute("href");t&&(e=t)}return e?p(e):""}(r);e&&(n(r)?a().then(function(t){y(r,function(r,e){return e?r+(r.indexOf("?")>=0?"&":"?")+"_did="+encodeURIComponent(e):r}(e,t))}):y(r,e))}(e);else{var t=e.hasAttribute("_get"),i=e.getAttribute(t?"_get":"_post");if(null!==i&&g(e)){var o=c.get(e),s=new AbortController;c.set(e,s),o&&o.abort(),b(e);var u=0,d=setTimeout(function(){c.get(e)===s&&(function(e){var t=g(e);if(!t)return null;var n=(e.getAttribute("_loader")||"spinner").toLowerCase();if("none"===n||"off"===n||"false"===n)return null;t.el.classList.add("ax-hide"),t.el.setAttribute("aria-busy","true");var a=function(e){var t="skeleton"===e,n=r.createElement("div");return n.className="ax-state ax-state--"+(t?"skeleton":"loading"),n.setAttribute("role","status"),n.setAttribute("aria-live","polite"),n.setAttribute("aria-busy","true"),n.innerHTML=t?'<div class="ax-skel" aria-hidden="true"><span class="ax-skel-line" style="width:48%"></span><span class="ax-skel-line"></span><span class="ax-skel-line" style="width:86%"></span><span class="ax-skel-line" style="width:64%"></span></div><span class="ax-state-text">Loading…</span>':'<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-loader-circle preview-icon" aria-hidden="true"><path d="M21 12a9 9 0 1 1-6.219-8.56"/></svg><span class="ax-state-text">Loading…</span>',n}(n);h(t,a),l.set(e,{node:a,target:t.el})}(e),u=performance.now())},100),m=parseInt(e.getAttribute("_timeout"),10);m>0||(m=2e4);var P=r.querySelector('meta[name="_csrf"]'),T=P?P.content:void 0,S={method:t?"GET":"POST",credentials:"same-origin",headers:T?{"x-csrf-token":T}:void 0,redirect:"follow",referrerPolicy:"same-origin",signal:s.signal},M=setTimeout(function(){s.abort()},m),O=Promise.resolve();if(!t)if(e.hasAttribute("_json"))O=function(e){var t=(e.getAttribute("_json")||"").trim();if(!t)return Promise.resolve(null);var n=t.split(",").map(function(r){return r.trim()}).filter(Boolean);if(!n.length)return Promise.resolve(null);var a=e.closest("form")||r;return Promise.all(n.map(function(e){return function(e,t){var n=r.getElementById(t);if(n&&e.contains(n))return x(n);var a=function(r,e){for(var t=r.querySelectorAll("input[name],select[name],textarea[name]"),n=[],a=0;a<t.length;a++)t[a].name===e&&n.push(t[a]);return n}(e,t);if(!a.length)return Promise.resolve(void 0);if(1===a.length)return x(a[0]);var i=a[0];if("radio"===i.type){for(var o=0;o<a.length;o++)if(a[o].checked)return Promise.resolve(a[o].value);return Promise.resolve(null)}if("checkbox"===i.type){for(var s=[],f=0;f<a.length;f++)a[f].checked&&!a[f].disabled&&s.push(a[f].value||"on");return Promise.resolve(s)}return x(i)}(a,e).then(function(r){return[e,r]})})).then(function(r){for(var e={},t=0;t<r.length;t++)void 0!==r[t][1]&&(e[r[t][0]]=r[t][1]);return JSON.stringify(e)})}(e).then(function(r){null!==r&&(S.headers["Content-Type"]="application/json",S.body=r)});else if(e.hasAttribute("_form")){var A=function(e){var t,n=e.getAttribute("_form");try{t=r.querySelector(n)||r.getElementById(n)}catch(r){t=null}return t?new FormData(t):null}(e);A&&(S.body=A)}n(e)&&(O=Promise.all([O,a()]).then(function(r){var e=r[1];e&&(S.headers["X-DeviceId"]=e)})),O.then(function(){return fetch(i,S)}).then(function(r){if(clearTimeout(M),!r.ok){var e=new Error("HTTP "+r.status);throw e.status=r.status,e}return r.text()}).then(function(t){clearTimeout(d),C(function(){var n=function(){b(e),t&&function(e,t){var n=g(e);if(n){var a=r.createElement("template");a.innerHTML=t;var i,o,s=a.content,u=[],c=[],l=[];for(o=s.querySelectorAll("script"),i=0;i<o.length;i++)u.push(o[i]),o[i].parentNode.removeChild(o[i]);for(o=s.querySelectorAll(v),i=0;i<o.length;i++)c.push(o[i]);for(o=s.querySelectorAll("[_translate]"),i=0;i<o.length;i++)l.push(o[i]);var d=n.el,m=n.parent;if("_in"===n.mode){for(;d.firstChild;)d.removeChild(d.firstChild);d.appendChild(s),d.classList.remove("ax-hide")}else"_out"===n.mode?m.replaceChild(s,d):"_before"===n.mode?(m.insertBefore(s,d),d.classList.remove("ax-hide")):(m.insertBefore(s,d.nextSibling),d.classList.remove("ax-hide"));for(i=0;i<c.length;i++)B(c[i]);for(i=0;i<l.length;i++)U(l[i]);U(d),function(e){for(var t=0;t<e.length;t++){var n=e[t],a=n.getAttribute("src");if(a){if(a=p(a),f.has(a))continue;f.add(a)}for(var i=r.createElement("script"),o=0;o<n.attributes.length;o++)i.setAttribute(n.attributes[o].name,n.attributes[o].value);a||(i.text=n.text),i.async=!1,r.head.appendChild(i)}}(u)}}(e,t)};l.get(e)?_(n):n()})}).catch(function(r){var t;clearTimeout(M),clearTimeout(d),c.get(e)===s&&(t=r&&"AbortError"===r.name?"Request timed out":r&&r.message?r.message:"Request failed",r&&"AbortError"!==r.name&&console.error("[app]",r),C(function(){!function(r,e){var t=l.get(r),n=function(){if(t&&t.node&&t.node.parentNode){var n=t.node,a=k(e);n.parentNode.replaceChild(a,n),t.target&&t.target.removeAttribute("aria-busy"),l.set(r,{node:a,target:t.target}),w(a,r)}else{var i=g(r);if(!i)return;i.el.classList.add("ax-hide"),i.el.setAttribute("aria-busy","true");var o=k(e);h(i,o),l.set(r,{node:o,target:i.el}),w(o,r)}};t?_(n):n()}(e,t)}))})}}function C(r){if(0!==u){var t=Math.max(0,240-(performance.now()-u));0===t?c.get(e)===s&&r():setTimeout(function(){c.get(e)===s&&r()},t)}else c.get(e)===s&&r()}}var T=Object.create(null),S=Object.create(null),M=new WeakMap,O=new WeakMap,A=new WeakMap,C=new Set,j=0,L=["title","placeholder","aria-label","alt"];function R(){var e=r.documentElement&&r.documentElement.getAttribute("lang");return e&&e.trim()||"en"}function E(r,e){for(var t=r.parentNode;t&&t!==e;){if(1===t.nodeType&&t.hasAttribute&&t.hasAttribute("_translate"))return!0;t=t.parentNode}return!1}function I(e){if(e&&e.isConnected){var t=e.getAttribute("_translate");if(t){var n=R();(function(r,e){if("en"===e)return Promise.resolve({});var t=e+"-"+r;if(T[t])return Promise.resolve(T[t]);if(S[t])return S[t];var n="tr:"+e+"-"+r;try{var a=localStorage.getItem(n);if(a){var i=JSON.parse(a);return T[t]=i,Promise.resolve(i)}}catch(r){}var o=fetch("/t/"+encodeURIComponent(e)+"/"+encodeURIComponent(r)+".json",{credentials:"same-origin",headers:{Accept:"application/json"}}).then(function(r){if(!r.ok)throw new Error("HTTP "+r.status);return r.json()}).then(function(r){T[t]=r;try{localStorage.setItem(n,JSON.stringify(r))}catch(r){}return delete S[t],r}).catch(function(){return delete S[t],{}});return S[t]=o,o})(t,n).then(function(t){e.isConnected&&R()===n&&function(e,t){for(var n,a=r.createTreeWalker(e,4,null,!1);n=a.nextNode();){var i=n.parentNode;if(i){var o=i.nodeName;if("SCRIPT"!==o&&"STYLE"!==o&&"NOSCRIPT"!==o&&!E(n,e)){M.has(n)||M.set(n,n.nodeValue);var s=M.get(n),f=String(s||"").trim();if(f){var u=t[f],c="string"==typeof u?u:f,l=(s.match(/^\s*/)||[""])[0]+c+(s.match(/\s*$/)||[""])[0];n.nodeValue!==l&&(A.set(n,l),n.nodeValue=l)}}}}for(var v=[e],d=e.querySelectorAll?e.querySelectorAll("*"):[],p=0;p<d.length;p++)v.push(d[p]);for(var m=0;m<v.length;m++){var x=v[m];if(1===x.nodeType&&(x===e||!E(x,e))){var g=O.get(x);g||(g=Object.create(null),O.set(x,g));for(var h=0;h<L.length;h++){var b=L[h];if(x.hasAttribute(b)){b in g||(g[b]=x.getAttribute(b));var w=g[b],k=String(w||"").trim();if(k){var _=t[k],y="string"==typeof _?_:k;x.getAttribute(b)!==y&&x.setAttribute(b,y)}}}}}}(e,t)})}}}function N(r){if(r&&r.isConnected&&(C.add(r),!j)){var t=e.requestAnimationFrame||function(r){return setTimeout(r,16)};j=t(function(){j=0;var r=[];C.forEach(function(e){r.push(e)}),C.clear();for(var e=0;e<r.length;e++)I(r[e])})}}function U(r){if(r&&1===r.nodeType){r.hasAttribute&&r.hasAttribute("_translate")&&N(r);for(var e=r.querySelectorAll?r.querySelectorAll("[_translate]"):[],t=0;t<e.length;t++)N(e[t])}}function W(){U(r.documentElement)}function z(r){var e=r.getAttribute("_trigger");"load"===e||"visible"===e?P(r):r.addEventListener(e,function(e){if("click"===e.type){var t=r.tagName;"BUTTON"!==t&&"A"!==t||e.preventDefault()}P(r)})}function B(r){u.has(r)||(u.add(r),"click"!==(r.getAttribute("_trigger")||"click")&&("IntersectionObserver"in e?(s||(s=new IntersectionObserver(function(r){for(var e=0;e<r.length;e++)r[e].isIntersecting&&(s.unobserve(r[e].target),z(r[e].target))},{rootMargin:"300px"})),s.observe(r)):z(r)))}function D(r){for(var e=r.querySelectorAll(v),t=0;t<e.length;t++)B(e[t])}e.MutationObserver&&new MutationObserver(function(e){for(var t=0;t<e.length;t++){var n=e[t];if("attributes"!==n.type){if("characterData"!==n.type||A.get(n.target)!==n.target.nodeValue){var a=n.target;if(a&&3===a.nodeType&&(a=a.parentNode),a&&a.closest){var i=a.closest("[_translate]");i&&N(i)}if("childList"===n.type&&n.addedNodes)for(var o=0;o<n.addedNodes.length;o++){var s=n.addedNodes[o];s&&1===s.nodeType&&U(s)}}}else if("lang"===n.attributeName&&n.target===r.documentElement)return void W()}}).observe(r.documentElement,{childList:!0,subtree:!0,characterData:!0,attributes:!0,attributeFilter:["lang"]}),r.addEventListener("click",function(r){if(!r.target.closest(".ax-state")){var e=r.target.closest(v);if(e&&"click"===(e.getAttribute("_trigger")||"click")&&!(e.hasAttribute("_go")&&"A"===e.tagName&&e.getAttribute("href")&&(0!==r.button||r.metaKey||r.ctrlKey||r.shiftKey||r.altKey))){var t=e.tagName;"BUTTON"!==t&&"A"!==t||r.preventDefault(),P(e)}}},!0),function(){for(var e=r.querySelectorAll("script[src]"),t=0;t<e.length;t++)f.add(p(e[t].src));r.querySelector("[_id]")&&a(),"loading"===r.readyState?r.addEventListener("DOMContentLoaded",function(){D(r),U(r.documentElement)}):(D(r),U(r.documentElement))}()}();
|
package/dist/edge-server.d.ts
CHANGED
package/dist/edge-server.js
CHANGED
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -47,6 +47,7 @@ Inspired by Hono, `@lengkapp/edge` aims for the same class of performance while
|
|
|
47
47
|
- **Opt-in device fingerprint** via `_id` — Canvas, WebGL, Audio, font probe, and basic navigator signals, hashed once per page; sent as `X-DeviceId` on `_get` / `_post` and as `?_did=` on `_go` / `_open`
|
|
48
48
|
- **Event, load, and visibility triggers** – `click` (default), `load`, `visible`, or any DOM event name
|
|
49
49
|
- **JSON and form bodies** – `_json="a,b,c"` or `_form="#signup"`
|
|
50
|
+
- **Scalable Translation** – `_translate={indentifier}`, based on `html lang={lang-id}` it will look for `/t/{lang-id}/{identifier}.jon`
|
|
50
51
|
- **Built-in loading and error states** – deferred spinner, skeleton loader, abortable requests, one-click retry
|
|
51
52
|
- **View Transitions aware** – swaps run inside `document.startViewTransition` when available
|
|
52
53
|
- **Zero dependencies**
|