From c57fd5277a7f7a2fc8e9057f25bdfb8c465ac79c Mon Sep 17 00:00:00 2001 From: davay Date: Mon, 31 Jul 2023 15:52:47 +0700 Subject: [PATCH] deploy --- 404.html | 2 +- README.html | 2 +- ...index.md.171f7793.js => index.md.355e45ca.js} | 2 +- ...71f7793.lean.js => index.md.355e45ca.lean.js} | 2 +- hashmap.json | 2 +- img/sampler-synth.webp | Bin 0 -> 6198 bytes index.html | 6 +++--- 7 files changed, 8 insertions(+), 8 deletions(-) rename assets/{index.md.171f7793.js => index.md.355e45ca.js} (55%) rename assets/{index.md.171f7793.lean.js => index.md.355e45ca.lean.js} (55%) create mode 100644 img/sampler-synth.webp diff --git a/404.html b/404.html index b7554771..909a649e 100644 --- a/404.html +++ b/404.html @@ -43,7 +43,7 @@
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.
- + \ No newline at end of file diff --git a/README.html b/README.html index 70fc7c2a..6eaf7def 100644 --- a/README.html +++ b/README.html @@ -46,7 +46,7 @@
Skip to content
On this page

WEB SYNTHS

TO DO

  • SEO proof texts
  • Logos
  • save state
  • favourites
  • ranks + reviews

Last updated:

- + \ No newline at end of file diff --git a/assets/index.md.171f7793.js b/assets/index.md.355e45ca.js similarity index 55% rename from assets/index.md.171f7793.js rename to assets/index.md.355e45ca.js index 90bbd99d..0669a9c7 100644 --- a/assets/index.md.171f7793.js +++ b/assets/index.md.355e45ca.js @@ -1,2 +1,2 @@ import{u as os,a as ls,b as us,c as hs}from"./chunks/theme.d643f46f.js";import{r as q,b as De,w as Pe,h as F,a2 as K,i as x,j as $,u as _,a0 as ds,I as cs,B as v,m as At,p as Le,x as It,M as V,v as D,C as fs,D as ps,_ as ms,f as gs,J as Jt,K as vs,k as it,q as Dt,S as ys,a3 as Xt,a4 as bs,a5 as ws,Z as _s,a6 as xs,T as Es,l as M}from"./chunks/framework.dc38d6d1.js";function Ss(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}var Bt={exports:{}},Ne=function(t,e){return function(){for(var i=new Array(arguments.length),n=0;n"u"}function Os(s){return s!==null&&!ot(s)&&s.constructor!==null&&!ot(s.constructor)&&typeof s.constructor.isBuffer=="function"&&s.constructor.isBuffer(s)}var qe=H("ArrayBuffer");function $s(s){var t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(s):t=s&&s.buffer&&qe(s.buffer),t}function Rs(s){return typeof s=="string"}function Cs(s){return typeof s=="number"}function Be(s){return s!==null&&typeof s=="object"}function nt(s){if(Mt(s)!=="object")return!1;var t=Object.getPrototypeOf(s);return t===null||t===Object.prototype}var ks=H("Date"),As=H("File"),Is=H("Blob"),Ds=H("FileList");function Ht(s){return Ut.call(s)==="[object Function]"}function Ps(s){return Be(s)&&Ht(s.pipe)}function Ls(s){var t="[object FormData]";return s&&(typeof FormData=="function"&&s instanceof FormData||Ut.call(s)===t||Ht(s.toString)&&s.toString()===t)}var Ns=H("URLSearchParams");function qs(s){return s.trim?s.trim():s.replace(/^\s+|\s+$/g,"")}function Bs(){return typeof navigator<"u"&&(navigator.product==="ReactNative"||navigator.product==="NativeScript"||navigator.product==="NS")?!1:typeof window<"u"&&typeof document<"u"}function jt(s,t){if(!(s===null||typeof s>"u"))if(typeof s!="object"&&(s=[s]),Ft(s))for(var e=0,r=s.length;e0;)n=r[i],a[n]||(t[n]=s[n],a[n]=!0);s=Object.getPrototypeOf(s)}while(s&&(!e||e(s,t))&&s!==Object.prototype);return t}function js(s,t,e){s=String(s),(e===void 0||e>s.length)&&(e=s.length),e-=t.length;var r=s.indexOf(t,e);return r!==-1&&r===e}function Ws(s){if(!s)return null;var t=s.length;if(ot(t))return null;for(var e=new Array(t);t-- >0;)e[t]=s[t];return e}var zs=function(s){return function(t){return s&&t instanceof s}}(typeof Uint8Array<"u"&&Object.getPrototypeOf(Uint8Array)),w={isArray:Ft,isArrayBuffer:qe,isBuffer:Os,isFormData:Ls,isArrayBufferView:$s,isString:Rs,isNumber:Cs,isObject:Be,isPlainObject:nt,isUndefined:ot,isDate:ks,isFile:As,isBlob:Is,isFunction:Ht,isStream:Ps,isURLSearchParams:Ns,isStandardBrowserEnv:Bs,forEach:jt,merge:Pt,extend:Us,trim:qs,stripBOM:Ms,inherits:Fs,toFlatObject:Hs,kindOf:Mt,kindOfTest:H,endsWith:js,toArray:Ws,isTypedArray:zs,isFileList:Ds},W=w;function Kt(s){return encodeURIComponent(s).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var Ue=function(t,e,r){if(!e)return t;var i;if(r)i=r(e);else if(W.isURLSearchParams(e))i=e.toString();else{var n=[];W.forEach(e,function(u,d){u===null||typeof u>"u"||(W.isArray(u)?d=d+"[]":u=[u],W.forEach(u,function(c){W.isDate(c)?c=c.toISOString():W.isObject(c)&&(c=JSON.stringify(c)),n.push(Kt(d)+"="+Kt(c))}))}),i=n.join("&")}if(i){var a=t.indexOf("#");a!==-1&&(t=t.slice(0,a)),t+=(t.indexOf("?")===-1?"?":"&")+i}return t},Zs=w;function lt(){this.handlers=[]}lt.prototype.use=function(t,e,r){return this.handlers.push({fulfilled:t,rejected:e,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1};lt.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)};lt.prototype.forEach=function(t){Zs.forEach(this.handlers,function(r){r!==null&&t(r)})};var Vs=lt,Gs=w,Js=function(t,e){Gs.forEach(t,function(i,n){n!==e&&n.toUpperCase()===e.toUpperCase()&&(t[e]=i,delete t[n])})},Me=w;function G(s,t,e,r,i){Error.call(this),this.message=s,this.name="AxiosError",t&&(this.code=t),e&&(this.config=e),r&&(this.request=r),i&&(this.response=i)}Me.inherits(G,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var Fe=G.prototype,He={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED"].forEach(function(s){He[s]={value:s}});Object.defineProperties(G,He);Object.defineProperty(Fe,"isAxiosError",{value:!0});G.from=function(s,t,e,r,i,n){var a=Object.create(Fe);return Me.toFlatObject(s,a,function(u){return u!==Error.prototype}),G.call(a,s.message,t,e,r,i),a.name=s.name,n&&Object.assign(a,n),a};var X=G,je={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},C=w;function Xs(s,t){t=t||new FormData;var e=[];function r(n){return n===null?"":C.isDate(n)?n.toISOString():C.isArrayBuffer(n)||C.isTypedArray(n)?typeof Blob=="function"?new Blob([n]):Buffer.from(n):n}function i(n,a){if(C.isPlainObject(n)||C.isArray(n)){if(e.indexOf(n)!==-1)throw Error("Circular reference detected in "+a);e.push(n),C.forEach(n,function(u,d){if(!C.isUndefined(u)){var h=a?a+"."+d:d,c;if(u&&!a&&typeof u=="object"){if(C.endsWith(d,"{}"))u=JSON.stringify(u);else if(C.endsWith(d,"[]")&&(c=C.toArray(u))){c.forEach(function(l){!C.isUndefined(l)&&t.append(h,r(l))});return}}i(u,h)}}),e.pop()}else t.append(a,r(n))}return i(s),t}var We=Xs,mt,Yt;function Ks(){if(Yt)return mt;Yt=1;var s=X;return mt=function(e,r,i){var n=i.config.validateStatus;!i.status||!n||n(i.status)?e(i):r(new s("Request failed with status code "+i.status,[s.ERR_BAD_REQUEST,s.ERR_BAD_RESPONSE][Math.floor(i.status/100)-4],i.config,i.request,i))},mt}var gt,Qt;function Ys(){if(Qt)return gt;Qt=1;var s=w;return gt=s.isStandardBrowserEnv()?function(){return{write:function(r,i,n,a,o,u){var d=[];d.push(r+"="+encodeURIComponent(i)),s.isNumber(n)&&d.push("expires="+new Date(n).toGMTString()),s.isString(a)&&d.push("path="+a),s.isString(o)&&d.push("domain="+o),u===!0&&d.push("secure"),document.cookie=d.join("; ")},read:function(r){var i=document.cookie.match(new RegExp("(^|;\\s*)("+r+")=([^;]*)"));return i?decodeURIComponent(i[3]):null},remove:function(r){this.write(r,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}(),gt}var Qs=function(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)},tr=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t},er=Qs,sr=tr,ze=function(t,e){return t&&!er(e)?sr(t,e):e},vt,te;function rr(){if(te)return vt;te=1;var s=w,t=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];return vt=function(r){var i={},n,a,o;return r&&s.forEach(r.split(` -`),function(d){if(o=d.indexOf(":"),n=s.trim(d.substr(0,o)).toLowerCase(),a=s.trim(d.substr(o+1)),n){if(i[n]&&t.indexOf(n)>=0)return;n==="set-cookie"?i[n]=(i[n]?i[n]:[]).concat([a]):i[n]=i[n]?i[n]+", "+a:a}}),i},vt}var yt,ee;function ir(){if(ee)return yt;ee=1;var s=w;return yt=s.isStandardBrowserEnv()?function(){var e=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a"),i;function n(a){var o=a;return e&&(r.setAttribute("href",o),o=r.href),r.setAttribute("href",o),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:r.pathname.charAt(0)==="/"?r.pathname:"/"+r.pathname}}return i=n(window.location.href),function(o){var u=s.isString(o)?n(o):o;return u.protocol===i.protocol&&u.host===i.host}}():function(){return function(){return!0}}(),yt}var bt,se;function ut(){if(se)return bt;se=1;var s=X,t=w;function e(r){s.call(this,r??"canceled",s.ERR_CANCELED),this.name="CanceledError"}return t.inherits(e,s,{__CANCEL__:!0}),bt=e,bt}var wt,re;function nr(){return re||(re=1,wt=function(t){var e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}),wt}var _t,ie;function ne(){if(ie)return _t;ie=1;var s=w,t=Ks(),e=Ys(),r=Ue,i=ze,n=rr(),a=ir(),o=je,u=X,d=ut(),h=nr();return _t=function(l){return new Promise(function(m,y){var T=l.data,k=l.headers,A=l.responseType,I;function et(){l.cancelToken&&l.cancelToken.unsubscribe(I),l.signal&&l.signal.removeEventListener("abort",I)}s.isFormData(T)&&s.isStandardBrowserEnv()&&delete k["Content-Type"];var f=new XMLHttpRequest;if(l.auth){var is=l.auth.username||"",ns=l.auth.password?unescape(encodeURIComponent(l.auth.password)):"";k.Authorization="Basic "+btoa(is+":"+ns)}var ct=i(l.baseURL,l.url);f.open(l.method.toUpperCase(),r(ct,l.params,l.paramsSerializer),!0),f.timeout=l.timeout;function Vt(){if(f){var R="getAllResponseHeaders"in f?n(f.getAllResponseHeaders()):null,j=!A||A==="text"||A==="json"?f.responseText:f.response,B={data:j,status:f.status,statusText:f.statusText,headers:R,config:l,request:f};t(function(pt){m(pt),et()},function(pt){y(pt),et()},B),f=null}}if("onloadend"in f?f.onloadend=Vt:f.onreadystatechange=function(){!f||f.readyState!==4||f.status===0&&!(f.responseURL&&f.responseURL.indexOf("file:")===0)||setTimeout(Vt)},f.onabort=function(){f&&(y(new u("Request aborted",u.ECONNABORTED,l,f)),f=null)},f.onerror=function(){y(new u("Network Error",u.ERR_NETWORK,l,f,f)),f=null},f.ontimeout=function(){var j=l.timeout?"timeout of "+l.timeout+"ms exceeded":"timeout exceeded",B=l.transitional||o;l.timeoutErrorMessage&&(j=l.timeoutErrorMessage),y(new u(j,B.clarifyTimeoutError?u.ETIMEDOUT:u.ECONNABORTED,l,f)),f=null},s.isStandardBrowserEnv()){var Gt=(l.withCredentials||a(ct))&&l.xsrfCookieName?e.read(l.xsrfCookieName):void 0;Gt&&(k[l.xsrfHeaderName]=Gt)}"setRequestHeader"in f&&s.forEach(k,function(j,B){typeof T>"u"&&B.toLowerCase()==="content-type"?delete k[B]:f.setRequestHeader(B,j)}),s.isUndefined(l.withCredentials)||(f.withCredentials=!!l.withCredentials),A&&A!=="json"&&(f.responseType=l.responseType),typeof l.onDownloadProgress=="function"&&f.addEventListener("progress",l.onDownloadProgress),typeof l.onUploadProgress=="function"&&f.upload&&f.upload.addEventListener("progress",l.onUploadProgress),(l.cancelToken||l.signal)&&(I=function(R){f&&(y(!R||R&&R.type?new d:R),f.abort(),f=null)},l.cancelToken&&l.cancelToken.subscribe(I),l.signal&&(l.signal.aborted?I():l.signal.addEventListener("abort",I))),T||(T=null);var ft=h(ct);if(ft&&["http","https","file"].indexOf(ft)===-1){y(new u("Unsupported protocol "+ft+":",u.ERR_BAD_REQUEST,l));return}f.send(T)})},_t}var xt,ae;function ar(){return ae||(ae=1,xt=null),xt}var b=w,oe=Js,le=X,or=je,lr=We,ur={"Content-Type":"application/x-www-form-urlencoded"};function ue(s,t){!b.isUndefined(s)&&b.isUndefined(s["Content-Type"])&&(s["Content-Type"]=t)}function hr(){var s;return(typeof XMLHttpRequest<"u"||typeof process<"u"&&Object.prototype.toString.call(process)==="[object process]")&&(s=ne()),s}function dr(s,t,e){if(b.isString(s))try{return(t||JSON.parse)(s),b.trim(s)}catch(r){if(r.name!=="SyntaxError")throw r}return(e||JSON.stringify)(s)}var ht={transitional:or,adapter:hr(),transformRequest:[function(t,e){if(oe(e,"Accept"),oe(e,"Content-Type"),b.isFormData(t)||b.isArrayBuffer(t)||b.isBuffer(t)||b.isStream(t)||b.isFile(t)||b.isBlob(t))return t;if(b.isArrayBufferView(t))return t.buffer;if(b.isURLSearchParams(t))return ue(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString();var r=b.isObject(t),i=e&&e["Content-Type"],n;if((n=b.isFileList(t))||r&&i==="multipart/form-data"){var a=this.env&&this.env.FormData;return lr(n?{"files[]":t}:t,a&&new a)}else if(r||i==="application/json")return ue(e,"application/json"),dr(t);return t}],transformResponse:[function(t){var e=this.transitional||ht.transitional,r=e&&e.silentJSONParsing,i=e&&e.forcedJSONParsing,n=!r&&this.responseType==="json";if(n||i&&b.isString(t)&&t.length)try{return JSON.parse(t)}catch(a){if(n)throw a.name==="SyntaxError"?le.from(a,le.ERR_BAD_RESPONSE,this,null,this.response):a}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ar()},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};b.forEach(["delete","get","head"],function(t){ht.headers[t]={}});b.forEach(["post","put","patch"],function(t){ht.headers[t]=b.merge(ur)});var Wt=ht,cr=w,fr=Wt,pr=function(t,e,r){var i=this||fr;return cr.forEach(r,function(a){t=a.call(i,t,e)}),t},Et,he;function Ze(){return he||(he=1,Et=function(t){return!!(t&&t.__CANCEL__)}),Et}var de=w,St=pr,mr=Ze(),gr=Wt,vr=ut();function Tt(s){if(s.cancelToken&&s.cancelToken.throwIfRequested(),s.signal&&s.signal.aborted)throw new vr}var yr=function(t){Tt(t),t.headers=t.headers||{},t.data=St.call(t,t.data,t.headers,t.transformRequest),t.headers=de.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),de.forEach(["delete","get","head","post","put","patch","common"],function(i){delete t.headers[i]});var e=t.adapter||gr.adapter;return e(t).then(function(i){return Tt(t),i.data=St.call(t,i.data,i.headers,t.transformResponse),i},function(i){return mr(i)||(Tt(t),i&&i.response&&(i.response.data=St.call(t,i.response.data,i.response.headers,t.transformResponse))),Promise.reject(i)})},O=w,Ve=function(t,e){e=e||{};var r={};function i(h,c){return O.isPlainObject(h)&&O.isPlainObject(c)?O.merge(h,c):O.isPlainObject(c)?O.merge({},c):O.isArray(c)?c.slice():c}function n(h){if(O.isUndefined(e[h])){if(!O.isUndefined(t[h]))return i(void 0,t[h])}else return i(t[h],e[h])}function a(h){if(!O.isUndefined(e[h]))return i(void 0,e[h])}function o(h){if(O.isUndefined(e[h])){if(!O.isUndefined(t[h]))return i(void 0,t[h])}else return i(void 0,e[h])}function u(h){if(h in e)return i(t[h],e[h]);if(h in t)return i(void 0,t[h])}var d={url:a,method:a,data:a,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:u};return O.forEach(Object.keys(t).concat(Object.keys(e)),function(c){var l=d[c]||n,p=l(c);O.isUndefined(p)&&l!==u||(r[c]=p)}),r},Ot,ce;function Ge(){return ce||(ce=1,Ot={version:"0.27.2"}),Ot}var br=Ge().version,N=X,zt={};["object","boolean","number","function","string","symbol"].forEach(function(s,t){zt[s]=function(r){return typeof r===s||"a"+(t<1?"n ":" ")+s}});var fe={};zt.transitional=function(t,e,r){function i(n,a){return"[Axios v"+br+"] Transitional option '"+n+"'"+a+(r?". "+r:"")}return function(n,a,o){if(t===!1)throw new N(i(a," has been removed"+(e?" in "+e:"")),N.ERR_DEPRECATED);return e&&!fe[a]&&(fe[a]=!0,console.warn(i(a," has been deprecated since v"+e+" and will be removed in the near future"))),t?t(n,a,o):!0}};function wr(s,t,e){if(typeof s!="object")throw new N("options must be an object",N.ERR_BAD_OPTION_VALUE);for(var r=Object.keys(s),i=r.length;i-- >0;){var n=r[i],a=t[n];if(a){var o=s[n],u=o===void 0||a(o,n,s);if(u!==!0)throw new N("option "+n+" must be "+u,N.ERR_BAD_OPTION_VALUE);continue}if(e!==!0)throw new N("Unknown option "+n,N.ERR_BAD_OPTION)}}var _r={assertOptions:wr,validators:zt},Je=w,xr=Ue,pe=Vs,me=yr,dt=Ve,Er=ze,Xe=_r,z=Xe.validators;function J(s){this.defaults=s,this.interceptors={request:new pe,response:new pe}}J.prototype.request=function(t,e){typeof t=="string"?(e=e||{},e.url=t):e=t||{},e=dt(this.defaults,e),e.method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var r=e.transitional;r!==void 0&&Xe.assertOptions(r,{silentJSONParsing:z.transitional(z.boolean),forcedJSONParsing:z.transitional(z.boolean),clarifyTimeoutError:z.transitional(z.boolean)},!1);var i=[],n=!0;this.interceptors.request.forEach(function(p){typeof p.runWhen=="function"&&p.runWhen(e)===!1||(n=n&&p.synchronous,i.unshift(p.fulfilled,p.rejected))});var a=[];this.interceptors.response.forEach(function(p){a.push(p.fulfilled,p.rejected)});var o;if(!n){var u=[me,void 0];for(Array.prototype.unshift.apply(u,i),u=u.concat(a),o=Promise.resolve(e);u.length;)o=o.then(u.shift(),u.shift());return o}for(var d=e;i.length;){var h=i.shift(),c=i.shift();try{d=h(d)}catch(l){c(l);break}}try{o=me(d)}catch(l){return Promise.reject(l)}for(;a.length;)o=o.then(a.shift(),a.shift());return o};J.prototype.getUri=function(t){t=dt(this.defaults,t);var e=Er(t.baseURL,t.url);return xr(e,t.params,t.paramsSerializer)};Je.forEach(["delete","get","head","options"],function(t){J.prototype[t]=function(e,r){return this.request(dt(r||{},{method:t,url:e,data:(r||{}).data}))}});Je.forEach(["post","put","patch"],function(t){function e(r){return function(n,a,o){return this.request(dt(o||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:n,data:a}))}}J.prototype[t]=e(),J.prototype[t+"Form"]=e(!0)});var Sr=J,$t,ge;function Tr(){if(ge)return $t;ge=1;var s=ut();function t(e){if(typeof e!="function")throw new TypeError("executor must be a function.");var r;this.promise=new Promise(function(a){r=a});var i=this;this.promise.then(function(n){if(i._listeners){var a,o=i._listeners.length;for(a=0;a"u"?"json":"cookie"}}var _e;(function(s){s.TOTAL_COUNT="total_count",s.FILTER_COUNT="filter_count"})(_e||(_e={}));class g extends Error{constructor(t){super(`${t??"ID"} cannot be an empty string`)}}class P{constructor(t,e){this.collection=t,this.transport=e,this.endpoint=t.startsWith("directus_")?`/${t.substring(9)}`:`/items/${t}`}async readOne(t,e,r){if(`${t}`=="")throw new g("id");return(await this.transport.get(`${this.endpoint}/${encodeURI(t)}`,{params:e,...r==null?void 0:r.requestOptions})).data}async readMany(t,e,r){var i;const a=(i=(await this.transport.get(`/fields/${this.collection}`)).data)===null||i===void 0?void 0:i.find(d=>d.schema.is_primary_key===!0),{data:o,meta:u}=await this.transport.get(`${this.endpoint}`,{params:{...e,filter:{[a.field]:{_in:t},...e==null?void 0:e.filter},sort:(e==null?void 0:e.sort)||a.field},...r==null?void 0:r.requestOptions});return{data:o,...u&&{meta:u}}}async readByQuery(t,e){const{data:r,meta:i}=await this.transport.get(`${this.endpoint}`,{params:t,...e==null?void 0:e.requestOptions});return{data:r,...i&&{meta:i}}}async createOne(t,e,r){return(await this.transport.post(`${this.endpoint}`,t,{params:e,...r==null?void 0:r.requestOptions})).data}async createMany(t,e,r){return await this.transport.post(`${this.endpoint}`,t,{params:e,...r==null?void 0:r.requestOptions})}async updateOne(t,e,r,i){if(`${t}`=="")throw new g("id");return(await this.transport.patch(`${this.endpoint}/${encodeURI(t)}`,e,{params:r,...i==null?void 0:i.requestOptions})).data}async updateMany(t,e,r,i){return await this.transport.patch(`${this.endpoint}`,{keys:t,data:e},{params:r,...i==null?void 0:i.requestOptions})}async updateBatch(t,e,r){return await this.transport.patch(`${this.endpoint}`,t,{params:e,...r==null?void 0:r.requestOptions})}async updateByQuery(t,e,r,i){return await this.transport.patch(`${this.endpoint}`,{query:t,data:e},{params:r,...i==null?void 0:i.requestOptions})}async deleteOne(t,e){if(`${t}`=="")throw new g("id");await this.transport.delete(`${this.endpoint}/${encodeURI(t)}`,void 0,e==null?void 0:e.requestOptions)}async deleteMany(t,e){await this.transport.delete(`${this.endpoint}`,t,e==null?void 0:e.requestOptions)}}class Dr{constructor(t){this.transport=t}async create(t){return(await this.transport.post("/activity/comment",t)).data}async update(t,e){if(`${t}`=="")throw new g("comment_activity_id");return(await this.transport.patch(`/activity/comment/${encodeURI(t)}`,{comment:e})).data}async delete(t){if(`${t}`=="")throw new g("comment_activity_id");await this.transport.delete(`/activity/comment/${encodeURI(t)}`)}}class Pr extends P{constructor(t){super("directus_activity",t),this._comments=new Dr(this.transport)}get comments(){return this._comments}}class Lr{constructor(t){this.transport=t}async readOne(t){if(`${t}`=="")throw new g("id");return(await this.transport.get(`/assets/${t}`,{responseType:"stream"})).raw}}class Nr{constructor(t){this.transport=t}async readOne(t){if(`${t}`=="")throw new g("collection");return(await this.transport.get(`/collections/${t}`)).data}async readAll(){const{data:t,meta:e}=await this.transport.get("/collections");return{data:t,meta:e}}async createOne(t){return(await this.transport.post("/collections",t)).data}async createMany(t){const{data:e,meta:r}=await this.transport.post("/collections",t);return{data:e,meta:r}}async updateOne(t,e,r){if(`${t}`=="")throw new g("collection");return(await this.transport.patch(`/collections/${t}`,e,{params:r})).data}async deleteOne(t){if(`${t}`=="")throw new g("collection");await this.transport.delete(`/collections/${t}`)}}class qr{constructor(t){this.transport=t}async readOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("id");return(await this.transport.get(`/fields/${t}/${e}`)).data}async readMany(t){if(`${t}`=="")throw new g("collection");return{data:(await this.transport.get(`/fields/${t}`)).data,meta:void 0}}async readAll(){return{data:(await this.transport.get("/fields")).data,meta:void 0}}async createOne(t,e){if(`${t}`=="")throw new g("collection");return(await this.transport.post(`/fields/${t}`,e)).data}async updateOne(t,e,r){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");return(await this.transport.patch(`/fields/${t}/${e}`,r)).data}async deleteOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");await this.transport.delete(`/fields/${t}/${e}`)}}class Br extends P{constructor(t){super("directus_files",t)}async import(t){return(await this.transport.post("/files/import",t)).data}}class Ur extends P{constructor(t){super("directus_folders",t)}}class Mr extends P{constructor(t){super("directus_permissions",t)}}class Fr extends P{constructor(t){super("directus_presets",t)}}class Hr{constructor(t){this.transport=t}async readOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("id");return(await this.transport.get(`/relations/${t}/${e}`)).data}async readMany(t){if(`${t}`=="")throw new g("collection");return(await this.transport.get(`/relations/${t}`)).data}async readAll(){return(await this.transport.get("/relations")).data}async createOne(t){return(await this.transport.post("/relations",t)).data}async updateOne(t,e,r){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");return(await this.transport.patch(`/relations/${t}/${e}`,r)).data}async deleteOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");await this.transport.delete(`/relations/${t}/${e}`)}}class jr extends P{constructor(t){super("directus_revisions",t)}}class Wr extends P{constructor(t){super("directus_roles",t)}}class zr{constructor(t){this.transport=t}async ping(){return(await this.transport.get("/server/ping")).raw}async info(){return(await this.transport.get("/server/info")).data}async oas(){return(await this.transport.get("/server/specs/oas")).raw}}class Qe{constructor(t,e){this.collection=t,this.transport=e,this.endpoint=t.startsWith("directus_")?`/${t.substring(9)}`:`/items/${t}`}async read(t){return(await this.transport.get(`${this.endpoint}`,{params:t})).data}async update(t,e){return(await this.transport.patch(`${this.endpoint}`,t,{params:e})).data}}class Zr extends Qe{constructor(t){super("directus_settings",t)}}class Vr{constructor(t){this.transport=t}async send(t,e,r){await this.transport.post("/users/invite",{email:t,role:e,invite_url:r})}async accept(t,e){await this.transport.post("/users/invite/accept",{token:t,password:e})}}class Gr{constructor(t){this.transport=t}async generate(t){return(await this.transport.post("/users/me/tfa/generate",{password:t})).data}async enable(t,e){await this.transport.post("/users/me/tfa/enable",{secret:t,otp:e})}async disable(t){await this.transport.post("/users/me/tfa/disable",{otp:t})}}class Jr{constructor(t){this._transport=t}get tfa(){return this._tfa||(this._tfa=new Gr(this._transport))}async read(t){return(await this._transport.get("/users/me",{params:t})).data}async update(t,e){return(await this._transport.patch("/users/me",t,{params:e})).data}}class Xr extends P{constructor(t){super("directus_users",t)}get invites(){return this._invites||(this._invites=new Vr(this.transport))}get me(){return this._me||(this._me=new Jr(this.transport))}}class Kr{constructor(t){this.random={string:async(e=32)=>(await this.transport.get("/utils/random/string",{params:{length:e}})).data},this.hash={generate:async e=>(await this.transport.post("/utils/hash/generate",{string:e})).data,verify:async(e,r)=>(await this.transport.post("/utils/hash/verify",{string:e,hash:r})).data},this.transport=t}async sort(t,e,r){await this.transport.post(`/utils/sort/${encodeURI(t)}`,{item:e,to:r})}async revert(t){await this.transport.post(`/utils/revert/${encodeURI(t)}`)}}class ts{}class Lt{}class Y extends Error{constructor(t,e){var r,i;!((r=e==null?void 0:e.errors)===null||r===void 0)&&r.length?super((i=e==null?void 0:e.errors[0])===null||i===void 0?void 0:i.message):super((t==null?void 0:t.message)||"Unknown transport error"),this.parent=t,this.response=e,this.errors=(e==null?void 0:e.errors)||[],Object.values(e||{}).some(n=>n!==void 0)||(this.response=void 0),Object.setPrototypeOf(this,Y.prototype)}}var E;(function(s){s.AuthToken="auth_token",s.RefreshToken="auth_refresh_token",s.Expires="auth_expires",s.ExpiresAt="auth_expires_at"})(E||(E={}));class es extends ts{constructor(t){var e;super(),this.prefix=(e=t==null?void 0:t.prefix)!==null&&e!==void 0?e:""}get auth_token(){return this.get(E.AuthToken)}set auth_token(t){t===null?this.delete(E.AuthToken):this.set(E.AuthToken,t)}get auth_expires(){const t=this.get(E.Expires);return t===null?null:parseInt(t)}set auth_expires(t){t===null?this.delete(E.Expires):this.set(E.Expires,t.toString())}get auth_expires_at(){const t=this.get(E.ExpiresAt);return t===null?null:parseInt(t)}set auth_expires_at(t){t===null?this.delete(E.ExpiresAt):this.set(E.ExpiresAt,t.toString())}get auth_refresh_token(){return this.get(E.RefreshToken)}set auth_refresh_token(t){t===null?this.delete(E.RefreshToken):this.set(E.RefreshToken,t)}}class Yr extends es{constructor(){super(...arguments),this.values={}}get(t){const e=this.key(t);return e in this.values?this.values[e]:null}set(t,e){return this.values[this.key(t)]=e,e}delete(t){const e=this.get(t);return delete this.values[this.key(t)],e}key(t){return`${this.prefix}${t}`}}class Qr extends es{get(t){const e=localStorage.getItem(this.key(t));return e!==null?e:null}set(t,e){return localStorage.setItem(this.key(t),e),e}delete(t){const e=this.get(t);return localStorage.removeItem(this.key(t)),e}key(t){return`${this.prefix}${t}`}}class ti extends Lt{constructor(t){var e;super(),this.config=t,this.axios=we.create({baseURL:this.config.url,params:this.config.params,headers:this.config.headers,onUploadProgress:this.config.onUploadProgress,maxBodyLength:this.config.maxBodyLength,maxContentLength:this.config.maxContentLength,withCredentials:!0}),!((e=this.config)===null||e===void 0)&&e.beforeRequest&&(this.beforeRequest=this.config.beforeRequest)}async beforeRequest(t){return t}get url(){return this.config.url}async request(t,e,r,i){var n,a,o,u,d;try{let h={method:t,url:e,data:r,params:i==null?void 0:i.params,headers:i==null?void 0:i.headers,responseType:i==null?void 0:i.responseType,onUploadProgress:i==null?void 0:i.onUploadProgress};h=await this.beforeRequest(h);const c=await this.axios.request(h),l={raw:c.data,status:c.status,statusText:c.statusText,headers:c.headers,data:c.data.data,meta:c.data.meta,errors:c.data.errors};if(c.data.errors)throw new Y(null,l);return l}catch(h){if(!h||!(h instanceof Error))throw h;if(we.isAxiosError(h)){const c=(n=h.response)===null||n===void 0?void 0:n.data;throw new Y(h,{raw:(a=h.response)===null||a===void 0?void 0:a.data,status:(o=h.response)===null||o===void 0?void 0:o.status,statusText:(u=h.response)===null||u===void 0?void 0:u.statusText,headers:(d=h.response)===null||d===void 0?void 0:d.headers,data:c==null?void 0:c.data,meta:c==null?void 0:c.meta,errors:c==null?void 0:c.errors})}throw new Y(h)}}async get(t,e){return await this.request("get",t,void 0,e)}async head(t,e){return await this.request("head",t,void 0,e)}async options(t,e){return await this.request("options",t,void 0,e)}async delete(t,e,r){return await this.request("delete",t,e,r)}async put(t,e,r){return await this.request("put",t,e,r)}async post(t,e,r){return await this.request("post",t,e,r)}async patch(t,e,r){return await this.request("patch",t,e,r)}}class ei{constructor(t){this.transport=t}async request(t,e){await this.transport.post("/auth/password/request",{email:t,reset_url:e})}async reset(t,e){await this.transport.post("/auth/password/reset",{token:t,password:e})}}class si extends Ye{constructor(t){var e,r,i;super(),this.autoRefresh=!0,this.msRefreshBeforeExpires=3e4,this.staticToken="",this._transport=t.transport,this._storage=t.storage,this.autoRefresh=(e=t==null?void 0:t.autoRefresh)!==null&&e!==void 0?e:this.autoRefresh,this.mode=(r=t==null?void 0:t.mode)!==null&&r!==void 0?r:this.mode,this.msRefreshBeforeExpires=(i=t==null?void 0:t.msRefreshBeforeExpires)!==null&&i!==void 0?i:this.msRefreshBeforeExpires,t!=null&&t.staticToken&&(this.staticToken=t==null?void 0:t.staticToken,this.updateStorage({access_token:this.staticToken,expires:null,refresh_token:null}))}get storage(){return this._storage}get transport(){return this._transport}get token(){return(async()=>{if(this._refreshPromise)try{await this._refreshPromise}finally{this._refreshPromise=void 0}return this._storage.auth_token})()}get password(){return this.passwords=this.passwords||new ei(this._transport)}resetStorage(){this._storage.auth_token=null,this._storage.auth_refresh_token=null,this._storage.auth_expires=null,this._storage.auth_expires_at=null}updateStorage(t){var e,r;const i=(e=t.expires)!==null&&e!==void 0?e:null;this._storage.auth_token=t.access_token,this._storage.auth_refresh_token=(r=t.refresh_token)!==null&&r!==void 0?r:null,this._storage.auth_expires=i,this._storage.auth_expires_at=new Date().getTime()+(i??0)}async refreshIfExpired(){if(!this.staticToken&&this.autoRefresh){if(!this._storage.auth_expires_at){try{await this._refreshPromise}finally{this._refreshPromise=void 0}return}this._storage.auth_expires_at{var e;const r=this._storage.auth_refresh_token;this.resetStorage();const i=await this._transport.post("/auth/refresh",{refresh_token:this.mode==="json"?r:void 0});return this.updateStorage(i.data),{access_token:i.data.access_token,...((e=i.data)===null||e===void 0?void 0:e.refresh_token)&&{refresh_token:i.data.refresh_token},expires:i.data.expires}};return this._refreshPromise=t()}async login(t){var e;this.resetStorage();const r=await this._transport.post("/auth/login",{mode:this.mode,...t},{headers:{Authorization:null}});return this.updateStorage(r.data),{access_token:r.data.access_token,...((e=r.data)===null||e===void 0?void 0:e.refresh_token)&&{refresh_token:r.data.refresh_token},expires:r.data.expires}}async static(t){return this.staticToken||(this.staticToken=t),await this._transport.get("/users/me",{params:{access_token:t},headers:{Authorization:null}}),this.updateStorage({access_token:t,expires:null,refresh_token:null}),!0}async logout(){let t;this.mode==="json"&&(t=this._storage.auth_refresh_token||void 0),await this._transport.post("/auth/logout",{refresh_token:t}),this.updateStorage({access_token:null,expires:null,refresh_token:null})}}class ri{constructor(t){this.transport=t}async request(t,e,r){return await this.transport.post(t,{query:e,variables:typeof r>"u"?{}:r})}async items(t,e){return await this.request("/graphql",t,e)}async system(t,e){return await this.request("/graphql/system",t,e)}}class ii{constructor(t,e){var r,i,n,a,o,u,d,h,c;if(this._url=t,this._options=e,this._items={},this._singletons={},!((r=this._options)===null||r===void 0)&&r.storage&&((i=this._options)===null||i===void 0?void 0:i.storage)instanceof ts)this._storage=this._options.storage;else{const l=(n=this._options)===null||n===void 0?void 0:n.storage,{mode:p,...m}=l??{};p==="MemoryStorage"||typeof window>"u"?this._storage=new Yr(m):this._storage=new Qr(m)}!((a=this._options)===null||a===void 0)&&a.transport&&((o=this._options)===null||o===void 0?void 0:o.transport)instanceof Lt?this._transport=this._options.transport:this._transport=new ti({url:this.url,...(u=this._options)===null||u===void 0?void 0:u.transport,beforeRequest:async l=>{var p,m,y,T,k,A;this._url.indexOf("/auth/refresh")===-1&&((p=l.method)===null||p===void 0?void 0:p.toLowerCase())!=="post"&&await this._auth.refreshIfExpired();const I=this.storage.auth_token,et=I?I.startsWith("Bearer ")?String(this.storage.auth_token):`Bearer ${this.storage.auth_token}`:"",f={...l,headers:{Authorization:et,...l.headers}};return!(((m=this._options)===null||m===void 0?void 0:m.transport)instanceof Lt)&&(!((T=(y=this._options)===null||y===void 0?void 0:y.transport)===null||T===void 0)&&T.beforeRequest)?(A=(k=this._options)===null||k===void 0?void 0:k.transport)===null||A===void 0?void 0:A.beforeRequest(f):f}}),!((d=this._options)===null||d===void 0)&&d.auth&&((h=this._options)===null||h===void 0?void 0:h.auth)instanceof Ye?this._auth=this._options.auth:this._auth=new si({transport:this._transport,storage:this._storage,...(c=this._options)===null||c===void 0?void 0:c.auth})}get url(){return this._url}get auth(){return this._auth}get storage(){return this._storage}get transport(){return this._transport}get assets(){return this._assets||(this._assets=new Lr(this.transport))}get activity(){return this._activity||(this._activity=new Pr(this.transport))}get collections(){return this._collections||(this._collections=new Nr(this.transport))}get fields(){return this._fields||(this._fields=new qr(this.transport))}get files(){return this._files||(this._files=new Br(this.transport))}get folders(){return this._folders||(this._folders=new Ur(this.transport))}get permissions(){return this._permissions||(this._permissions=new Mr(this.transport))}get presets(){return this._presets||(this._presets=new Fr(this.transport))}get relations(){return this._relations||(this._relations=new Hr(this.transport))}get revisions(){return this._revisions||(this._revisions=new jr(this.transport))}get roles(){return this._roles||(this._roles=new Wr(this.transport))}get users(){return this._users||(this._users=new Xr(this.transport))}get settings(){return this._settings||(this._settings=new Zr(this.transport))}get server(){return this._server||(this._server=new zr(this.transport))}get utils(){return this._utils||(this._utils=new Kr(this.transport))}get graphql(){return this._graphql||(this._graphql=new ri(this.transport))}singleton(t){return this._singletons[t]||(this._singletons[t]=new Qe(t,this.transport))}items(t){return this._items[t]||(this._items[t]=new P(t,this.transport))}}const ni=new ii("https://db.chromatone.center"),Zt=os("access-granted",!1),xe=q(!1),Z=q(""),Ee=De(()=>/^[^@]+@\w+(\.\w+)+\w$/.test(Z.value));async function Se(s){const t={email:s};if(Zt.value=s,!xe.value){xe.value=!0;try{await ni.items("players").createOne(t)}catch(e){console.error(e)}}}const tt=q(!1);Pe(Zt,s=>{s&&(tt.value=!1)});const Te=q(!1),ai=JSON.parse('[{"id":1,"status":"published","sort":1,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T05:12:51.578Z","title":"Dotpiano","url":"https://dotpiano.com/","content":null,"img":"a55e9913-8d15-486d-9ab1-d4fe8c7fb5bf","category":null},{"id":3,"status":"published","sort":3,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T05:58:12.456Z","title":"TouchME by Chromatone","url":"https://touchme.chromatone.center/","content":null,"img":"67191ff8-1f6b-4ffb-9885-b0598c600981","category":null},{"id":14,"status":"published","sort":4,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:16:13.331Z","title":"Juno-106","url":"http://juno-106.js.org/","content":null,"img":"45297e84-6b42-446b-8a56-024ff46542b7","category":null},{"id":26,"status":"published","sort":5,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:26:42.487Z","title":"Learning synths with Ableton","url":"https://learningsynths.ableton.com/","content":null,"img":"110d33fe-8c5f-4502-aaf9-6458f2119d33","category":3},{"id":30,"status":"published","sort":5,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-30T02:33:18.609Z","title":"DX7 Synth","url":"https://mmontag.github.io/dx7-synth-js/","content":null,"img":"33b1ee5c-77f0-4fb7-86ef-d8687532688b","category":2},{"id":10,"status":"published","sort":6,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:14:42.904Z","title":"Websynths","url":"http://websynths.com/","content":null,"img":"2fd87e78-0cad-44b7-bf02-44deaf12deaa","category":null},{"id":19,"status":"published","sort":6,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:23:26.708Z","title":"Theremin","url":"https://www.femurdesign.com/theremin/","content":null,"img":"1fb860e8-199e-4cd2-98f0-a718e8a6378d","category":null},{"id":22,"status":"published","sort":7,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:24:55.478Z","title":"Disco-computer","url":"http://www.disco-computer.com/synthesizer/synth.html","content":null,"img":"fd019ff3-512a-49b9-923d-a899e50938d5","category":null},{"id":29,"status":"published","sort":8,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-20T09:19:52.499Z","title":"Elementary synth","url":"https://chromatone.center/practice/midi/synth/","content":null,"img":"e204f6f4-2534-4587-93c9-1f3ad11de771","category":3},{"id":17,"status":"published","sort":30,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:17:26.088Z","title":"Sound Trap","url":"https://www.soundtrap.com/","content":null,"img":"73e783f3-84b7-430d-9a89-b1ee2fe69050","category":1},{"id":6,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:11:50.949Z","title":"MIDI–driven Web Audio","url":"https://webaudiodemos.appspot.com/midi-synth/index.html","content":null,"img":"aa8959b0-e5af-4055-8d65-276c42135c9b","category":null},{"id":8,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:13:23.936Z","title":"Meet the Heisenberg","url":"https://www.audiotool.com/product/device/heisenberg/","content":null,"img":"31b1a269-323a-4afe-8262-fd6ff566b136","category":null},{"id":9,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:13:45.798Z","title":"Cardboard Synth","url":"https://www.gsn-lib.org/apps/cardboardsynth/index.html","content":null,"img":"a737a01c-d552-44d4-ae6f-736b967333b9","category":null},{"id":11,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:15:04.832Z","title":"Tanguy synth","url":"http://tanguysynth.com/","content":null,"img":"cf55e3e1-0b91-4e0c-b97d-d392e242736c","category":null},{"id":12,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:15:25.991Z","title":"MOD synth","url":"http://mod-synth.io/","content":null,"img":"724e5054-3e1e-4ed7-b2e0-09fa78358f2d","category":null},{"id":13,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:15:53.105Z","title":"OLIF SY1K","url":"http://perso.numericable.fr/olivier.friker/synth/O3-synth%20V1.3.html","content":null,"img":"353b4bea-4458-4f7d-ab2d-e8cb3927fd2b","category":null},{"id":15,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:16:31.831Z","title":"Note Sculptor","url":"http://www.noisesculptor.com/","content":null,"img":"d2d23b94-d822-4e9e-9632-e57b96f66213","category":null},{"id":16,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:17:03.314Z","title":"WebAudioSynth V2","url":"http://aikelab.net/websynthv2/","content":null,"img":"c1192dc4-38a5-45af-9087-165478fffbc4","category":2},{"id":18,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:17:47.206Z","title":"Samplestich","url":"http://samplestitch.com.s3-website-us-east-1.amazonaws.com/","content":null,"img":"fc617933-8038-46bc-a71c-794cce369003","category":3},{"id":20,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:23:49.043Z","title":"Omni","url":"https://femurdesign.com/omni/","content":null,"img":"4329ecec-c6bd-4892-bc5d-1c60ebf85db6","category":null},{"id":21,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:24:10.192Z","title":"Web Modular","url":"https://www.g200kg.com/docs/webmodular/","content":null,"img":"ab06d1f0-0962-469c-9173-1d1b0c323da4","category":null},{"id":23,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:25:24.249Z","title":"Online sequencer","url":"https://onlinesequencer.net/369477","content":null,"img":"dfe830f4-6fc9-4c70-9355-266066d57e84","category":null},{"id":24,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:25:54.765Z","title":"PixelSynth","url":"https://ojack.github.io/PIXELSYNTH/","content":null,"img":"57a70c4c-a745-4d76-acc1-f60605b2e620","category":null},{"id":25,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:26:19.769Z","title":"Acid Machine 2","url":"http://errozero.co.uk/acid-machine/","content":null,"img":"006c8dc8-29f6-4451-ae69-4d4e14b69fc1","category":null},{"id":27,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:27:18.081Z","title":"Viktor NV-1","url":"http://nicroto.github.io/viktor/","content":null,"img":"47059c44-1e73-4578-bd8d-2a85676d6a6c","category":null},{"id":28,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:27:38.864Z","title":"WebSID Commodore 64","url":"http://www.igorski.nl/experiment/websid","content":null,"img":"0c43f116-2478-4306-af3c-afd5a869b7a3","category":null},{"id":31,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-31T05:38:18.890Z","title":"Video Sampler","url":"https://seeing-sound.netlify.app/","content":null,"img":"24b816fc-b3bd-4b76-9e15-1765bec844ce","category":3}]'),oi=F({inject:["manager"],props:{index:{type:Number,required:!0},disabled:{type:Boolean,default:!1}},data(){return{}},watch:{index(s){this.$el&&this.$el.sortableInfo&&(this.$el.sortableInfo.index=s)},disabled(s){s?this.removeDraggable():this.setDraggable(this.index)}},mounted(){const{disabled:s,index:t}=this.$props;s||this.setDraggable(t)},beforeUnmount(){this.disabled||this.removeDraggable()},methods:{setDraggable(s){const t=this.$el;t.sortableInfo={index:s,manager:this.manager},this.ref={node:t},this.manager.add(this.ref)},removeDraggable(){this.manager.remove(this.ref)}}});class li{constructor(){this.refs=[],this.active=null}add(t){this.refs||(this.refs=[]),this.refs.push(t)}remove(t){const e=this.getIndex(t);e!==-1&&this.refs.splice(e,1)}isActive(){return!!this.active}getActive(){return this.refs.find(({node:t})=>{var e,r;return((e=t==null?void 0:t.sortableInfo)===null||e===void 0?void 0:e.index)==((r=this===null||this===void 0?void 0:this.active)===null||r===void 0?void 0:r.index)})||null}getIndex(t){return this.refs.indexOf(t)}getRefs(){return this.refs}getOrderedRefs(){return this.refs.sort((t,e)=>t.node.sortableInfo.index-e.node.sortableInfo.index)}}const Q=s=>s.touches!=null;function Nt(s,t){return!!s&&Object.prototype.hasOwnProperty.call(s,t)}function ui(s,t,e){const r=s.slice(0);if(e>=r.length){let i=e-r.length;for(;i--+1;)r.push(void 0)}return r.splice(e,0,r.splice(t,1)[0]),r}function hi(s,t){const e=s.slice(0);return t>=e.length||e.splice(t,1),e}function di(s,t,e){const r=s.slice(0);return t===r.length?r.push(e):r.splice(t,0,e),r}const L={start:["touchstart","mousedown"],move:["touchmove","mousemove"],end:["touchend","mouseup"],cancel:["touchcancel","keyup"]};function Oe(s,t){for(;s;){if(t(s))return s;s=s.parentNode}}function $e(s,t,e){return et?t:e}function st(s){return s.substr(-2)==="px"?parseFloat(s):0}function Re(s){const t=window.getComputedStyle(s);return{top:st(t.marginTop),right:st(t.marginRight),bottom:st(t.marginBottom),left:st(t.marginLeft)}}function rt(s,t="page"){const e=`${t}X`,r=`${t}Y`;return{x:Q(s)?s.touches[0][e]:s[e],y:Q(s)?s.touches[0][r]:s[r]}}function Ce(s){const t=[s];for(;s;s=s.offsetParent)t.unshift(s);return t}function ci(s,t){const e=Ce(s),r=Ce(t);if(e[0]!=r[0])throw"No common ancestor!";for(let i=0;i{i.type!=="file"&&t[n]&&(i.value=t[n].value)}),e}function fi(s,t,e){if(typeof s=="string"&&(s=+s),Array.isArray(s)||(s=[s,s]),s.length!==2)throw new Error(`lockOffset prop of SortableContainer should be a single value or an array of exactly two values. Given ${s}`);const[r,i]=s;return[Ae(r,t,e),Ae(i,t,e)]}function Ae(s,t,e){let r=s,i=s,n="px";if(typeof s=="string"){const a=/^[+-]?\d*(?:\.\d*)?(px|%)$/.exec(s);if(a===null)throw new Error(`lockOffset value should be a number or a string of a number followed by "px" or "%". Given ${s}`);r=i=parseFloat(s),n=a[1]}if(!isFinite(r)||!isFinite(i))throw new Error(`lockOffset value should be a finite. Given ${s}`);return n==="%"&&(r=r*t/100,i=i*e/100),{x:r,y:i}}function Ie(s=[]){for(let t=0,e=s.length;t[]},lockAxis:{type:String,default:""},helperClass:{type:String,default:""},contentWindow:{type:Object,default:null},shouldCancelStart:{type:Function,default:s=>["input","textarea","select","option","button"].indexOf(s.target.tagName.toLowerCase())!==-1},getHelperDimensions:{type:Function,default:({node:s})=>({width:s.offsetWidth,height:s.offsetHeight})}},emits:["sort-start","sort-move","sort-end","sort-cancel","sort-insert","sort-remove","update:list"],data(){let s=!1;return this.group&&this.SlicksortHub&&(s=!0),{sorting:!1,hub:s?this.SlicksortHub:null,manager:new li}},mounted(){this.hub&&(this.id=this.hub.getId()),this.container=this.$el,this.document=this.container.ownerDocument||document,this._window=this.contentWindow||window,this.scrollContainer=this.useWindowAsScrollContainer?{scrollLeft:0,scrollTop:0}:this.container,this.events={start:this.handleStart,move:this.handleMove,end:this.handleEnd};for(const s in this.events)Nt(this.events,s)&&L[s].forEach(t=>this.container.addEventListener(t,this.events[s]));this.hub&&this.hub.addContainer(this)},beforeUnmount(){for(const s in this.events)Nt(this.events,s)&&L[s].forEach(t=>this.container.removeEventListener(t,this.events[s]));this.hub&&this.hub.removeContainer(this),this.dragendTimer&&clearTimeout(this.dragendTimer),this.cancelTimer&&clearTimeout(this.cancelTimer),this.pressTimer&&clearTimeout(this.pressTimer),this.autoscrollInterval&&clearInterval(this.autoscrollInterval)},methods:{handleStart(s){const{distance:t,shouldCancelStart:e}=this.$props;if(!Q(s)&&s.button===2||e(s))return!1;this._touched=!0,this._pos=rt(s);const r=s.target,i=Oe(r,n=>n.sortableInfo!=null);if(i&&i.sortableInfo&&this.nodeIsChild(i)&&!this.sorting){const{useDragHandle:n}=this.$props,{index:a}=i.sortableInfo;if(n&&!Oe(r,o=>o.sortableHandle!=null))return;this.manager.active={index:a},r.tagName.toLowerCase()==="a"&&s.preventDefault(),t||(this.pressDelay===0?this.handlePress(s):this.pressTimer=kt(()=>this.handlePress(s),this.pressDelay))}},nodeIsChild(s){return s.sortableInfo.manager===this.manager},handleMove(s){const{distance:t,pressThreshold:e}=this.$props;if(!this.sorting&&this._touched){const r=rt(s);this._delta={x:this._pos.x-r.x,y:this._pos.y-r.y};const i=Math.abs(this._delta.x)+Math.abs(this._delta.y);!t&&(!e||e&&i>=e)?(this.cancelTimer&&clearTimeout(this.cancelTimer),this.cancelTimer=kt(this.cancel,0)):t&&i>=t&&this.manager.isActive()&&this.handlePress(s)}},handleEnd(){if(!this._touched)return;const{distance:s}=this.$props;this._touched=!1,s||this.cancel()},cancel(){this.sorting||(this.pressTimer&&clearTimeout(this.pressTimer),this.manager.active=null,this.hub&&this.hub.cancel())},handleSortCancel(s){(Q(s)||s.key===this.cancelKey)&&(this.newIndex=this.index,this.canceling=!0,this.translate={x:0,y:0},this.animateNodes(),this.handleSortEnd(s))},handlePress(s){s.stopPropagation();const t=this.manager.getActive();if(t){const{getHelperDimensions:e,helperClass:r,hideSortableGhost:i,appendTo:n}=this.$props,{node:a}=t,{index:o}=a.sortableInfo,u=Re(a),d=this.container.getBoundingClientRect(),h=e({index:o,node:a});this.node=a,this.margin=u,this.width=h.width,this.height=h.height,this.marginOffset={x:this.margin.left+this.margin.right,y:Math.max(this.margin.top,this.margin.bottom)},this.boundingClientRect=a.getBoundingClientRect(),this.containerBoundingRect=d,this.index=o,this.newIndex=o;const c=ke(a);this.helper=this.document.querySelector(n).appendChild(c),this.helper.style.position="fixed",this.helper.style.top=`${this.boundingClientRect.top-u.top}px`,this.helper.style.left=`${this.boundingClientRect.left-u.left}px`,this.helper.style.width=`${this.width}px`,this.helper.style.height=`${this.height}px`,this.helper.style.boxSizing="border-box",this.helper.style.pointerEvents="none",i&&(this.sortableGhost=a,a.style.visibility="hidden",a.style.opacity="0"),this.hub&&(this.hub.sortStart(this),this.hub.helper=this.helper,this.hub.ghost=this.sortableGhost),this.intializeOffsets(s,this.boundingClientRect),this.offsetEdge=U(a,this.container),r&&this.helper.classList.add(...r.split(" ")),this.listenerNode=Q(s)?a:this._window,L.move.forEach(l=>this.listenerNode.addEventListener(l,this.handleSortMove)),L.end.forEach(l=>this.listenerNode.addEventListener(l,this.handleSortEnd)),L.cancel.forEach(l=>this.listenerNode.addEventListener(l,this.handleSortCancel)),this.sorting=!0,this.$emit("sort-start",{event:s,node:a,index:o})}},handleSortMove(s){if(s.preventDefault(),this.updatePosition(s),this.hub){const t=this.list[this.index];this.hub.handleSortMove(s,t)}(!this.hub||this.hub.isDest(this))&&(this.animateNodes(),this.autoscroll()),this.$emit("sort-move",{event:s})},handleDropOut(){const s=this.list[this.index],t=hi(this.list,this.index);return this.$emit("sort-remove",{oldIndex:this.index}),this.$emit("update:list",t),s},handleDropIn(s){const t=di(this.list,this.newIndex,s);this.$emit("sort-insert",{newIndex:this.newIndex,value:s}),this.$emit("update:list",t),this.handleDragEnd()},handleDragOut(){this.autoscrollInterval&&(clearInterval(this.autoscrollInterval),this.autoscrollInterval=null),this.hub.isSource(this)?(this.translate={x:1e4,y:1e4},this.animateNodes()):(this.manager.getRefs().forEach(s=>{s.node.style.transform=""}),this.dragendTimer=kt(this.handleDragEnd,this.transitionDuration||0))},handleDragEnd(){this.autoscrollInterval&&(clearInterval(this.autoscrollInterval),this.autoscrollInterval=null),Ie(this.manager.getRefs()),this.sortableGhost&&(this.sortableGhost.remove(),this.sortableGhost=null),this.dragendTimer&&(clearTimeout(this.dragendTimer),this.dragendTimer=null),this.manager.active=null,this._touched=!1,this.sorting=!1},intializeOffsets(s,t){const{useWindowAsScrollContainer:e,containerBoundingRect:r,_window:i}=this;this.marginOffset={x:this.margin.left+this.margin.right,y:Math.max(this.margin.top,this.margin.bottom)},this._axis={x:this.axis.indexOf("x")>=0,y:this.axis.indexOf("y")>=0},this.initialOffset=rt(s),this.initialScroll={top:this.scrollContainer.scrollTop,left:this.scrollContainer.scrollLeft},this.initialWindowScroll={top:window.pageYOffset,left:window.pageXOffset},this.translate={x:0,y:0},this.minTranslate={},this.maxTranslate={},this._axis.x&&(this.minTranslate.x=(e?0:r.left)-t.left-this.width/2,this.maxTranslate.x=(e?i.innerWidth:r.left+r.width)-t.left-this.width/2),this._axis.y&&(this.minTranslate.y=(e?0:r.top)-t.top-this.height/2,this.maxTranslate.y=(e?i.innerHeight:r.top+r.height)-t.top-this.height/2)},handleDragIn(s,t,e){if(this.hub.isSource(this))return;this.dragendTimer&&(this.handleDragEnd(),clearTimeout(this.dragendTimer),this.dragendTimer=null);const r=this.manager.getRefs();this.index=r.length,this.manager.active={index:this.index};const i=this.container.getBoundingClientRect(),n=e.getBoundingClientRect();this.containerBoundingRect=i,this.sortableGhost=ke(t),this.container.appendChild(this.sortableGhost);const a=this.sortableGhost.getBoundingClientRect();this.boundingClientRect=a,this.margin=Re(this.sortableGhost),this.width=a.width,this.height=a.height,this.offsetEdge=U(this.sortableGhost,this.container),this.intializeOffsets(s,a),this.initialOffset.x+=a.x-n.x,this.initialOffset.y+=a.y-n.y,this.sorting=!0},handleSortEnd(s){this.listenerNode&&(L.move.forEach(r=>this.listenerNode.removeEventListener(r,this.handleSortMove)),L.end.forEach(r=>this.listenerNode.removeEventListener(r,this.handleSortEnd)),L.cancel.forEach(r=>this.listenerNode.removeEventListener(r,this.handleSortCancel)));const t=this.manager.getRefs();this.helper&&this.helperClass&&this.helper.classList.remove(...this.helperClass.split(" ")),this.autoscrollInterval&&clearInterval(this.autoscrollInterval),this.autoscrollInterval=null;const e=()=>{this.helper&&(this.helper.remove(),this.helper=null),this.hideSortableGhost&&this.sortableGhost&&(this.sortableGhost.style.visibility="",this.sortableGhost.style.opacity=""),Ie(t),this.hub&&!this.hub.isDest(this)?this.canceling?this.hub.cancel():this.hub.handleSortEnd():this.canceling?this.$emit("sort-cancel",{event:s}):(this.$emit("sort-end",{event:s,oldIndex:this.index,newIndex:this.newIndex}),this.$emit("update:list",ui(this.list,this.index,this.newIndex))),this.manager.active=null,this._touched=!1,this.canceling=!1,this.sorting=!1};this.transitionDuration||this.draggedSettlingDuration?this.transitionHelperIntoPlace(t,e):e()},transitionHelperIntoPlace(s,t){if(this.draggedSettlingDuration===0||s.length===0||!this.helper)return Promise.resolve();const e=s[this.index].node;let r=0,i=0;const n={top:window.pageYOffset-this.initialWindowScroll.top,left:window.pageXOffset-this.initialWindowScroll.left};if(this.hub&&!this.hub.isDest(this)&&!this.canceling){const d=this.hub.getDest();if(!d)return;const h=d.newIndex,c=d.manager.getOrderedRefs(),l=h0?r+=d.offsetLeft+d.offsetWidth-(e.offsetLeft+e.offsetWidth):r+=d.offsetLeft-e.offsetLeft,i=-h.top,this.translate&&this.translate.y>0?i+=d.offsetTop+d.offsetHeight-(e.offsetTop+e.offsetHeight):i+=d.offsetTop-e.offsetTop}const a=this.draggedSettlingDuration!==null?this.draggedSettlingDuration:this.transitionDuration;qt(this.helper,`translate3d(${r}px,${i}px, 0)`,`${a}ms`);const o=d=>{(!d||d.propertyName==="transform")&&(clearTimeout(u),qt(this.helper),t())},u=setTimeout(o,a+10);this.helper.addEventListener("transitionend",o)},updatePosition(s){const{lockAxis:t,lockToContainerEdges:e}=this.$props,r=rt(s),i={x:r.x-this.initialOffset.x,y:r.y-this.initialOffset.y};if(i.y-=window.pageYOffset-this.initialWindowScroll.top,i.x-=window.pageXOffset-this.initialWindowScroll.left,this.translate=i,e){const[n,a]=fi(this.lockOffset,this.height,this.width),o={x:this.width/2-n.x,y:this.height/2-n.y},u={x:this.width/2-a.x,y:this.height/2-a.y};this.minTranslate.x&&this.maxTranslate.x&&(i.x=$e(this.minTranslate.x+o.x,this.maxTranslate.x-u.x,i.x)),this.minTranslate.y&&this.maxTranslate.y&&(i.y=$e(this.minTranslate.y+o.y,this.maxTranslate.y-u.y,i.y))}t==="x"?i.y=0:t==="y"&&(i.x=0),this.helper&&(this.helper.style.transform=`translate3d(${i.x}px,${i.y}px, 0)`)},animateNodes(){const{transitionDuration:s,hideSortableGhost:t}=this.$props,e=this.manager.getOrderedRefs(),r={left:this.scrollContainer.scrollLeft-this.initialScroll.left,top:this.scrollContainer.scrollTop-this.initialScroll.top},i={left:this.offsetEdge.left+this.translate.x+r.left,top:this.offsetEdge.top+this.translate.y+r.top},n={top:window.pageYOffset-this.initialWindowScroll.top,left:window.pageXOffset-this.initialWindowScroll.left};this.newIndex=null;for(let a=0,o=e.length;ah?h/2:this.width/2,height:this.height>c?c/2:this.height/2},p={x:0,y:0};let{edgeOffset:m}=e[a];m||(e[a].edgeOffset=m=U(u,this.container));const y=a0&&e[a-1];if(y&&!y.edgeOffset&&(y.edgeOffset=U(y.node,this.container)),d===this.index){t&&(this.sortableGhost=u,u.style.visibility="hidden",u.style.opacity="0");continue}s&&(u.style.transitionDuration=`${s}ms`),this._axis.x?this._axis.y?dthis.containerBoundingRect.width-l.width&&y&&(p.x=y.edgeOffset.left-m.left,p.y=y.edgeOffset.top-m.top),this.newIndex===null&&(this.newIndex=d)):d>this.index&&(i.left+n.left+l.width>=m.left&&i.top+n.top+l.height>=m.top||i.top+n.top+l.height>=m.top+c)&&(p.x=-(this.width+this.marginOffset.x),m.left+p.xthis.index&&i.left+n.left+l.width>=m.left?(p.x=-(this.width+this.marginOffset.x),this.newIndex=d):dthis.index&&i.top+n.top+l.height>=m.top?(p.y=-(this.height+this.marginOffset.y),this.newIndex=d):d=this.maxTranslate.y-this.height/2?(t.y=1,e.y=r.y*Math.abs((this.maxTranslate.y-this.height/2-s.y)/this.height)):s.x>=this.maxTranslate.x-this.width/2?(t.x=1,e.x=r.x*Math.abs((this.maxTranslate.x-this.width/2-s.x)/this.width)):s.y<=this.minTranslate.y+this.height/2?(t.y=-1,e.y=r.y*Math.abs((s.y-this.height/2-this.minTranslate.y)/this.height)):s.x<=this.minTranslate.x+this.width/2&&(t.x=-1,e.x=r.x*Math.abs((s.x-this.width/2-this.minTranslate.x)/this.width)),this.autoscrollInterval&&(clearInterval(this.autoscrollInterval),this.autoscrollInterval=null),(t.x!==0||t.y!==0)&&(this.autoscrollInterval=window.setInterval(()=>{const i={left:1*e.x*t.x,top:1*e.y*t.y};this.useWindowAsScrollContainer?this._window.scrollBy(i.left,i.top):(this.scrollContainer.scrollTop+=i.top,this.scrollContainer.scrollLeft+=i.left),this.translate.x+=i.left,this.translate.y+=i.top,this.animateNodes()},5))}}}),ss=F({name:"SlickItem",mixins:[oi],props:{tag:{type:String,default:"div"}},render(){var s,t;return K(this.tag,(t=(s=this.$slots).default)===null||t===void 0?void 0:t.call(s))}}),mi=F({name:"SlickList",mixins:[pi],props:{tag:{type:String,default:"div"},itemKey:{type:[String,Function],default:"id"}},render(){var s,t;return this.$slots.item?K(this.tag,this.list.map((e,r)=>{let i;if(e!=null){if(typeof this.itemKey=="function")i=this.itemKey(e);else if(typeof e=="object"&&Nt(e,this.itemKey)&&typeof e[this.itemKey]=="string")i=e[this.itemKey];else if(typeof e=="string")i=e;else throw new Error("Cannot find key for item, use the item-key prop and pass a function or string");return K(ss,{key:i,index:r},{default:()=>{var n,a;return(a=(n=this.$slots).item)===null||a===void 0?void 0:a.call(n,{item:e,index:r})}})}})):K(this.tag,(t=(s=this.$slots).default)===null||t===void 0?void 0:t.call(s))}}),gi=F({props:{tag:{type:String,default:"span"}},mounted(){this.$el.sortableHandle=!0},render(){var s,t;return K(this.tag,(t=(s=this.$slots).default)===null||t===void 0?void 0:t.call(s))}}),vi={key:0,d:"M30.336 12.547l-10.172-1.074L16 2.133l-4.164 9.34l-10.172 1.074l7.598 6.848L7.14 29.398L16 24.29l8.86 5.11l-2.122-10.004z",fill:"#ffaa00"},yi={key:1,d:"M16 2.125l-.906 2.063l-3.25 7.28l-7.938.845l-2.25.25l1.688 1.5l5.906 5.343l-1.656 7.813l-.469 2.187l1.969-1.125l6.906-4l6.906 4l1.969 1.125l-.469-2.187l-1.656-7.813l5.906-5.343l1.688-1.5l-2.25-.25l-7.938-.844l-3.25-7.281zm0 4.906l2.563 5.782l.25.53l.562.063l6.281.656l-4.687 4.22l-.438.405l.125.563l1.313 6.156l-5.469-3.125l-.5-.312l-.5.312l-5.469 3.125l1.313-6.156l.125-.563l-.438-.406l-4.687-4.218l6.281-.657l.563-.062l.25-.531z",fill:"#888888"},bi=F({__name:"SynthFav",props:{url:{type:String,default:""}},setup(s){const e=ls("fav:"+s.url,!1);function r(i){e.value=!e.value,console.log(e.value)}return(i,n)=>(x(),$("svg",{onClick:n[0]||(n[0]=ds(a=>r(s.url),["stop","prevent"])),xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32"},[_(e)?(x(),$("path",vi)):(x(),$("path",yi))]))}}),rs=s=>(fs("data-v-9a2748d8"),s=s(),ps(),s),wi=["src","alt"],_i=rs(()=>v("div",{class:"flex-1"},null,-1)),xi={class:"p-4 flex items-center justify-between w-full"},Ei={class:"text-md font-bold flex items-center gap-2 flex-1"},Si={class:"flex-1"},Ti=rs(()=>v("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32"},[v("path",{d:"M4 7v2h24V7zm0 8v2h24v-2zm0 8v2h24v-2z",fill:"#888888"})],-1)),Oi=F({__name:"SynthCard",props:{off:{type:Boolean,default:!1},title:{type:String,default:""},description:{type:String,default:""},img:{type:String,default:""},url:{type:String,default:""}},setup(s){const t=s,e=q(null);Pe(Te,async i=>{try{(await fetch("https://corsproxy.io/?"+t.url)).status==200?e.value=!0:e.value=!1}catch{e.value=!1}});function r(){t.off?tt.value=!tt.value:window.open(t.url,"_blank")}return(i,n)=>{const a=cs("ClientOnly");return x(),$("button",{class:"flex flex-col text-left relative min-h-50 card p-0 bg-light-300 shadow-lg flex flex-col dark-bg-dark-300 -hover-translate-y-2px transition hover-shadow-xl rounded-xl overflow-hidden relative",onClick:r},[(x(),$("img",{key:s.title,height:"200",width:"1000",src:`/img/${s.title.toLowerCase().split(" ").join("-")}.webp`,alt:`${s.title} illustration`},null,8,wi)),_i,v("div",xi,[v("div",Ei,[v("div",Si,At(s.title),1),_(Te)?(x(),$("div",{key:0,class:Le(["w-2 h-2 rounded-full shadow-inset",{"bg-green-500":e.value===!0,"bg-red-500":e.value===!1}])},null,2)):It("",!0),V(a,null,{default:D(()=>[V(bi,{class:"scale-70 w-10",url:s.url},null,8,["url"])]),_:1}),V(_(gi),{class:"scale-80 opacity-40 cursor-grab absolute top-2 right-2"},{default:D(()=>[Ti]),_:1})])])])}}});const $i=ms(Oi,[["__scopeId","data-v-9a2748d8"]]);const Ri={class:"mx-auto p-4 max-w-75ch dark-text-light-200 text-center line-height-loose text-md intro md-text-lg pt-16"},Ci={key:0,class:"p-2 flex flex-col mt-8"},ki={class:"text-4xl font-bold"},Ai=v("div",{class:"text-lg"},"web synths",-1),Ii={key:1,class:"p-2 flex flex-col mt-8"},Di={class:"text-4xl font-bold"},Pi=v("div",{class:"text-lg"},"web musicians",-1),Li={__name:"MainPage",setup(s){const t=q(ai);function e(u){return!Zt.value&&u>5}const r=q([]),i=De(()=>r.value.length),n=us(i),a=q(),o=hs(a);return gs(()=>{fetch("https://corsproxy.io/?https://db.chromatone.center/items/players?limit=-1").then(u=>u.json()).then(({data:u})=>r.value=u)}),(u,d)=>(x(),$(Jt,null,[V(_(mi),{class:"flex flex-wrap items-stretch gap-4 md-gap-6 m-2 lg-m-8",list:t.value,"onUpdate:list":d[0]||(d[0]=h=>t.value=h),axis:"xy","use-drag-handle":""},{default:D(()=>[(x(!0),$(Jt,null,vs(t.value,(h,c)=>(x(),Dt(_(ss),{class:"flex",style:{flex:"1 1 240px"},key:h.id,index:c},{default:D(()=>[(x(),Dt($i,{style:ys({opacity:e(c)?.8:1}),title:h.title,description:h.description,img:h.img,url:h.url,key:h.id,off:e(c)},null,8,["style","title","description","img","url","off"]))]),_:2},1032,["index"]))),128))]),_:1},8,["list"]),v("div",Ri,[it(u.$slots,"default"),v("div",{class:"flex justify-center",ref_key:"counters",ref:a},[_(o)?(x(),$("div",Ci,[v("div",ki,At(t.value.length),1),Ai])):It("",!0),_(o)&&i.value>0?(x(),$("div",Ii,[v("div",Di,At(_(n).toFixed())+"+",1),Pi])):It("",!0)],512)])],64))}};const Ni={class:"fixed z-200 min-h-50dvh bottom-0 right-0 left-0 bg-light-800 bg-opacity-80 backdrop-blur flex flex-col items-center gap-4 justify-start dark-bg-dark-200 dark-bg-opacity-80 p-8 shadow"},qi=v("path",{d:"M7.219 5.781L5.78 7.22L14.563 16L5.78 24.781L7.22 26.22L16 17.437l8.781 8.782l1.438-1.438L17.437 16l8.782-8.781L24.78 5.78L16 14.563z",fill:"#888888"},null,-1),Bi=[qi],Ui={class:"flex flex-col gap-8 relative pt-8"},Mi={class:"text-center max-w-45ch",for:"email"},Fi={class:"flex gap-4 flex-wrap md-flex-nowrap"},Hi=["disabled"],ji={class:"text-xs opacity-60 text-center max-w-45ch mx-auto"},Wi={__name:"TheForm",setup(s){return(t,e)=>(x(),Dt(Es,{name:"slide"},{default:D(()=>[Xt(v("div",Ni,[(x(),$("svg",{class:"absolute top-4 right-4 text-4xl cursor-pointer",onClick:e[0]||(e[0]=r=>tt.value=!1),xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 32 32"},Bi)),v("div",Ui,[v("label",Mi,[it(t.$slots,"default")]),v("div",Fi,[Xt(v("input",{class:"flex-1 p-2 md-p-4 rounded-xl bg-light-200 shadow-md dark-bg-dark-400 flex-1",ref:"target",style:{flex:"10 1 200px"},"onUpdate:modelValue":e[1]||(e[1]=r=>ws(Z)?Z.value=r:null),id:"email",name:"email",type:"email",onKeydown:e[2]||(e[2]=_s(r=>_(Se)(_(Z)),["enter"])),placeholder:"your@gmail.com"},null,544),[[xs,_(Z)]]),v("button",{class:Le(["text-sm md-text-md p-2 font-bold md-p-4 rounded-xl shadow-xl hover-shadow-2xl transition -hover-translate-y-2px active-translate-y-0 active-shadow-md bg-green-400 dark-bg-green-700",{"grayscale-50":!_(Ee)}]),onClick:e[3]||(e[3]=r=>_(Se)(_(Z))),disabled:!_(Ee),style:{flex:"1 1 400px"}},[it(t.$slots,"button",{},()=>[M("GET ACCESS")])],10,Hi)]),v("div",ji,[it(t.$slots,"notice",{},()=>[M("Your access status will be saved per device and you won't need to enter your e-mail again.")])])])],512),[[bs,_(tt)]])]),_:3}))}},zi=v("h2",{class:"text-lg font-bold"},"Welcome to our free web synth collection!",-1),Zi=v("p",null,[v("a",{href:"https://playtronica.com",target:"_blank",rel:"noopener"},"Playtronica"),M(" is a digital playground that explores the possibilities of the material world through technology, creating gadgets that make the world musical. "),v("a",{href:"https://chromatone.center",target:"_blank",rel:"noopener"},"Chromatone"),M(" is a visual language for music education, research, and performance. We share our passion for web-based music instruments. Welcome to the community!")],-1),Xi=JSON.parse('{"title":"Web synths","description":"Web synthesizers to play with MIDI controllers","frontmatter":{"title":"Web synths","description":"Web synthesizers to play with MIDI controllers","date":"2023-06-22T00:00:00.000Z","layout":"home"},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1690388893000}'),Vi={name:"index.md"},Ki=Object.assign(Vi,{setup(s){return(t,e)=>(x(),$("div",null,[V(Li,null,{default:D(()=>[zi,Zi]),_:1}),V(Wi,null,{button:D(()=>[M("GET FULL ACCESS")]),notice:D(()=>[M("Your access status will be saved per device and you won't need to enter your e-mail again.")]),default:D(()=>[M(" We are building a community of web-based musicians. Type in your e-mail to instantly get full access to the collection and occasionally receive community updates. ")]),_:1})]))}});export{Xi as __pageData,Ki as default}; +`),function(d){if(o=d.indexOf(":"),n=s.trim(d.substr(0,o)).toLowerCase(),a=s.trim(d.substr(o+1)),n){if(i[n]&&t.indexOf(n)>=0)return;n==="set-cookie"?i[n]=(i[n]?i[n]:[]).concat([a]):i[n]=i[n]?i[n]+", "+a:a}}),i},vt}var yt,ee;function ir(){if(ee)return yt;ee=1;var s=w;return yt=s.isStandardBrowserEnv()?function(){var e=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a"),i;function n(a){var o=a;return e&&(r.setAttribute("href",o),o=r.href),r.setAttribute("href",o),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:r.pathname.charAt(0)==="/"?r.pathname:"/"+r.pathname}}return i=n(window.location.href),function(o){var u=s.isString(o)?n(o):o;return u.protocol===i.protocol&&u.host===i.host}}():function(){return function(){return!0}}(),yt}var bt,se;function ut(){if(se)return bt;se=1;var s=X,t=w;function e(r){s.call(this,r??"canceled",s.ERR_CANCELED),this.name="CanceledError"}return t.inherits(e,s,{__CANCEL__:!0}),bt=e,bt}var wt,re;function nr(){return re||(re=1,wt=function(t){var e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}),wt}var _t,ie;function ne(){if(ie)return _t;ie=1;var s=w,t=Ks(),e=Ys(),r=Ue,i=ze,n=rr(),a=ir(),o=je,u=X,d=ut(),h=nr();return _t=function(l){return new Promise(function(m,y){var T=l.data,k=l.headers,A=l.responseType,I;function et(){l.cancelToken&&l.cancelToken.unsubscribe(I),l.signal&&l.signal.removeEventListener("abort",I)}s.isFormData(T)&&s.isStandardBrowserEnv()&&delete k["Content-Type"];var f=new XMLHttpRequest;if(l.auth){var is=l.auth.username||"",ns=l.auth.password?unescape(encodeURIComponent(l.auth.password)):"";k.Authorization="Basic "+btoa(is+":"+ns)}var ct=i(l.baseURL,l.url);f.open(l.method.toUpperCase(),r(ct,l.params,l.paramsSerializer),!0),f.timeout=l.timeout;function Vt(){if(f){var R="getAllResponseHeaders"in f?n(f.getAllResponseHeaders()):null,j=!A||A==="text"||A==="json"?f.responseText:f.response,B={data:j,status:f.status,statusText:f.statusText,headers:R,config:l,request:f};t(function(pt){m(pt),et()},function(pt){y(pt),et()},B),f=null}}if("onloadend"in f?f.onloadend=Vt:f.onreadystatechange=function(){!f||f.readyState!==4||f.status===0&&!(f.responseURL&&f.responseURL.indexOf("file:")===0)||setTimeout(Vt)},f.onabort=function(){f&&(y(new u("Request aborted",u.ECONNABORTED,l,f)),f=null)},f.onerror=function(){y(new u("Network Error",u.ERR_NETWORK,l,f,f)),f=null},f.ontimeout=function(){var j=l.timeout?"timeout of "+l.timeout+"ms exceeded":"timeout exceeded",B=l.transitional||o;l.timeoutErrorMessage&&(j=l.timeoutErrorMessage),y(new u(j,B.clarifyTimeoutError?u.ETIMEDOUT:u.ECONNABORTED,l,f)),f=null},s.isStandardBrowserEnv()){var Gt=(l.withCredentials||a(ct))&&l.xsrfCookieName?e.read(l.xsrfCookieName):void 0;Gt&&(k[l.xsrfHeaderName]=Gt)}"setRequestHeader"in f&&s.forEach(k,function(j,B){typeof T>"u"&&B.toLowerCase()==="content-type"?delete k[B]:f.setRequestHeader(B,j)}),s.isUndefined(l.withCredentials)||(f.withCredentials=!!l.withCredentials),A&&A!=="json"&&(f.responseType=l.responseType),typeof l.onDownloadProgress=="function"&&f.addEventListener("progress",l.onDownloadProgress),typeof l.onUploadProgress=="function"&&f.upload&&f.upload.addEventListener("progress",l.onUploadProgress),(l.cancelToken||l.signal)&&(I=function(R){f&&(y(!R||R&&R.type?new d:R),f.abort(),f=null)},l.cancelToken&&l.cancelToken.subscribe(I),l.signal&&(l.signal.aborted?I():l.signal.addEventListener("abort",I))),T||(T=null);var ft=h(ct);if(ft&&["http","https","file"].indexOf(ft)===-1){y(new u("Unsupported protocol "+ft+":",u.ERR_BAD_REQUEST,l));return}f.send(T)})},_t}var xt,ae;function ar(){return ae||(ae=1,xt=null),xt}var b=w,oe=Js,le=X,or=je,lr=We,ur={"Content-Type":"application/x-www-form-urlencoded"};function ue(s,t){!b.isUndefined(s)&&b.isUndefined(s["Content-Type"])&&(s["Content-Type"]=t)}function hr(){var s;return(typeof XMLHttpRequest<"u"||typeof process<"u"&&Object.prototype.toString.call(process)==="[object process]")&&(s=ne()),s}function dr(s,t,e){if(b.isString(s))try{return(t||JSON.parse)(s),b.trim(s)}catch(r){if(r.name!=="SyntaxError")throw r}return(e||JSON.stringify)(s)}var ht={transitional:or,adapter:hr(),transformRequest:[function(t,e){if(oe(e,"Accept"),oe(e,"Content-Type"),b.isFormData(t)||b.isArrayBuffer(t)||b.isBuffer(t)||b.isStream(t)||b.isFile(t)||b.isBlob(t))return t;if(b.isArrayBufferView(t))return t.buffer;if(b.isURLSearchParams(t))return ue(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString();var r=b.isObject(t),i=e&&e["Content-Type"],n;if((n=b.isFileList(t))||r&&i==="multipart/form-data"){var a=this.env&&this.env.FormData;return lr(n?{"files[]":t}:t,a&&new a)}else if(r||i==="application/json")return ue(e,"application/json"),dr(t);return t}],transformResponse:[function(t){var e=this.transitional||ht.transitional,r=e&&e.silentJSONParsing,i=e&&e.forcedJSONParsing,n=!r&&this.responseType==="json";if(n||i&&b.isString(t)&&t.length)try{return JSON.parse(t)}catch(a){if(n)throw a.name==="SyntaxError"?le.from(a,le.ERR_BAD_RESPONSE,this,null,this.response):a}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ar()},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};b.forEach(["delete","get","head"],function(t){ht.headers[t]={}});b.forEach(["post","put","patch"],function(t){ht.headers[t]=b.merge(ur)});var Wt=ht,cr=w,fr=Wt,pr=function(t,e,r){var i=this||fr;return cr.forEach(r,function(a){t=a.call(i,t,e)}),t},Et,he;function Ze(){return he||(he=1,Et=function(t){return!!(t&&t.__CANCEL__)}),Et}var de=w,St=pr,mr=Ze(),gr=Wt,vr=ut();function Tt(s){if(s.cancelToken&&s.cancelToken.throwIfRequested(),s.signal&&s.signal.aborted)throw new vr}var yr=function(t){Tt(t),t.headers=t.headers||{},t.data=St.call(t,t.data,t.headers,t.transformRequest),t.headers=de.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),de.forEach(["delete","get","head","post","put","patch","common"],function(i){delete t.headers[i]});var e=t.adapter||gr.adapter;return e(t).then(function(i){return Tt(t),i.data=St.call(t,i.data,i.headers,t.transformResponse),i},function(i){return mr(i)||(Tt(t),i&&i.response&&(i.response.data=St.call(t,i.response.data,i.response.headers,t.transformResponse))),Promise.reject(i)})},O=w,Ve=function(t,e){e=e||{};var r={};function i(h,c){return O.isPlainObject(h)&&O.isPlainObject(c)?O.merge(h,c):O.isPlainObject(c)?O.merge({},c):O.isArray(c)?c.slice():c}function n(h){if(O.isUndefined(e[h])){if(!O.isUndefined(t[h]))return i(void 0,t[h])}else return i(t[h],e[h])}function a(h){if(!O.isUndefined(e[h]))return i(void 0,e[h])}function o(h){if(O.isUndefined(e[h])){if(!O.isUndefined(t[h]))return i(void 0,t[h])}else return i(void 0,e[h])}function u(h){if(h in e)return i(t[h],e[h]);if(h in t)return i(void 0,t[h])}var d={url:a,method:a,data:a,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:u};return O.forEach(Object.keys(t).concat(Object.keys(e)),function(c){var l=d[c]||n,p=l(c);O.isUndefined(p)&&l!==u||(r[c]=p)}),r},Ot,ce;function Ge(){return ce||(ce=1,Ot={version:"0.27.2"}),Ot}var br=Ge().version,N=X,zt={};["object","boolean","number","function","string","symbol"].forEach(function(s,t){zt[s]=function(r){return typeof r===s||"a"+(t<1?"n ":" ")+s}});var fe={};zt.transitional=function(t,e,r){function i(n,a){return"[Axios v"+br+"] Transitional option '"+n+"'"+a+(r?". "+r:"")}return function(n,a,o){if(t===!1)throw new N(i(a," has been removed"+(e?" in "+e:"")),N.ERR_DEPRECATED);return e&&!fe[a]&&(fe[a]=!0,console.warn(i(a," has been deprecated since v"+e+" and will be removed in the near future"))),t?t(n,a,o):!0}};function wr(s,t,e){if(typeof s!="object")throw new N("options must be an object",N.ERR_BAD_OPTION_VALUE);for(var r=Object.keys(s),i=r.length;i-- >0;){var n=r[i],a=t[n];if(a){var o=s[n],u=o===void 0||a(o,n,s);if(u!==!0)throw new N("option "+n+" must be "+u,N.ERR_BAD_OPTION_VALUE);continue}if(e!==!0)throw new N("Unknown option "+n,N.ERR_BAD_OPTION)}}var _r={assertOptions:wr,validators:zt},Je=w,xr=Ue,pe=Vs,me=yr,dt=Ve,Er=ze,Xe=_r,z=Xe.validators;function J(s){this.defaults=s,this.interceptors={request:new pe,response:new pe}}J.prototype.request=function(t,e){typeof t=="string"?(e=e||{},e.url=t):e=t||{},e=dt(this.defaults,e),e.method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var r=e.transitional;r!==void 0&&Xe.assertOptions(r,{silentJSONParsing:z.transitional(z.boolean),forcedJSONParsing:z.transitional(z.boolean),clarifyTimeoutError:z.transitional(z.boolean)},!1);var i=[],n=!0;this.interceptors.request.forEach(function(p){typeof p.runWhen=="function"&&p.runWhen(e)===!1||(n=n&&p.synchronous,i.unshift(p.fulfilled,p.rejected))});var a=[];this.interceptors.response.forEach(function(p){a.push(p.fulfilled,p.rejected)});var o;if(!n){var u=[me,void 0];for(Array.prototype.unshift.apply(u,i),u=u.concat(a),o=Promise.resolve(e);u.length;)o=o.then(u.shift(),u.shift());return o}for(var d=e;i.length;){var h=i.shift(),c=i.shift();try{d=h(d)}catch(l){c(l);break}}try{o=me(d)}catch(l){return Promise.reject(l)}for(;a.length;)o=o.then(a.shift(),a.shift());return o};J.prototype.getUri=function(t){t=dt(this.defaults,t);var e=Er(t.baseURL,t.url);return xr(e,t.params,t.paramsSerializer)};Je.forEach(["delete","get","head","options"],function(t){J.prototype[t]=function(e,r){return this.request(dt(r||{},{method:t,url:e,data:(r||{}).data}))}});Je.forEach(["post","put","patch"],function(t){function e(r){return function(n,a,o){return this.request(dt(o||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:n,data:a}))}}J.prototype[t]=e(),J.prototype[t+"Form"]=e(!0)});var Sr=J,$t,ge;function Tr(){if(ge)return $t;ge=1;var s=ut();function t(e){if(typeof e!="function")throw new TypeError("executor must be a function.");var r;this.promise=new Promise(function(a){r=a});var i=this;this.promise.then(function(n){if(i._listeners){var a,o=i._listeners.length;for(a=0;a"u"?"json":"cookie"}}var _e;(function(s){s.TOTAL_COUNT="total_count",s.FILTER_COUNT="filter_count"})(_e||(_e={}));class g extends Error{constructor(t){super(`${t??"ID"} cannot be an empty string`)}}class P{constructor(t,e){this.collection=t,this.transport=e,this.endpoint=t.startsWith("directus_")?`/${t.substring(9)}`:`/items/${t}`}async readOne(t,e,r){if(`${t}`=="")throw new g("id");return(await this.transport.get(`${this.endpoint}/${encodeURI(t)}`,{params:e,...r==null?void 0:r.requestOptions})).data}async readMany(t,e,r){var i;const a=(i=(await this.transport.get(`/fields/${this.collection}`)).data)===null||i===void 0?void 0:i.find(d=>d.schema.is_primary_key===!0),{data:o,meta:u}=await this.transport.get(`${this.endpoint}`,{params:{...e,filter:{[a.field]:{_in:t},...e==null?void 0:e.filter},sort:(e==null?void 0:e.sort)||a.field},...r==null?void 0:r.requestOptions});return{data:o,...u&&{meta:u}}}async readByQuery(t,e){const{data:r,meta:i}=await this.transport.get(`${this.endpoint}`,{params:t,...e==null?void 0:e.requestOptions});return{data:r,...i&&{meta:i}}}async createOne(t,e,r){return(await this.transport.post(`${this.endpoint}`,t,{params:e,...r==null?void 0:r.requestOptions})).data}async createMany(t,e,r){return await this.transport.post(`${this.endpoint}`,t,{params:e,...r==null?void 0:r.requestOptions})}async updateOne(t,e,r,i){if(`${t}`=="")throw new g("id");return(await this.transport.patch(`${this.endpoint}/${encodeURI(t)}`,e,{params:r,...i==null?void 0:i.requestOptions})).data}async updateMany(t,e,r,i){return await this.transport.patch(`${this.endpoint}`,{keys:t,data:e},{params:r,...i==null?void 0:i.requestOptions})}async updateBatch(t,e,r){return await this.transport.patch(`${this.endpoint}`,t,{params:e,...r==null?void 0:r.requestOptions})}async updateByQuery(t,e,r,i){return await this.transport.patch(`${this.endpoint}`,{query:t,data:e},{params:r,...i==null?void 0:i.requestOptions})}async deleteOne(t,e){if(`${t}`=="")throw new g("id");await this.transport.delete(`${this.endpoint}/${encodeURI(t)}`,void 0,e==null?void 0:e.requestOptions)}async deleteMany(t,e){await this.transport.delete(`${this.endpoint}`,t,e==null?void 0:e.requestOptions)}}class Dr{constructor(t){this.transport=t}async create(t){return(await this.transport.post("/activity/comment",t)).data}async update(t,e){if(`${t}`=="")throw new g("comment_activity_id");return(await this.transport.patch(`/activity/comment/${encodeURI(t)}`,{comment:e})).data}async delete(t){if(`${t}`=="")throw new g("comment_activity_id");await this.transport.delete(`/activity/comment/${encodeURI(t)}`)}}class Pr extends P{constructor(t){super("directus_activity",t),this._comments=new Dr(this.transport)}get comments(){return this._comments}}class Lr{constructor(t){this.transport=t}async readOne(t){if(`${t}`=="")throw new g("id");return(await this.transport.get(`/assets/${t}`,{responseType:"stream"})).raw}}class Nr{constructor(t){this.transport=t}async readOne(t){if(`${t}`=="")throw new g("collection");return(await this.transport.get(`/collections/${t}`)).data}async readAll(){const{data:t,meta:e}=await this.transport.get("/collections");return{data:t,meta:e}}async createOne(t){return(await this.transport.post("/collections",t)).data}async createMany(t){const{data:e,meta:r}=await this.transport.post("/collections",t);return{data:e,meta:r}}async updateOne(t,e,r){if(`${t}`=="")throw new g("collection");return(await this.transport.patch(`/collections/${t}`,e,{params:r})).data}async deleteOne(t){if(`${t}`=="")throw new g("collection");await this.transport.delete(`/collections/${t}`)}}class qr{constructor(t){this.transport=t}async readOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("id");return(await this.transport.get(`/fields/${t}/${e}`)).data}async readMany(t){if(`${t}`=="")throw new g("collection");return{data:(await this.transport.get(`/fields/${t}`)).data,meta:void 0}}async readAll(){return{data:(await this.transport.get("/fields")).data,meta:void 0}}async createOne(t,e){if(`${t}`=="")throw new g("collection");return(await this.transport.post(`/fields/${t}`,e)).data}async updateOne(t,e,r){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");return(await this.transport.patch(`/fields/${t}/${e}`,r)).data}async deleteOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");await this.transport.delete(`/fields/${t}/${e}`)}}class Br extends P{constructor(t){super("directus_files",t)}async import(t){return(await this.transport.post("/files/import",t)).data}}class Ur extends P{constructor(t){super("directus_folders",t)}}class Mr extends P{constructor(t){super("directus_permissions",t)}}class Fr extends P{constructor(t){super("directus_presets",t)}}class Hr{constructor(t){this.transport=t}async readOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("id");return(await this.transport.get(`/relations/${t}/${e}`)).data}async readMany(t){if(`${t}`=="")throw new g("collection");return(await this.transport.get(`/relations/${t}`)).data}async readAll(){return(await this.transport.get("/relations")).data}async createOne(t){return(await this.transport.post("/relations",t)).data}async updateOne(t,e,r){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");return(await this.transport.patch(`/relations/${t}/${e}`,r)).data}async deleteOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");await this.transport.delete(`/relations/${t}/${e}`)}}class jr extends P{constructor(t){super("directus_revisions",t)}}class Wr extends P{constructor(t){super("directus_roles",t)}}class zr{constructor(t){this.transport=t}async ping(){return(await this.transport.get("/server/ping")).raw}async info(){return(await this.transport.get("/server/info")).data}async oas(){return(await this.transport.get("/server/specs/oas")).raw}}class Qe{constructor(t,e){this.collection=t,this.transport=e,this.endpoint=t.startsWith("directus_")?`/${t.substring(9)}`:`/items/${t}`}async read(t){return(await this.transport.get(`${this.endpoint}`,{params:t})).data}async update(t,e){return(await this.transport.patch(`${this.endpoint}`,t,{params:e})).data}}class Zr extends Qe{constructor(t){super("directus_settings",t)}}class Vr{constructor(t){this.transport=t}async send(t,e,r){await this.transport.post("/users/invite",{email:t,role:e,invite_url:r})}async accept(t,e){await this.transport.post("/users/invite/accept",{token:t,password:e})}}class Gr{constructor(t){this.transport=t}async generate(t){return(await this.transport.post("/users/me/tfa/generate",{password:t})).data}async enable(t,e){await this.transport.post("/users/me/tfa/enable",{secret:t,otp:e})}async disable(t){await this.transport.post("/users/me/tfa/disable",{otp:t})}}class Jr{constructor(t){this._transport=t}get tfa(){return this._tfa||(this._tfa=new Gr(this._transport))}async read(t){return(await this._transport.get("/users/me",{params:t})).data}async update(t,e){return(await this._transport.patch("/users/me",t,{params:e})).data}}class Xr extends P{constructor(t){super("directus_users",t)}get invites(){return this._invites||(this._invites=new Vr(this.transport))}get me(){return this._me||(this._me=new Jr(this.transport))}}class Kr{constructor(t){this.random={string:async(e=32)=>(await this.transport.get("/utils/random/string",{params:{length:e}})).data},this.hash={generate:async e=>(await this.transport.post("/utils/hash/generate",{string:e})).data,verify:async(e,r)=>(await this.transport.post("/utils/hash/verify",{string:e,hash:r})).data},this.transport=t}async sort(t,e,r){await this.transport.post(`/utils/sort/${encodeURI(t)}`,{item:e,to:r})}async revert(t){await this.transport.post(`/utils/revert/${encodeURI(t)}`)}}class ts{}class Lt{}class Y extends Error{constructor(t,e){var r,i;!((r=e==null?void 0:e.errors)===null||r===void 0)&&r.length?super((i=e==null?void 0:e.errors[0])===null||i===void 0?void 0:i.message):super((t==null?void 0:t.message)||"Unknown transport error"),this.parent=t,this.response=e,this.errors=(e==null?void 0:e.errors)||[],Object.values(e||{}).some(n=>n!==void 0)||(this.response=void 0),Object.setPrototypeOf(this,Y.prototype)}}var E;(function(s){s.AuthToken="auth_token",s.RefreshToken="auth_refresh_token",s.Expires="auth_expires",s.ExpiresAt="auth_expires_at"})(E||(E={}));class es extends ts{constructor(t){var e;super(),this.prefix=(e=t==null?void 0:t.prefix)!==null&&e!==void 0?e:""}get auth_token(){return this.get(E.AuthToken)}set auth_token(t){t===null?this.delete(E.AuthToken):this.set(E.AuthToken,t)}get auth_expires(){const t=this.get(E.Expires);return t===null?null:parseInt(t)}set auth_expires(t){t===null?this.delete(E.Expires):this.set(E.Expires,t.toString())}get auth_expires_at(){const t=this.get(E.ExpiresAt);return t===null?null:parseInt(t)}set auth_expires_at(t){t===null?this.delete(E.ExpiresAt):this.set(E.ExpiresAt,t.toString())}get auth_refresh_token(){return this.get(E.RefreshToken)}set auth_refresh_token(t){t===null?this.delete(E.RefreshToken):this.set(E.RefreshToken,t)}}class Yr extends es{constructor(){super(...arguments),this.values={}}get(t){const e=this.key(t);return e in this.values?this.values[e]:null}set(t,e){return this.values[this.key(t)]=e,e}delete(t){const e=this.get(t);return delete this.values[this.key(t)],e}key(t){return`${this.prefix}${t}`}}class Qr extends es{get(t){const e=localStorage.getItem(this.key(t));return e!==null?e:null}set(t,e){return localStorage.setItem(this.key(t),e),e}delete(t){const e=this.get(t);return localStorage.removeItem(this.key(t)),e}key(t){return`${this.prefix}${t}`}}class ti extends Lt{constructor(t){var e;super(),this.config=t,this.axios=we.create({baseURL:this.config.url,params:this.config.params,headers:this.config.headers,onUploadProgress:this.config.onUploadProgress,maxBodyLength:this.config.maxBodyLength,maxContentLength:this.config.maxContentLength,withCredentials:!0}),!((e=this.config)===null||e===void 0)&&e.beforeRequest&&(this.beforeRequest=this.config.beforeRequest)}async beforeRequest(t){return t}get url(){return this.config.url}async request(t,e,r,i){var n,a,o,u,d;try{let h={method:t,url:e,data:r,params:i==null?void 0:i.params,headers:i==null?void 0:i.headers,responseType:i==null?void 0:i.responseType,onUploadProgress:i==null?void 0:i.onUploadProgress};h=await this.beforeRequest(h);const c=await this.axios.request(h),l={raw:c.data,status:c.status,statusText:c.statusText,headers:c.headers,data:c.data.data,meta:c.data.meta,errors:c.data.errors};if(c.data.errors)throw new Y(null,l);return l}catch(h){if(!h||!(h instanceof Error))throw h;if(we.isAxiosError(h)){const c=(n=h.response)===null||n===void 0?void 0:n.data;throw new Y(h,{raw:(a=h.response)===null||a===void 0?void 0:a.data,status:(o=h.response)===null||o===void 0?void 0:o.status,statusText:(u=h.response)===null||u===void 0?void 0:u.statusText,headers:(d=h.response)===null||d===void 0?void 0:d.headers,data:c==null?void 0:c.data,meta:c==null?void 0:c.meta,errors:c==null?void 0:c.errors})}throw new Y(h)}}async get(t,e){return await this.request("get",t,void 0,e)}async head(t,e){return await this.request("head",t,void 0,e)}async options(t,e){return await this.request("options",t,void 0,e)}async delete(t,e,r){return await this.request("delete",t,e,r)}async put(t,e,r){return await this.request("put",t,e,r)}async post(t,e,r){return await this.request("post",t,e,r)}async patch(t,e,r){return await this.request("patch",t,e,r)}}class ei{constructor(t){this.transport=t}async request(t,e){await this.transport.post("/auth/password/request",{email:t,reset_url:e})}async reset(t,e){await this.transport.post("/auth/password/reset",{token:t,password:e})}}class si extends Ye{constructor(t){var e,r,i;super(),this.autoRefresh=!0,this.msRefreshBeforeExpires=3e4,this.staticToken="",this._transport=t.transport,this._storage=t.storage,this.autoRefresh=(e=t==null?void 0:t.autoRefresh)!==null&&e!==void 0?e:this.autoRefresh,this.mode=(r=t==null?void 0:t.mode)!==null&&r!==void 0?r:this.mode,this.msRefreshBeforeExpires=(i=t==null?void 0:t.msRefreshBeforeExpires)!==null&&i!==void 0?i:this.msRefreshBeforeExpires,t!=null&&t.staticToken&&(this.staticToken=t==null?void 0:t.staticToken,this.updateStorage({access_token:this.staticToken,expires:null,refresh_token:null}))}get storage(){return this._storage}get transport(){return this._transport}get token(){return(async()=>{if(this._refreshPromise)try{await this._refreshPromise}finally{this._refreshPromise=void 0}return this._storage.auth_token})()}get password(){return this.passwords=this.passwords||new ei(this._transport)}resetStorage(){this._storage.auth_token=null,this._storage.auth_refresh_token=null,this._storage.auth_expires=null,this._storage.auth_expires_at=null}updateStorage(t){var e,r;const i=(e=t.expires)!==null&&e!==void 0?e:null;this._storage.auth_token=t.access_token,this._storage.auth_refresh_token=(r=t.refresh_token)!==null&&r!==void 0?r:null,this._storage.auth_expires=i,this._storage.auth_expires_at=new Date().getTime()+(i??0)}async refreshIfExpired(){if(!this.staticToken&&this.autoRefresh){if(!this._storage.auth_expires_at){try{await this._refreshPromise}finally{this._refreshPromise=void 0}return}this._storage.auth_expires_at{var e;const r=this._storage.auth_refresh_token;this.resetStorage();const i=await this._transport.post("/auth/refresh",{refresh_token:this.mode==="json"?r:void 0});return this.updateStorage(i.data),{access_token:i.data.access_token,...((e=i.data)===null||e===void 0?void 0:e.refresh_token)&&{refresh_token:i.data.refresh_token},expires:i.data.expires}};return this._refreshPromise=t()}async login(t){var e;this.resetStorage();const r=await this._transport.post("/auth/login",{mode:this.mode,...t},{headers:{Authorization:null}});return this.updateStorage(r.data),{access_token:r.data.access_token,...((e=r.data)===null||e===void 0?void 0:e.refresh_token)&&{refresh_token:r.data.refresh_token},expires:r.data.expires}}async static(t){return this.staticToken||(this.staticToken=t),await this._transport.get("/users/me",{params:{access_token:t},headers:{Authorization:null}}),this.updateStorage({access_token:t,expires:null,refresh_token:null}),!0}async logout(){let t;this.mode==="json"&&(t=this._storage.auth_refresh_token||void 0),await this._transport.post("/auth/logout",{refresh_token:t}),this.updateStorage({access_token:null,expires:null,refresh_token:null})}}class ri{constructor(t){this.transport=t}async request(t,e,r){return await this.transport.post(t,{query:e,variables:typeof r>"u"?{}:r})}async items(t,e){return await this.request("/graphql",t,e)}async system(t,e){return await this.request("/graphql/system",t,e)}}class ii{constructor(t,e){var r,i,n,a,o,u,d,h,c;if(this._url=t,this._options=e,this._items={},this._singletons={},!((r=this._options)===null||r===void 0)&&r.storage&&((i=this._options)===null||i===void 0?void 0:i.storage)instanceof ts)this._storage=this._options.storage;else{const l=(n=this._options)===null||n===void 0?void 0:n.storage,{mode:p,...m}=l??{};p==="MemoryStorage"||typeof window>"u"?this._storage=new Yr(m):this._storage=new Qr(m)}!((a=this._options)===null||a===void 0)&&a.transport&&((o=this._options)===null||o===void 0?void 0:o.transport)instanceof Lt?this._transport=this._options.transport:this._transport=new ti({url:this.url,...(u=this._options)===null||u===void 0?void 0:u.transport,beforeRequest:async l=>{var p,m,y,T,k,A;this._url.indexOf("/auth/refresh")===-1&&((p=l.method)===null||p===void 0?void 0:p.toLowerCase())!=="post"&&await this._auth.refreshIfExpired();const I=this.storage.auth_token,et=I?I.startsWith("Bearer ")?String(this.storage.auth_token):`Bearer ${this.storage.auth_token}`:"",f={...l,headers:{Authorization:et,...l.headers}};return!(((m=this._options)===null||m===void 0?void 0:m.transport)instanceof Lt)&&(!((T=(y=this._options)===null||y===void 0?void 0:y.transport)===null||T===void 0)&&T.beforeRequest)?(A=(k=this._options)===null||k===void 0?void 0:k.transport)===null||A===void 0?void 0:A.beforeRequest(f):f}}),!((d=this._options)===null||d===void 0)&&d.auth&&((h=this._options)===null||h===void 0?void 0:h.auth)instanceof Ye?this._auth=this._options.auth:this._auth=new si({transport:this._transport,storage:this._storage,...(c=this._options)===null||c===void 0?void 0:c.auth})}get url(){return this._url}get auth(){return this._auth}get storage(){return this._storage}get transport(){return this._transport}get assets(){return this._assets||(this._assets=new Lr(this.transport))}get activity(){return this._activity||(this._activity=new Pr(this.transport))}get collections(){return this._collections||(this._collections=new Nr(this.transport))}get fields(){return this._fields||(this._fields=new qr(this.transport))}get files(){return this._files||(this._files=new Br(this.transport))}get folders(){return this._folders||(this._folders=new Ur(this.transport))}get permissions(){return this._permissions||(this._permissions=new Mr(this.transport))}get presets(){return this._presets||(this._presets=new Fr(this.transport))}get relations(){return this._relations||(this._relations=new Hr(this.transport))}get revisions(){return this._revisions||(this._revisions=new jr(this.transport))}get roles(){return this._roles||(this._roles=new Wr(this.transport))}get users(){return this._users||(this._users=new Xr(this.transport))}get settings(){return this._settings||(this._settings=new Zr(this.transport))}get server(){return this._server||(this._server=new zr(this.transport))}get utils(){return this._utils||(this._utils=new Kr(this.transport))}get graphql(){return this._graphql||(this._graphql=new ri(this.transport))}singleton(t){return this._singletons[t]||(this._singletons[t]=new Qe(t,this.transport))}items(t){return this._items[t]||(this._items[t]=new P(t,this.transport))}}const ni=new ii("https://db.chromatone.center"),Zt=os("access-granted",!1),xe=q(!1),Z=q(""),Ee=De(()=>/^[^@]+@\w+(\.\w+)+\w$/.test(Z.value));async function Se(s){const t={email:s};if(Zt.value=s,!xe.value){xe.value=!0;try{await ni.items("players").createOne(t)}catch(e){console.error(e)}}}const tt=q(!1);Pe(Zt,s=>{s&&(tt.value=!1)});const Te=q(!1),ai=JSON.parse('[{"id":1,"status":"published","sort":1,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T05:12:51.578Z","title":"Dotpiano","url":"https://dotpiano.com/","content":null,"img":"a55e9913-8d15-486d-9ab1-d4fe8c7fb5bf","category":null},{"id":3,"status":"published","sort":3,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T05:58:12.456Z","title":"TouchME by Chromatone","url":"https://touchme.chromatone.center/","content":null,"img":"67191ff8-1f6b-4ffb-9885-b0598c600981","category":null},{"id":14,"status":"published","sort":4,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:16:13.331Z","title":"Juno-106","url":"http://juno-106.js.org/","content":null,"img":"45297e84-6b42-446b-8a56-024ff46542b7","category":null},{"id":26,"status":"published","sort":5,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:26:42.487Z","title":"Learning synths with Ableton","url":"https://learningsynths.ableton.com/","content":null,"img":"110d33fe-8c5f-4502-aaf9-6458f2119d33","category":3},{"id":30,"status":"published","sort":5,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-30T02:33:18.609Z","title":"DX7 Synth","url":"https://mmontag.github.io/dx7-synth-js/","content":null,"img":"33b1ee5c-77f0-4fb7-86ef-d8687532688b","category":2},{"id":32,"status":"published","sort":5,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-31T08:49:56.166Z","title":"Sampler synth","url":"https://play.playtronica.com/","content":null,"img":"d7b750b3-2206-46fe-a2df-d7da6b8faccd","category":null},{"id":10,"status":"published","sort":6,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:14:42.904Z","title":"Websynths","url":"http://websynths.com/","content":null,"img":"2fd87e78-0cad-44b7-bf02-44deaf12deaa","category":null},{"id":19,"status":"published","sort":6,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:23:26.708Z","title":"Theremin","url":"https://www.femurdesign.com/theremin/","content":null,"img":"1fb860e8-199e-4cd2-98f0-a718e8a6378d","category":null},{"id":22,"status":"published","sort":7,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:24:55.478Z","title":"Disco-computer","url":"http://www.disco-computer.com/synthesizer/synth.html","content":null,"img":"fd019ff3-512a-49b9-923d-a899e50938d5","category":null},{"id":29,"status":"published","sort":8,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-20T09:19:52.499Z","title":"Elementary synth","url":"https://chromatone.center/practice/midi/synth/","content":null,"img":"e204f6f4-2534-4587-93c9-1f3ad11de771","category":3},{"id":31,"status":"published","sort":12,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-31T05:38:18.890Z","title":"Video Sampler","url":"https://seeing-sound.netlify.app/","content":null,"img":"24b816fc-b3bd-4b76-9e15-1765bec844ce","category":3},{"id":27,"status":"published","sort":14,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:27:18.081Z","title":"Viktor NV-1","url":"http://nicroto.github.io/viktor/","content":null,"img":"47059c44-1e73-4578-bd8d-2a85676d6a6c","category":null},{"id":17,"status":"published","sort":30,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:17:26.088Z","title":"Sound Trap","url":"https://www.soundtrap.com/","content":null,"img":"73e783f3-84b7-430d-9a89-b1ee2fe69050","category":1},{"id":6,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:11:50.949Z","title":"MIDI–driven Web Audio","url":"https://webaudiodemos.appspot.com/midi-synth/index.html","content":null,"img":"aa8959b0-e5af-4055-8d65-276c42135c9b","category":null},{"id":8,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:13:23.936Z","title":"Meet the Heisenberg","url":"https://www.audiotool.com/product/device/heisenberg/","content":null,"img":"31b1a269-323a-4afe-8262-fd6ff566b136","category":null},{"id":9,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:13:45.798Z","title":"Cardboard Synth","url":"https://www.gsn-lib.org/apps/cardboardsynth/index.html","content":null,"img":"a737a01c-d552-44d4-ae6f-736b967333b9","category":null},{"id":11,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:15:04.832Z","title":"Tanguy synth","url":"http://tanguysynth.com/","content":null,"img":"cf55e3e1-0b91-4e0c-b97d-d392e242736c","category":null},{"id":12,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:15:25.991Z","title":"MOD synth","url":"http://mod-synth.io/","content":null,"img":"724e5054-3e1e-4ed7-b2e0-09fa78358f2d","category":null},{"id":13,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:15:53.105Z","title":"OLIF SY1K","url":"http://perso.numericable.fr/olivier.friker/synth/O3-synth%20V1.3.html","content":null,"img":"353b4bea-4458-4f7d-ab2d-e8cb3927fd2b","category":null},{"id":15,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:16:31.831Z","title":"Note Sculptor","url":"http://www.noisesculptor.com/","content":null,"img":"d2d23b94-d822-4e9e-9632-e57b96f66213","category":null},{"id":16,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:17:03.314Z","title":"WebAudioSynth V2","url":"http://aikelab.net/websynthv2/","content":null,"img":"c1192dc4-38a5-45af-9087-165478fffbc4","category":2},{"id":18,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:17:47.206Z","title":"Samplestich","url":"http://samplestitch.com.s3-website-us-east-1.amazonaws.com/","content":null,"img":"fc617933-8038-46bc-a71c-794cce369003","category":3},{"id":20,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:23:49.043Z","title":"Omni","url":"https://femurdesign.com/omni/","content":null,"img":"4329ecec-c6bd-4892-bc5d-1c60ebf85db6","category":null},{"id":21,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:24:10.192Z","title":"Web Modular","url":"https://www.g200kg.com/docs/webmodular/","content":null,"img":"ab06d1f0-0962-469c-9173-1d1b0c323da4","category":null},{"id":23,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:25:24.249Z","title":"Online sequencer","url":"https://onlinesequencer.net/369477","content":null,"img":"dfe830f4-6fc9-4c70-9355-266066d57e84","category":null},{"id":24,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:25:54.765Z","title":"PixelSynth","url":"https://ojack.github.io/PIXELSYNTH/","content":null,"img":"57a70c4c-a745-4d76-acc1-f60605b2e620","category":null},{"id":25,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:26:19.769Z","title":"Acid Machine 2","url":"http://errozero.co.uk/acid-machine/","content":null,"img":"006c8dc8-29f6-4451-ae69-4d4e14b69fc1","category":null},{"id":28,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:27:38.864Z","title":"WebSID Commodore 64","url":"http://www.igorski.nl/experiment/websid","content":null,"img":"0c43f116-2478-4306-af3c-afd5a869b7a3","category":null}]'),oi=F({inject:["manager"],props:{index:{type:Number,required:!0},disabled:{type:Boolean,default:!1}},data(){return{}},watch:{index(s){this.$el&&this.$el.sortableInfo&&(this.$el.sortableInfo.index=s)},disabled(s){s?this.removeDraggable():this.setDraggable(this.index)}},mounted(){const{disabled:s,index:t}=this.$props;s||this.setDraggable(t)},beforeUnmount(){this.disabled||this.removeDraggable()},methods:{setDraggable(s){const t=this.$el;t.sortableInfo={index:s,manager:this.manager},this.ref={node:t},this.manager.add(this.ref)},removeDraggable(){this.manager.remove(this.ref)}}});class li{constructor(){this.refs=[],this.active=null}add(t){this.refs||(this.refs=[]),this.refs.push(t)}remove(t){const e=this.getIndex(t);e!==-1&&this.refs.splice(e,1)}isActive(){return!!this.active}getActive(){return this.refs.find(({node:t})=>{var e,r;return((e=t==null?void 0:t.sortableInfo)===null||e===void 0?void 0:e.index)==((r=this===null||this===void 0?void 0:this.active)===null||r===void 0?void 0:r.index)})||null}getIndex(t){return this.refs.indexOf(t)}getRefs(){return this.refs}getOrderedRefs(){return this.refs.sort((t,e)=>t.node.sortableInfo.index-e.node.sortableInfo.index)}}const Q=s=>s.touches!=null;function Nt(s,t){return!!s&&Object.prototype.hasOwnProperty.call(s,t)}function ui(s,t,e){const r=s.slice(0);if(e>=r.length){let i=e-r.length;for(;i--+1;)r.push(void 0)}return r.splice(e,0,r.splice(t,1)[0]),r}function hi(s,t){const e=s.slice(0);return t>=e.length||e.splice(t,1),e}function di(s,t,e){const r=s.slice(0);return t===r.length?r.push(e):r.splice(t,0,e),r}const L={start:["touchstart","mousedown"],move:["touchmove","mousemove"],end:["touchend","mouseup"],cancel:["touchcancel","keyup"]};function Oe(s,t){for(;s;){if(t(s))return s;s=s.parentNode}}function $e(s,t,e){return et?t:e}function st(s){return s.substr(-2)==="px"?parseFloat(s):0}function Re(s){const t=window.getComputedStyle(s);return{top:st(t.marginTop),right:st(t.marginRight),bottom:st(t.marginBottom),left:st(t.marginLeft)}}function rt(s,t="page"){const e=`${t}X`,r=`${t}Y`;return{x:Q(s)?s.touches[0][e]:s[e],y:Q(s)?s.touches[0][r]:s[r]}}function Ce(s){const t=[s];for(;s;s=s.offsetParent)t.unshift(s);return t}function ci(s,t){const e=Ce(s),r=Ce(t);if(e[0]!=r[0])throw"No common ancestor!";for(let i=0;i{i.type!=="file"&&t[n]&&(i.value=t[n].value)}),e}function fi(s,t,e){if(typeof s=="string"&&(s=+s),Array.isArray(s)||(s=[s,s]),s.length!==2)throw new Error(`lockOffset prop of SortableContainer should be a single value or an array of exactly two values. Given ${s}`);const[r,i]=s;return[Ae(r,t,e),Ae(i,t,e)]}function Ae(s,t,e){let r=s,i=s,n="px";if(typeof s=="string"){const a=/^[+-]?\d*(?:\.\d*)?(px|%)$/.exec(s);if(a===null)throw new Error(`lockOffset value should be a number or a string of a number followed by "px" or "%". Given ${s}`);r=i=parseFloat(s),n=a[1]}if(!isFinite(r)||!isFinite(i))throw new Error(`lockOffset value should be a finite. Given ${s}`);return n==="%"&&(r=r*t/100,i=i*e/100),{x:r,y:i}}function Ie(s=[]){for(let t=0,e=s.length;t[]},lockAxis:{type:String,default:""},helperClass:{type:String,default:""},contentWindow:{type:Object,default:null},shouldCancelStart:{type:Function,default:s=>["input","textarea","select","option","button"].indexOf(s.target.tagName.toLowerCase())!==-1},getHelperDimensions:{type:Function,default:({node:s})=>({width:s.offsetWidth,height:s.offsetHeight})}},emits:["sort-start","sort-move","sort-end","sort-cancel","sort-insert","sort-remove","update:list"],data(){let s=!1;return this.group&&this.SlicksortHub&&(s=!0),{sorting:!1,hub:s?this.SlicksortHub:null,manager:new li}},mounted(){this.hub&&(this.id=this.hub.getId()),this.container=this.$el,this.document=this.container.ownerDocument||document,this._window=this.contentWindow||window,this.scrollContainer=this.useWindowAsScrollContainer?{scrollLeft:0,scrollTop:0}:this.container,this.events={start:this.handleStart,move:this.handleMove,end:this.handleEnd};for(const s in this.events)Nt(this.events,s)&&L[s].forEach(t=>this.container.addEventListener(t,this.events[s]));this.hub&&this.hub.addContainer(this)},beforeUnmount(){for(const s in this.events)Nt(this.events,s)&&L[s].forEach(t=>this.container.removeEventListener(t,this.events[s]));this.hub&&this.hub.removeContainer(this),this.dragendTimer&&clearTimeout(this.dragendTimer),this.cancelTimer&&clearTimeout(this.cancelTimer),this.pressTimer&&clearTimeout(this.pressTimer),this.autoscrollInterval&&clearInterval(this.autoscrollInterval)},methods:{handleStart(s){const{distance:t,shouldCancelStart:e}=this.$props;if(!Q(s)&&s.button===2||e(s))return!1;this._touched=!0,this._pos=rt(s);const r=s.target,i=Oe(r,n=>n.sortableInfo!=null);if(i&&i.sortableInfo&&this.nodeIsChild(i)&&!this.sorting){const{useDragHandle:n}=this.$props,{index:a}=i.sortableInfo;if(n&&!Oe(r,o=>o.sortableHandle!=null))return;this.manager.active={index:a},r.tagName.toLowerCase()==="a"&&s.preventDefault(),t||(this.pressDelay===0?this.handlePress(s):this.pressTimer=kt(()=>this.handlePress(s),this.pressDelay))}},nodeIsChild(s){return s.sortableInfo.manager===this.manager},handleMove(s){const{distance:t,pressThreshold:e}=this.$props;if(!this.sorting&&this._touched){const r=rt(s);this._delta={x:this._pos.x-r.x,y:this._pos.y-r.y};const i=Math.abs(this._delta.x)+Math.abs(this._delta.y);!t&&(!e||e&&i>=e)?(this.cancelTimer&&clearTimeout(this.cancelTimer),this.cancelTimer=kt(this.cancel,0)):t&&i>=t&&this.manager.isActive()&&this.handlePress(s)}},handleEnd(){if(!this._touched)return;const{distance:s}=this.$props;this._touched=!1,s||this.cancel()},cancel(){this.sorting||(this.pressTimer&&clearTimeout(this.pressTimer),this.manager.active=null,this.hub&&this.hub.cancel())},handleSortCancel(s){(Q(s)||s.key===this.cancelKey)&&(this.newIndex=this.index,this.canceling=!0,this.translate={x:0,y:0},this.animateNodes(),this.handleSortEnd(s))},handlePress(s){s.stopPropagation();const t=this.manager.getActive();if(t){const{getHelperDimensions:e,helperClass:r,hideSortableGhost:i,appendTo:n}=this.$props,{node:a}=t,{index:o}=a.sortableInfo,u=Re(a),d=this.container.getBoundingClientRect(),h=e({index:o,node:a});this.node=a,this.margin=u,this.width=h.width,this.height=h.height,this.marginOffset={x:this.margin.left+this.margin.right,y:Math.max(this.margin.top,this.margin.bottom)},this.boundingClientRect=a.getBoundingClientRect(),this.containerBoundingRect=d,this.index=o,this.newIndex=o;const c=ke(a);this.helper=this.document.querySelector(n).appendChild(c),this.helper.style.position="fixed",this.helper.style.top=`${this.boundingClientRect.top-u.top}px`,this.helper.style.left=`${this.boundingClientRect.left-u.left}px`,this.helper.style.width=`${this.width}px`,this.helper.style.height=`${this.height}px`,this.helper.style.boxSizing="border-box",this.helper.style.pointerEvents="none",i&&(this.sortableGhost=a,a.style.visibility="hidden",a.style.opacity="0"),this.hub&&(this.hub.sortStart(this),this.hub.helper=this.helper,this.hub.ghost=this.sortableGhost),this.intializeOffsets(s,this.boundingClientRect),this.offsetEdge=U(a,this.container),r&&this.helper.classList.add(...r.split(" ")),this.listenerNode=Q(s)?a:this._window,L.move.forEach(l=>this.listenerNode.addEventListener(l,this.handleSortMove)),L.end.forEach(l=>this.listenerNode.addEventListener(l,this.handleSortEnd)),L.cancel.forEach(l=>this.listenerNode.addEventListener(l,this.handleSortCancel)),this.sorting=!0,this.$emit("sort-start",{event:s,node:a,index:o})}},handleSortMove(s){if(s.preventDefault(),this.updatePosition(s),this.hub){const t=this.list[this.index];this.hub.handleSortMove(s,t)}(!this.hub||this.hub.isDest(this))&&(this.animateNodes(),this.autoscroll()),this.$emit("sort-move",{event:s})},handleDropOut(){const s=this.list[this.index],t=hi(this.list,this.index);return this.$emit("sort-remove",{oldIndex:this.index}),this.$emit("update:list",t),s},handleDropIn(s){const t=di(this.list,this.newIndex,s);this.$emit("sort-insert",{newIndex:this.newIndex,value:s}),this.$emit("update:list",t),this.handleDragEnd()},handleDragOut(){this.autoscrollInterval&&(clearInterval(this.autoscrollInterval),this.autoscrollInterval=null),this.hub.isSource(this)?(this.translate={x:1e4,y:1e4},this.animateNodes()):(this.manager.getRefs().forEach(s=>{s.node.style.transform=""}),this.dragendTimer=kt(this.handleDragEnd,this.transitionDuration||0))},handleDragEnd(){this.autoscrollInterval&&(clearInterval(this.autoscrollInterval),this.autoscrollInterval=null),Ie(this.manager.getRefs()),this.sortableGhost&&(this.sortableGhost.remove(),this.sortableGhost=null),this.dragendTimer&&(clearTimeout(this.dragendTimer),this.dragendTimer=null),this.manager.active=null,this._touched=!1,this.sorting=!1},intializeOffsets(s,t){const{useWindowAsScrollContainer:e,containerBoundingRect:r,_window:i}=this;this.marginOffset={x:this.margin.left+this.margin.right,y:Math.max(this.margin.top,this.margin.bottom)},this._axis={x:this.axis.indexOf("x")>=0,y:this.axis.indexOf("y")>=0},this.initialOffset=rt(s),this.initialScroll={top:this.scrollContainer.scrollTop,left:this.scrollContainer.scrollLeft},this.initialWindowScroll={top:window.pageYOffset,left:window.pageXOffset},this.translate={x:0,y:0},this.minTranslate={},this.maxTranslate={},this._axis.x&&(this.minTranslate.x=(e?0:r.left)-t.left-this.width/2,this.maxTranslate.x=(e?i.innerWidth:r.left+r.width)-t.left-this.width/2),this._axis.y&&(this.minTranslate.y=(e?0:r.top)-t.top-this.height/2,this.maxTranslate.y=(e?i.innerHeight:r.top+r.height)-t.top-this.height/2)},handleDragIn(s,t,e){if(this.hub.isSource(this))return;this.dragendTimer&&(this.handleDragEnd(),clearTimeout(this.dragendTimer),this.dragendTimer=null);const r=this.manager.getRefs();this.index=r.length,this.manager.active={index:this.index};const i=this.container.getBoundingClientRect(),n=e.getBoundingClientRect();this.containerBoundingRect=i,this.sortableGhost=ke(t),this.container.appendChild(this.sortableGhost);const a=this.sortableGhost.getBoundingClientRect();this.boundingClientRect=a,this.margin=Re(this.sortableGhost),this.width=a.width,this.height=a.height,this.offsetEdge=U(this.sortableGhost,this.container),this.intializeOffsets(s,a),this.initialOffset.x+=a.x-n.x,this.initialOffset.y+=a.y-n.y,this.sorting=!0},handleSortEnd(s){this.listenerNode&&(L.move.forEach(r=>this.listenerNode.removeEventListener(r,this.handleSortMove)),L.end.forEach(r=>this.listenerNode.removeEventListener(r,this.handleSortEnd)),L.cancel.forEach(r=>this.listenerNode.removeEventListener(r,this.handleSortCancel)));const t=this.manager.getRefs();this.helper&&this.helperClass&&this.helper.classList.remove(...this.helperClass.split(" ")),this.autoscrollInterval&&clearInterval(this.autoscrollInterval),this.autoscrollInterval=null;const e=()=>{this.helper&&(this.helper.remove(),this.helper=null),this.hideSortableGhost&&this.sortableGhost&&(this.sortableGhost.style.visibility="",this.sortableGhost.style.opacity=""),Ie(t),this.hub&&!this.hub.isDest(this)?this.canceling?this.hub.cancel():this.hub.handleSortEnd():this.canceling?this.$emit("sort-cancel",{event:s}):(this.$emit("sort-end",{event:s,oldIndex:this.index,newIndex:this.newIndex}),this.$emit("update:list",ui(this.list,this.index,this.newIndex))),this.manager.active=null,this._touched=!1,this.canceling=!1,this.sorting=!1};this.transitionDuration||this.draggedSettlingDuration?this.transitionHelperIntoPlace(t,e):e()},transitionHelperIntoPlace(s,t){if(this.draggedSettlingDuration===0||s.length===0||!this.helper)return Promise.resolve();const e=s[this.index].node;let r=0,i=0;const n={top:window.pageYOffset-this.initialWindowScroll.top,left:window.pageXOffset-this.initialWindowScroll.left};if(this.hub&&!this.hub.isDest(this)&&!this.canceling){const d=this.hub.getDest();if(!d)return;const h=d.newIndex,c=d.manager.getOrderedRefs(),l=h0?r+=d.offsetLeft+d.offsetWidth-(e.offsetLeft+e.offsetWidth):r+=d.offsetLeft-e.offsetLeft,i=-h.top,this.translate&&this.translate.y>0?i+=d.offsetTop+d.offsetHeight-(e.offsetTop+e.offsetHeight):i+=d.offsetTop-e.offsetTop}const a=this.draggedSettlingDuration!==null?this.draggedSettlingDuration:this.transitionDuration;qt(this.helper,`translate3d(${r}px,${i}px, 0)`,`${a}ms`);const o=d=>{(!d||d.propertyName==="transform")&&(clearTimeout(u),qt(this.helper),t())},u=setTimeout(o,a+10);this.helper.addEventListener("transitionend",o)},updatePosition(s){const{lockAxis:t,lockToContainerEdges:e}=this.$props,r=rt(s),i={x:r.x-this.initialOffset.x,y:r.y-this.initialOffset.y};if(i.y-=window.pageYOffset-this.initialWindowScroll.top,i.x-=window.pageXOffset-this.initialWindowScroll.left,this.translate=i,e){const[n,a]=fi(this.lockOffset,this.height,this.width),o={x:this.width/2-n.x,y:this.height/2-n.y},u={x:this.width/2-a.x,y:this.height/2-a.y};this.minTranslate.x&&this.maxTranslate.x&&(i.x=$e(this.minTranslate.x+o.x,this.maxTranslate.x-u.x,i.x)),this.minTranslate.y&&this.maxTranslate.y&&(i.y=$e(this.minTranslate.y+o.y,this.maxTranslate.y-u.y,i.y))}t==="x"?i.y=0:t==="y"&&(i.x=0),this.helper&&(this.helper.style.transform=`translate3d(${i.x}px,${i.y}px, 0)`)},animateNodes(){const{transitionDuration:s,hideSortableGhost:t}=this.$props,e=this.manager.getOrderedRefs(),r={left:this.scrollContainer.scrollLeft-this.initialScroll.left,top:this.scrollContainer.scrollTop-this.initialScroll.top},i={left:this.offsetEdge.left+this.translate.x+r.left,top:this.offsetEdge.top+this.translate.y+r.top},n={top:window.pageYOffset-this.initialWindowScroll.top,left:window.pageXOffset-this.initialWindowScroll.left};this.newIndex=null;for(let a=0,o=e.length;ah?h/2:this.width/2,height:this.height>c?c/2:this.height/2},p={x:0,y:0};let{edgeOffset:m}=e[a];m||(e[a].edgeOffset=m=U(u,this.container));const y=a0&&e[a-1];if(y&&!y.edgeOffset&&(y.edgeOffset=U(y.node,this.container)),d===this.index){t&&(this.sortableGhost=u,u.style.visibility="hidden",u.style.opacity="0");continue}s&&(u.style.transitionDuration=`${s}ms`),this._axis.x?this._axis.y?dthis.containerBoundingRect.width-l.width&&y&&(p.x=y.edgeOffset.left-m.left,p.y=y.edgeOffset.top-m.top),this.newIndex===null&&(this.newIndex=d)):d>this.index&&(i.left+n.left+l.width>=m.left&&i.top+n.top+l.height>=m.top||i.top+n.top+l.height>=m.top+c)&&(p.x=-(this.width+this.marginOffset.x),m.left+p.xthis.index&&i.left+n.left+l.width>=m.left?(p.x=-(this.width+this.marginOffset.x),this.newIndex=d):dthis.index&&i.top+n.top+l.height>=m.top?(p.y=-(this.height+this.marginOffset.y),this.newIndex=d):d=this.maxTranslate.y-this.height/2?(t.y=1,e.y=r.y*Math.abs((this.maxTranslate.y-this.height/2-s.y)/this.height)):s.x>=this.maxTranslate.x-this.width/2?(t.x=1,e.x=r.x*Math.abs((this.maxTranslate.x-this.width/2-s.x)/this.width)):s.y<=this.minTranslate.y+this.height/2?(t.y=-1,e.y=r.y*Math.abs((s.y-this.height/2-this.minTranslate.y)/this.height)):s.x<=this.minTranslate.x+this.width/2&&(t.x=-1,e.x=r.x*Math.abs((s.x-this.width/2-this.minTranslate.x)/this.width)),this.autoscrollInterval&&(clearInterval(this.autoscrollInterval),this.autoscrollInterval=null),(t.x!==0||t.y!==0)&&(this.autoscrollInterval=window.setInterval(()=>{const i={left:1*e.x*t.x,top:1*e.y*t.y};this.useWindowAsScrollContainer?this._window.scrollBy(i.left,i.top):(this.scrollContainer.scrollTop+=i.top,this.scrollContainer.scrollLeft+=i.left),this.translate.x+=i.left,this.translate.y+=i.top,this.animateNodes()},5))}}}),ss=F({name:"SlickItem",mixins:[oi],props:{tag:{type:String,default:"div"}},render(){var s,t;return K(this.tag,(t=(s=this.$slots).default)===null||t===void 0?void 0:t.call(s))}}),mi=F({name:"SlickList",mixins:[pi],props:{tag:{type:String,default:"div"},itemKey:{type:[String,Function],default:"id"}},render(){var s,t;return this.$slots.item?K(this.tag,this.list.map((e,r)=>{let i;if(e!=null){if(typeof this.itemKey=="function")i=this.itemKey(e);else if(typeof e=="object"&&Nt(e,this.itemKey)&&typeof e[this.itemKey]=="string")i=e[this.itemKey];else if(typeof e=="string")i=e;else throw new Error("Cannot find key for item, use the item-key prop and pass a function or string");return K(ss,{key:i,index:r},{default:()=>{var n,a;return(a=(n=this.$slots).item)===null||a===void 0?void 0:a.call(n,{item:e,index:r})}})}})):K(this.tag,(t=(s=this.$slots).default)===null||t===void 0?void 0:t.call(s))}}),gi=F({props:{tag:{type:String,default:"span"}},mounted(){this.$el.sortableHandle=!0},render(){var s,t;return K(this.tag,(t=(s=this.$slots).default)===null||t===void 0?void 0:t.call(s))}}),vi={key:0,d:"M30.336 12.547l-10.172-1.074L16 2.133l-4.164 9.34l-10.172 1.074l7.598 6.848L7.14 29.398L16 24.29l8.86 5.11l-2.122-10.004z",fill:"#ffaa00"},yi={key:1,d:"M16 2.125l-.906 2.063l-3.25 7.28l-7.938.845l-2.25.25l1.688 1.5l5.906 5.343l-1.656 7.813l-.469 2.187l1.969-1.125l6.906-4l6.906 4l1.969 1.125l-.469-2.187l-1.656-7.813l5.906-5.343l1.688-1.5l-2.25-.25l-7.938-.844l-3.25-7.281zm0 4.906l2.563 5.782l.25.53l.562.063l6.281.656l-4.687 4.22l-.438.405l.125.563l1.313 6.156l-5.469-3.125l-.5-.312l-.5.312l-5.469 3.125l1.313-6.156l.125-.563l-.438-.406l-4.687-4.218l6.281-.657l.563-.062l.25-.531z",fill:"#888888"},bi=F({__name:"SynthFav",props:{url:{type:String,default:""}},setup(s){const e=ls("fav:"+s.url,!1);function r(i){e.value=!e.value,console.log(e.value)}return(i,n)=>(x(),$("svg",{onClick:n[0]||(n[0]=ds(a=>r(s.url),["stop","prevent"])),xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32"},[_(e)?(x(),$("path",vi)):(x(),$("path",yi))]))}}),rs=s=>(fs("data-v-9a2748d8"),s=s(),ps(),s),wi=["src","alt"],_i=rs(()=>v("div",{class:"flex-1"},null,-1)),xi={class:"p-4 flex items-center justify-between w-full"},Ei={class:"text-md font-bold flex items-center gap-2 flex-1"},Si={class:"flex-1"},Ti=rs(()=>v("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32"},[v("path",{d:"M4 7v2h24V7zm0 8v2h24v-2zm0 8v2h24v-2z",fill:"#888888"})],-1)),Oi=F({__name:"SynthCard",props:{off:{type:Boolean,default:!1},title:{type:String,default:""},description:{type:String,default:""},img:{type:String,default:""},url:{type:String,default:""}},setup(s){const t=s,e=q(null);Pe(Te,async i=>{try{(await fetch("https://corsproxy.io/?"+t.url)).status==200?e.value=!0:e.value=!1}catch{e.value=!1}});function r(){t.off?tt.value=!tt.value:window.open(t.url,"_blank")}return(i,n)=>{const a=cs("ClientOnly");return x(),$("button",{class:"flex flex-col text-left relative min-h-50 card p-0 bg-light-300 shadow-lg flex flex-col dark-bg-dark-300 -hover-translate-y-2px transition hover-shadow-xl rounded-xl overflow-hidden relative",onClick:r},[(x(),$("img",{key:s.title,height:"200",width:"1000",src:`/img/${s.title.toLowerCase().split(" ").join("-")}.webp`,alt:`${s.title} illustration`},null,8,wi)),_i,v("div",xi,[v("div",Ei,[v("div",Si,At(s.title),1),_(Te)?(x(),$("div",{key:0,class:Le(["w-2 h-2 rounded-full shadow-inset",{"bg-green-500":e.value===!0,"bg-red-500":e.value===!1}])},null,2)):It("",!0),V(a,null,{default:D(()=>[V(bi,{class:"scale-70 w-10",url:s.url},null,8,["url"])]),_:1}),V(_(gi),{class:"scale-80 opacity-40 cursor-grab absolute top-2 right-2"},{default:D(()=>[Ti]),_:1})])])])}}});const $i=ms(Oi,[["__scopeId","data-v-9a2748d8"]]);const Ri={class:"mx-auto p-4 max-w-75ch dark-text-light-200 text-center line-height-loose text-md intro md-text-lg pt-16"},Ci={key:0,class:"p-2 flex flex-col mt-8"},ki={class:"text-4xl font-bold"},Ai=v("div",{class:"text-lg"},"web synths",-1),Ii={key:1,class:"p-2 flex flex-col mt-8"},Di={class:"text-4xl font-bold"},Pi=v("div",{class:"text-lg"},"web musicians",-1),Li={__name:"MainPage",setup(s){const t=q(ai);function e(u){return!Zt.value&&u>5}const r=q([]),i=De(()=>r.value.length),n=us(i),a=q(),o=hs(a);return gs(()=>{fetch("https://corsproxy.io/?https://db.chromatone.center/items/players?limit=-1").then(u=>u.json()).then(({data:u})=>r.value=u)}),(u,d)=>(x(),$(Jt,null,[V(_(mi),{class:"flex flex-wrap items-stretch gap-4 md-gap-6 m-2 lg-m-8",list:t.value,"onUpdate:list":d[0]||(d[0]=h=>t.value=h),axis:"xy","use-drag-handle":""},{default:D(()=>[(x(!0),$(Jt,null,vs(t.value,(h,c)=>(x(),Dt(_(ss),{class:"flex",style:{flex:"1 1 240px"},key:h.id,index:c},{default:D(()=>[(x(),Dt($i,{style:ys({opacity:e(c)?.8:1}),title:h.title,description:h.description,img:h.img,url:h.url,key:h.id,off:e(c)},null,8,["style","title","description","img","url","off"]))]),_:2},1032,["index"]))),128))]),_:1},8,["list"]),v("div",Ri,[it(u.$slots,"default"),v("div",{class:"flex justify-center",ref_key:"counters",ref:a},[_(o)?(x(),$("div",Ci,[v("div",ki,At(t.value.length),1),Ai])):It("",!0),_(o)&&i.value>0?(x(),$("div",Ii,[v("div",Di,At(_(n).toFixed())+"+",1),Pi])):It("",!0)],512)])],64))}};const Ni={class:"fixed z-200 min-h-50dvh bottom-0 right-0 left-0 bg-light-800 bg-opacity-80 backdrop-blur flex flex-col items-center gap-4 justify-start dark-bg-dark-200 dark-bg-opacity-80 p-8 shadow"},qi=v("path",{d:"M7.219 5.781L5.78 7.22L14.563 16L5.78 24.781L7.22 26.22L16 17.437l8.781 8.782l1.438-1.438L17.437 16l8.782-8.781L24.78 5.78L16 14.563z",fill:"#888888"},null,-1),Bi=[qi],Ui={class:"flex flex-col gap-8 relative pt-8"},Mi={class:"text-center max-w-45ch",for:"email"},Fi={class:"flex gap-4 flex-wrap md-flex-nowrap"},Hi=["disabled"],ji={class:"text-xs opacity-60 text-center max-w-45ch mx-auto"},Wi={__name:"TheForm",setup(s){return(t,e)=>(x(),Dt(Es,{name:"slide"},{default:D(()=>[Xt(v("div",Ni,[(x(),$("svg",{class:"absolute top-4 right-4 text-4xl cursor-pointer",onClick:e[0]||(e[0]=r=>tt.value=!1),xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 32 32"},Bi)),v("div",Ui,[v("label",Mi,[it(t.$slots,"default")]),v("div",Fi,[Xt(v("input",{class:"flex-1 p-2 md-p-4 rounded-xl bg-light-200 shadow-md dark-bg-dark-400 flex-1",ref:"target",style:{flex:"10 1 200px"},"onUpdate:modelValue":e[1]||(e[1]=r=>ws(Z)?Z.value=r:null),id:"email",name:"email",type:"email",onKeydown:e[2]||(e[2]=_s(r=>_(Se)(_(Z)),["enter"])),placeholder:"your@gmail.com"},null,544),[[xs,_(Z)]]),v("button",{class:Le(["text-sm md-text-md p-2 font-bold md-p-4 rounded-xl shadow-xl hover-shadow-2xl transition -hover-translate-y-2px active-translate-y-0 active-shadow-md bg-green-400 dark-bg-green-700",{"grayscale-50":!_(Ee)}]),onClick:e[3]||(e[3]=r=>_(Se)(_(Z))),disabled:!_(Ee),style:{flex:"1 1 400px"}},[it(t.$slots,"button",{},()=>[M("GET ACCESS")])],10,Hi)]),v("div",ji,[it(t.$slots,"notice",{},()=>[M("Your access status will be saved per device and you won't need to enter your e-mail again.")])])])],512),[[bs,_(tt)]])]),_:3}))}},zi=v("h2",{class:"text-lg font-bold"},"Welcome to our free web synth collection!",-1),Zi=v("p",null,[v("a",{href:"https://playtronica.com",target:"_blank",rel:"noopener"},"Playtronica"),M(" is a digital playground that explores the possibilities of the material world through technology, creating gadgets that make the world musical. "),v("a",{href:"https://chromatone.center",target:"_blank",rel:"noopener"},"Chromatone"),M(" is a visual language for music education, research, and performance. We share our passion for web-based music instruments. Welcome to the community!")],-1),Xi=JSON.parse('{"title":"Web synths","description":"Web synthesizers to play with MIDI controllers","frontmatter":{"title":"Web synths","description":"Web synthesizers to play with MIDI controllers","date":"2023-06-22T00:00:00.000Z","layout":"home"},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1690388893000}'),Vi={name:"index.md"},Ki=Object.assign(Vi,{setup(s){return(t,e)=>(x(),$("div",null,[V(Li,null,{default:D(()=>[zi,Zi]),_:1}),V(Wi,null,{button:D(()=>[M("GET FULL ACCESS")]),notice:D(()=>[M("Your access status will be saved per device and you won't need to enter your e-mail again.")]),default:D(()=>[M(" We are building a community of web-based musicians. Type in your e-mail to instantly get full access to the collection and occasionally receive community updates. ")]),_:1})]))}});export{Xi as __pageData,Ki as default}; diff --git a/assets/index.md.171f7793.lean.js b/assets/index.md.355e45ca.lean.js similarity index 55% rename from assets/index.md.171f7793.lean.js rename to assets/index.md.355e45ca.lean.js index 90bbd99d..0669a9c7 100644 --- a/assets/index.md.171f7793.lean.js +++ b/assets/index.md.355e45ca.lean.js @@ -1,2 +1,2 @@ import{u as os,a as ls,b as us,c as hs}from"./chunks/theme.d643f46f.js";import{r as q,b as De,w as Pe,h as F,a2 as K,i as x,j as $,u as _,a0 as ds,I as cs,B as v,m as At,p as Le,x as It,M as V,v as D,C as fs,D as ps,_ as ms,f as gs,J as Jt,K as vs,k as it,q as Dt,S as ys,a3 as Xt,a4 as bs,a5 as ws,Z as _s,a6 as xs,T as Es,l as M}from"./chunks/framework.dc38d6d1.js";function Ss(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}var Bt={exports:{}},Ne=function(t,e){return function(){for(var i=new Array(arguments.length),n=0;n"u"}function Os(s){return s!==null&&!ot(s)&&s.constructor!==null&&!ot(s.constructor)&&typeof s.constructor.isBuffer=="function"&&s.constructor.isBuffer(s)}var qe=H("ArrayBuffer");function $s(s){var t;return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?t=ArrayBuffer.isView(s):t=s&&s.buffer&&qe(s.buffer),t}function Rs(s){return typeof s=="string"}function Cs(s){return typeof s=="number"}function Be(s){return s!==null&&typeof s=="object"}function nt(s){if(Mt(s)!=="object")return!1;var t=Object.getPrototypeOf(s);return t===null||t===Object.prototype}var ks=H("Date"),As=H("File"),Is=H("Blob"),Ds=H("FileList");function Ht(s){return Ut.call(s)==="[object Function]"}function Ps(s){return Be(s)&&Ht(s.pipe)}function Ls(s){var t="[object FormData]";return s&&(typeof FormData=="function"&&s instanceof FormData||Ut.call(s)===t||Ht(s.toString)&&s.toString()===t)}var Ns=H("URLSearchParams");function qs(s){return s.trim?s.trim():s.replace(/^\s+|\s+$/g,"")}function Bs(){return typeof navigator<"u"&&(navigator.product==="ReactNative"||navigator.product==="NativeScript"||navigator.product==="NS")?!1:typeof window<"u"&&typeof document<"u"}function jt(s,t){if(!(s===null||typeof s>"u"))if(typeof s!="object"&&(s=[s]),Ft(s))for(var e=0,r=s.length;e0;)n=r[i],a[n]||(t[n]=s[n],a[n]=!0);s=Object.getPrototypeOf(s)}while(s&&(!e||e(s,t))&&s!==Object.prototype);return t}function js(s,t,e){s=String(s),(e===void 0||e>s.length)&&(e=s.length),e-=t.length;var r=s.indexOf(t,e);return r!==-1&&r===e}function Ws(s){if(!s)return null;var t=s.length;if(ot(t))return null;for(var e=new Array(t);t-- >0;)e[t]=s[t];return e}var zs=function(s){return function(t){return s&&t instanceof s}}(typeof Uint8Array<"u"&&Object.getPrototypeOf(Uint8Array)),w={isArray:Ft,isArrayBuffer:qe,isBuffer:Os,isFormData:Ls,isArrayBufferView:$s,isString:Rs,isNumber:Cs,isObject:Be,isPlainObject:nt,isUndefined:ot,isDate:ks,isFile:As,isBlob:Is,isFunction:Ht,isStream:Ps,isURLSearchParams:Ns,isStandardBrowserEnv:Bs,forEach:jt,merge:Pt,extend:Us,trim:qs,stripBOM:Ms,inherits:Fs,toFlatObject:Hs,kindOf:Mt,kindOfTest:H,endsWith:js,toArray:Ws,isTypedArray:zs,isFileList:Ds},W=w;function Kt(s){return encodeURIComponent(s).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}var Ue=function(t,e,r){if(!e)return t;var i;if(r)i=r(e);else if(W.isURLSearchParams(e))i=e.toString();else{var n=[];W.forEach(e,function(u,d){u===null||typeof u>"u"||(W.isArray(u)?d=d+"[]":u=[u],W.forEach(u,function(c){W.isDate(c)?c=c.toISOString():W.isObject(c)&&(c=JSON.stringify(c)),n.push(Kt(d)+"="+Kt(c))}))}),i=n.join("&")}if(i){var a=t.indexOf("#");a!==-1&&(t=t.slice(0,a)),t+=(t.indexOf("?")===-1?"?":"&")+i}return t},Zs=w;function lt(){this.handlers=[]}lt.prototype.use=function(t,e,r){return this.handlers.push({fulfilled:t,rejected:e,synchronous:r?r.synchronous:!1,runWhen:r?r.runWhen:null}),this.handlers.length-1};lt.prototype.eject=function(t){this.handlers[t]&&(this.handlers[t]=null)};lt.prototype.forEach=function(t){Zs.forEach(this.handlers,function(r){r!==null&&t(r)})};var Vs=lt,Gs=w,Js=function(t,e){Gs.forEach(t,function(i,n){n!==e&&n.toUpperCase()===e.toUpperCase()&&(t[e]=i,delete t[n])})},Me=w;function G(s,t,e,r,i){Error.call(this),this.message=s,this.name="AxiosError",t&&(this.code=t),e&&(this.config=e),r&&(this.request=r),i&&(this.response=i)}Me.inherits(G,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code,status:this.response&&this.response.status?this.response.status:null}}});var Fe=G.prototype,He={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED"].forEach(function(s){He[s]={value:s}});Object.defineProperties(G,He);Object.defineProperty(Fe,"isAxiosError",{value:!0});G.from=function(s,t,e,r,i,n){var a=Object.create(Fe);return Me.toFlatObject(s,a,function(u){return u!==Error.prototype}),G.call(a,s.message,t,e,r,i),a.name=s.name,n&&Object.assign(a,n),a};var X=G,je={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},C=w;function Xs(s,t){t=t||new FormData;var e=[];function r(n){return n===null?"":C.isDate(n)?n.toISOString():C.isArrayBuffer(n)||C.isTypedArray(n)?typeof Blob=="function"?new Blob([n]):Buffer.from(n):n}function i(n,a){if(C.isPlainObject(n)||C.isArray(n)){if(e.indexOf(n)!==-1)throw Error("Circular reference detected in "+a);e.push(n),C.forEach(n,function(u,d){if(!C.isUndefined(u)){var h=a?a+"."+d:d,c;if(u&&!a&&typeof u=="object"){if(C.endsWith(d,"{}"))u=JSON.stringify(u);else if(C.endsWith(d,"[]")&&(c=C.toArray(u))){c.forEach(function(l){!C.isUndefined(l)&&t.append(h,r(l))});return}}i(u,h)}}),e.pop()}else t.append(a,r(n))}return i(s),t}var We=Xs,mt,Yt;function Ks(){if(Yt)return mt;Yt=1;var s=X;return mt=function(e,r,i){var n=i.config.validateStatus;!i.status||!n||n(i.status)?e(i):r(new s("Request failed with status code "+i.status,[s.ERR_BAD_REQUEST,s.ERR_BAD_RESPONSE][Math.floor(i.status/100)-4],i.config,i.request,i))},mt}var gt,Qt;function Ys(){if(Qt)return gt;Qt=1;var s=w;return gt=s.isStandardBrowserEnv()?function(){return{write:function(r,i,n,a,o,u){var d=[];d.push(r+"="+encodeURIComponent(i)),s.isNumber(n)&&d.push("expires="+new Date(n).toGMTString()),s.isString(a)&&d.push("path="+a),s.isString(o)&&d.push("domain="+o),u===!0&&d.push("secure"),document.cookie=d.join("; ")},read:function(r){var i=document.cookie.match(new RegExp("(^|;\\s*)("+r+")=([^;]*)"));return i?decodeURIComponent(i[3]):null},remove:function(r){this.write(r,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}(),gt}var Qs=function(t){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(t)},tr=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t},er=Qs,sr=tr,ze=function(t,e){return t&&!er(e)?sr(t,e):e},vt,te;function rr(){if(te)return vt;te=1;var s=w,t=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];return vt=function(r){var i={},n,a,o;return r&&s.forEach(r.split(` -`),function(d){if(o=d.indexOf(":"),n=s.trim(d.substr(0,o)).toLowerCase(),a=s.trim(d.substr(o+1)),n){if(i[n]&&t.indexOf(n)>=0)return;n==="set-cookie"?i[n]=(i[n]?i[n]:[]).concat([a]):i[n]=i[n]?i[n]+", "+a:a}}),i},vt}var yt,ee;function ir(){if(ee)return yt;ee=1;var s=w;return yt=s.isStandardBrowserEnv()?function(){var e=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a"),i;function n(a){var o=a;return e&&(r.setAttribute("href",o),o=r.href),r.setAttribute("href",o),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:r.pathname.charAt(0)==="/"?r.pathname:"/"+r.pathname}}return i=n(window.location.href),function(o){var u=s.isString(o)?n(o):o;return u.protocol===i.protocol&&u.host===i.host}}():function(){return function(){return!0}}(),yt}var bt,se;function ut(){if(se)return bt;se=1;var s=X,t=w;function e(r){s.call(this,r??"canceled",s.ERR_CANCELED),this.name="CanceledError"}return t.inherits(e,s,{__CANCEL__:!0}),bt=e,bt}var wt,re;function nr(){return re||(re=1,wt=function(t){var e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}),wt}var _t,ie;function ne(){if(ie)return _t;ie=1;var s=w,t=Ks(),e=Ys(),r=Ue,i=ze,n=rr(),a=ir(),o=je,u=X,d=ut(),h=nr();return _t=function(l){return new Promise(function(m,y){var T=l.data,k=l.headers,A=l.responseType,I;function et(){l.cancelToken&&l.cancelToken.unsubscribe(I),l.signal&&l.signal.removeEventListener("abort",I)}s.isFormData(T)&&s.isStandardBrowserEnv()&&delete k["Content-Type"];var f=new XMLHttpRequest;if(l.auth){var is=l.auth.username||"",ns=l.auth.password?unescape(encodeURIComponent(l.auth.password)):"";k.Authorization="Basic "+btoa(is+":"+ns)}var ct=i(l.baseURL,l.url);f.open(l.method.toUpperCase(),r(ct,l.params,l.paramsSerializer),!0),f.timeout=l.timeout;function Vt(){if(f){var R="getAllResponseHeaders"in f?n(f.getAllResponseHeaders()):null,j=!A||A==="text"||A==="json"?f.responseText:f.response,B={data:j,status:f.status,statusText:f.statusText,headers:R,config:l,request:f};t(function(pt){m(pt),et()},function(pt){y(pt),et()},B),f=null}}if("onloadend"in f?f.onloadend=Vt:f.onreadystatechange=function(){!f||f.readyState!==4||f.status===0&&!(f.responseURL&&f.responseURL.indexOf("file:")===0)||setTimeout(Vt)},f.onabort=function(){f&&(y(new u("Request aborted",u.ECONNABORTED,l,f)),f=null)},f.onerror=function(){y(new u("Network Error",u.ERR_NETWORK,l,f,f)),f=null},f.ontimeout=function(){var j=l.timeout?"timeout of "+l.timeout+"ms exceeded":"timeout exceeded",B=l.transitional||o;l.timeoutErrorMessage&&(j=l.timeoutErrorMessage),y(new u(j,B.clarifyTimeoutError?u.ETIMEDOUT:u.ECONNABORTED,l,f)),f=null},s.isStandardBrowserEnv()){var Gt=(l.withCredentials||a(ct))&&l.xsrfCookieName?e.read(l.xsrfCookieName):void 0;Gt&&(k[l.xsrfHeaderName]=Gt)}"setRequestHeader"in f&&s.forEach(k,function(j,B){typeof T>"u"&&B.toLowerCase()==="content-type"?delete k[B]:f.setRequestHeader(B,j)}),s.isUndefined(l.withCredentials)||(f.withCredentials=!!l.withCredentials),A&&A!=="json"&&(f.responseType=l.responseType),typeof l.onDownloadProgress=="function"&&f.addEventListener("progress",l.onDownloadProgress),typeof l.onUploadProgress=="function"&&f.upload&&f.upload.addEventListener("progress",l.onUploadProgress),(l.cancelToken||l.signal)&&(I=function(R){f&&(y(!R||R&&R.type?new d:R),f.abort(),f=null)},l.cancelToken&&l.cancelToken.subscribe(I),l.signal&&(l.signal.aborted?I():l.signal.addEventListener("abort",I))),T||(T=null);var ft=h(ct);if(ft&&["http","https","file"].indexOf(ft)===-1){y(new u("Unsupported protocol "+ft+":",u.ERR_BAD_REQUEST,l));return}f.send(T)})},_t}var xt,ae;function ar(){return ae||(ae=1,xt=null),xt}var b=w,oe=Js,le=X,or=je,lr=We,ur={"Content-Type":"application/x-www-form-urlencoded"};function ue(s,t){!b.isUndefined(s)&&b.isUndefined(s["Content-Type"])&&(s["Content-Type"]=t)}function hr(){var s;return(typeof XMLHttpRequest<"u"||typeof process<"u"&&Object.prototype.toString.call(process)==="[object process]")&&(s=ne()),s}function dr(s,t,e){if(b.isString(s))try{return(t||JSON.parse)(s),b.trim(s)}catch(r){if(r.name!=="SyntaxError")throw r}return(e||JSON.stringify)(s)}var ht={transitional:or,adapter:hr(),transformRequest:[function(t,e){if(oe(e,"Accept"),oe(e,"Content-Type"),b.isFormData(t)||b.isArrayBuffer(t)||b.isBuffer(t)||b.isStream(t)||b.isFile(t)||b.isBlob(t))return t;if(b.isArrayBufferView(t))return t.buffer;if(b.isURLSearchParams(t))return ue(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString();var r=b.isObject(t),i=e&&e["Content-Type"],n;if((n=b.isFileList(t))||r&&i==="multipart/form-data"){var a=this.env&&this.env.FormData;return lr(n?{"files[]":t}:t,a&&new a)}else if(r||i==="application/json")return ue(e,"application/json"),dr(t);return t}],transformResponse:[function(t){var e=this.transitional||ht.transitional,r=e&&e.silentJSONParsing,i=e&&e.forcedJSONParsing,n=!r&&this.responseType==="json";if(n||i&&b.isString(t)&&t.length)try{return JSON.parse(t)}catch(a){if(n)throw a.name==="SyntaxError"?le.from(a,le.ERR_BAD_RESPONSE,this,null,this.response):a}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ar()},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};b.forEach(["delete","get","head"],function(t){ht.headers[t]={}});b.forEach(["post","put","patch"],function(t){ht.headers[t]=b.merge(ur)});var Wt=ht,cr=w,fr=Wt,pr=function(t,e,r){var i=this||fr;return cr.forEach(r,function(a){t=a.call(i,t,e)}),t},Et,he;function Ze(){return he||(he=1,Et=function(t){return!!(t&&t.__CANCEL__)}),Et}var de=w,St=pr,mr=Ze(),gr=Wt,vr=ut();function Tt(s){if(s.cancelToken&&s.cancelToken.throwIfRequested(),s.signal&&s.signal.aborted)throw new vr}var yr=function(t){Tt(t),t.headers=t.headers||{},t.data=St.call(t,t.data,t.headers,t.transformRequest),t.headers=de.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),de.forEach(["delete","get","head","post","put","patch","common"],function(i){delete t.headers[i]});var e=t.adapter||gr.adapter;return e(t).then(function(i){return Tt(t),i.data=St.call(t,i.data,i.headers,t.transformResponse),i},function(i){return mr(i)||(Tt(t),i&&i.response&&(i.response.data=St.call(t,i.response.data,i.response.headers,t.transformResponse))),Promise.reject(i)})},O=w,Ve=function(t,e){e=e||{};var r={};function i(h,c){return O.isPlainObject(h)&&O.isPlainObject(c)?O.merge(h,c):O.isPlainObject(c)?O.merge({},c):O.isArray(c)?c.slice():c}function n(h){if(O.isUndefined(e[h])){if(!O.isUndefined(t[h]))return i(void 0,t[h])}else return i(t[h],e[h])}function a(h){if(!O.isUndefined(e[h]))return i(void 0,e[h])}function o(h){if(O.isUndefined(e[h])){if(!O.isUndefined(t[h]))return i(void 0,t[h])}else return i(void 0,e[h])}function u(h){if(h in e)return i(t[h],e[h]);if(h in t)return i(void 0,t[h])}var d={url:a,method:a,data:a,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:u};return O.forEach(Object.keys(t).concat(Object.keys(e)),function(c){var l=d[c]||n,p=l(c);O.isUndefined(p)&&l!==u||(r[c]=p)}),r},Ot,ce;function Ge(){return ce||(ce=1,Ot={version:"0.27.2"}),Ot}var br=Ge().version,N=X,zt={};["object","boolean","number","function","string","symbol"].forEach(function(s,t){zt[s]=function(r){return typeof r===s||"a"+(t<1?"n ":" ")+s}});var fe={};zt.transitional=function(t,e,r){function i(n,a){return"[Axios v"+br+"] Transitional option '"+n+"'"+a+(r?". "+r:"")}return function(n,a,o){if(t===!1)throw new N(i(a," has been removed"+(e?" in "+e:"")),N.ERR_DEPRECATED);return e&&!fe[a]&&(fe[a]=!0,console.warn(i(a," has been deprecated since v"+e+" and will be removed in the near future"))),t?t(n,a,o):!0}};function wr(s,t,e){if(typeof s!="object")throw new N("options must be an object",N.ERR_BAD_OPTION_VALUE);for(var r=Object.keys(s),i=r.length;i-- >0;){var n=r[i],a=t[n];if(a){var o=s[n],u=o===void 0||a(o,n,s);if(u!==!0)throw new N("option "+n+" must be "+u,N.ERR_BAD_OPTION_VALUE);continue}if(e!==!0)throw new N("Unknown option "+n,N.ERR_BAD_OPTION)}}var _r={assertOptions:wr,validators:zt},Je=w,xr=Ue,pe=Vs,me=yr,dt=Ve,Er=ze,Xe=_r,z=Xe.validators;function J(s){this.defaults=s,this.interceptors={request:new pe,response:new pe}}J.prototype.request=function(t,e){typeof t=="string"?(e=e||{},e.url=t):e=t||{},e=dt(this.defaults,e),e.method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var r=e.transitional;r!==void 0&&Xe.assertOptions(r,{silentJSONParsing:z.transitional(z.boolean),forcedJSONParsing:z.transitional(z.boolean),clarifyTimeoutError:z.transitional(z.boolean)},!1);var i=[],n=!0;this.interceptors.request.forEach(function(p){typeof p.runWhen=="function"&&p.runWhen(e)===!1||(n=n&&p.synchronous,i.unshift(p.fulfilled,p.rejected))});var a=[];this.interceptors.response.forEach(function(p){a.push(p.fulfilled,p.rejected)});var o;if(!n){var u=[me,void 0];for(Array.prototype.unshift.apply(u,i),u=u.concat(a),o=Promise.resolve(e);u.length;)o=o.then(u.shift(),u.shift());return o}for(var d=e;i.length;){var h=i.shift(),c=i.shift();try{d=h(d)}catch(l){c(l);break}}try{o=me(d)}catch(l){return Promise.reject(l)}for(;a.length;)o=o.then(a.shift(),a.shift());return o};J.prototype.getUri=function(t){t=dt(this.defaults,t);var e=Er(t.baseURL,t.url);return xr(e,t.params,t.paramsSerializer)};Je.forEach(["delete","get","head","options"],function(t){J.prototype[t]=function(e,r){return this.request(dt(r||{},{method:t,url:e,data:(r||{}).data}))}});Je.forEach(["post","put","patch"],function(t){function e(r){return function(n,a,o){return this.request(dt(o||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:n,data:a}))}}J.prototype[t]=e(),J.prototype[t+"Form"]=e(!0)});var Sr=J,$t,ge;function Tr(){if(ge)return $t;ge=1;var s=ut();function t(e){if(typeof e!="function")throw new TypeError("executor must be a function.");var r;this.promise=new Promise(function(a){r=a});var i=this;this.promise.then(function(n){if(i._listeners){var a,o=i._listeners.length;for(a=0;a"u"?"json":"cookie"}}var _e;(function(s){s.TOTAL_COUNT="total_count",s.FILTER_COUNT="filter_count"})(_e||(_e={}));class g extends Error{constructor(t){super(`${t??"ID"} cannot be an empty string`)}}class P{constructor(t,e){this.collection=t,this.transport=e,this.endpoint=t.startsWith("directus_")?`/${t.substring(9)}`:`/items/${t}`}async readOne(t,e,r){if(`${t}`=="")throw new g("id");return(await this.transport.get(`${this.endpoint}/${encodeURI(t)}`,{params:e,...r==null?void 0:r.requestOptions})).data}async readMany(t,e,r){var i;const a=(i=(await this.transport.get(`/fields/${this.collection}`)).data)===null||i===void 0?void 0:i.find(d=>d.schema.is_primary_key===!0),{data:o,meta:u}=await this.transport.get(`${this.endpoint}`,{params:{...e,filter:{[a.field]:{_in:t},...e==null?void 0:e.filter},sort:(e==null?void 0:e.sort)||a.field},...r==null?void 0:r.requestOptions});return{data:o,...u&&{meta:u}}}async readByQuery(t,e){const{data:r,meta:i}=await this.transport.get(`${this.endpoint}`,{params:t,...e==null?void 0:e.requestOptions});return{data:r,...i&&{meta:i}}}async createOne(t,e,r){return(await this.transport.post(`${this.endpoint}`,t,{params:e,...r==null?void 0:r.requestOptions})).data}async createMany(t,e,r){return await this.transport.post(`${this.endpoint}`,t,{params:e,...r==null?void 0:r.requestOptions})}async updateOne(t,e,r,i){if(`${t}`=="")throw new g("id");return(await this.transport.patch(`${this.endpoint}/${encodeURI(t)}`,e,{params:r,...i==null?void 0:i.requestOptions})).data}async updateMany(t,e,r,i){return await this.transport.patch(`${this.endpoint}`,{keys:t,data:e},{params:r,...i==null?void 0:i.requestOptions})}async updateBatch(t,e,r){return await this.transport.patch(`${this.endpoint}`,t,{params:e,...r==null?void 0:r.requestOptions})}async updateByQuery(t,e,r,i){return await this.transport.patch(`${this.endpoint}`,{query:t,data:e},{params:r,...i==null?void 0:i.requestOptions})}async deleteOne(t,e){if(`${t}`=="")throw new g("id");await this.transport.delete(`${this.endpoint}/${encodeURI(t)}`,void 0,e==null?void 0:e.requestOptions)}async deleteMany(t,e){await this.transport.delete(`${this.endpoint}`,t,e==null?void 0:e.requestOptions)}}class Dr{constructor(t){this.transport=t}async create(t){return(await this.transport.post("/activity/comment",t)).data}async update(t,e){if(`${t}`=="")throw new g("comment_activity_id");return(await this.transport.patch(`/activity/comment/${encodeURI(t)}`,{comment:e})).data}async delete(t){if(`${t}`=="")throw new g("comment_activity_id");await this.transport.delete(`/activity/comment/${encodeURI(t)}`)}}class Pr extends P{constructor(t){super("directus_activity",t),this._comments=new Dr(this.transport)}get comments(){return this._comments}}class Lr{constructor(t){this.transport=t}async readOne(t){if(`${t}`=="")throw new g("id");return(await this.transport.get(`/assets/${t}`,{responseType:"stream"})).raw}}class Nr{constructor(t){this.transport=t}async readOne(t){if(`${t}`=="")throw new g("collection");return(await this.transport.get(`/collections/${t}`)).data}async readAll(){const{data:t,meta:e}=await this.transport.get("/collections");return{data:t,meta:e}}async createOne(t){return(await this.transport.post("/collections",t)).data}async createMany(t){const{data:e,meta:r}=await this.transport.post("/collections",t);return{data:e,meta:r}}async updateOne(t,e,r){if(`${t}`=="")throw new g("collection");return(await this.transport.patch(`/collections/${t}`,e,{params:r})).data}async deleteOne(t){if(`${t}`=="")throw new g("collection");await this.transport.delete(`/collections/${t}`)}}class qr{constructor(t){this.transport=t}async readOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("id");return(await this.transport.get(`/fields/${t}/${e}`)).data}async readMany(t){if(`${t}`=="")throw new g("collection");return{data:(await this.transport.get(`/fields/${t}`)).data,meta:void 0}}async readAll(){return{data:(await this.transport.get("/fields")).data,meta:void 0}}async createOne(t,e){if(`${t}`=="")throw new g("collection");return(await this.transport.post(`/fields/${t}`,e)).data}async updateOne(t,e,r){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");return(await this.transport.patch(`/fields/${t}/${e}`,r)).data}async deleteOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");await this.transport.delete(`/fields/${t}/${e}`)}}class Br extends P{constructor(t){super("directus_files",t)}async import(t){return(await this.transport.post("/files/import",t)).data}}class Ur extends P{constructor(t){super("directus_folders",t)}}class Mr extends P{constructor(t){super("directus_permissions",t)}}class Fr extends P{constructor(t){super("directus_presets",t)}}class Hr{constructor(t){this.transport=t}async readOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("id");return(await this.transport.get(`/relations/${t}/${e}`)).data}async readMany(t){if(`${t}`=="")throw new g("collection");return(await this.transport.get(`/relations/${t}`)).data}async readAll(){return(await this.transport.get("/relations")).data}async createOne(t){return(await this.transport.post("/relations",t)).data}async updateOne(t,e,r){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");return(await this.transport.patch(`/relations/${t}/${e}`,r)).data}async deleteOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");await this.transport.delete(`/relations/${t}/${e}`)}}class jr extends P{constructor(t){super("directus_revisions",t)}}class Wr extends P{constructor(t){super("directus_roles",t)}}class zr{constructor(t){this.transport=t}async ping(){return(await this.transport.get("/server/ping")).raw}async info(){return(await this.transport.get("/server/info")).data}async oas(){return(await this.transport.get("/server/specs/oas")).raw}}class Qe{constructor(t,e){this.collection=t,this.transport=e,this.endpoint=t.startsWith("directus_")?`/${t.substring(9)}`:`/items/${t}`}async read(t){return(await this.transport.get(`${this.endpoint}`,{params:t})).data}async update(t,e){return(await this.transport.patch(`${this.endpoint}`,t,{params:e})).data}}class Zr extends Qe{constructor(t){super("directus_settings",t)}}class Vr{constructor(t){this.transport=t}async send(t,e,r){await this.transport.post("/users/invite",{email:t,role:e,invite_url:r})}async accept(t,e){await this.transport.post("/users/invite/accept",{token:t,password:e})}}class Gr{constructor(t){this.transport=t}async generate(t){return(await this.transport.post("/users/me/tfa/generate",{password:t})).data}async enable(t,e){await this.transport.post("/users/me/tfa/enable",{secret:t,otp:e})}async disable(t){await this.transport.post("/users/me/tfa/disable",{otp:t})}}class Jr{constructor(t){this._transport=t}get tfa(){return this._tfa||(this._tfa=new Gr(this._transport))}async read(t){return(await this._transport.get("/users/me",{params:t})).data}async update(t,e){return(await this._transport.patch("/users/me",t,{params:e})).data}}class Xr extends P{constructor(t){super("directus_users",t)}get invites(){return this._invites||(this._invites=new Vr(this.transport))}get me(){return this._me||(this._me=new Jr(this.transport))}}class Kr{constructor(t){this.random={string:async(e=32)=>(await this.transport.get("/utils/random/string",{params:{length:e}})).data},this.hash={generate:async e=>(await this.transport.post("/utils/hash/generate",{string:e})).data,verify:async(e,r)=>(await this.transport.post("/utils/hash/verify",{string:e,hash:r})).data},this.transport=t}async sort(t,e,r){await this.transport.post(`/utils/sort/${encodeURI(t)}`,{item:e,to:r})}async revert(t){await this.transport.post(`/utils/revert/${encodeURI(t)}`)}}class ts{}class Lt{}class Y extends Error{constructor(t,e){var r,i;!((r=e==null?void 0:e.errors)===null||r===void 0)&&r.length?super((i=e==null?void 0:e.errors[0])===null||i===void 0?void 0:i.message):super((t==null?void 0:t.message)||"Unknown transport error"),this.parent=t,this.response=e,this.errors=(e==null?void 0:e.errors)||[],Object.values(e||{}).some(n=>n!==void 0)||(this.response=void 0),Object.setPrototypeOf(this,Y.prototype)}}var E;(function(s){s.AuthToken="auth_token",s.RefreshToken="auth_refresh_token",s.Expires="auth_expires",s.ExpiresAt="auth_expires_at"})(E||(E={}));class es extends ts{constructor(t){var e;super(),this.prefix=(e=t==null?void 0:t.prefix)!==null&&e!==void 0?e:""}get auth_token(){return this.get(E.AuthToken)}set auth_token(t){t===null?this.delete(E.AuthToken):this.set(E.AuthToken,t)}get auth_expires(){const t=this.get(E.Expires);return t===null?null:parseInt(t)}set auth_expires(t){t===null?this.delete(E.Expires):this.set(E.Expires,t.toString())}get auth_expires_at(){const t=this.get(E.ExpiresAt);return t===null?null:parseInt(t)}set auth_expires_at(t){t===null?this.delete(E.ExpiresAt):this.set(E.ExpiresAt,t.toString())}get auth_refresh_token(){return this.get(E.RefreshToken)}set auth_refresh_token(t){t===null?this.delete(E.RefreshToken):this.set(E.RefreshToken,t)}}class Yr extends es{constructor(){super(...arguments),this.values={}}get(t){const e=this.key(t);return e in this.values?this.values[e]:null}set(t,e){return this.values[this.key(t)]=e,e}delete(t){const e=this.get(t);return delete this.values[this.key(t)],e}key(t){return`${this.prefix}${t}`}}class Qr extends es{get(t){const e=localStorage.getItem(this.key(t));return e!==null?e:null}set(t,e){return localStorage.setItem(this.key(t),e),e}delete(t){const e=this.get(t);return localStorage.removeItem(this.key(t)),e}key(t){return`${this.prefix}${t}`}}class ti extends Lt{constructor(t){var e;super(),this.config=t,this.axios=we.create({baseURL:this.config.url,params:this.config.params,headers:this.config.headers,onUploadProgress:this.config.onUploadProgress,maxBodyLength:this.config.maxBodyLength,maxContentLength:this.config.maxContentLength,withCredentials:!0}),!((e=this.config)===null||e===void 0)&&e.beforeRequest&&(this.beforeRequest=this.config.beforeRequest)}async beforeRequest(t){return t}get url(){return this.config.url}async request(t,e,r,i){var n,a,o,u,d;try{let h={method:t,url:e,data:r,params:i==null?void 0:i.params,headers:i==null?void 0:i.headers,responseType:i==null?void 0:i.responseType,onUploadProgress:i==null?void 0:i.onUploadProgress};h=await this.beforeRequest(h);const c=await this.axios.request(h),l={raw:c.data,status:c.status,statusText:c.statusText,headers:c.headers,data:c.data.data,meta:c.data.meta,errors:c.data.errors};if(c.data.errors)throw new Y(null,l);return l}catch(h){if(!h||!(h instanceof Error))throw h;if(we.isAxiosError(h)){const c=(n=h.response)===null||n===void 0?void 0:n.data;throw new Y(h,{raw:(a=h.response)===null||a===void 0?void 0:a.data,status:(o=h.response)===null||o===void 0?void 0:o.status,statusText:(u=h.response)===null||u===void 0?void 0:u.statusText,headers:(d=h.response)===null||d===void 0?void 0:d.headers,data:c==null?void 0:c.data,meta:c==null?void 0:c.meta,errors:c==null?void 0:c.errors})}throw new Y(h)}}async get(t,e){return await this.request("get",t,void 0,e)}async head(t,e){return await this.request("head",t,void 0,e)}async options(t,e){return await this.request("options",t,void 0,e)}async delete(t,e,r){return await this.request("delete",t,e,r)}async put(t,e,r){return await this.request("put",t,e,r)}async post(t,e,r){return await this.request("post",t,e,r)}async patch(t,e,r){return await this.request("patch",t,e,r)}}class ei{constructor(t){this.transport=t}async request(t,e){await this.transport.post("/auth/password/request",{email:t,reset_url:e})}async reset(t,e){await this.transport.post("/auth/password/reset",{token:t,password:e})}}class si extends Ye{constructor(t){var e,r,i;super(),this.autoRefresh=!0,this.msRefreshBeforeExpires=3e4,this.staticToken="",this._transport=t.transport,this._storage=t.storage,this.autoRefresh=(e=t==null?void 0:t.autoRefresh)!==null&&e!==void 0?e:this.autoRefresh,this.mode=(r=t==null?void 0:t.mode)!==null&&r!==void 0?r:this.mode,this.msRefreshBeforeExpires=(i=t==null?void 0:t.msRefreshBeforeExpires)!==null&&i!==void 0?i:this.msRefreshBeforeExpires,t!=null&&t.staticToken&&(this.staticToken=t==null?void 0:t.staticToken,this.updateStorage({access_token:this.staticToken,expires:null,refresh_token:null}))}get storage(){return this._storage}get transport(){return this._transport}get token(){return(async()=>{if(this._refreshPromise)try{await this._refreshPromise}finally{this._refreshPromise=void 0}return this._storage.auth_token})()}get password(){return this.passwords=this.passwords||new ei(this._transport)}resetStorage(){this._storage.auth_token=null,this._storage.auth_refresh_token=null,this._storage.auth_expires=null,this._storage.auth_expires_at=null}updateStorage(t){var e,r;const i=(e=t.expires)!==null&&e!==void 0?e:null;this._storage.auth_token=t.access_token,this._storage.auth_refresh_token=(r=t.refresh_token)!==null&&r!==void 0?r:null,this._storage.auth_expires=i,this._storage.auth_expires_at=new Date().getTime()+(i??0)}async refreshIfExpired(){if(!this.staticToken&&this.autoRefresh){if(!this._storage.auth_expires_at){try{await this._refreshPromise}finally{this._refreshPromise=void 0}return}this._storage.auth_expires_at{var e;const r=this._storage.auth_refresh_token;this.resetStorage();const i=await this._transport.post("/auth/refresh",{refresh_token:this.mode==="json"?r:void 0});return this.updateStorage(i.data),{access_token:i.data.access_token,...((e=i.data)===null||e===void 0?void 0:e.refresh_token)&&{refresh_token:i.data.refresh_token},expires:i.data.expires}};return this._refreshPromise=t()}async login(t){var e;this.resetStorage();const r=await this._transport.post("/auth/login",{mode:this.mode,...t},{headers:{Authorization:null}});return this.updateStorage(r.data),{access_token:r.data.access_token,...((e=r.data)===null||e===void 0?void 0:e.refresh_token)&&{refresh_token:r.data.refresh_token},expires:r.data.expires}}async static(t){return this.staticToken||(this.staticToken=t),await this._transport.get("/users/me",{params:{access_token:t},headers:{Authorization:null}}),this.updateStorage({access_token:t,expires:null,refresh_token:null}),!0}async logout(){let t;this.mode==="json"&&(t=this._storage.auth_refresh_token||void 0),await this._transport.post("/auth/logout",{refresh_token:t}),this.updateStorage({access_token:null,expires:null,refresh_token:null})}}class ri{constructor(t){this.transport=t}async request(t,e,r){return await this.transport.post(t,{query:e,variables:typeof r>"u"?{}:r})}async items(t,e){return await this.request("/graphql",t,e)}async system(t,e){return await this.request("/graphql/system",t,e)}}class ii{constructor(t,e){var r,i,n,a,o,u,d,h,c;if(this._url=t,this._options=e,this._items={},this._singletons={},!((r=this._options)===null||r===void 0)&&r.storage&&((i=this._options)===null||i===void 0?void 0:i.storage)instanceof ts)this._storage=this._options.storage;else{const l=(n=this._options)===null||n===void 0?void 0:n.storage,{mode:p,...m}=l??{};p==="MemoryStorage"||typeof window>"u"?this._storage=new Yr(m):this._storage=new Qr(m)}!((a=this._options)===null||a===void 0)&&a.transport&&((o=this._options)===null||o===void 0?void 0:o.transport)instanceof Lt?this._transport=this._options.transport:this._transport=new ti({url:this.url,...(u=this._options)===null||u===void 0?void 0:u.transport,beforeRequest:async l=>{var p,m,y,T,k,A;this._url.indexOf("/auth/refresh")===-1&&((p=l.method)===null||p===void 0?void 0:p.toLowerCase())!=="post"&&await this._auth.refreshIfExpired();const I=this.storage.auth_token,et=I?I.startsWith("Bearer ")?String(this.storage.auth_token):`Bearer ${this.storage.auth_token}`:"",f={...l,headers:{Authorization:et,...l.headers}};return!(((m=this._options)===null||m===void 0?void 0:m.transport)instanceof Lt)&&(!((T=(y=this._options)===null||y===void 0?void 0:y.transport)===null||T===void 0)&&T.beforeRequest)?(A=(k=this._options)===null||k===void 0?void 0:k.transport)===null||A===void 0?void 0:A.beforeRequest(f):f}}),!((d=this._options)===null||d===void 0)&&d.auth&&((h=this._options)===null||h===void 0?void 0:h.auth)instanceof Ye?this._auth=this._options.auth:this._auth=new si({transport:this._transport,storage:this._storage,...(c=this._options)===null||c===void 0?void 0:c.auth})}get url(){return this._url}get auth(){return this._auth}get storage(){return this._storage}get transport(){return this._transport}get assets(){return this._assets||(this._assets=new Lr(this.transport))}get activity(){return this._activity||(this._activity=new Pr(this.transport))}get collections(){return this._collections||(this._collections=new Nr(this.transport))}get fields(){return this._fields||(this._fields=new qr(this.transport))}get files(){return this._files||(this._files=new Br(this.transport))}get folders(){return this._folders||(this._folders=new Ur(this.transport))}get permissions(){return this._permissions||(this._permissions=new Mr(this.transport))}get presets(){return this._presets||(this._presets=new Fr(this.transport))}get relations(){return this._relations||(this._relations=new Hr(this.transport))}get revisions(){return this._revisions||(this._revisions=new jr(this.transport))}get roles(){return this._roles||(this._roles=new Wr(this.transport))}get users(){return this._users||(this._users=new Xr(this.transport))}get settings(){return this._settings||(this._settings=new Zr(this.transport))}get server(){return this._server||(this._server=new zr(this.transport))}get utils(){return this._utils||(this._utils=new Kr(this.transport))}get graphql(){return this._graphql||(this._graphql=new ri(this.transport))}singleton(t){return this._singletons[t]||(this._singletons[t]=new Qe(t,this.transport))}items(t){return this._items[t]||(this._items[t]=new P(t,this.transport))}}const ni=new ii("https://db.chromatone.center"),Zt=os("access-granted",!1),xe=q(!1),Z=q(""),Ee=De(()=>/^[^@]+@\w+(\.\w+)+\w$/.test(Z.value));async function Se(s){const t={email:s};if(Zt.value=s,!xe.value){xe.value=!0;try{await ni.items("players").createOne(t)}catch(e){console.error(e)}}}const tt=q(!1);Pe(Zt,s=>{s&&(tt.value=!1)});const Te=q(!1),ai=JSON.parse('[{"id":1,"status":"published","sort":1,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T05:12:51.578Z","title":"Dotpiano","url":"https://dotpiano.com/","content":null,"img":"a55e9913-8d15-486d-9ab1-d4fe8c7fb5bf","category":null},{"id":3,"status":"published","sort":3,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T05:58:12.456Z","title":"TouchME by Chromatone","url":"https://touchme.chromatone.center/","content":null,"img":"67191ff8-1f6b-4ffb-9885-b0598c600981","category":null},{"id":14,"status":"published","sort":4,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:16:13.331Z","title":"Juno-106","url":"http://juno-106.js.org/","content":null,"img":"45297e84-6b42-446b-8a56-024ff46542b7","category":null},{"id":26,"status":"published","sort":5,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:26:42.487Z","title":"Learning synths with Ableton","url":"https://learningsynths.ableton.com/","content":null,"img":"110d33fe-8c5f-4502-aaf9-6458f2119d33","category":3},{"id":30,"status":"published","sort":5,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-30T02:33:18.609Z","title":"DX7 Synth","url":"https://mmontag.github.io/dx7-synth-js/","content":null,"img":"33b1ee5c-77f0-4fb7-86ef-d8687532688b","category":2},{"id":10,"status":"published","sort":6,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:14:42.904Z","title":"Websynths","url":"http://websynths.com/","content":null,"img":"2fd87e78-0cad-44b7-bf02-44deaf12deaa","category":null},{"id":19,"status":"published","sort":6,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:23:26.708Z","title":"Theremin","url":"https://www.femurdesign.com/theremin/","content":null,"img":"1fb860e8-199e-4cd2-98f0-a718e8a6378d","category":null},{"id":22,"status":"published","sort":7,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:24:55.478Z","title":"Disco-computer","url":"http://www.disco-computer.com/synthesizer/synth.html","content":null,"img":"fd019ff3-512a-49b9-923d-a899e50938d5","category":null},{"id":29,"status":"published","sort":8,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-20T09:19:52.499Z","title":"Elementary synth","url":"https://chromatone.center/practice/midi/synth/","content":null,"img":"e204f6f4-2534-4587-93c9-1f3ad11de771","category":3},{"id":17,"status":"published","sort":30,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:17:26.088Z","title":"Sound Trap","url":"https://www.soundtrap.com/","content":null,"img":"73e783f3-84b7-430d-9a89-b1ee2fe69050","category":1},{"id":6,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:11:50.949Z","title":"MIDI–driven Web Audio","url":"https://webaudiodemos.appspot.com/midi-synth/index.html","content":null,"img":"aa8959b0-e5af-4055-8d65-276c42135c9b","category":null},{"id":8,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:13:23.936Z","title":"Meet the Heisenberg","url":"https://www.audiotool.com/product/device/heisenberg/","content":null,"img":"31b1a269-323a-4afe-8262-fd6ff566b136","category":null},{"id":9,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:13:45.798Z","title":"Cardboard Synth","url":"https://www.gsn-lib.org/apps/cardboardsynth/index.html","content":null,"img":"a737a01c-d552-44d4-ae6f-736b967333b9","category":null},{"id":11,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:15:04.832Z","title":"Tanguy synth","url":"http://tanguysynth.com/","content":null,"img":"cf55e3e1-0b91-4e0c-b97d-d392e242736c","category":null},{"id":12,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:15:25.991Z","title":"MOD synth","url":"http://mod-synth.io/","content":null,"img":"724e5054-3e1e-4ed7-b2e0-09fa78358f2d","category":null},{"id":13,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:15:53.105Z","title":"OLIF SY1K","url":"http://perso.numericable.fr/olivier.friker/synth/O3-synth%20V1.3.html","content":null,"img":"353b4bea-4458-4f7d-ab2d-e8cb3927fd2b","category":null},{"id":15,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:16:31.831Z","title":"Note Sculptor","url":"http://www.noisesculptor.com/","content":null,"img":"d2d23b94-d822-4e9e-9632-e57b96f66213","category":null},{"id":16,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:17:03.314Z","title":"WebAudioSynth V2","url":"http://aikelab.net/websynthv2/","content":null,"img":"c1192dc4-38a5-45af-9087-165478fffbc4","category":2},{"id":18,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:17:47.206Z","title":"Samplestich","url":"http://samplestitch.com.s3-website-us-east-1.amazonaws.com/","content":null,"img":"fc617933-8038-46bc-a71c-794cce369003","category":3},{"id":20,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:23:49.043Z","title":"Omni","url":"https://femurdesign.com/omni/","content":null,"img":"4329ecec-c6bd-4892-bc5d-1c60ebf85db6","category":null},{"id":21,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:24:10.192Z","title":"Web Modular","url":"https://www.g200kg.com/docs/webmodular/","content":null,"img":"ab06d1f0-0962-469c-9173-1d1b0c323da4","category":null},{"id":23,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:25:24.249Z","title":"Online sequencer","url":"https://onlinesequencer.net/369477","content":null,"img":"dfe830f4-6fc9-4c70-9355-266066d57e84","category":null},{"id":24,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:25:54.765Z","title":"PixelSynth","url":"https://ojack.github.io/PIXELSYNTH/","content":null,"img":"57a70c4c-a745-4d76-acc1-f60605b2e620","category":null},{"id":25,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:26:19.769Z","title":"Acid Machine 2","url":"http://errozero.co.uk/acid-machine/","content":null,"img":"006c8dc8-29f6-4451-ae69-4d4e14b69fc1","category":null},{"id":27,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:27:18.081Z","title":"Viktor NV-1","url":"http://nicroto.github.io/viktor/","content":null,"img":"47059c44-1e73-4578-bd8d-2a85676d6a6c","category":null},{"id":28,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:27:38.864Z","title":"WebSID Commodore 64","url":"http://www.igorski.nl/experiment/websid","content":null,"img":"0c43f116-2478-4306-af3c-afd5a869b7a3","category":null},{"id":31,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-31T05:38:18.890Z","title":"Video Sampler","url":"https://seeing-sound.netlify.app/","content":null,"img":"24b816fc-b3bd-4b76-9e15-1765bec844ce","category":3}]'),oi=F({inject:["manager"],props:{index:{type:Number,required:!0},disabled:{type:Boolean,default:!1}},data(){return{}},watch:{index(s){this.$el&&this.$el.sortableInfo&&(this.$el.sortableInfo.index=s)},disabled(s){s?this.removeDraggable():this.setDraggable(this.index)}},mounted(){const{disabled:s,index:t}=this.$props;s||this.setDraggable(t)},beforeUnmount(){this.disabled||this.removeDraggable()},methods:{setDraggable(s){const t=this.$el;t.sortableInfo={index:s,manager:this.manager},this.ref={node:t},this.manager.add(this.ref)},removeDraggable(){this.manager.remove(this.ref)}}});class li{constructor(){this.refs=[],this.active=null}add(t){this.refs||(this.refs=[]),this.refs.push(t)}remove(t){const e=this.getIndex(t);e!==-1&&this.refs.splice(e,1)}isActive(){return!!this.active}getActive(){return this.refs.find(({node:t})=>{var e,r;return((e=t==null?void 0:t.sortableInfo)===null||e===void 0?void 0:e.index)==((r=this===null||this===void 0?void 0:this.active)===null||r===void 0?void 0:r.index)})||null}getIndex(t){return this.refs.indexOf(t)}getRefs(){return this.refs}getOrderedRefs(){return this.refs.sort((t,e)=>t.node.sortableInfo.index-e.node.sortableInfo.index)}}const Q=s=>s.touches!=null;function Nt(s,t){return!!s&&Object.prototype.hasOwnProperty.call(s,t)}function ui(s,t,e){const r=s.slice(0);if(e>=r.length){let i=e-r.length;for(;i--+1;)r.push(void 0)}return r.splice(e,0,r.splice(t,1)[0]),r}function hi(s,t){const e=s.slice(0);return t>=e.length||e.splice(t,1),e}function di(s,t,e){const r=s.slice(0);return t===r.length?r.push(e):r.splice(t,0,e),r}const L={start:["touchstart","mousedown"],move:["touchmove","mousemove"],end:["touchend","mouseup"],cancel:["touchcancel","keyup"]};function Oe(s,t){for(;s;){if(t(s))return s;s=s.parentNode}}function $e(s,t,e){return et?t:e}function st(s){return s.substr(-2)==="px"?parseFloat(s):0}function Re(s){const t=window.getComputedStyle(s);return{top:st(t.marginTop),right:st(t.marginRight),bottom:st(t.marginBottom),left:st(t.marginLeft)}}function rt(s,t="page"){const e=`${t}X`,r=`${t}Y`;return{x:Q(s)?s.touches[0][e]:s[e],y:Q(s)?s.touches[0][r]:s[r]}}function Ce(s){const t=[s];for(;s;s=s.offsetParent)t.unshift(s);return t}function ci(s,t){const e=Ce(s),r=Ce(t);if(e[0]!=r[0])throw"No common ancestor!";for(let i=0;i{i.type!=="file"&&t[n]&&(i.value=t[n].value)}),e}function fi(s,t,e){if(typeof s=="string"&&(s=+s),Array.isArray(s)||(s=[s,s]),s.length!==2)throw new Error(`lockOffset prop of SortableContainer should be a single value or an array of exactly two values. Given ${s}`);const[r,i]=s;return[Ae(r,t,e),Ae(i,t,e)]}function Ae(s,t,e){let r=s,i=s,n="px";if(typeof s=="string"){const a=/^[+-]?\d*(?:\.\d*)?(px|%)$/.exec(s);if(a===null)throw new Error(`lockOffset value should be a number or a string of a number followed by "px" or "%". Given ${s}`);r=i=parseFloat(s),n=a[1]}if(!isFinite(r)||!isFinite(i))throw new Error(`lockOffset value should be a finite. Given ${s}`);return n==="%"&&(r=r*t/100,i=i*e/100),{x:r,y:i}}function Ie(s=[]){for(let t=0,e=s.length;t[]},lockAxis:{type:String,default:""},helperClass:{type:String,default:""},contentWindow:{type:Object,default:null},shouldCancelStart:{type:Function,default:s=>["input","textarea","select","option","button"].indexOf(s.target.tagName.toLowerCase())!==-1},getHelperDimensions:{type:Function,default:({node:s})=>({width:s.offsetWidth,height:s.offsetHeight})}},emits:["sort-start","sort-move","sort-end","sort-cancel","sort-insert","sort-remove","update:list"],data(){let s=!1;return this.group&&this.SlicksortHub&&(s=!0),{sorting:!1,hub:s?this.SlicksortHub:null,manager:new li}},mounted(){this.hub&&(this.id=this.hub.getId()),this.container=this.$el,this.document=this.container.ownerDocument||document,this._window=this.contentWindow||window,this.scrollContainer=this.useWindowAsScrollContainer?{scrollLeft:0,scrollTop:0}:this.container,this.events={start:this.handleStart,move:this.handleMove,end:this.handleEnd};for(const s in this.events)Nt(this.events,s)&&L[s].forEach(t=>this.container.addEventListener(t,this.events[s]));this.hub&&this.hub.addContainer(this)},beforeUnmount(){for(const s in this.events)Nt(this.events,s)&&L[s].forEach(t=>this.container.removeEventListener(t,this.events[s]));this.hub&&this.hub.removeContainer(this),this.dragendTimer&&clearTimeout(this.dragendTimer),this.cancelTimer&&clearTimeout(this.cancelTimer),this.pressTimer&&clearTimeout(this.pressTimer),this.autoscrollInterval&&clearInterval(this.autoscrollInterval)},methods:{handleStart(s){const{distance:t,shouldCancelStart:e}=this.$props;if(!Q(s)&&s.button===2||e(s))return!1;this._touched=!0,this._pos=rt(s);const r=s.target,i=Oe(r,n=>n.sortableInfo!=null);if(i&&i.sortableInfo&&this.nodeIsChild(i)&&!this.sorting){const{useDragHandle:n}=this.$props,{index:a}=i.sortableInfo;if(n&&!Oe(r,o=>o.sortableHandle!=null))return;this.manager.active={index:a},r.tagName.toLowerCase()==="a"&&s.preventDefault(),t||(this.pressDelay===0?this.handlePress(s):this.pressTimer=kt(()=>this.handlePress(s),this.pressDelay))}},nodeIsChild(s){return s.sortableInfo.manager===this.manager},handleMove(s){const{distance:t,pressThreshold:e}=this.$props;if(!this.sorting&&this._touched){const r=rt(s);this._delta={x:this._pos.x-r.x,y:this._pos.y-r.y};const i=Math.abs(this._delta.x)+Math.abs(this._delta.y);!t&&(!e||e&&i>=e)?(this.cancelTimer&&clearTimeout(this.cancelTimer),this.cancelTimer=kt(this.cancel,0)):t&&i>=t&&this.manager.isActive()&&this.handlePress(s)}},handleEnd(){if(!this._touched)return;const{distance:s}=this.$props;this._touched=!1,s||this.cancel()},cancel(){this.sorting||(this.pressTimer&&clearTimeout(this.pressTimer),this.manager.active=null,this.hub&&this.hub.cancel())},handleSortCancel(s){(Q(s)||s.key===this.cancelKey)&&(this.newIndex=this.index,this.canceling=!0,this.translate={x:0,y:0},this.animateNodes(),this.handleSortEnd(s))},handlePress(s){s.stopPropagation();const t=this.manager.getActive();if(t){const{getHelperDimensions:e,helperClass:r,hideSortableGhost:i,appendTo:n}=this.$props,{node:a}=t,{index:o}=a.sortableInfo,u=Re(a),d=this.container.getBoundingClientRect(),h=e({index:o,node:a});this.node=a,this.margin=u,this.width=h.width,this.height=h.height,this.marginOffset={x:this.margin.left+this.margin.right,y:Math.max(this.margin.top,this.margin.bottom)},this.boundingClientRect=a.getBoundingClientRect(),this.containerBoundingRect=d,this.index=o,this.newIndex=o;const c=ke(a);this.helper=this.document.querySelector(n).appendChild(c),this.helper.style.position="fixed",this.helper.style.top=`${this.boundingClientRect.top-u.top}px`,this.helper.style.left=`${this.boundingClientRect.left-u.left}px`,this.helper.style.width=`${this.width}px`,this.helper.style.height=`${this.height}px`,this.helper.style.boxSizing="border-box",this.helper.style.pointerEvents="none",i&&(this.sortableGhost=a,a.style.visibility="hidden",a.style.opacity="0"),this.hub&&(this.hub.sortStart(this),this.hub.helper=this.helper,this.hub.ghost=this.sortableGhost),this.intializeOffsets(s,this.boundingClientRect),this.offsetEdge=U(a,this.container),r&&this.helper.classList.add(...r.split(" ")),this.listenerNode=Q(s)?a:this._window,L.move.forEach(l=>this.listenerNode.addEventListener(l,this.handleSortMove)),L.end.forEach(l=>this.listenerNode.addEventListener(l,this.handleSortEnd)),L.cancel.forEach(l=>this.listenerNode.addEventListener(l,this.handleSortCancel)),this.sorting=!0,this.$emit("sort-start",{event:s,node:a,index:o})}},handleSortMove(s){if(s.preventDefault(),this.updatePosition(s),this.hub){const t=this.list[this.index];this.hub.handleSortMove(s,t)}(!this.hub||this.hub.isDest(this))&&(this.animateNodes(),this.autoscroll()),this.$emit("sort-move",{event:s})},handleDropOut(){const s=this.list[this.index],t=hi(this.list,this.index);return this.$emit("sort-remove",{oldIndex:this.index}),this.$emit("update:list",t),s},handleDropIn(s){const t=di(this.list,this.newIndex,s);this.$emit("sort-insert",{newIndex:this.newIndex,value:s}),this.$emit("update:list",t),this.handleDragEnd()},handleDragOut(){this.autoscrollInterval&&(clearInterval(this.autoscrollInterval),this.autoscrollInterval=null),this.hub.isSource(this)?(this.translate={x:1e4,y:1e4},this.animateNodes()):(this.manager.getRefs().forEach(s=>{s.node.style.transform=""}),this.dragendTimer=kt(this.handleDragEnd,this.transitionDuration||0))},handleDragEnd(){this.autoscrollInterval&&(clearInterval(this.autoscrollInterval),this.autoscrollInterval=null),Ie(this.manager.getRefs()),this.sortableGhost&&(this.sortableGhost.remove(),this.sortableGhost=null),this.dragendTimer&&(clearTimeout(this.dragendTimer),this.dragendTimer=null),this.manager.active=null,this._touched=!1,this.sorting=!1},intializeOffsets(s,t){const{useWindowAsScrollContainer:e,containerBoundingRect:r,_window:i}=this;this.marginOffset={x:this.margin.left+this.margin.right,y:Math.max(this.margin.top,this.margin.bottom)},this._axis={x:this.axis.indexOf("x")>=0,y:this.axis.indexOf("y")>=0},this.initialOffset=rt(s),this.initialScroll={top:this.scrollContainer.scrollTop,left:this.scrollContainer.scrollLeft},this.initialWindowScroll={top:window.pageYOffset,left:window.pageXOffset},this.translate={x:0,y:0},this.minTranslate={},this.maxTranslate={},this._axis.x&&(this.minTranslate.x=(e?0:r.left)-t.left-this.width/2,this.maxTranslate.x=(e?i.innerWidth:r.left+r.width)-t.left-this.width/2),this._axis.y&&(this.minTranslate.y=(e?0:r.top)-t.top-this.height/2,this.maxTranslate.y=(e?i.innerHeight:r.top+r.height)-t.top-this.height/2)},handleDragIn(s,t,e){if(this.hub.isSource(this))return;this.dragendTimer&&(this.handleDragEnd(),clearTimeout(this.dragendTimer),this.dragendTimer=null);const r=this.manager.getRefs();this.index=r.length,this.manager.active={index:this.index};const i=this.container.getBoundingClientRect(),n=e.getBoundingClientRect();this.containerBoundingRect=i,this.sortableGhost=ke(t),this.container.appendChild(this.sortableGhost);const a=this.sortableGhost.getBoundingClientRect();this.boundingClientRect=a,this.margin=Re(this.sortableGhost),this.width=a.width,this.height=a.height,this.offsetEdge=U(this.sortableGhost,this.container),this.intializeOffsets(s,a),this.initialOffset.x+=a.x-n.x,this.initialOffset.y+=a.y-n.y,this.sorting=!0},handleSortEnd(s){this.listenerNode&&(L.move.forEach(r=>this.listenerNode.removeEventListener(r,this.handleSortMove)),L.end.forEach(r=>this.listenerNode.removeEventListener(r,this.handleSortEnd)),L.cancel.forEach(r=>this.listenerNode.removeEventListener(r,this.handleSortCancel)));const t=this.manager.getRefs();this.helper&&this.helperClass&&this.helper.classList.remove(...this.helperClass.split(" ")),this.autoscrollInterval&&clearInterval(this.autoscrollInterval),this.autoscrollInterval=null;const e=()=>{this.helper&&(this.helper.remove(),this.helper=null),this.hideSortableGhost&&this.sortableGhost&&(this.sortableGhost.style.visibility="",this.sortableGhost.style.opacity=""),Ie(t),this.hub&&!this.hub.isDest(this)?this.canceling?this.hub.cancel():this.hub.handleSortEnd():this.canceling?this.$emit("sort-cancel",{event:s}):(this.$emit("sort-end",{event:s,oldIndex:this.index,newIndex:this.newIndex}),this.$emit("update:list",ui(this.list,this.index,this.newIndex))),this.manager.active=null,this._touched=!1,this.canceling=!1,this.sorting=!1};this.transitionDuration||this.draggedSettlingDuration?this.transitionHelperIntoPlace(t,e):e()},transitionHelperIntoPlace(s,t){if(this.draggedSettlingDuration===0||s.length===0||!this.helper)return Promise.resolve();const e=s[this.index].node;let r=0,i=0;const n={top:window.pageYOffset-this.initialWindowScroll.top,left:window.pageXOffset-this.initialWindowScroll.left};if(this.hub&&!this.hub.isDest(this)&&!this.canceling){const d=this.hub.getDest();if(!d)return;const h=d.newIndex,c=d.manager.getOrderedRefs(),l=h0?r+=d.offsetLeft+d.offsetWidth-(e.offsetLeft+e.offsetWidth):r+=d.offsetLeft-e.offsetLeft,i=-h.top,this.translate&&this.translate.y>0?i+=d.offsetTop+d.offsetHeight-(e.offsetTop+e.offsetHeight):i+=d.offsetTop-e.offsetTop}const a=this.draggedSettlingDuration!==null?this.draggedSettlingDuration:this.transitionDuration;qt(this.helper,`translate3d(${r}px,${i}px, 0)`,`${a}ms`);const o=d=>{(!d||d.propertyName==="transform")&&(clearTimeout(u),qt(this.helper),t())},u=setTimeout(o,a+10);this.helper.addEventListener("transitionend",o)},updatePosition(s){const{lockAxis:t,lockToContainerEdges:e}=this.$props,r=rt(s),i={x:r.x-this.initialOffset.x,y:r.y-this.initialOffset.y};if(i.y-=window.pageYOffset-this.initialWindowScroll.top,i.x-=window.pageXOffset-this.initialWindowScroll.left,this.translate=i,e){const[n,a]=fi(this.lockOffset,this.height,this.width),o={x:this.width/2-n.x,y:this.height/2-n.y},u={x:this.width/2-a.x,y:this.height/2-a.y};this.minTranslate.x&&this.maxTranslate.x&&(i.x=$e(this.minTranslate.x+o.x,this.maxTranslate.x-u.x,i.x)),this.minTranslate.y&&this.maxTranslate.y&&(i.y=$e(this.minTranslate.y+o.y,this.maxTranslate.y-u.y,i.y))}t==="x"?i.y=0:t==="y"&&(i.x=0),this.helper&&(this.helper.style.transform=`translate3d(${i.x}px,${i.y}px, 0)`)},animateNodes(){const{transitionDuration:s,hideSortableGhost:t}=this.$props,e=this.manager.getOrderedRefs(),r={left:this.scrollContainer.scrollLeft-this.initialScroll.left,top:this.scrollContainer.scrollTop-this.initialScroll.top},i={left:this.offsetEdge.left+this.translate.x+r.left,top:this.offsetEdge.top+this.translate.y+r.top},n={top:window.pageYOffset-this.initialWindowScroll.top,left:window.pageXOffset-this.initialWindowScroll.left};this.newIndex=null;for(let a=0,o=e.length;ah?h/2:this.width/2,height:this.height>c?c/2:this.height/2},p={x:0,y:0};let{edgeOffset:m}=e[a];m||(e[a].edgeOffset=m=U(u,this.container));const y=a0&&e[a-1];if(y&&!y.edgeOffset&&(y.edgeOffset=U(y.node,this.container)),d===this.index){t&&(this.sortableGhost=u,u.style.visibility="hidden",u.style.opacity="0");continue}s&&(u.style.transitionDuration=`${s}ms`),this._axis.x?this._axis.y?dthis.containerBoundingRect.width-l.width&&y&&(p.x=y.edgeOffset.left-m.left,p.y=y.edgeOffset.top-m.top),this.newIndex===null&&(this.newIndex=d)):d>this.index&&(i.left+n.left+l.width>=m.left&&i.top+n.top+l.height>=m.top||i.top+n.top+l.height>=m.top+c)&&(p.x=-(this.width+this.marginOffset.x),m.left+p.xthis.index&&i.left+n.left+l.width>=m.left?(p.x=-(this.width+this.marginOffset.x),this.newIndex=d):dthis.index&&i.top+n.top+l.height>=m.top?(p.y=-(this.height+this.marginOffset.y),this.newIndex=d):d=this.maxTranslate.y-this.height/2?(t.y=1,e.y=r.y*Math.abs((this.maxTranslate.y-this.height/2-s.y)/this.height)):s.x>=this.maxTranslate.x-this.width/2?(t.x=1,e.x=r.x*Math.abs((this.maxTranslate.x-this.width/2-s.x)/this.width)):s.y<=this.minTranslate.y+this.height/2?(t.y=-1,e.y=r.y*Math.abs((s.y-this.height/2-this.minTranslate.y)/this.height)):s.x<=this.minTranslate.x+this.width/2&&(t.x=-1,e.x=r.x*Math.abs((s.x-this.width/2-this.minTranslate.x)/this.width)),this.autoscrollInterval&&(clearInterval(this.autoscrollInterval),this.autoscrollInterval=null),(t.x!==0||t.y!==0)&&(this.autoscrollInterval=window.setInterval(()=>{const i={left:1*e.x*t.x,top:1*e.y*t.y};this.useWindowAsScrollContainer?this._window.scrollBy(i.left,i.top):(this.scrollContainer.scrollTop+=i.top,this.scrollContainer.scrollLeft+=i.left),this.translate.x+=i.left,this.translate.y+=i.top,this.animateNodes()},5))}}}),ss=F({name:"SlickItem",mixins:[oi],props:{tag:{type:String,default:"div"}},render(){var s,t;return K(this.tag,(t=(s=this.$slots).default)===null||t===void 0?void 0:t.call(s))}}),mi=F({name:"SlickList",mixins:[pi],props:{tag:{type:String,default:"div"},itemKey:{type:[String,Function],default:"id"}},render(){var s,t;return this.$slots.item?K(this.tag,this.list.map((e,r)=>{let i;if(e!=null){if(typeof this.itemKey=="function")i=this.itemKey(e);else if(typeof e=="object"&&Nt(e,this.itemKey)&&typeof e[this.itemKey]=="string")i=e[this.itemKey];else if(typeof e=="string")i=e;else throw new Error("Cannot find key for item, use the item-key prop and pass a function or string");return K(ss,{key:i,index:r},{default:()=>{var n,a;return(a=(n=this.$slots).item)===null||a===void 0?void 0:a.call(n,{item:e,index:r})}})}})):K(this.tag,(t=(s=this.$slots).default)===null||t===void 0?void 0:t.call(s))}}),gi=F({props:{tag:{type:String,default:"span"}},mounted(){this.$el.sortableHandle=!0},render(){var s,t;return K(this.tag,(t=(s=this.$slots).default)===null||t===void 0?void 0:t.call(s))}}),vi={key:0,d:"M30.336 12.547l-10.172-1.074L16 2.133l-4.164 9.34l-10.172 1.074l7.598 6.848L7.14 29.398L16 24.29l8.86 5.11l-2.122-10.004z",fill:"#ffaa00"},yi={key:1,d:"M16 2.125l-.906 2.063l-3.25 7.28l-7.938.845l-2.25.25l1.688 1.5l5.906 5.343l-1.656 7.813l-.469 2.187l1.969-1.125l6.906-4l6.906 4l1.969 1.125l-.469-2.187l-1.656-7.813l5.906-5.343l1.688-1.5l-2.25-.25l-7.938-.844l-3.25-7.281zm0 4.906l2.563 5.782l.25.53l.562.063l6.281.656l-4.687 4.22l-.438.405l.125.563l1.313 6.156l-5.469-3.125l-.5-.312l-.5.312l-5.469 3.125l1.313-6.156l.125-.563l-.438-.406l-4.687-4.218l6.281-.657l.563-.062l.25-.531z",fill:"#888888"},bi=F({__name:"SynthFav",props:{url:{type:String,default:""}},setup(s){const e=ls("fav:"+s.url,!1);function r(i){e.value=!e.value,console.log(e.value)}return(i,n)=>(x(),$("svg",{onClick:n[0]||(n[0]=ds(a=>r(s.url),["stop","prevent"])),xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32"},[_(e)?(x(),$("path",vi)):(x(),$("path",yi))]))}}),rs=s=>(fs("data-v-9a2748d8"),s=s(),ps(),s),wi=["src","alt"],_i=rs(()=>v("div",{class:"flex-1"},null,-1)),xi={class:"p-4 flex items-center justify-between w-full"},Ei={class:"text-md font-bold flex items-center gap-2 flex-1"},Si={class:"flex-1"},Ti=rs(()=>v("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32"},[v("path",{d:"M4 7v2h24V7zm0 8v2h24v-2zm0 8v2h24v-2z",fill:"#888888"})],-1)),Oi=F({__name:"SynthCard",props:{off:{type:Boolean,default:!1},title:{type:String,default:""},description:{type:String,default:""},img:{type:String,default:""},url:{type:String,default:""}},setup(s){const t=s,e=q(null);Pe(Te,async i=>{try{(await fetch("https://corsproxy.io/?"+t.url)).status==200?e.value=!0:e.value=!1}catch{e.value=!1}});function r(){t.off?tt.value=!tt.value:window.open(t.url,"_blank")}return(i,n)=>{const a=cs("ClientOnly");return x(),$("button",{class:"flex flex-col text-left relative min-h-50 card p-0 bg-light-300 shadow-lg flex flex-col dark-bg-dark-300 -hover-translate-y-2px transition hover-shadow-xl rounded-xl overflow-hidden relative",onClick:r},[(x(),$("img",{key:s.title,height:"200",width:"1000",src:`/img/${s.title.toLowerCase().split(" ").join("-")}.webp`,alt:`${s.title} illustration`},null,8,wi)),_i,v("div",xi,[v("div",Ei,[v("div",Si,At(s.title),1),_(Te)?(x(),$("div",{key:0,class:Le(["w-2 h-2 rounded-full shadow-inset",{"bg-green-500":e.value===!0,"bg-red-500":e.value===!1}])},null,2)):It("",!0),V(a,null,{default:D(()=>[V(bi,{class:"scale-70 w-10",url:s.url},null,8,["url"])]),_:1}),V(_(gi),{class:"scale-80 opacity-40 cursor-grab absolute top-2 right-2"},{default:D(()=>[Ti]),_:1})])])])}}});const $i=ms(Oi,[["__scopeId","data-v-9a2748d8"]]);const Ri={class:"mx-auto p-4 max-w-75ch dark-text-light-200 text-center line-height-loose text-md intro md-text-lg pt-16"},Ci={key:0,class:"p-2 flex flex-col mt-8"},ki={class:"text-4xl font-bold"},Ai=v("div",{class:"text-lg"},"web synths",-1),Ii={key:1,class:"p-2 flex flex-col mt-8"},Di={class:"text-4xl font-bold"},Pi=v("div",{class:"text-lg"},"web musicians",-1),Li={__name:"MainPage",setup(s){const t=q(ai);function e(u){return!Zt.value&&u>5}const r=q([]),i=De(()=>r.value.length),n=us(i),a=q(),o=hs(a);return gs(()=>{fetch("https://corsproxy.io/?https://db.chromatone.center/items/players?limit=-1").then(u=>u.json()).then(({data:u})=>r.value=u)}),(u,d)=>(x(),$(Jt,null,[V(_(mi),{class:"flex flex-wrap items-stretch gap-4 md-gap-6 m-2 lg-m-8",list:t.value,"onUpdate:list":d[0]||(d[0]=h=>t.value=h),axis:"xy","use-drag-handle":""},{default:D(()=>[(x(!0),$(Jt,null,vs(t.value,(h,c)=>(x(),Dt(_(ss),{class:"flex",style:{flex:"1 1 240px"},key:h.id,index:c},{default:D(()=>[(x(),Dt($i,{style:ys({opacity:e(c)?.8:1}),title:h.title,description:h.description,img:h.img,url:h.url,key:h.id,off:e(c)},null,8,["style","title","description","img","url","off"]))]),_:2},1032,["index"]))),128))]),_:1},8,["list"]),v("div",Ri,[it(u.$slots,"default"),v("div",{class:"flex justify-center",ref_key:"counters",ref:a},[_(o)?(x(),$("div",Ci,[v("div",ki,At(t.value.length),1),Ai])):It("",!0),_(o)&&i.value>0?(x(),$("div",Ii,[v("div",Di,At(_(n).toFixed())+"+",1),Pi])):It("",!0)],512)])],64))}};const Ni={class:"fixed z-200 min-h-50dvh bottom-0 right-0 left-0 bg-light-800 bg-opacity-80 backdrop-blur flex flex-col items-center gap-4 justify-start dark-bg-dark-200 dark-bg-opacity-80 p-8 shadow"},qi=v("path",{d:"M7.219 5.781L5.78 7.22L14.563 16L5.78 24.781L7.22 26.22L16 17.437l8.781 8.782l1.438-1.438L17.437 16l8.782-8.781L24.78 5.78L16 14.563z",fill:"#888888"},null,-1),Bi=[qi],Ui={class:"flex flex-col gap-8 relative pt-8"},Mi={class:"text-center max-w-45ch",for:"email"},Fi={class:"flex gap-4 flex-wrap md-flex-nowrap"},Hi=["disabled"],ji={class:"text-xs opacity-60 text-center max-w-45ch mx-auto"},Wi={__name:"TheForm",setup(s){return(t,e)=>(x(),Dt(Es,{name:"slide"},{default:D(()=>[Xt(v("div",Ni,[(x(),$("svg",{class:"absolute top-4 right-4 text-4xl cursor-pointer",onClick:e[0]||(e[0]=r=>tt.value=!1),xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 32 32"},Bi)),v("div",Ui,[v("label",Mi,[it(t.$slots,"default")]),v("div",Fi,[Xt(v("input",{class:"flex-1 p-2 md-p-4 rounded-xl bg-light-200 shadow-md dark-bg-dark-400 flex-1",ref:"target",style:{flex:"10 1 200px"},"onUpdate:modelValue":e[1]||(e[1]=r=>ws(Z)?Z.value=r:null),id:"email",name:"email",type:"email",onKeydown:e[2]||(e[2]=_s(r=>_(Se)(_(Z)),["enter"])),placeholder:"your@gmail.com"},null,544),[[xs,_(Z)]]),v("button",{class:Le(["text-sm md-text-md p-2 font-bold md-p-4 rounded-xl shadow-xl hover-shadow-2xl transition -hover-translate-y-2px active-translate-y-0 active-shadow-md bg-green-400 dark-bg-green-700",{"grayscale-50":!_(Ee)}]),onClick:e[3]||(e[3]=r=>_(Se)(_(Z))),disabled:!_(Ee),style:{flex:"1 1 400px"}},[it(t.$slots,"button",{},()=>[M("GET ACCESS")])],10,Hi)]),v("div",ji,[it(t.$slots,"notice",{},()=>[M("Your access status will be saved per device and you won't need to enter your e-mail again.")])])])],512),[[bs,_(tt)]])]),_:3}))}},zi=v("h2",{class:"text-lg font-bold"},"Welcome to our free web synth collection!",-1),Zi=v("p",null,[v("a",{href:"https://playtronica.com",target:"_blank",rel:"noopener"},"Playtronica"),M(" is a digital playground that explores the possibilities of the material world through technology, creating gadgets that make the world musical. "),v("a",{href:"https://chromatone.center",target:"_blank",rel:"noopener"},"Chromatone"),M(" is a visual language for music education, research, and performance. We share our passion for web-based music instruments. Welcome to the community!")],-1),Xi=JSON.parse('{"title":"Web synths","description":"Web synthesizers to play with MIDI controllers","frontmatter":{"title":"Web synths","description":"Web synthesizers to play with MIDI controllers","date":"2023-06-22T00:00:00.000Z","layout":"home"},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1690388893000}'),Vi={name:"index.md"},Ki=Object.assign(Vi,{setup(s){return(t,e)=>(x(),$("div",null,[V(Li,null,{default:D(()=>[zi,Zi]),_:1}),V(Wi,null,{button:D(()=>[M("GET FULL ACCESS")]),notice:D(()=>[M("Your access status will be saved per device and you won't need to enter your e-mail again.")]),default:D(()=>[M(" We are building a community of web-based musicians. Type in your e-mail to instantly get full access to the collection and occasionally receive community updates. ")]),_:1})]))}});export{Xi as __pageData,Ki as default}; +`),function(d){if(o=d.indexOf(":"),n=s.trim(d.substr(0,o)).toLowerCase(),a=s.trim(d.substr(o+1)),n){if(i[n]&&t.indexOf(n)>=0)return;n==="set-cookie"?i[n]=(i[n]?i[n]:[]).concat([a]):i[n]=i[n]?i[n]+", "+a:a}}),i},vt}var yt,ee;function ir(){if(ee)return yt;ee=1;var s=w;return yt=s.isStandardBrowserEnv()?function(){var e=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a"),i;function n(a){var o=a;return e&&(r.setAttribute("href",o),o=r.href),r.setAttribute("href",o),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:r.pathname.charAt(0)==="/"?r.pathname:"/"+r.pathname}}return i=n(window.location.href),function(o){var u=s.isString(o)?n(o):o;return u.protocol===i.protocol&&u.host===i.host}}():function(){return function(){return!0}}(),yt}var bt,se;function ut(){if(se)return bt;se=1;var s=X,t=w;function e(r){s.call(this,r??"canceled",s.ERR_CANCELED),this.name="CanceledError"}return t.inherits(e,s,{__CANCEL__:!0}),bt=e,bt}var wt,re;function nr(){return re||(re=1,wt=function(t){var e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}),wt}var _t,ie;function ne(){if(ie)return _t;ie=1;var s=w,t=Ks(),e=Ys(),r=Ue,i=ze,n=rr(),a=ir(),o=je,u=X,d=ut(),h=nr();return _t=function(l){return new Promise(function(m,y){var T=l.data,k=l.headers,A=l.responseType,I;function et(){l.cancelToken&&l.cancelToken.unsubscribe(I),l.signal&&l.signal.removeEventListener("abort",I)}s.isFormData(T)&&s.isStandardBrowserEnv()&&delete k["Content-Type"];var f=new XMLHttpRequest;if(l.auth){var is=l.auth.username||"",ns=l.auth.password?unescape(encodeURIComponent(l.auth.password)):"";k.Authorization="Basic "+btoa(is+":"+ns)}var ct=i(l.baseURL,l.url);f.open(l.method.toUpperCase(),r(ct,l.params,l.paramsSerializer),!0),f.timeout=l.timeout;function Vt(){if(f){var R="getAllResponseHeaders"in f?n(f.getAllResponseHeaders()):null,j=!A||A==="text"||A==="json"?f.responseText:f.response,B={data:j,status:f.status,statusText:f.statusText,headers:R,config:l,request:f};t(function(pt){m(pt),et()},function(pt){y(pt),et()},B),f=null}}if("onloadend"in f?f.onloadend=Vt:f.onreadystatechange=function(){!f||f.readyState!==4||f.status===0&&!(f.responseURL&&f.responseURL.indexOf("file:")===0)||setTimeout(Vt)},f.onabort=function(){f&&(y(new u("Request aborted",u.ECONNABORTED,l,f)),f=null)},f.onerror=function(){y(new u("Network Error",u.ERR_NETWORK,l,f,f)),f=null},f.ontimeout=function(){var j=l.timeout?"timeout of "+l.timeout+"ms exceeded":"timeout exceeded",B=l.transitional||o;l.timeoutErrorMessage&&(j=l.timeoutErrorMessage),y(new u(j,B.clarifyTimeoutError?u.ETIMEDOUT:u.ECONNABORTED,l,f)),f=null},s.isStandardBrowserEnv()){var Gt=(l.withCredentials||a(ct))&&l.xsrfCookieName?e.read(l.xsrfCookieName):void 0;Gt&&(k[l.xsrfHeaderName]=Gt)}"setRequestHeader"in f&&s.forEach(k,function(j,B){typeof T>"u"&&B.toLowerCase()==="content-type"?delete k[B]:f.setRequestHeader(B,j)}),s.isUndefined(l.withCredentials)||(f.withCredentials=!!l.withCredentials),A&&A!=="json"&&(f.responseType=l.responseType),typeof l.onDownloadProgress=="function"&&f.addEventListener("progress",l.onDownloadProgress),typeof l.onUploadProgress=="function"&&f.upload&&f.upload.addEventListener("progress",l.onUploadProgress),(l.cancelToken||l.signal)&&(I=function(R){f&&(y(!R||R&&R.type?new d:R),f.abort(),f=null)},l.cancelToken&&l.cancelToken.subscribe(I),l.signal&&(l.signal.aborted?I():l.signal.addEventListener("abort",I))),T||(T=null);var ft=h(ct);if(ft&&["http","https","file"].indexOf(ft)===-1){y(new u("Unsupported protocol "+ft+":",u.ERR_BAD_REQUEST,l));return}f.send(T)})},_t}var xt,ae;function ar(){return ae||(ae=1,xt=null),xt}var b=w,oe=Js,le=X,or=je,lr=We,ur={"Content-Type":"application/x-www-form-urlencoded"};function ue(s,t){!b.isUndefined(s)&&b.isUndefined(s["Content-Type"])&&(s["Content-Type"]=t)}function hr(){var s;return(typeof XMLHttpRequest<"u"||typeof process<"u"&&Object.prototype.toString.call(process)==="[object process]")&&(s=ne()),s}function dr(s,t,e){if(b.isString(s))try{return(t||JSON.parse)(s),b.trim(s)}catch(r){if(r.name!=="SyntaxError")throw r}return(e||JSON.stringify)(s)}var ht={transitional:or,adapter:hr(),transformRequest:[function(t,e){if(oe(e,"Accept"),oe(e,"Content-Type"),b.isFormData(t)||b.isArrayBuffer(t)||b.isBuffer(t)||b.isStream(t)||b.isFile(t)||b.isBlob(t))return t;if(b.isArrayBufferView(t))return t.buffer;if(b.isURLSearchParams(t))return ue(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString();var r=b.isObject(t),i=e&&e["Content-Type"],n;if((n=b.isFileList(t))||r&&i==="multipart/form-data"){var a=this.env&&this.env.FormData;return lr(n?{"files[]":t}:t,a&&new a)}else if(r||i==="application/json")return ue(e,"application/json"),dr(t);return t}],transformResponse:[function(t){var e=this.transitional||ht.transitional,r=e&&e.silentJSONParsing,i=e&&e.forcedJSONParsing,n=!r&&this.responseType==="json";if(n||i&&b.isString(t)&&t.length)try{return JSON.parse(t)}catch(a){if(n)throw a.name==="SyntaxError"?le.from(a,le.ERR_BAD_RESPONSE,this,null,this.response):a}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ar()},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};b.forEach(["delete","get","head"],function(t){ht.headers[t]={}});b.forEach(["post","put","patch"],function(t){ht.headers[t]=b.merge(ur)});var Wt=ht,cr=w,fr=Wt,pr=function(t,e,r){var i=this||fr;return cr.forEach(r,function(a){t=a.call(i,t,e)}),t},Et,he;function Ze(){return he||(he=1,Et=function(t){return!!(t&&t.__CANCEL__)}),Et}var de=w,St=pr,mr=Ze(),gr=Wt,vr=ut();function Tt(s){if(s.cancelToken&&s.cancelToken.throwIfRequested(),s.signal&&s.signal.aborted)throw new vr}var yr=function(t){Tt(t),t.headers=t.headers||{},t.data=St.call(t,t.data,t.headers,t.transformRequest),t.headers=de.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),de.forEach(["delete","get","head","post","put","patch","common"],function(i){delete t.headers[i]});var e=t.adapter||gr.adapter;return e(t).then(function(i){return Tt(t),i.data=St.call(t,i.data,i.headers,t.transformResponse),i},function(i){return mr(i)||(Tt(t),i&&i.response&&(i.response.data=St.call(t,i.response.data,i.response.headers,t.transformResponse))),Promise.reject(i)})},O=w,Ve=function(t,e){e=e||{};var r={};function i(h,c){return O.isPlainObject(h)&&O.isPlainObject(c)?O.merge(h,c):O.isPlainObject(c)?O.merge({},c):O.isArray(c)?c.slice():c}function n(h){if(O.isUndefined(e[h])){if(!O.isUndefined(t[h]))return i(void 0,t[h])}else return i(t[h],e[h])}function a(h){if(!O.isUndefined(e[h]))return i(void 0,e[h])}function o(h){if(O.isUndefined(e[h])){if(!O.isUndefined(t[h]))return i(void 0,t[h])}else return i(void 0,e[h])}function u(h){if(h in e)return i(t[h],e[h]);if(h in t)return i(void 0,t[h])}var d={url:a,method:a,data:a,baseURL:o,transformRequest:o,transformResponse:o,paramsSerializer:o,timeout:o,timeoutMessage:o,withCredentials:o,adapter:o,responseType:o,xsrfCookieName:o,xsrfHeaderName:o,onUploadProgress:o,onDownloadProgress:o,decompress:o,maxContentLength:o,maxBodyLength:o,beforeRedirect:o,transport:o,httpAgent:o,httpsAgent:o,cancelToken:o,socketPath:o,responseEncoding:o,validateStatus:u};return O.forEach(Object.keys(t).concat(Object.keys(e)),function(c){var l=d[c]||n,p=l(c);O.isUndefined(p)&&l!==u||(r[c]=p)}),r},Ot,ce;function Ge(){return ce||(ce=1,Ot={version:"0.27.2"}),Ot}var br=Ge().version,N=X,zt={};["object","boolean","number","function","string","symbol"].forEach(function(s,t){zt[s]=function(r){return typeof r===s||"a"+(t<1?"n ":" ")+s}});var fe={};zt.transitional=function(t,e,r){function i(n,a){return"[Axios v"+br+"] Transitional option '"+n+"'"+a+(r?". "+r:"")}return function(n,a,o){if(t===!1)throw new N(i(a," has been removed"+(e?" in "+e:"")),N.ERR_DEPRECATED);return e&&!fe[a]&&(fe[a]=!0,console.warn(i(a," has been deprecated since v"+e+" and will be removed in the near future"))),t?t(n,a,o):!0}};function wr(s,t,e){if(typeof s!="object")throw new N("options must be an object",N.ERR_BAD_OPTION_VALUE);for(var r=Object.keys(s),i=r.length;i-- >0;){var n=r[i],a=t[n];if(a){var o=s[n],u=o===void 0||a(o,n,s);if(u!==!0)throw new N("option "+n+" must be "+u,N.ERR_BAD_OPTION_VALUE);continue}if(e!==!0)throw new N("Unknown option "+n,N.ERR_BAD_OPTION)}}var _r={assertOptions:wr,validators:zt},Je=w,xr=Ue,pe=Vs,me=yr,dt=Ve,Er=ze,Xe=_r,z=Xe.validators;function J(s){this.defaults=s,this.interceptors={request:new pe,response:new pe}}J.prototype.request=function(t,e){typeof t=="string"?(e=e||{},e.url=t):e=t||{},e=dt(this.defaults,e),e.method?e.method=e.method.toLowerCase():this.defaults.method?e.method=this.defaults.method.toLowerCase():e.method="get";var r=e.transitional;r!==void 0&&Xe.assertOptions(r,{silentJSONParsing:z.transitional(z.boolean),forcedJSONParsing:z.transitional(z.boolean),clarifyTimeoutError:z.transitional(z.boolean)},!1);var i=[],n=!0;this.interceptors.request.forEach(function(p){typeof p.runWhen=="function"&&p.runWhen(e)===!1||(n=n&&p.synchronous,i.unshift(p.fulfilled,p.rejected))});var a=[];this.interceptors.response.forEach(function(p){a.push(p.fulfilled,p.rejected)});var o;if(!n){var u=[me,void 0];for(Array.prototype.unshift.apply(u,i),u=u.concat(a),o=Promise.resolve(e);u.length;)o=o.then(u.shift(),u.shift());return o}for(var d=e;i.length;){var h=i.shift(),c=i.shift();try{d=h(d)}catch(l){c(l);break}}try{o=me(d)}catch(l){return Promise.reject(l)}for(;a.length;)o=o.then(a.shift(),a.shift());return o};J.prototype.getUri=function(t){t=dt(this.defaults,t);var e=Er(t.baseURL,t.url);return xr(e,t.params,t.paramsSerializer)};Je.forEach(["delete","get","head","options"],function(t){J.prototype[t]=function(e,r){return this.request(dt(r||{},{method:t,url:e,data:(r||{}).data}))}});Je.forEach(["post","put","patch"],function(t){function e(r){return function(n,a,o){return this.request(dt(o||{},{method:t,headers:r?{"Content-Type":"multipart/form-data"}:{},url:n,data:a}))}}J.prototype[t]=e(),J.prototype[t+"Form"]=e(!0)});var Sr=J,$t,ge;function Tr(){if(ge)return $t;ge=1;var s=ut();function t(e){if(typeof e!="function")throw new TypeError("executor must be a function.");var r;this.promise=new Promise(function(a){r=a});var i=this;this.promise.then(function(n){if(i._listeners){var a,o=i._listeners.length;for(a=0;a"u"?"json":"cookie"}}var _e;(function(s){s.TOTAL_COUNT="total_count",s.FILTER_COUNT="filter_count"})(_e||(_e={}));class g extends Error{constructor(t){super(`${t??"ID"} cannot be an empty string`)}}class P{constructor(t,e){this.collection=t,this.transport=e,this.endpoint=t.startsWith("directus_")?`/${t.substring(9)}`:`/items/${t}`}async readOne(t,e,r){if(`${t}`=="")throw new g("id");return(await this.transport.get(`${this.endpoint}/${encodeURI(t)}`,{params:e,...r==null?void 0:r.requestOptions})).data}async readMany(t,e,r){var i;const a=(i=(await this.transport.get(`/fields/${this.collection}`)).data)===null||i===void 0?void 0:i.find(d=>d.schema.is_primary_key===!0),{data:o,meta:u}=await this.transport.get(`${this.endpoint}`,{params:{...e,filter:{[a.field]:{_in:t},...e==null?void 0:e.filter},sort:(e==null?void 0:e.sort)||a.field},...r==null?void 0:r.requestOptions});return{data:o,...u&&{meta:u}}}async readByQuery(t,e){const{data:r,meta:i}=await this.transport.get(`${this.endpoint}`,{params:t,...e==null?void 0:e.requestOptions});return{data:r,...i&&{meta:i}}}async createOne(t,e,r){return(await this.transport.post(`${this.endpoint}`,t,{params:e,...r==null?void 0:r.requestOptions})).data}async createMany(t,e,r){return await this.transport.post(`${this.endpoint}`,t,{params:e,...r==null?void 0:r.requestOptions})}async updateOne(t,e,r,i){if(`${t}`=="")throw new g("id");return(await this.transport.patch(`${this.endpoint}/${encodeURI(t)}`,e,{params:r,...i==null?void 0:i.requestOptions})).data}async updateMany(t,e,r,i){return await this.transport.patch(`${this.endpoint}`,{keys:t,data:e},{params:r,...i==null?void 0:i.requestOptions})}async updateBatch(t,e,r){return await this.transport.patch(`${this.endpoint}`,t,{params:e,...r==null?void 0:r.requestOptions})}async updateByQuery(t,e,r,i){return await this.transport.patch(`${this.endpoint}`,{query:t,data:e},{params:r,...i==null?void 0:i.requestOptions})}async deleteOne(t,e){if(`${t}`=="")throw new g("id");await this.transport.delete(`${this.endpoint}/${encodeURI(t)}`,void 0,e==null?void 0:e.requestOptions)}async deleteMany(t,e){await this.transport.delete(`${this.endpoint}`,t,e==null?void 0:e.requestOptions)}}class Dr{constructor(t){this.transport=t}async create(t){return(await this.transport.post("/activity/comment",t)).data}async update(t,e){if(`${t}`=="")throw new g("comment_activity_id");return(await this.transport.patch(`/activity/comment/${encodeURI(t)}`,{comment:e})).data}async delete(t){if(`${t}`=="")throw new g("comment_activity_id");await this.transport.delete(`/activity/comment/${encodeURI(t)}`)}}class Pr extends P{constructor(t){super("directus_activity",t),this._comments=new Dr(this.transport)}get comments(){return this._comments}}class Lr{constructor(t){this.transport=t}async readOne(t){if(`${t}`=="")throw new g("id");return(await this.transport.get(`/assets/${t}`,{responseType:"stream"})).raw}}class Nr{constructor(t){this.transport=t}async readOne(t){if(`${t}`=="")throw new g("collection");return(await this.transport.get(`/collections/${t}`)).data}async readAll(){const{data:t,meta:e}=await this.transport.get("/collections");return{data:t,meta:e}}async createOne(t){return(await this.transport.post("/collections",t)).data}async createMany(t){const{data:e,meta:r}=await this.transport.post("/collections",t);return{data:e,meta:r}}async updateOne(t,e,r){if(`${t}`=="")throw new g("collection");return(await this.transport.patch(`/collections/${t}`,e,{params:r})).data}async deleteOne(t){if(`${t}`=="")throw new g("collection");await this.transport.delete(`/collections/${t}`)}}class qr{constructor(t){this.transport=t}async readOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("id");return(await this.transport.get(`/fields/${t}/${e}`)).data}async readMany(t){if(`${t}`=="")throw new g("collection");return{data:(await this.transport.get(`/fields/${t}`)).data,meta:void 0}}async readAll(){return{data:(await this.transport.get("/fields")).data,meta:void 0}}async createOne(t,e){if(`${t}`=="")throw new g("collection");return(await this.transport.post(`/fields/${t}`,e)).data}async updateOne(t,e,r){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");return(await this.transport.patch(`/fields/${t}/${e}`,r)).data}async deleteOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");await this.transport.delete(`/fields/${t}/${e}`)}}class Br extends P{constructor(t){super("directus_files",t)}async import(t){return(await this.transport.post("/files/import",t)).data}}class Ur extends P{constructor(t){super("directus_folders",t)}}class Mr extends P{constructor(t){super("directus_permissions",t)}}class Fr extends P{constructor(t){super("directus_presets",t)}}class Hr{constructor(t){this.transport=t}async readOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("id");return(await this.transport.get(`/relations/${t}/${e}`)).data}async readMany(t){if(`${t}`=="")throw new g("collection");return(await this.transport.get(`/relations/${t}`)).data}async readAll(){return(await this.transport.get("/relations")).data}async createOne(t){return(await this.transport.post("/relations",t)).data}async updateOne(t,e,r){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");return(await this.transport.patch(`/relations/${t}/${e}`,r)).data}async deleteOne(t,e){if(`${t}`=="")throw new g("collection");if(`${e}`=="")throw new g("field");await this.transport.delete(`/relations/${t}/${e}`)}}class jr extends P{constructor(t){super("directus_revisions",t)}}class Wr extends P{constructor(t){super("directus_roles",t)}}class zr{constructor(t){this.transport=t}async ping(){return(await this.transport.get("/server/ping")).raw}async info(){return(await this.transport.get("/server/info")).data}async oas(){return(await this.transport.get("/server/specs/oas")).raw}}class Qe{constructor(t,e){this.collection=t,this.transport=e,this.endpoint=t.startsWith("directus_")?`/${t.substring(9)}`:`/items/${t}`}async read(t){return(await this.transport.get(`${this.endpoint}`,{params:t})).data}async update(t,e){return(await this.transport.patch(`${this.endpoint}`,t,{params:e})).data}}class Zr extends Qe{constructor(t){super("directus_settings",t)}}class Vr{constructor(t){this.transport=t}async send(t,e,r){await this.transport.post("/users/invite",{email:t,role:e,invite_url:r})}async accept(t,e){await this.transport.post("/users/invite/accept",{token:t,password:e})}}class Gr{constructor(t){this.transport=t}async generate(t){return(await this.transport.post("/users/me/tfa/generate",{password:t})).data}async enable(t,e){await this.transport.post("/users/me/tfa/enable",{secret:t,otp:e})}async disable(t){await this.transport.post("/users/me/tfa/disable",{otp:t})}}class Jr{constructor(t){this._transport=t}get tfa(){return this._tfa||(this._tfa=new Gr(this._transport))}async read(t){return(await this._transport.get("/users/me",{params:t})).data}async update(t,e){return(await this._transport.patch("/users/me",t,{params:e})).data}}class Xr extends P{constructor(t){super("directus_users",t)}get invites(){return this._invites||(this._invites=new Vr(this.transport))}get me(){return this._me||(this._me=new Jr(this.transport))}}class Kr{constructor(t){this.random={string:async(e=32)=>(await this.transport.get("/utils/random/string",{params:{length:e}})).data},this.hash={generate:async e=>(await this.transport.post("/utils/hash/generate",{string:e})).data,verify:async(e,r)=>(await this.transport.post("/utils/hash/verify",{string:e,hash:r})).data},this.transport=t}async sort(t,e,r){await this.transport.post(`/utils/sort/${encodeURI(t)}`,{item:e,to:r})}async revert(t){await this.transport.post(`/utils/revert/${encodeURI(t)}`)}}class ts{}class Lt{}class Y extends Error{constructor(t,e){var r,i;!((r=e==null?void 0:e.errors)===null||r===void 0)&&r.length?super((i=e==null?void 0:e.errors[0])===null||i===void 0?void 0:i.message):super((t==null?void 0:t.message)||"Unknown transport error"),this.parent=t,this.response=e,this.errors=(e==null?void 0:e.errors)||[],Object.values(e||{}).some(n=>n!==void 0)||(this.response=void 0),Object.setPrototypeOf(this,Y.prototype)}}var E;(function(s){s.AuthToken="auth_token",s.RefreshToken="auth_refresh_token",s.Expires="auth_expires",s.ExpiresAt="auth_expires_at"})(E||(E={}));class es extends ts{constructor(t){var e;super(),this.prefix=(e=t==null?void 0:t.prefix)!==null&&e!==void 0?e:""}get auth_token(){return this.get(E.AuthToken)}set auth_token(t){t===null?this.delete(E.AuthToken):this.set(E.AuthToken,t)}get auth_expires(){const t=this.get(E.Expires);return t===null?null:parseInt(t)}set auth_expires(t){t===null?this.delete(E.Expires):this.set(E.Expires,t.toString())}get auth_expires_at(){const t=this.get(E.ExpiresAt);return t===null?null:parseInt(t)}set auth_expires_at(t){t===null?this.delete(E.ExpiresAt):this.set(E.ExpiresAt,t.toString())}get auth_refresh_token(){return this.get(E.RefreshToken)}set auth_refresh_token(t){t===null?this.delete(E.RefreshToken):this.set(E.RefreshToken,t)}}class Yr extends es{constructor(){super(...arguments),this.values={}}get(t){const e=this.key(t);return e in this.values?this.values[e]:null}set(t,e){return this.values[this.key(t)]=e,e}delete(t){const e=this.get(t);return delete this.values[this.key(t)],e}key(t){return`${this.prefix}${t}`}}class Qr extends es{get(t){const e=localStorage.getItem(this.key(t));return e!==null?e:null}set(t,e){return localStorage.setItem(this.key(t),e),e}delete(t){const e=this.get(t);return localStorage.removeItem(this.key(t)),e}key(t){return`${this.prefix}${t}`}}class ti extends Lt{constructor(t){var e;super(),this.config=t,this.axios=we.create({baseURL:this.config.url,params:this.config.params,headers:this.config.headers,onUploadProgress:this.config.onUploadProgress,maxBodyLength:this.config.maxBodyLength,maxContentLength:this.config.maxContentLength,withCredentials:!0}),!((e=this.config)===null||e===void 0)&&e.beforeRequest&&(this.beforeRequest=this.config.beforeRequest)}async beforeRequest(t){return t}get url(){return this.config.url}async request(t,e,r,i){var n,a,o,u,d;try{let h={method:t,url:e,data:r,params:i==null?void 0:i.params,headers:i==null?void 0:i.headers,responseType:i==null?void 0:i.responseType,onUploadProgress:i==null?void 0:i.onUploadProgress};h=await this.beforeRequest(h);const c=await this.axios.request(h),l={raw:c.data,status:c.status,statusText:c.statusText,headers:c.headers,data:c.data.data,meta:c.data.meta,errors:c.data.errors};if(c.data.errors)throw new Y(null,l);return l}catch(h){if(!h||!(h instanceof Error))throw h;if(we.isAxiosError(h)){const c=(n=h.response)===null||n===void 0?void 0:n.data;throw new Y(h,{raw:(a=h.response)===null||a===void 0?void 0:a.data,status:(o=h.response)===null||o===void 0?void 0:o.status,statusText:(u=h.response)===null||u===void 0?void 0:u.statusText,headers:(d=h.response)===null||d===void 0?void 0:d.headers,data:c==null?void 0:c.data,meta:c==null?void 0:c.meta,errors:c==null?void 0:c.errors})}throw new Y(h)}}async get(t,e){return await this.request("get",t,void 0,e)}async head(t,e){return await this.request("head",t,void 0,e)}async options(t,e){return await this.request("options",t,void 0,e)}async delete(t,e,r){return await this.request("delete",t,e,r)}async put(t,e,r){return await this.request("put",t,e,r)}async post(t,e,r){return await this.request("post",t,e,r)}async patch(t,e,r){return await this.request("patch",t,e,r)}}class ei{constructor(t){this.transport=t}async request(t,e){await this.transport.post("/auth/password/request",{email:t,reset_url:e})}async reset(t,e){await this.transport.post("/auth/password/reset",{token:t,password:e})}}class si extends Ye{constructor(t){var e,r,i;super(),this.autoRefresh=!0,this.msRefreshBeforeExpires=3e4,this.staticToken="",this._transport=t.transport,this._storage=t.storage,this.autoRefresh=(e=t==null?void 0:t.autoRefresh)!==null&&e!==void 0?e:this.autoRefresh,this.mode=(r=t==null?void 0:t.mode)!==null&&r!==void 0?r:this.mode,this.msRefreshBeforeExpires=(i=t==null?void 0:t.msRefreshBeforeExpires)!==null&&i!==void 0?i:this.msRefreshBeforeExpires,t!=null&&t.staticToken&&(this.staticToken=t==null?void 0:t.staticToken,this.updateStorage({access_token:this.staticToken,expires:null,refresh_token:null}))}get storage(){return this._storage}get transport(){return this._transport}get token(){return(async()=>{if(this._refreshPromise)try{await this._refreshPromise}finally{this._refreshPromise=void 0}return this._storage.auth_token})()}get password(){return this.passwords=this.passwords||new ei(this._transport)}resetStorage(){this._storage.auth_token=null,this._storage.auth_refresh_token=null,this._storage.auth_expires=null,this._storage.auth_expires_at=null}updateStorage(t){var e,r;const i=(e=t.expires)!==null&&e!==void 0?e:null;this._storage.auth_token=t.access_token,this._storage.auth_refresh_token=(r=t.refresh_token)!==null&&r!==void 0?r:null,this._storage.auth_expires=i,this._storage.auth_expires_at=new Date().getTime()+(i??0)}async refreshIfExpired(){if(!this.staticToken&&this.autoRefresh){if(!this._storage.auth_expires_at){try{await this._refreshPromise}finally{this._refreshPromise=void 0}return}this._storage.auth_expires_at{var e;const r=this._storage.auth_refresh_token;this.resetStorage();const i=await this._transport.post("/auth/refresh",{refresh_token:this.mode==="json"?r:void 0});return this.updateStorage(i.data),{access_token:i.data.access_token,...((e=i.data)===null||e===void 0?void 0:e.refresh_token)&&{refresh_token:i.data.refresh_token},expires:i.data.expires}};return this._refreshPromise=t()}async login(t){var e;this.resetStorage();const r=await this._transport.post("/auth/login",{mode:this.mode,...t},{headers:{Authorization:null}});return this.updateStorage(r.data),{access_token:r.data.access_token,...((e=r.data)===null||e===void 0?void 0:e.refresh_token)&&{refresh_token:r.data.refresh_token},expires:r.data.expires}}async static(t){return this.staticToken||(this.staticToken=t),await this._transport.get("/users/me",{params:{access_token:t},headers:{Authorization:null}}),this.updateStorage({access_token:t,expires:null,refresh_token:null}),!0}async logout(){let t;this.mode==="json"&&(t=this._storage.auth_refresh_token||void 0),await this._transport.post("/auth/logout",{refresh_token:t}),this.updateStorage({access_token:null,expires:null,refresh_token:null})}}class ri{constructor(t){this.transport=t}async request(t,e,r){return await this.transport.post(t,{query:e,variables:typeof r>"u"?{}:r})}async items(t,e){return await this.request("/graphql",t,e)}async system(t,e){return await this.request("/graphql/system",t,e)}}class ii{constructor(t,e){var r,i,n,a,o,u,d,h,c;if(this._url=t,this._options=e,this._items={},this._singletons={},!((r=this._options)===null||r===void 0)&&r.storage&&((i=this._options)===null||i===void 0?void 0:i.storage)instanceof ts)this._storage=this._options.storage;else{const l=(n=this._options)===null||n===void 0?void 0:n.storage,{mode:p,...m}=l??{};p==="MemoryStorage"||typeof window>"u"?this._storage=new Yr(m):this._storage=new Qr(m)}!((a=this._options)===null||a===void 0)&&a.transport&&((o=this._options)===null||o===void 0?void 0:o.transport)instanceof Lt?this._transport=this._options.transport:this._transport=new ti({url:this.url,...(u=this._options)===null||u===void 0?void 0:u.transport,beforeRequest:async l=>{var p,m,y,T,k,A;this._url.indexOf("/auth/refresh")===-1&&((p=l.method)===null||p===void 0?void 0:p.toLowerCase())!=="post"&&await this._auth.refreshIfExpired();const I=this.storage.auth_token,et=I?I.startsWith("Bearer ")?String(this.storage.auth_token):`Bearer ${this.storage.auth_token}`:"",f={...l,headers:{Authorization:et,...l.headers}};return!(((m=this._options)===null||m===void 0?void 0:m.transport)instanceof Lt)&&(!((T=(y=this._options)===null||y===void 0?void 0:y.transport)===null||T===void 0)&&T.beforeRequest)?(A=(k=this._options)===null||k===void 0?void 0:k.transport)===null||A===void 0?void 0:A.beforeRequest(f):f}}),!((d=this._options)===null||d===void 0)&&d.auth&&((h=this._options)===null||h===void 0?void 0:h.auth)instanceof Ye?this._auth=this._options.auth:this._auth=new si({transport:this._transport,storage:this._storage,...(c=this._options)===null||c===void 0?void 0:c.auth})}get url(){return this._url}get auth(){return this._auth}get storage(){return this._storage}get transport(){return this._transport}get assets(){return this._assets||(this._assets=new Lr(this.transport))}get activity(){return this._activity||(this._activity=new Pr(this.transport))}get collections(){return this._collections||(this._collections=new Nr(this.transport))}get fields(){return this._fields||(this._fields=new qr(this.transport))}get files(){return this._files||(this._files=new Br(this.transport))}get folders(){return this._folders||(this._folders=new Ur(this.transport))}get permissions(){return this._permissions||(this._permissions=new Mr(this.transport))}get presets(){return this._presets||(this._presets=new Fr(this.transport))}get relations(){return this._relations||(this._relations=new Hr(this.transport))}get revisions(){return this._revisions||(this._revisions=new jr(this.transport))}get roles(){return this._roles||(this._roles=new Wr(this.transport))}get users(){return this._users||(this._users=new Xr(this.transport))}get settings(){return this._settings||(this._settings=new Zr(this.transport))}get server(){return this._server||(this._server=new zr(this.transport))}get utils(){return this._utils||(this._utils=new Kr(this.transport))}get graphql(){return this._graphql||(this._graphql=new ri(this.transport))}singleton(t){return this._singletons[t]||(this._singletons[t]=new Qe(t,this.transport))}items(t){return this._items[t]||(this._items[t]=new P(t,this.transport))}}const ni=new ii("https://db.chromatone.center"),Zt=os("access-granted",!1),xe=q(!1),Z=q(""),Ee=De(()=>/^[^@]+@\w+(\.\w+)+\w$/.test(Z.value));async function Se(s){const t={email:s};if(Zt.value=s,!xe.value){xe.value=!0;try{await ni.items("players").createOne(t)}catch(e){console.error(e)}}}const tt=q(!1);Pe(Zt,s=>{s&&(tt.value=!1)});const Te=q(!1),ai=JSON.parse('[{"id":1,"status":"published","sort":1,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T05:12:51.578Z","title":"Dotpiano","url":"https://dotpiano.com/","content":null,"img":"a55e9913-8d15-486d-9ab1-d4fe8c7fb5bf","category":null},{"id":3,"status":"published","sort":3,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T05:58:12.456Z","title":"TouchME by Chromatone","url":"https://touchme.chromatone.center/","content":null,"img":"67191ff8-1f6b-4ffb-9885-b0598c600981","category":null},{"id":14,"status":"published","sort":4,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:16:13.331Z","title":"Juno-106","url":"http://juno-106.js.org/","content":null,"img":"45297e84-6b42-446b-8a56-024ff46542b7","category":null},{"id":26,"status":"published","sort":5,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:26:42.487Z","title":"Learning synths with Ableton","url":"https://learningsynths.ableton.com/","content":null,"img":"110d33fe-8c5f-4502-aaf9-6458f2119d33","category":3},{"id":30,"status":"published","sort":5,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-30T02:33:18.609Z","title":"DX7 Synth","url":"https://mmontag.github.io/dx7-synth-js/","content":null,"img":"33b1ee5c-77f0-4fb7-86ef-d8687532688b","category":2},{"id":32,"status":"published","sort":5,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-31T08:49:56.166Z","title":"Sampler synth","url":"https://play.playtronica.com/","content":null,"img":"d7b750b3-2206-46fe-a2df-d7da6b8faccd","category":null},{"id":10,"status":"published","sort":6,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:14:42.904Z","title":"Websynths","url":"http://websynths.com/","content":null,"img":"2fd87e78-0cad-44b7-bf02-44deaf12deaa","category":null},{"id":19,"status":"published","sort":6,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:23:26.708Z","title":"Theremin","url":"https://www.femurdesign.com/theremin/","content":null,"img":"1fb860e8-199e-4cd2-98f0-a718e8a6378d","category":null},{"id":22,"status":"published","sort":7,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:24:55.478Z","title":"Disco-computer","url":"http://www.disco-computer.com/synthesizer/synth.html","content":null,"img":"fd019ff3-512a-49b9-923d-a899e50938d5","category":null},{"id":29,"status":"published","sort":8,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-20T09:19:52.499Z","title":"Elementary synth","url":"https://chromatone.center/practice/midi/synth/","content":null,"img":"e204f6f4-2534-4587-93c9-1f3ad11de771","category":3},{"id":31,"status":"published","sort":12,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-07-31T05:38:18.890Z","title":"Video Sampler","url":"https://seeing-sound.netlify.app/","content":null,"img":"24b816fc-b3bd-4b76-9e15-1765bec844ce","category":3},{"id":27,"status":"published","sort":14,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:27:18.081Z","title":"Viktor NV-1","url":"http://nicroto.github.io/viktor/","content":null,"img":"47059c44-1e73-4578-bd8d-2a85676d6a6c","category":null},{"id":17,"status":"published","sort":30,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:17:26.088Z","title":"Sound Trap","url":"https://www.soundtrap.com/","content":null,"img":"73e783f3-84b7-430d-9a89-b1ee2fe69050","category":1},{"id":6,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:11:50.949Z","title":"MIDI–driven Web Audio","url":"https://webaudiodemos.appspot.com/midi-synth/index.html","content":null,"img":"aa8959b0-e5af-4055-8d65-276c42135c9b","category":null},{"id":8,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:13:23.936Z","title":"Meet the Heisenberg","url":"https://www.audiotool.com/product/device/heisenberg/","content":null,"img":"31b1a269-323a-4afe-8262-fd6ff566b136","category":null},{"id":9,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:13:45.798Z","title":"Cardboard Synth","url":"https://www.gsn-lib.org/apps/cardboardsynth/index.html","content":null,"img":"a737a01c-d552-44d4-ae6f-736b967333b9","category":null},{"id":11,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:15:04.832Z","title":"Tanguy synth","url":"http://tanguysynth.com/","content":null,"img":"cf55e3e1-0b91-4e0c-b97d-d392e242736c","category":null},{"id":12,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:15:25.991Z","title":"MOD synth","url":"http://mod-synth.io/","content":null,"img":"724e5054-3e1e-4ed7-b2e0-09fa78358f2d","category":null},{"id":13,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:15:53.105Z","title":"OLIF SY1K","url":"http://perso.numericable.fr/olivier.friker/synth/O3-synth%20V1.3.html","content":null,"img":"353b4bea-4458-4f7d-ab2d-e8cb3927fd2b","category":null},{"id":15,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:16:31.831Z","title":"Note Sculptor","url":"http://www.noisesculptor.com/","content":null,"img":"d2d23b94-d822-4e9e-9632-e57b96f66213","category":null},{"id":16,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:17:03.314Z","title":"WebAudioSynth V2","url":"http://aikelab.net/websynthv2/","content":null,"img":"c1192dc4-38a5-45af-9087-165478fffbc4","category":2},{"id":18,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:17:47.206Z","title":"Samplestich","url":"http://samplestitch.com.s3-website-us-east-1.amazonaws.com/","content":null,"img":"fc617933-8038-46bc-a71c-794cce369003","category":3},{"id":20,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:23:49.043Z","title":"Omni","url":"https://femurdesign.com/omni/","content":null,"img":"4329ecec-c6bd-4892-bc5d-1c60ebf85db6","category":null},{"id":21,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:24:10.192Z","title":"Web Modular","url":"https://www.g200kg.com/docs/webmodular/","content":null,"img":"ab06d1f0-0962-469c-9173-1d1b0c323da4","category":null},{"id":23,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:25:24.249Z","title":"Online sequencer","url":"https://onlinesequencer.net/369477","content":null,"img":"dfe830f4-6fc9-4c70-9355-266066d57e84","category":null},{"id":24,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:25:54.765Z","title":"PixelSynth","url":"https://ojack.github.io/PIXELSYNTH/","content":null,"img":"57a70c4c-a745-4d76-acc1-f60605b2e620","category":null},{"id":25,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:26:19.769Z","title":"Acid Machine 2","url":"http://errozero.co.uk/acid-machine/","content":null,"img":"006c8dc8-29f6-4451-ae69-4d4e14b69fc1","category":null},{"id":28,"status":"published","sort":null,"user_created":"b95c3af3-aa5f-454a-aaa2-dbaebb85c54c","date_created":"2023-06-27T08:27:38.864Z","title":"WebSID Commodore 64","url":"http://www.igorski.nl/experiment/websid","content":null,"img":"0c43f116-2478-4306-af3c-afd5a869b7a3","category":null}]'),oi=F({inject:["manager"],props:{index:{type:Number,required:!0},disabled:{type:Boolean,default:!1}},data(){return{}},watch:{index(s){this.$el&&this.$el.sortableInfo&&(this.$el.sortableInfo.index=s)},disabled(s){s?this.removeDraggable():this.setDraggable(this.index)}},mounted(){const{disabled:s,index:t}=this.$props;s||this.setDraggable(t)},beforeUnmount(){this.disabled||this.removeDraggable()},methods:{setDraggable(s){const t=this.$el;t.sortableInfo={index:s,manager:this.manager},this.ref={node:t},this.manager.add(this.ref)},removeDraggable(){this.manager.remove(this.ref)}}});class li{constructor(){this.refs=[],this.active=null}add(t){this.refs||(this.refs=[]),this.refs.push(t)}remove(t){const e=this.getIndex(t);e!==-1&&this.refs.splice(e,1)}isActive(){return!!this.active}getActive(){return this.refs.find(({node:t})=>{var e,r;return((e=t==null?void 0:t.sortableInfo)===null||e===void 0?void 0:e.index)==((r=this===null||this===void 0?void 0:this.active)===null||r===void 0?void 0:r.index)})||null}getIndex(t){return this.refs.indexOf(t)}getRefs(){return this.refs}getOrderedRefs(){return this.refs.sort((t,e)=>t.node.sortableInfo.index-e.node.sortableInfo.index)}}const Q=s=>s.touches!=null;function Nt(s,t){return!!s&&Object.prototype.hasOwnProperty.call(s,t)}function ui(s,t,e){const r=s.slice(0);if(e>=r.length){let i=e-r.length;for(;i--+1;)r.push(void 0)}return r.splice(e,0,r.splice(t,1)[0]),r}function hi(s,t){const e=s.slice(0);return t>=e.length||e.splice(t,1),e}function di(s,t,e){const r=s.slice(0);return t===r.length?r.push(e):r.splice(t,0,e),r}const L={start:["touchstart","mousedown"],move:["touchmove","mousemove"],end:["touchend","mouseup"],cancel:["touchcancel","keyup"]};function Oe(s,t){for(;s;){if(t(s))return s;s=s.parentNode}}function $e(s,t,e){return et?t:e}function st(s){return s.substr(-2)==="px"?parseFloat(s):0}function Re(s){const t=window.getComputedStyle(s);return{top:st(t.marginTop),right:st(t.marginRight),bottom:st(t.marginBottom),left:st(t.marginLeft)}}function rt(s,t="page"){const e=`${t}X`,r=`${t}Y`;return{x:Q(s)?s.touches[0][e]:s[e],y:Q(s)?s.touches[0][r]:s[r]}}function Ce(s){const t=[s];for(;s;s=s.offsetParent)t.unshift(s);return t}function ci(s,t){const e=Ce(s),r=Ce(t);if(e[0]!=r[0])throw"No common ancestor!";for(let i=0;i{i.type!=="file"&&t[n]&&(i.value=t[n].value)}),e}function fi(s,t,e){if(typeof s=="string"&&(s=+s),Array.isArray(s)||(s=[s,s]),s.length!==2)throw new Error(`lockOffset prop of SortableContainer should be a single value or an array of exactly two values. Given ${s}`);const[r,i]=s;return[Ae(r,t,e),Ae(i,t,e)]}function Ae(s,t,e){let r=s,i=s,n="px";if(typeof s=="string"){const a=/^[+-]?\d*(?:\.\d*)?(px|%)$/.exec(s);if(a===null)throw new Error(`lockOffset value should be a number or a string of a number followed by "px" or "%". Given ${s}`);r=i=parseFloat(s),n=a[1]}if(!isFinite(r)||!isFinite(i))throw new Error(`lockOffset value should be a finite. Given ${s}`);return n==="%"&&(r=r*t/100,i=i*e/100),{x:r,y:i}}function Ie(s=[]){for(let t=0,e=s.length;t[]},lockAxis:{type:String,default:""},helperClass:{type:String,default:""},contentWindow:{type:Object,default:null},shouldCancelStart:{type:Function,default:s=>["input","textarea","select","option","button"].indexOf(s.target.tagName.toLowerCase())!==-1},getHelperDimensions:{type:Function,default:({node:s})=>({width:s.offsetWidth,height:s.offsetHeight})}},emits:["sort-start","sort-move","sort-end","sort-cancel","sort-insert","sort-remove","update:list"],data(){let s=!1;return this.group&&this.SlicksortHub&&(s=!0),{sorting:!1,hub:s?this.SlicksortHub:null,manager:new li}},mounted(){this.hub&&(this.id=this.hub.getId()),this.container=this.$el,this.document=this.container.ownerDocument||document,this._window=this.contentWindow||window,this.scrollContainer=this.useWindowAsScrollContainer?{scrollLeft:0,scrollTop:0}:this.container,this.events={start:this.handleStart,move:this.handleMove,end:this.handleEnd};for(const s in this.events)Nt(this.events,s)&&L[s].forEach(t=>this.container.addEventListener(t,this.events[s]));this.hub&&this.hub.addContainer(this)},beforeUnmount(){for(const s in this.events)Nt(this.events,s)&&L[s].forEach(t=>this.container.removeEventListener(t,this.events[s]));this.hub&&this.hub.removeContainer(this),this.dragendTimer&&clearTimeout(this.dragendTimer),this.cancelTimer&&clearTimeout(this.cancelTimer),this.pressTimer&&clearTimeout(this.pressTimer),this.autoscrollInterval&&clearInterval(this.autoscrollInterval)},methods:{handleStart(s){const{distance:t,shouldCancelStart:e}=this.$props;if(!Q(s)&&s.button===2||e(s))return!1;this._touched=!0,this._pos=rt(s);const r=s.target,i=Oe(r,n=>n.sortableInfo!=null);if(i&&i.sortableInfo&&this.nodeIsChild(i)&&!this.sorting){const{useDragHandle:n}=this.$props,{index:a}=i.sortableInfo;if(n&&!Oe(r,o=>o.sortableHandle!=null))return;this.manager.active={index:a},r.tagName.toLowerCase()==="a"&&s.preventDefault(),t||(this.pressDelay===0?this.handlePress(s):this.pressTimer=kt(()=>this.handlePress(s),this.pressDelay))}},nodeIsChild(s){return s.sortableInfo.manager===this.manager},handleMove(s){const{distance:t,pressThreshold:e}=this.$props;if(!this.sorting&&this._touched){const r=rt(s);this._delta={x:this._pos.x-r.x,y:this._pos.y-r.y};const i=Math.abs(this._delta.x)+Math.abs(this._delta.y);!t&&(!e||e&&i>=e)?(this.cancelTimer&&clearTimeout(this.cancelTimer),this.cancelTimer=kt(this.cancel,0)):t&&i>=t&&this.manager.isActive()&&this.handlePress(s)}},handleEnd(){if(!this._touched)return;const{distance:s}=this.$props;this._touched=!1,s||this.cancel()},cancel(){this.sorting||(this.pressTimer&&clearTimeout(this.pressTimer),this.manager.active=null,this.hub&&this.hub.cancel())},handleSortCancel(s){(Q(s)||s.key===this.cancelKey)&&(this.newIndex=this.index,this.canceling=!0,this.translate={x:0,y:0},this.animateNodes(),this.handleSortEnd(s))},handlePress(s){s.stopPropagation();const t=this.manager.getActive();if(t){const{getHelperDimensions:e,helperClass:r,hideSortableGhost:i,appendTo:n}=this.$props,{node:a}=t,{index:o}=a.sortableInfo,u=Re(a),d=this.container.getBoundingClientRect(),h=e({index:o,node:a});this.node=a,this.margin=u,this.width=h.width,this.height=h.height,this.marginOffset={x:this.margin.left+this.margin.right,y:Math.max(this.margin.top,this.margin.bottom)},this.boundingClientRect=a.getBoundingClientRect(),this.containerBoundingRect=d,this.index=o,this.newIndex=o;const c=ke(a);this.helper=this.document.querySelector(n).appendChild(c),this.helper.style.position="fixed",this.helper.style.top=`${this.boundingClientRect.top-u.top}px`,this.helper.style.left=`${this.boundingClientRect.left-u.left}px`,this.helper.style.width=`${this.width}px`,this.helper.style.height=`${this.height}px`,this.helper.style.boxSizing="border-box",this.helper.style.pointerEvents="none",i&&(this.sortableGhost=a,a.style.visibility="hidden",a.style.opacity="0"),this.hub&&(this.hub.sortStart(this),this.hub.helper=this.helper,this.hub.ghost=this.sortableGhost),this.intializeOffsets(s,this.boundingClientRect),this.offsetEdge=U(a,this.container),r&&this.helper.classList.add(...r.split(" ")),this.listenerNode=Q(s)?a:this._window,L.move.forEach(l=>this.listenerNode.addEventListener(l,this.handleSortMove)),L.end.forEach(l=>this.listenerNode.addEventListener(l,this.handleSortEnd)),L.cancel.forEach(l=>this.listenerNode.addEventListener(l,this.handleSortCancel)),this.sorting=!0,this.$emit("sort-start",{event:s,node:a,index:o})}},handleSortMove(s){if(s.preventDefault(),this.updatePosition(s),this.hub){const t=this.list[this.index];this.hub.handleSortMove(s,t)}(!this.hub||this.hub.isDest(this))&&(this.animateNodes(),this.autoscroll()),this.$emit("sort-move",{event:s})},handleDropOut(){const s=this.list[this.index],t=hi(this.list,this.index);return this.$emit("sort-remove",{oldIndex:this.index}),this.$emit("update:list",t),s},handleDropIn(s){const t=di(this.list,this.newIndex,s);this.$emit("sort-insert",{newIndex:this.newIndex,value:s}),this.$emit("update:list",t),this.handleDragEnd()},handleDragOut(){this.autoscrollInterval&&(clearInterval(this.autoscrollInterval),this.autoscrollInterval=null),this.hub.isSource(this)?(this.translate={x:1e4,y:1e4},this.animateNodes()):(this.manager.getRefs().forEach(s=>{s.node.style.transform=""}),this.dragendTimer=kt(this.handleDragEnd,this.transitionDuration||0))},handleDragEnd(){this.autoscrollInterval&&(clearInterval(this.autoscrollInterval),this.autoscrollInterval=null),Ie(this.manager.getRefs()),this.sortableGhost&&(this.sortableGhost.remove(),this.sortableGhost=null),this.dragendTimer&&(clearTimeout(this.dragendTimer),this.dragendTimer=null),this.manager.active=null,this._touched=!1,this.sorting=!1},intializeOffsets(s,t){const{useWindowAsScrollContainer:e,containerBoundingRect:r,_window:i}=this;this.marginOffset={x:this.margin.left+this.margin.right,y:Math.max(this.margin.top,this.margin.bottom)},this._axis={x:this.axis.indexOf("x")>=0,y:this.axis.indexOf("y")>=0},this.initialOffset=rt(s),this.initialScroll={top:this.scrollContainer.scrollTop,left:this.scrollContainer.scrollLeft},this.initialWindowScroll={top:window.pageYOffset,left:window.pageXOffset},this.translate={x:0,y:0},this.minTranslate={},this.maxTranslate={},this._axis.x&&(this.minTranslate.x=(e?0:r.left)-t.left-this.width/2,this.maxTranslate.x=(e?i.innerWidth:r.left+r.width)-t.left-this.width/2),this._axis.y&&(this.minTranslate.y=(e?0:r.top)-t.top-this.height/2,this.maxTranslate.y=(e?i.innerHeight:r.top+r.height)-t.top-this.height/2)},handleDragIn(s,t,e){if(this.hub.isSource(this))return;this.dragendTimer&&(this.handleDragEnd(),clearTimeout(this.dragendTimer),this.dragendTimer=null);const r=this.manager.getRefs();this.index=r.length,this.manager.active={index:this.index};const i=this.container.getBoundingClientRect(),n=e.getBoundingClientRect();this.containerBoundingRect=i,this.sortableGhost=ke(t),this.container.appendChild(this.sortableGhost);const a=this.sortableGhost.getBoundingClientRect();this.boundingClientRect=a,this.margin=Re(this.sortableGhost),this.width=a.width,this.height=a.height,this.offsetEdge=U(this.sortableGhost,this.container),this.intializeOffsets(s,a),this.initialOffset.x+=a.x-n.x,this.initialOffset.y+=a.y-n.y,this.sorting=!0},handleSortEnd(s){this.listenerNode&&(L.move.forEach(r=>this.listenerNode.removeEventListener(r,this.handleSortMove)),L.end.forEach(r=>this.listenerNode.removeEventListener(r,this.handleSortEnd)),L.cancel.forEach(r=>this.listenerNode.removeEventListener(r,this.handleSortCancel)));const t=this.manager.getRefs();this.helper&&this.helperClass&&this.helper.classList.remove(...this.helperClass.split(" ")),this.autoscrollInterval&&clearInterval(this.autoscrollInterval),this.autoscrollInterval=null;const e=()=>{this.helper&&(this.helper.remove(),this.helper=null),this.hideSortableGhost&&this.sortableGhost&&(this.sortableGhost.style.visibility="",this.sortableGhost.style.opacity=""),Ie(t),this.hub&&!this.hub.isDest(this)?this.canceling?this.hub.cancel():this.hub.handleSortEnd():this.canceling?this.$emit("sort-cancel",{event:s}):(this.$emit("sort-end",{event:s,oldIndex:this.index,newIndex:this.newIndex}),this.$emit("update:list",ui(this.list,this.index,this.newIndex))),this.manager.active=null,this._touched=!1,this.canceling=!1,this.sorting=!1};this.transitionDuration||this.draggedSettlingDuration?this.transitionHelperIntoPlace(t,e):e()},transitionHelperIntoPlace(s,t){if(this.draggedSettlingDuration===0||s.length===0||!this.helper)return Promise.resolve();const e=s[this.index].node;let r=0,i=0;const n={top:window.pageYOffset-this.initialWindowScroll.top,left:window.pageXOffset-this.initialWindowScroll.left};if(this.hub&&!this.hub.isDest(this)&&!this.canceling){const d=this.hub.getDest();if(!d)return;const h=d.newIndex,c=d.manager.getOrderedRefs(),l=h0?r+=d.offsetLeft+d.offsetWidth-(e.offsetLeft+e.offsetWidth):r+=d.offsetLeft-e.offsetLeft,i=-h.top,this.translate&&this.translate.y>0?i+=d.offsetTop+d.offsetHeight-(e.offsetTop+e.offsetHeight):i+=d.offsetTop-e.offsetTop}const a=this.draggedSettlingDuration!==null?this.draggedSettlingDuration:this.transitionDuration;qt(this.helper,`translate3d(${r}px,${i}px, 0)`,`${a}ms`);const o=d=>{(!d||d.propertyName==="transform")&&(clearTimeout(u),qt(this.helper),t())},u=setTimeout(o,a+10);this.helper.addEventListener("transitionend",o)},updatePosition(s){const{lockAxis:t,lockToContainerEdges:e}=this.$props,r=rt(s),i={x:r.x-this.initialOffset.x,y:r.y-this.initialOffset.y};if(i.y-=window.pageYOffset-this.initialWindowScroll.top,i.x-=window.pageXOffset-this.initialWindowScroll.left,this.translate=i,e){const[n,a]=fi(this.lockOffset,this.height,this.width),o={x:this.width/2-n.x,y:this.height/2-n.y},u={x:this.width/2-a.x,y:this.height/2-a.y};this.minTranslate.x&&this.maxTranslate.x&&(i.x=$e(this.minTranslate.x+o.x,this.maxTranslate.x-u.x,i.x)),this.minTranslate.y&&this.maxTranslate.y&&(i.y=$e(this.minTranslate.y+o.y,this.maxTranslate.y-u.y,i.y))}t==="x"?i.y=0:t==="y"&&(i.x=0),this.helper&&(this.helper.style.transform=`translate3d(${i.x}px,${i.y}px, 0)`)},animateNodes(){const{transitionDuration:s,hideSortableGhost:t}=this.$props,e=this.manager.getOrderedRefs(),r={left:this.scrollContainer.scrollLeft-this.initialScroll.left,top:this.scrollContainer.scrollTop-this.initialScroll.top},i={left:this.offsetEdge.left+this.translate.x+r.left,top:this.offsetEdge.top+this.translate.y+r.top},n={top:window.pageYOffset-this.initialWindowScroll.top,left:window.pageXOffset-this.initialWindowScroll.left};this.newIndex=null;for(let a=0,o=e.length;ah?h/2:this.width/2,height:this.height>c?c/2:this.height/2},p={x:0,y:0};let{edgeOffset:m}=e[a];m||(e[a].edgeOffset=m=U(u,this.container));const y=a0&&e[a-1];if(y&&!y.edgeOffset&&(y.edgeOffset=U(y.node,this.container)),d===this.index){t&&(this.sortableGhost=u,u.style.visibility="hidden",u.style.opacity="0");continue}s&&(u.style.transitionDuration=`${s}ms`),this._axis.x?this._axis.y?dthis.containerBoundingRect.width-l.width&&y&&(p.x=y.edgeOffset.left-m.left,p.y=y.edgeOffset.top-m.top),this.newIndex===null&&(this.newIndex=d)):d>this.index&&(i.left+n.left+l.width>=m.left&&i.top+n.top+l.height>=m.top||i.top+n.top+l.height>=m.top+c)&&(p.x=-(this.width+this.marginOffset.x),m.left+p.xthis.index&&i.left+n.left+l.width>=m.left?(p.x=-(this.width+this.marginOffset.x),this.newIndex=d):dthis.index&&i.top+n.top+l.height>=m.top?(p.y=-(this.height+this.marginOffset.y),this.newIndex=d):d=this.maxTranslate.y-this.height/2?(t.y=1,e.y=r.y*Math.abs((this.maxTranslate.y-this.height/2-s.y)/this.height)):s.x>=this.maxTranslate.x-this.width/2?(t.x=1,e.x=r.x*Math.abs((this.maxTranslate.x-this.width/2-s.x)/this.width)):s.y<=this.minTranslate.y+this.height/2?(t.y=-1,e.y=r.y*Math.abs((s.y-this.height/2-this.minTranslate.y)/this.height)):s.x<=this.minTranslate.x+this.width/2&&(t.x=-1,e.x=r.x*Math.abs((s.x-this.width/2-this.minTranslate.x)/this.width)),this.autoscrollInterval&&(clearInterval(this.autoscrollInterval),this.autoscrollInterval=null),(t.x!==0||t.y!==0)&&(this.autoscrollInterval=window.setInterval(()=>{const i={left:1*e.x*t.x,top:1*e.y*t.y};this.useWindowAsScrollContainer?this._window.scrollBy(i.left,i.top):(this.scrollContainer.scrollTop+=i.top,this.scrollContainer.scrollLeft+=i.left),this.translate.x+=i.left,this.translate.y+=i.top,this.animateNodes()},5))}}}),ss=F({name:"SlickItem",mixins:[oi],props:{tag:{type:String,default:"div"}},render(){var s,t;return K(this.tag,(t=(s=this.$slots).default)===null||t===void 0?void 0:t.call(s))}}),mi=F({name:"SlickList",mixins:[pi],props:{tag:{type:String,default:"div"},itemKey:{type:[String,Function],default:"id"}},render(){var s,t;return this.$slots.item?K(this.tag,this.list.map((e,r)=>{let i;if(e!=null){if(typeof this.itemKey=="function")i=this.itemKey(e);else if(typeof e=="object"&&Nt(e,this.itemKey)&&typeof e[this.itemKey]=="string")i=e[this.itemKey];else if(typeof e=="string")i=e;else throw new Error("Cannot find key for item, use the item-key prop and pass a function or string");return K(ss,{key:i,index:r},{default:()=>{var n,a;return(a=(n=this.$slots).item)===null||a===void 0?void 0:a.call(n,{item:e,index:r})}})}})):K(this.tag,(t=(s=this.$slots).default)===null||t===void 0?void 0:t.call(s))}}),gi=F({props:{tag:{type:String,default:"span"}},mounted(){this.$el.sortableHandle=!0},render(){var s,t;return K(this.tag,(t=(s=this.$slots).default)===null||t===void 0?void 0:t.call(s))}}),vi={key:0,d:"M30.336 12.547l-10.172-1.074L16 2.133l-4.164 9.34l-10.172 1.074l7.598 6.848L7.14 29.398L16 24.29l8.86 5.11l-2.122-10.004z",fill:"#ffaa00"},yi={key:1,d:"M16 2.125l-.906 2.063l-3.25 7.28l-7.938.845l-2.25.25l1.688 1.5l5.906 5.343l-1.656 7.813l-.469 2.187l1.969-1.125l6.906-4l6.906 4l1.969 1.125l-.469-2.187l-1.656-7.813l5.906-5.343l1.688-1.5l-2.25-.25l-7.938-.844l-3.25-7.281zm0 4.906l2.563 5.782l.25.53l.562.063l6.281.656l-4.687 4.22l-.438.405l.125.563l1.313 6.156l-5.469-3.125l-.5-.312l-.5.312l-5.469 3.125l1.313-6.156l.125-.563l-.438-.406l-4.687-4.218l6.281-.657l.563-.062l.25-.531z",fill:"#888888"},bi=F({__name:"SynthFav",props:{url:{type:String,default:""}},setup(s){const e=ls("fav:"+s.url,!1);function r(i){e.value=!e.value,console.log(e.value)}return(i,n)=>(x(),$("svg",{onClick:n[0]||(n[0]=ds(a=>r(s.url),["stop","prevent"])),xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32"},[_(e)?(x(),$("path",vi)):(x(),$("path",yi))]))}}),rs=s=>(fs("data-v-9a2748d8"),s=s(),ps(),s),wi=["src","alt"],_i=rs(()=>v("div",{class:"flex-1"},null,-1)),xi={class:"p-4 flex items-center justify-between w-full"},Ei={class:"text-md font-bold flex items-center gap-2 flex-1"},Si={class:"flex-1"},Ti=rs(()=>v("svg",{xmlns:"http://www.w3.org/2000/svg",width:"32",height:"32",viewBox:"0 0 32 32"},[v("path",{d:"M4 7v2h24V7zm0 8v2h24v-2zm0 8v2h24v-2z",fill:"#888888"})],-1)),Oi=F({__name:"SynthCard",props:{off:{type:Boolean,default:!1},title:{type:String,default:""},description:{type:String,default:""},img:{type:String,default:""},url:{type:String,default:""}},setup(s){const t=s,e=q(null);Pe(Te,async i=>{try{(await fetch("https://corsproxy.io/?"+t.url)).status==200?e.value=!0:e.value=!1}catch{e.value=!1}});function r(){t.off?tt.value=!tt.value:window.open(t.url,"_blank")}return(i,n)=>{const a=cs("ClientOnly");return x(),$("button",{class:"flex flex-col text-left relative min-h-50 card p-0 bg-light-300 shadow-lg flex flex-col dark-bg-dark-300 -hover-translate-y-2px transition hover-shadow-xl rounded-xl overflow-hidden relative",onClick:r},[(x(),$("img",{key:s.title,height:"200",width:"1000",src:`/img/${s.title.toLowerCase().split(" ").join("-")}.webp`,alt:`${s.title} illustration`},null,8,wi)),_i,v("div",xi,[v("div",Ei,[v("div",Si,At(s.title),1),_(Te)?(x(),$("div",{key:0,class:Le(["w-2 h-2 rounded-full shadow-inset",{"bg-green-500":e.value===!0,"bg-red-500":e.value===!1}])},null,2)):It("",!0),V(a,null,{default:D(()=>[V(bi,{class:"scale-70 w-10",url:s.url},null,8,["url"])]),_:1}),V(_(gi),{class:"scale-80 opacity-40 cursor-grab absolute top-2 right-2"},{default:D(()=>[Ti]),_:1})])])])}}});const $i=ms(Oi,[["__scopeId","data-v-9a2748d8"]]);const Ri={class:"mx-auto p-4 max-w-75ch dark-text-light-200 text-center line-height-loose text-md intro md-text-lg pt-16"},Ci={key:0,class:"p-2 flex flex-col mt-8"},ki={class:"text-4xl font-bold"},Ai=v("div",{class:"text-lg"},"web synths",-1),Ii={key:1,class:"p-2 flex flex-col mt-8"},Di={class:"text-4xl font-bold"},Pi=v("div",{class:"text-lg"},"web musicians",-1),Li={__name:"MainPage",setup(s){const t=q(ai);function e(u){return!Zt.value&&u>5}const r=q([]),i=De(()=>r.value.length),n=us(i),a=q(),o=hs(a);return gs(()=>{fetch("https://corsproxy.io/?https://db.chromatone.center/items/players?limit=-1").then(u=>u.json()).then(({data:u})=>r.value=u)}),(u,d)=>(x(),$(Jt,null,[V(_(mi),{class:"flex flex-wrap items-stretch gap-4 md-gap-6 m-2 lg-m-8",list:t.value,"onUpdate:list":d[0]||(d[0]=h=>t.value=h),axis:"xy","use-drag-handle":""},{default:D(()=>[(x(!0),$(Jt,null,vs(t.value,(h,c)=>(x(),Dt(_(ss),{class:"flex",style:{flex:"1 1 240px"},key:h.id,index:c},{default:D(()=>[(x(),Dt($i,{style:ys({opacity:e(c)?.8:1}),title:h.title,description:h.description,img:h.img,url:h.url,key:h.id,off:e(c)},null,8,["style","title","description","img","url","off"]))]),_:2},1032,["index"]))),128))]),_:1},8,["list"]),v("div",Ri,[it(u.$slots,"default"),v("div",{class:"flex justify-center",ref_key:"counters",ref:a},[_(o)?(x(),$("div",Ci,[v("div",ki,At(t.value.length),1),Ai])):It("",!0),_(o)&&i.value>0?(x(),$("div",Ii,[v("div",Di,At(_(n).toFixed())+"+",1),Pi])):It("",!0)],512)])],64))}};const Ni={class:"fixed z-200 min-h-50dvh bottom-0 right-0 left-0 bg-light-800 bg-opacity-80 backdrop-blur flex flex-col items-center gap-4 justify-start dark-bg-dark-200 dark-bg-opacity-80 p-8 shadow"},qi=v("path",{d:"M7.219 5.781L5.78 7.22L14.563 16L5.78 24.781L7.22 26.22L16 17.437l8.781 8.782l1.438-1.438L17.437 16l8.782-8.781L24.78 5.78L16 14.563z",fill:"#888888"},null,-1),Bi=[qi],Ui={class:"flex flex-col gap-8 relative pt-8"},Mi={class:"text-center max-w-45ch",for:"email"},Fi={class:"flex gap-4 flex-wrap md-flex-nowrap"},Hi=["disabled"],ji={class:"text-xs opacity-60 text-center max-w-45ch mx-auto"},Wi={__name:"TheForm",setup(s){return(t,e)=>(x(),Dt(Es,{name:"slide"},{default:D(()=>[Xt(v("div",Ni,[(x(),$("svg",{class:"absolute top-4 right-4 text-4xl cursor-pointer",onClick:e[0]||(e[0]=r=>tt.value=!1),xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 32 32"},Bi)),v("div",Ui,[v("label",Mi,[it(t.$slots,"default")]),v("div",Fi,[Xt(v("input",{class:"flex-1 p-2 md-p-4 rounded-xl bg-light-200 shadow-md dark-bg-dark-400 flex-1",ref:"target",style:{flex:"10 1 200px"},"onUpdate:modelValue":e[1]||(e[1]=r=>ws(Z)?Z.value=r:null),id:"email",name:"email",type:"email",onKeydown:e[2]||(e[2]=_s(r=>_(Se)(_(Z)),["enter"])),placeholder:"your@gmail.com"},null,544),[[xs,_(Z)]]),v("button",{class:Le(["text-sm md-text-md p-2 font-bold md-p-4 rounded-xl shadow-xl hover-shadow-2xl transition -hover-translate-y-2px active-translate-y-0 active-shadow-md bg-green-400 dark-bg-green-700",{"grayscale-50":!_(Ee)}]),onClick:e[3]||(e[3]=r=>_(Se)(_(Z))),disabled:!_(Ee),style:{flex:"1 1 400px"}},[it(t.$slots,"button",{},()=>[M("GET ACCESS")])],10,Hi)]),v("div",ji,[it(t.$slots,"notice",{},()=>[M("Your access status will be saved per device and you won't need to enter your e-mail again.")])])])],512),[[bs,_(tt)]])]),_:3}))}},zi=v("h2",{class:"text-lg font-bold"},"Welcome to our free web synth collection!",-1),Zi=v("p",null,[v("a",{href:"https://playtronica.com",target:"_blank",rel:"noopener"},"Playtronica"),M(" is a digital playground that explores the possibilities of the material world through technology, creating gadgets that make the world musical. "),v("a",{href:"https://chromatone.center",target:"_blank",rel:"noopener"},"Chromatone"),M(" is a visual language for music education, research, and performance. We share our passion for web-based music instruments. Welcome to the community!")],-1),Xi=JSON.parse('{"title":"Web synths","description":"Web synthesizers to play with MIDI controllers","frontmatter":{"title":"Web synths","description":"Web synthesizers to play with MIDI controllers","date":"2023-06-22T00:00:00.000Z","layout":"home"},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1690388893000}'),Vi={name:"index.md"},Ki=Object.assign(Vi,{setup(s){return(t,e)=>(x(),$("div",null,[V(Li,null,{default:D(()=>[zi,Zi]),_:1}),V(Wi,null,{button:D(()=>[M("GET FULL ACCESS")]),notice:D(()=>[M("Your access status will be saved per device and you won't need to enter your e-mail again.")]),default:D(()=>[M(" We are building a community of web-based musicians. Type in your e-mail to instantly get full access to the collection and occasionally receive community updates. ")]),_:1})]))}});export{Xi as __pageData,Ki as default}; diff --git a/hashmap.json b/hashmap.json index 125df4ab..16da2879 100644 --- a/hashmap.json +++ b/hashmap.json @@ -1 +1 @@ -{"readme.md":"4122e631","index.md":"171f7793"} +{"readme.md":"4122e631","index.md":"355e45ca"} diff --git a/img/sampler-synth.webp b/img/sampler-synth.webp new file mode 100644 index 0000000000000000000000000000000000000000..260e8d1d5dad70c240875f71c9a2c28a791a68a0 GIT binary patch literal 6198 zcmb_fWmH^ivTYi750c;>+}&y1ouEw!?hu>+0fM^*r*RGLjk`6$J;6P}f(3bZ=FZGb z=H2)2onPNt=dAjwcJ11`j;4aFEE_QZpa+st*Hsswr2gaVOaqq<_i`V;2q>1VTBJf( zNCTnLCN8bPkFasPS0dR++Y6wf-1|v(<<%=;aN&>WFnj^Gw|2n&aCIAdSuAap*){(Z zc;iIo6DBM%kIvM3_y5iuO&u zWnaTwak-y*J$Tu6Mn{a%pyq_vraYH`Wzi#}VNNabnZ2;eE8CI*bUw1;DqgM4(9C}Y zXaJvq->xWmn%UU zN0}+j1U6HEtC9MH8r441WM^-B8bjJ+zEIu1Du`fo68m+=x1 zQO6z`V4ZK5`WK#bN<7vI4_v<39WrZma_*RYWxF4p|YGL8s z##8V3pbA5|V4LEf=;so9NrA_Xh<%x(9u?RhWA4P=|GSku%-x&Pi0HG~0WU6Aqs3CI zRgEytb4#^6x@=2L9Tb1hj{%V==ev97A8l99R_7yU^||{mo``(3j_)n}lNACtSwzUC zq|IqL97$4;wIb@g{3q5vO6+=7C)$_kv^BaeoWNeGwa6AJ zOsikHW!+kDa`vyLX6Axk3T`ZWll?+QOj_Es#eO{k?mW5as?8zQK#_>Ll}pZkzrp{D zsh;B7L^~zj>oHu@hFKDSa=CwM&fOU1x-U_B8GhBciP?|z>kPQ<7qLcm5oT);U~du| z$0i8zgp;UfzW4ncpmotV3TMM|bIQyA+jTE|-+`z3R{|7`0q*+O-JKZ-)60V)odyvj z3NyBHeEE|-qd|^mA~sj_VqFc%uTc>i4t^WGDn%a&v*?{k#>rjdW~~=R#)WR7oDpqu zEcpCL2w+3{QE>Z^S@yc{$3}1cm$_KH&RQ!%DRo;VA?u@zoy~x;K};um)=Wtq9nDe(`jyk1Ym{Mx1_oDQD?7_xx%;K@y3(|pwBxFuP&tg*Uzjm}W zWF@q|h3MfhEx`pvNBy{p?{MNwtQkBSkqiyQqomF+I%p3kQA8Wy+6nu5pqwieDM$(Z zz$W%ee%t=J4B-q5XO_d`Gf0iF)Oe0Cts-~mt2etb#Q#<;nTg;v^_K@0;~8`-pAvq~ zk_dtvSAmt1{AM7!2l$)XIPcU&;7xefC9|jQ(8mpHXEj)Ov zNzvl4YDPs^6nWTPV)Q>G*JjYh46~`OPI7Kr4aW>4$7CFEKA?E}faF{@@tgPx={oy= z*kc>t{D<28Q<-@{Ldgqljoyyj6PGgRiDSN_3BO9VDjIWyeqQdgyf=TU^t8UD-2P;1 zP~IyRbeGLk!C$4QbFvO4V9Eiats7UG;sRHmmus;JT;ccMXbEhlPK}PAinsJ@%}NBh=Q-hXj)M>rmNa$=lzb4Nq!xOnPtgPQureZGZ4q z(M&r8ZCSW6m8Ulde*TN^Ws2EN^vI=YLVoPRVGE|ZK{U&SD+jyWhy^?Xj&Guk*K`FN#|BV3PcUG`@&5ruP3~;je`d5X9A3tp1^@bEh`1e%zc}Y&H)eCcP z+b?66DIM9c4m#+=!gAq3va9HP$h1h0rdz`D_Ln?MGjj|%c0TdgD&<+^w3Y#Kfn?`G1G9mYefNxkoUr}3q>_chP#+rXY z+z_6%4R1EE7v$*~`&Bj^`fbHE?;!v(#ukP1#oes+<+O=FhW?J|byv408@@CP%Ffzd z!6%jJSxt>6MJ|!!aC4z|*?}B&p_lB9NP&@3I13@PPCZ?V*w$b4oncVQN{cocc{vo~ zl+X@n zT){j>-YuDXkg%2?V|jDv6rVW%k46A+ji}2>JQugPFS!Bq@MDJ^!}S!0I<(aZamMj` zWKd0ec{onB2E%h!q@}HxuLDh_x?2ceIlo9o8_w89j$;N2veSG-y{PlYBQH>DPL6dj6V>Y)+fx`4}DEi6_rqd4@ycu$^P9W&YMQ zoyJ?1(AFdSYCb$9pYH2LY$DWi0S`XWX83Vg#X;xtffRawcgY5b@OfUyQX~7bnsP~o zYVQF-O6`am&niqKjB9uS$GL_CXTDG!Y}Z@3(=XZ&?&_Ty)kd)K=cs$D|N7gLOP^T)FlAd3lPs}>EZ!WwQWaDh1n`T>mh#o z=D`@pDuRd7M>IfmDw^Gv3$i3LWevIA3G75{YsJI33B*}z%uou#SEc+4$dFJz<$hj^ zAy7}Nq4_q^lY4Cr{o7%Xh-*AOuKB&n_KFuYLSNX|>$r`KhNIwHX9aC3W?5*dI_$>e zDj+W=tD75>G^lCtHJjwOcIf+xbim@{-F+=R5S$1haSf~u;Ua#yGrGO*4yZ=tR#{g` zFBse?o(pK@lGDR~3Vdf6P$n5*RXMQAx&R@0hehd3D?bjsZ^yxd%hAAJ+{Vs`k*fi4 zCn`~AVmxtwx4jm|xhC;>VQ$kaGAl_4kbh_sRkt9EIXTglab7-|JZ`bm-BvbYw*C~Z zgD&6Hb^TId3AX3_8X{B&a0g3(N1{Th&@nN)k*lmVfqj!zO0CT#>hh z%}73j2Ip;+j&IJW_}H#F*zs}@Gm(9CpLiT*{}Nf? z%;E`5=|;*SDRC3)hrj zR;N5cgVbkjS=D>uHo?H(Sy7G{m1eEv=<=c(+7+t+`t;a&)ULi_szDVzKb&kSA4+Vz z88w@ysB;-2x)5u*E=V*$s*LtZUJiz*zcj)@zb&qP+w+0j?Ri-MPkQBxy#Uyr4R_Nb zCyv{$oL@9Y&Q7rq>!5*p0c-oz7e<)5sYP;RtgO7G6-@0NIjO~*v6CaLpqa#*p4<223o2Ce@-&I{uZt!7wHoU%NKN#>S8a9ER`Q`u z2561Zdi*IN#o$!A9|r@Yu#heBoTA)!@;le?C*JGc*Ih1EI&5tNN5rBz12~>DtHbhP zN-R^02%Ly21i;zmDlnLEl*5~uEBwHS!`+Nl;|h1tr0_aEVd_2F5un!0NVfqY3fW>{ zr2RFHAQj_hMQDw(E2Hb$t0_1M(zWpE5Mace*WCntWw-E;*r6+d75s?TLN^teK#{Pa zqR$m0WCZ9+iQJL6%JqurzMUD4QUG|JkuStzw`45!*ecG0UEffWf-HA#8~{P4t>rGx zR~l1Dt1H1+Dphc)Mdn@3BzKOxR$lytLS@=gaUIQK!xL7*yvpmBNVlD1AD{omFjR`3Dcrs61s& zEV4B@o$~P1)B6Fm+|%P`U)8)($wHZ_o($C2d4Lv5DnG2W7b2G z&a|EMHCzsNCOW*53nm&d&{n3fxu>aj(+r>wqH=&~_ql$6mj!Zu6#9yKBx8TPP1)%x z!XK;x2MofJfH{Y9T|i1*Z{Mr%hL9?GoGFa=CnA@8who2AmQl z%vvXLH|qNQwz1OI;pp~ec=XGPTu^)!>a_NRB)_uCFb5sPK{Xia4$@>xJmrJiuo6HB z(dAyXHa$eVSpuQePyFxNLRTb&D?z?oB77eI^yFKfTPTq~-~p$nWJLapzEb@yEAJO?y3YvZvj`SrbRS3N zcShQ)0U9cNEx<1eOEyG}Wk}n+)Dx#+F|qWRvAr4#j@>b@vqrU-Se90y$l3R^8LU0-}VM^jNC-^t(KG#Ud{_-~?a|JXsym zD2)u)FhX9hyy%P`?fXuck6(U=MdVYv#!i1fr| zh8M)>A-8>Mt1G5TlCDh|jk?Zk6;qL)4PG=6H;CdROK)%rDkvV{dm<1}R0tjI^dX-P ze)JH&hDkrkpnz4J9)lKRmC;s*0>^Rf_5;y!0s%mmrg)nJSWv0D4kSv91Hw!L^De>X z`k-ZR9+@5vxZPZHRrfNu5Z4>uO-8l1opqX(Vrwv$dR&^vyl6;YWQWf4b}Ke-VIJOT z`fh;WYXwHv(`KOl!^=w%VfpmxaT2StyJE!Ug2!O7H%P6LSHmm{s(5}Ry~jDDD1J7o zpyg#oMWGj#`C+k|1+1nXNC3CRb#3S@$yWm3g9VC;VWjapJ-`*E-bbZ9ep{3Y`*G03 z^I^LyQ5HTyx~&nv2i7KDB61BuQZ_@%FyVeE?1eLc#=e~GTmvHwP7L*3;ya}={YGBKBM%~LS|`q) zR(2&oC`1urDigNiy1Iq*Be4Z95rX6Iw3)?hmbr4_ZL=vYy?&tA8PFBoB#a8p45hwS zV0M&Z%>lR1`H_z9;HJ2jQ@)C^_xWS@47}1lexX+U*-Ro*K&jVM@qT{-jw6rwQ8>dO zA@o(UDz6FYo*C67LPBd@5vCSKPu@W;BwChcibkKB?{RPYL9&}qNl;s$q=qxetDZPT zdPM1mcSS+IsKSaiKUF4+G(;<2sO{>Uur5=f7(4B!w}_%&l+dA7m%%HVvC;>ww@|Da zuxdhX%(P4gQ*~*y-`>QFi}+=Z?-emzUs`*H6U{;rqD`NBJ_NrX#T{??wnD5X%f?qJ zM^9hNR<75+;pQ!}f0L8-1LolHvVTB%G@Krf(YCWi0eSxCGP-0y*w)ACVCqZ;BJSxrl`||V{RDH=wb%N8*ujts=PXXB5 z7rovu_{_ - + @@ -45,8 +45,8 @@ -
Skip to content

Welcome to our free web synth collection!

Playtronica is a digital playground that explores the possibilities of the material world through technology, creating gadgets that make the world musical. Chromatone is a visual language for music education, research, and performance. We share our passion for web-based music instruments. Welcome to the community!

- +
Skip to content

Welcome to our free web synth collection!

Playtronica is a digital playground that explores the possibilities of the material world through technology, creating gadgets that make the world musical. Chromatone is a visual language for music education, research, and performance. We share our passion for web-based music instruments. Welcome to the community!

+ \ No newline at end of file