proto-sudoku-wc 0.0.485 → 0.0.486
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/proto-sudoku.cjs.entry.js +472 -2921
- package/dist/collection/utils/store.js +22 -16
- package/dist/esm/proto-sudoku.entry.js +472 -2921
- package/dist/proto-sudoku-wc/p-ebff75e1.entry.js +2 -0
- package/dist/proto-sudoku-wc/proto-sudoku-wc.esm.js +1 -1
- package/dist/types/utils/store.d.ts +1 -1
- package/package.json +2 -2
- package/dist/proto-sudoku-wc/p-5fac1fa8.entry.js +0 -1
@@ -0,0 +1,2 @@
|
|
1
|
+
import{h as t,g as e,f as r,r as o}from"./p-68909a5a.js";const s=e=>{const r=e.hex||"currentColor",o=e.size||24;return t("svg",{class:e.class,width:o,height:o,viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,e.label||"alien"),t("g",{fill:r},t("path",{d:"M10.31 10.93C11.33 12.57 11.18 14.5 9.96 15.28C8.74 16.04 6.92 15.33\n 5.89 13.69C4.87 12.05 5.03 10.1 6.25 9.34C7.47 8.58 9.29 9.29 10.31\n 10.93M12 17.75C14 17.75 14.5 17 14.5 17C14.5 17 14 19 12 19C10 19 9.5\n 17.03 9.5 17C9.5 17 10 17.75 12 17.75M17.75 9.34C18.97 10.1 19.13 12.05\n 18.11 13.69C17.08 15.33 15.26 16.04 14.04 15.28C12.82 14.5 12.67 12.57\n 13.69 10.93C14.71 9.29 16.53 8.58 17.75 9.34M12 20C14.5 20 20 14.86 20\n 11C20 7.14 16.41 4 12 4C7.59 4 4 7.14 4 11C4 14.86 9.5 20 12 20M12 2C17.5\n 2 22 6.04 22 11C22 15.08 16.32 22 12 22C7.68 22 2 15.08 2 11C2 6.04 6.5 2\n 12 2Z"})),t("path",{d:"M0 0h24v24H0z",fill:"none"}))},n="proto-sudoku",a=`${n}::data`,i=`${n}::inputs`,l=`${n}::pick`,c=t=>{const e=localStorage.getItem(t);return e?JSON.parse(e):void 0},d=(t,e)=>{const r=JSON.stringify(e);localStorage.setItem(t,r)},h=()=>[...c(i)],f=t=>{d(i,t.join(""))},u=()=>{const t=c(l);return null!==t?t:void 0},p=t=>{d(l,t>=0&&t<81?t:null)},b=t=>!("isConnected"in t)||t.isConnected,w=(()=>{let t;return(...e)=>{t&&clearTimeout(t),t=setTimeout((()=>{t=0,(t=>{for(let e of t.keys())t.set(e,t.get(e).filter(b))})(...e)}),2e3)}})(),g=t=>"function"==typeof t?t():t;class m extends Error{constructor(t,e,r){const o=`${t.status||0===t.status?t.status:""} ${t.statusText||""}`.trim();super("Request failed with "+(o?`status code ${o}`:"an unknown error")),Object.defineProperty(this,"response",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"request",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="HTTPError",this.response=t,this.request=e,this.options=r}}class y extends Error{constructor(t){super("Request timed out"),Object.defineProperty(this,"request",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="TimeoutError",this.request=t}}const x=t=>null!==t&&"object"==typeof t,v=(...t)=>{for(const e of t)if((!x(e)||Array.isArray(e))&&void 0!==e)throw new TypeError("The `options` argument must be an object");return k({},...t)},C=(t={},e={})=>{const r=new globalThis.Headers(t),o=e instanceof globalThis.Headers,s=new globalThis.Headers(e);for(const[t,e]of s.entries())o&&"undefined"===e||void 0===e?r.delete(t):r.set(t,e);return r},k=(...t)=>{let e={},r={};for(const o of t)if(Array.isArray(o))Array.isArray(e)||(e=[]),e=[...e,...o];else if(x(o)){for(let[t,r]of Object.entries(o))x(r)&&t in e&&(r=k(e[t],r)),e={...e,[t]:r};x(o.headers)&&(r=C(r,o.headers),e.headers=r)}return e},T=(()=>{let t=!1,e=!1;return"function"==typeof globalThis.ReadableStream&&(e=new globalThis.Request("https://a.com",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type")),t&&!e})(),j="function"==typeof globalThis.AbortController,M="function"==typeof globalThis.FormData,z=["get","post","put","patch","head","delete"],R={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},S=Symbol("stop"),A=t=>z.includes(t)?t.toUpperCase():t,O=[413,429,503],E={limit:2,methods:["get","put","head","delete","options","trace"],statusCodes:[408,413,429,500,502,503,504],afterStatusCodes:O,maxRetryAfter:Number.POSITIVE_INFINITY},P=(t={})=>{if("number"==typeof t)return{...E,limit:t};if(t.methods&&!Array.isArray(t.methods))throw new Error("retry.methods must be an array");if(t.statusCodes&&!Array.isArray(t.statusCodes))throw new Error("retry.statusCodes must be an array");return{...E,...t,afterStatusCodes:O}};class U{constructor(t,e={}){if(Object.defineProperty(this,"request",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"abortController",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_retryCount",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_input",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._input=t,this._options={credentials:this._input.credentials||"same-origin",...e,headers:C(this._input.headers,e.headers),hooks:k({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},e.hooks),method:A(e.method??this._input.method),prefixUrl:String(e.prefixUrl||""),retry:P(e.retry),throwHttpErrors:!1!==e.throwHttpErrors,timeout:void 0===e.timeout?1e4:e.timeout,fetch:e.fetch??globalThis.fetch.bind(globalThis)},"string"!=typeof this._input&&!(this._input instanceof URL||this._input instanceof globalThis.Request))throw new TypeError("`input` must be a string, URL, or Request");if(this._options.prefixUrl&&"string"==typeof this._input){if(this._input.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");this._options.prefixUrl.endsWith("/")||(this._options.prefixUrl+="/"),this._input=this._options.prefixUrl+this._input}if(j&&(this.abortController=new globalThis.AbortController,this._options.signal&&this._options.signal.addEventListener("abort",(()=>{this.abortController.abort()})),this._options.signal=this.abortController.signal),this.request=new globalThis.Request(this._input,this._options),T&&(this.request.duplex="half"),this._options.searchParams){const t="string"==typeof this._options.searchParams?this._options.searchParams.replace(/^\?/,""):new URLSearchParams(this._options.searchParams).toString(),e=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,"?"+t);!(M&&this._options.body instanceof globalThis.FormData||this._options.body instanceof URLSearchParams)||this._options.headers&&this._options.headers["content-type"]||this.request.headers.delete("content-type"),this.request=new globalThis.Request(new globalThis.Request(e,this.request),this._options)}void 0!==this._options.json&&(this._options.body=JSON.stringify(this._options.json),this.request.headers.set("content-type",this._options.headers.get("content-type")??"application/json"),this.request=new globalThis.Request(this.request,{body:this._options.body}))}static create(t,e){const r=new U(t,e),o=async()=>{if(r._options.timeout>2147483647)throw new RangeError("The `timeout` option cannot be greater than 2147483647");await Promise.resolve();let t=await r._fetch();for(const e of r._options.hooks.afterResponse){const o=await e(r.request,r._options,r._decorateResponse(t.clone()));o instanceof globalThis.Response&&(t=o)}if(r._decorateResponse(t),!t.ok&&r._options.throwHttpErrors){let e=new m(t,r.request,r._options);for(const t of r._options.hooks.beforeError)e=await t(e);throw e}if(r._options.onDownloadProgress){if("function"!=typeof r._options.onDownloadProgress)throw new TypeError("The `onDownloadProgress` option must be a function");if(!T)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return r._stream(t.clone(),r._options.onDownloadProgress)}return t},s=r._options.retry.methods.includes(r.request.method.toLowerCase())?r._retry(o):o();for(const[t,o]of Object.entries(R))s[t]=async()=>{r.request.headers.set("accept",r.request.headers.get("accept")||o);const n=(await s).clone();if("json"===t){if(204===n.status)return"";if(e.parseJson)return e.parseJson(await n.text())}return n[t]()};return s}_calculateRetryDelay(t){if(this._retryCount++,this._retryCount<this._options.retry.limit&&!(t instanceof y)){if(t instanceof m){if(!this._options.retry.statusCodes.includes(t.response.status))return 0;const e=t.response.headers.get("Retry-After");if(e&&this._options.retry.afterStatusCodes.includes(t.response.status)){let t=Number(e);return Number.isNaN(t)?t=Date.parse(e)-Date.now():t*=1e3,void 0!==this._options.retry.maxRetryAfter&&t>this._options.retry.maxRetryAfter?0:t}if(413===t.response.status)return 0}return.3*2**(this._retryCount-1)*1e3}return 0}_decorateResponse(t){return this._options.parseJson&&(t.json=async()=>this._options.parseJson(await t.text())),t}async _retry(t){try{return await t()}catch(e){const r=Math.min(this._calculateRetryDelay(e),2147483647);if(0!==r&&this._retryCount>0){await(async t=>new Promise((e=>{setTimeout(e,t)})))(r);for(const t of this._options.hooks.beforeRetry)if(await t({request:this.request,options:this._options,error:e,retryCount:this._retryCount})===S)return;return this._retry(t)}throw e}}async _fetch(){for(const t of this._options.hooks.beforeRequest){const e=await t(this.request,this._options);if(e instanceof Request){this.request=e;break}if(e instanceof Response)return e}return!1===this._options.timeout?this._options.fetch(this.request.clone()):(async(t,e,r)=>new Promise(((o,s)=>{const n=setTimeout((()=>{e&&e.abort(),s(new y(t))}),r.timeout);r.fetch(t).then(o).catch(s).then((()=>{clearTimeout(n)}))})))(this.request.clone(),this.abortController,this._options)}_stream(t,e){const r=Number(t.headers.get("content-length"))||0;let o=0;return 204===t.status?(e&&e({percent:1,totalBytes:r,transferredBytes:o},new Uint8Array),new globalThis.Response(null,{status:t.status,statusText:t.statusText,headers:t.headers})):new globalThis.Response(new globalThis.ReadableStream({async start(s){const n=t.body.getReader();e&&e({percent:0,transferredBytes:0,totalBytes:r},new Uint8Array),await async function t(){const{done:a,value:i}=await n.read();a?s.close():(e&&(o+=i.byteLength,e({percent:0===r?0:o/r,transferredBytes:o,totalBytes:r},i)),s.enqueue(i),await t())}()}}),{status:t.status,statusText:t.statusText,headers:t.headers})}}
|
2
|
+
/*! MIT License © Sindre Sorhus */const B=t=>{const e=(e,r)=>U.create(e,v(t,r));for(const r of z)e[r]=(e,o)=>U.create(e,v(t,o,{method:r}));return e.create=t=>B(v(t)),e.extend=e=>B(v(t,e)),e.stop=S,e},N=B(),q={list:[],keys:[],locs:[],loading:!1,solved:!1,error:void 0,pick:void 0,data:void 0},{state:_}=(()=>{const t=((t,e=((t,e)=>t!==e))=>{const r=g(t);let o=new Map(Object.entries(null!=r?r:{}));const s={dispose:[],get:[],set:[],reset:[]},n=()=>{var e;o=new Map(Object.entries(null!==(e=g(t))&&void 0!==e?e:{})),s.reset.forEach((t=>t()))},a=t=>(s.get.forEach((e=>e(t))),o.get(t)),i=(t,r)=>{const n=o.get(t);e(r,n,t)&&(o.set(t,r),s.set.forEach((e=>e(t,r,n))))},l="undefined"==typeof Proxy?{}:new Proxy(r,{get:(t,e)=>a(e),ownKeys:()=>Array.from(o.keys()),getOwnPropertyDescriptor:()=>({enumerable:!0,configurable:!0}),has:(t,e)=>o.has(e),set:(t,e,r)=>(i(e,r),!0)}),c=(t,e)=>(s[t].push(e),()=>{((t,e)=>{const r=t.indexOf(e);r>=0&&(t[r]=t[t.length-1],t.length--)})(s[t],e)});return{state:l,get:a,set:i,on:c,onChange:(e,r)=>{const o=c("set",((t,o)=>{t===e&&r(o)})),s=c("reset",(()=>r(g(t)[e])));return()=>{o(),s()}},use:(...t)=>{const e=t.reduce(((t,e)=>(e.set&&t.push(c("set",e.set)),e.get&&t.push(c("get",e.get)),e.reset&&t.push(c("reset",e.reset)),e.dispose&&t.push(c("dispose",e.dispose)),t)),[]);return()=>e.forEach((t=>t()))},dispose:()=>{s.dispose.forEach((t=>t())),n()},reset:n,forceUpdate:t=>{const e=o.get(t);s.set.forEach((r=>r(t,e,e)))}}})(q,void 0);return t.use((()=>{if("function"!=typeof e)return{};const t=new Map;return{dispose:()=>t.clear(),get:r=>{const o=e();o&&((t,e,r)=>{const o=t.get(e);o?o.includes(r)||o.push(r):t.set(e,[r])})(t,r,o)},set:e=>{const o=t.get(e);o&&t.set(e,o.filter(r)),w(t)},reset:()=>{t.forEach((t=>t.forEach(r))),w(t)}}})()),t})(),H=new Map([["row",new Map],["column",new Map],["box",new Map]]),$=["1","2","3","4","5","6","7","8","9"],D=t=>{if(void 0!==t&&t.indx!=_.pick){const{isClue:e,indx:r,row:o,column:s,box:n}=t,a=((t,e,r,o)=>{const s=new Map([["row",e],["column",r],["box",o]]),n=new Set;return s.forEach(((e,r)=>{H.get(r).get(e).forEach((e=>{e!==t&&n.add(e)}))})),Array.from(n)})(r,o,s,n),i=e?[]:(t=>{const{list:e}=_,r=new Set;return t.map((t=>{const{key:o}=e[t];"."!=o&&r.add(o)})),$.filter((t=>!r.has(t)))})(a);_.pick=r,_.keys=i,_.locs=a}else _.pick=void 0,_.keys=[],_.locs=[];J(_.pick)},L=N.extend({hooks:{beforeRequest:[t=>{t.headers.set("X-Requested-With","ky"),t.headers.set("X-Custom-Header","foobar")}]},prefixUrl:"https://sudoku-rust-api.vercel.app/api",timeout:1e4}),I=t=>{f(t)},J=t=>{p(t)},W=(t=!1)=>{_.list=[],_.keys=[],_.locs=[],_.loading=t,_.solved=!1,_.error=void 0,_.pick=void 0,_.data=void 0},X=(t,e=!0)=>{const{puzzle:r,ref:o}=t;e&&(f([]),d(a,t)),(t=>{if(t){const{puzzle:e,ref:r}=t,o=e?[...e]:[],s=r?atob(r):void 0,n=s?[...s]:[],a=o.map(((t,e)=>{const r=n[e],o=t===r,s=Math.floor(e/9),a=e%9,i=((t,e)=>e<3?t<3?0:t<6?3:6:e<6?t<3?1:t<6?4:7:t<3?2:t<6?5:8)(s,a);return((t,e,r,o)=>{new Map([["row",e],["column",r],["box",o]]).forEach(((e,r)=>{const o=H.get(r);o.has(e)?o.get(e).add(t):o.set(e,new Set([t]))}))})(e,s,a,i),{key:t,isClue:o,value:r,indx:e,row:s,column:a,box:i}}));(t=>{h().forEach(((e,r)=>{const o=t[r],{isClue:s}=o;s||(o.key=e)}))})(a),_.data=t,_.list=a}else _.data=void 0,_.list=[]})({puzzle:r,ref:o})},Z=t=>{_.list=[...t],t.length=0},F={initApp:()=>{W();const t=c(a),e=u();if(t&&(X(t,!1),e>=0)){const{list:t}=_;D(t[e])}},refresh:async()=>{W(!0),I([]),J(_.pick);try{const t=await L.get("puzzle").json();X(t)}catch(t){const{message:e}=t;console.log("-- ",e),console.log(t),_.error=e}finally{_.loading=!1}},select:t=>{D(t)},check:()=>{const{list:t}=_,e=[];let r=0,o=0,s=0;t.forEach((t=>{const{key:n,value:a,isClue:i}=t;i?s+=1:"."!==n&&(n!==a?(r+=1,t.key="."):o+=1),e.push(t.key)}));const n=s+o;I(o?e:[]),r>0?Z(t):81===n&&(_.solved=!0)},input:t=>{const{pick:e,list:r}=_;r[e].key=t,Z(r)}},K=(...t)=>t.filter(Boolean).join(" "),V=e=>{const r=e.hex||"currentColor",o=e.label||"loading...",s=e.size||24;return t("svg",{class:K(e.class||"","animate-spin"),width:s,height:s,fill:"none",viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,o),t("g",null,t("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:r,"stroke-width":"4"}),t("path",{class:"opacity-75",fill:r,d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})),t("path",{d:"M0 0h24v24H0z",fill:"none"}))},Y=e=>{const{message:r,salute:o,spinner:n=!1}=e;return t("div",{class:"mt-5 flex h-24px flex-row items-center"},t(n?V:s,{class:"mr-2"}),o?t("label",{class:"mr-1 font-bold"},o,":"):"",t("label",{class:"italic"},r))},G=()=>{const{solved:e,loading:r,error:o}=_;return t("div",{class:"flex flex-col"},r||o||e?"":t(Y,{message:"Welcome, are you ready to play?..."}),r?t(Y,{message:"Loading...",spinner:!0}):"",o?t(Y,{message:o,salute:"ERROR"}):"",e?t(Y,{message:"You solved the puzzle!!"}):"")},Q=e=>{const r=e.hex||"currentColor",o=e.size||24;return t("svg",{class:e.class,width:o,height:o,viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,e.label||"fingerprint"),t("g",{fill:r},t("path",{d:"M17.81,4.47C17.73,4.47 17.65,4.45 17.58,4.41C15.66,3.42 14,3\n 12,3C10.03,3 8.15,3.47 6.44,4.41C6.2,4.54 5.9,4.45 5.76,4.21C5.63,3.97\n 5.72,3.66 5.96,3.53C7.82,2.5 9.86,2 12,2C14.14,2 16,2.47\n 18.04,3.5C18.29,3.65 18.38,3.95 18.25,4.19C18.16,4.37 18,4.47\n 17.81,4.47M3.5,9.72C3.4,9.72 3.3,9.69 3.21,9.63C3,9.47 2.93,9.16\n 3.09,8.93C4.08,7.53 5.34,6.43 6.84,5.66C10,4.04 14,4.03\n 17.15,5.65C18.65,6.42 19.91,7.5 20.9,8.9C21.06,9.12 21,9.44\n 20.78,9.6C20.55,9.76 20.24,9.71 20.08,9.5C19.18,8.22 18.04,7.23\n 16.69,6.54C13.82,5.07 10.15,5.07 7.29,6.55C5.93,7.25 4.79,8.25\n 3.89,9.5C3.81,9.65 3.66,9.72 3.5,9.72M9.75,21.79C9.62,21.79 9.5,21.74\n 9.4,21.64C8.53,20.77 8.06,20.21 7.39,19C6.7,17.77 6.34,16.27\n 6.34,14.66C6.34,11.69 8.88,9.27 12,9.27C15.12,9.27 17.66,11.69\n 17.66,14.66A0.5,0.5 0 0,1 17.16,15.16A0.5,0.5 0 0,1\n 16.66,14.66C16.66,12.24 14.57,10.27 12,10.27C9.43,10.27 7.34,12.24\n 7.34,14.66C7.34,16.1 7.66,17.43 8.27,18.5C8.91,19.66 9.35,20.15\n 10.12,20.93C10.31,21.13 10.31,21.44 10.12,21.64C10,21.74 9.88,21.79\n 9.75,21.79M16.92,19.94C15.73,19.94 14.68,19.64 13.82,19.05C12.33,18.04\n 11.44,16.4 11.44,14.66A0.5,0.5 0 0,1 11.94,14.16A0.5,0.5 0 0,1\n 12.44,14.66C12.44,16.07 13.16,17.4 14.38,18.22C15.09,18.7 15.92,18.93\n 16.92,18.93C17.16,18.93 17.56,18.9 17.96,18.83C18.23,18.78 18.5,18.96\n 18.54,19.24C18.59,19.5 18.41,19.77 18.13,19.82C17.56,19.93 17.06,19.94\n 16.92,19.94M14.91,22C14.87,22 14.82,22 14.78,22C13.19,21.54 12.15,20.95\n 11.06,19.88C9.66,18.5 8.89,16.64 8.89,14.66C8.89,13.04 10.27,11.72\n 11.97,11.72C13.67,11.72 15.05,13.04 15.05,14.66C15.05,15.73 16,16.6\n 17.13,16.6C18.28,16.6 19.21,15.73 19.21,14.66C19.21,10.89 15.96,7.83\n 11.96,7.83C9.12,7.83 6.5,9.41 5.35,11.86C4.96,12.67 4.76,13.62\n 4.76,14.66C4.76,15.44 4.83,16.67 5.43,18.27C5.53,18.53 5.4,18.82\n 5.14,18.91C4.88,19 4.59,18.87 4.5,18.62C4,17.31 3.77,16\n 3.77,14.66C3.77,13.46 4,12.37 4.45,11.42C5.78,8.63 8.73,6.82\n 11.96,6.82C16.5,6.82 20.21,10.33 20.21,14.65C20.21,16.27 18.83,17.59\n 17.13,17.59C15.43,17.59 14.05,16.27 14.05,14.65C14.05,13.58 13.12,12.71\n 11.97,12.71C10.82,12.71 9.89,13.58 9.89,14.65C9.89,16.36 10.55,17.96\n 11.76,19.16C12.71,20.1 13.62,20.62 15.03,21C15.3,21.08 15.45,21.36\n 15.38,21.62C15.33,21.85 15.12,22 14.91,22Z"})),t("path",{d:"M0 0h24v24H0z",fill:"none"}))},tt="eswat2",et=()=>t("a",{class:"absolute top-0 right-0 text-clrs-gray hover:text-clrs-navy",href:"https://eswat2.dev","aria-label":tt,title:tt},t(Q,{label:tt})),rt=(e,r)=>t("h1",{class:K("text-center uppercase text-clrs-red","mr-0 ml-0 mt-11 mb-11","text-6xl font-thin")},r),ot=e=>{const{label:r,callback:o,matched:s=!1}=e;return t("button",{class:K("rounded-md border border-solid border-clrs-slate4 font-bold","Check ?"===r?"mr-2 bg-clrs-yellow px-3 py-2 text-clrs-navy":"New Puzzle"===r?"mr-2 bg-clrs-navy px-3 py-2 text-white":"x"===r?"mr-1 bg-clrs-red px-2 py-1 text-white":s?"mr-1 bg-clrs-slate4 px-2 py-1 text-white":"mr-1 bg-gray-50 px-2 py-1 text-clrs-navy"),onClick:o},r)},st=()=>{const{keys:e,list:r,pick:o,solved:s}=_,n=t=>()=>{F.input(t)},a=s?[]:e,i=null!=o?r[o]:void 0;return t("div",{class:"mt-2 flex flex-row justify-end"},s||!i||i.isClue||"."==i.key?"":t(ot,{label:"x",callback:n(".")}),a.map((e=>t(ot,{label:e,callback:n(e),matched:i.key===e}))))},nt=[2,5,11,14,20,23,29,32,38,41,47,50,56,59,65,68,74,77],at=nt.map((t=>t+1)),it=[18,19,20,21,22,23,24,25,26,45,46,47,48,49,50,51,52,53],lt=it.map((t=>t+9)),ct=e=>{const{cell:r,selected:o,ref:s,solved:n}=e,{key:a,isClue:i,indx:l}=r,c="."!=a?a:"";return t("label",{class:K(`cell-${l}`,nt.includes(l)?"border-xbr-clrs-navy":"",at.includes(l)?"border-xbl-clrs-navy":"",it.includes(l)?"border-xbb-clrs-navy":"",lt.includes(l)?"border-xbt-clrs-navy":"","h-8 w-8 border border-solid text-center leading-8",o?"border-clrs-red bg-clrs-red-a50 text-clrs-red":s?"border-clrs-gray bg-clrs-green-a50 font-bold":i?"border-clrs-gray bg-clrs-silver":""!==c?"border-clrs-gray text-clrs-red":"border-clrs-gray"),onClick:((t,e)=>()=>{e||F.select(t)})(r,n)},c)},dt=()=>{const{list:e,pick:r,locs:o,solved:s}=_;return t("div",{class:K("flex flex-row flex-wrap","border border-solid border-clrs-navy","h-76p5 w-76p5 text-lg")},e.map(((e,n)=>{const a=!s&&n===r,i=!s&&o.includes(n);return t(ct,{cell:e,selected:a,ref:i,solved:s})})))},ht=()=>t("label",{class:"ml-auto align-top text-xs italic text-clrs-slate4"},"Tailwind ","3.1.8"),ft=t=>()=>{t.refresh()},ut=t=>()=>{t.check()},pt=()=>{const{list:e,solved:r}=_;return t("div",{class:"flex flex-row"},t(ot,{label:"New Puzzle",callback:ft(F)}),81!==e.length||r?"":t(ot,{label:"Check ?",callback:ut(F)}),t(ht,null))},bt=class{constructor(t){o(this,t),this.tag="proto-sudoku"}componentDidLoad(){F.initApp()}render(){return t("div",{id:"app",class:"ds1-main relative max-w-min p-0.5"},t(et,null),t(rt,null,"Sudoku"),t(dt,null),t(st,null),t("hr",{class:"ml-0 mr-0"}),t(pt,null),t(G,null))}};bt.style="*,::before,::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}.ds1-main{margin:1.5rem;display:flex;flex-direction:column;font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,\n 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif,\n 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';color:var(--clrs-navy, #001f3f);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.absolute{position:absolute}.relative{position:relative}.top-0{top:0px}.right-0{right:0px}.mt-5{margin-top:1.25rem}.mr-2{margin-right:0.5rem}.mr-1{margin-right:0.25rem}.mr-0{margin-right:0px}.ml-0{margin-left:0px}.mt-11{margin-top:2.75rem}.mb-11{margin-bottom:2.75rem}.mt-2{margin-top:0.5rem}.ml-auto{margin-left:auto}.flex{display:flex}.h-24px{height:24px}.h-8{height:2rem}.h-76p5{height:19.125rem}.w-8{width:2rem}.w-76p5{width:19.125rem}.max-w-min{max-width:-moz-min-content;max-width:min-content}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-end{justify-content:flex-end}.rounded-md{border-radius:0.375rem}.border{border-width:1px}.border-solid{border-style:solid}.border-clrs-slate4{border-color:var(--clrs-slate4, #4e5964)}.border-clrs-red{border-color:var(--clrs-red, #ff4136)}.border-clrs-gray{border-color:var(--clrs-gray, #aaaaaa)}.border-clrs-navy{border-color:var(--clrs-navy, #001f3f)}.bg-clrs-yellow{background-color:var(--clrs-yellow, #ffdc00)}.bg-clrs-navy{background-color:var(--clrs-navy, #001f3f)}.bg-clrs-red{background-color:var(--clrs-red, #ff4136)}.bg-clrs-slate4{background-color:var(--clrs-slate4, #4e5964)}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.bg-clrs-red-a50{background-color:var(--clrs-red-a50, #ff413650)}.bg-clrs-green-a50{background-color:var(--clrs-green-a50, #2ecc4050)}.bg-clrs-silver{background-color:var(--clrs-silver, #dddddd)}.p-0\\.5{padding:0.125rem}.p-0{padding:0px}.px-3{padding-left:0.75rem;padding-right:0.75rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.px-2{padding-left:0.5rem;padding-right:0.5rem}.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.text-center{text-align:center}.align-top{vertical-align:top}.text-6xl{font-size:3.75rem;line-height:1}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xs{font-size:0.75rem;line-height:1rem}.font-bold{font-weight:700}.font-thin{font-weight:100}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-8{line-height:2rem}.text-clrs-navy{color:var(--clrs-navy, #001f3f)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-clrs-red{color:var(--clrs-red, #ff4136)}.text-clrs-gray{color:var(--clrs-gray, #aaaaaa)}.text-clrs-slate4{color:var(--clrs-slate4, #4e5964)}.opacity-25{opacity:0.25}.opacity-75{opacity:0.75}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),\n 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.border-xbb-clrs-navy{border-bottom:1px solid var(--clrs-navy, #001f3f) !important}.border-xbt-clrs-navy{border-top:1px solid var(--clrs-navy, #001f3f) !important}.border-xbl-clrs-navy{border-left:1px solid var(--clrs-navy, #001f3f) !important}.border-xbr-clrs-navy{border-right:1px solid var(--clrs-navy, #001f3f) !important}.hover\\:text-clrs-navy:hover{color:var(--clrs-navy, #001f3f)}";export{bt as proto_sudoku}
|
@@ -1 +1 @@
|
|
1
|
-
import{p as
|
1
|
+
import{p as o,b as p}from"./p-68909a5a.js";(()=>{const p=import.meta.url,r={};return""!==p&&(r.resourcesUrl=new URL(".",p).href),o(r)})().then((o=>p([["p-ebff75e1",[[1,"proto-sudoku",{tag:[1]}]]]],o)));
|
@@ -2,7 +2,7 @@ import { AppStore, PuzzleCell } from './types';
|
|
2
2
|
declare const state: AppStore;
|
3
3
|
declare const actions: {
|
4
4
|
initApp: () => void;
|
5
|
-
refresh: () => void
|
5
|
+
refresh: () => Promise<void>;
|
6
6
|
select: (cell: PuzzleCell) => void;
|
7
7
|
check: () => void;
|
8
8
|
input: (key: string) => void;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "proto-sudoku-wc",
|
3
|
-
"version": "0.0.
|
3
|
+
"version": "0.0.486",
|
4
4
|
"description": "prototype - a simple Sudoku app rendered in Stencil and Tailwind",
|
5
5
|
"main": "dist/index.cjs.js",
|
6
6
|
"module": "dist/index.js",
|
@@ -31,7 +31,7 @@
|
|
31
31
|
"dependencies": {
|
32
32
|
"@stencil/core": "2.18.1",
|
33
33
|
"@stencil/store": "2.0.1",
|
34
|
-
"
|
34
|
+
"ky": "0.31.3",
|
35
35
|
"proto-tailwindcss-clrs": "0.0.168",
|
36
36
|
"tailwindcss": "3.1.8"
|
37
37
|
},
|
@@ -1 +0,0 @@
|
|
1
|
-
import{h as t,g as e,f as n,r}from"./p-68909a5a.js";const o=e=>{const n=e.hex||"currentColor",r=e.size||24;return t("svg",{class:e.class,width:r,height:r,viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,e.label||"alien"),t("g",{fill:n},t("path",{d:"M10.31 10.93C11.33 12.57 11.18 14.5 9.96 15.28C8.74 16.04 6.92 15.33\n 5.89 13.69C4.87 12.05 5.03 10.1 6.25 9.34C7.47 8.58 9.29 9.29 10.31\n 10.93M12 17.75C14 17.75 14.5 17 14.5 17C14.5 17 14 19 12 19C10 19 9.5\n 17.03 9.5 17C9.5 17 10 17.75 12 17.75M17.75 9.34C18.97 10.1 19.13 12.05\n 18.11 13.69C17.08 15.33 15.26 16.04 14.04 15.28C12.82 14.5 12.67 12.57\n 13.69 10.93C14.71 9.29 16.53 8.58 17.75 9.34M12 20C14.5 20 20 14.86 20\n 11C20 7.14 16.41 4 12 4C7.59 4 4 7.14 4 11C4 14.86 9.5 20 12 20M12 2C17.5\n 2 22 6.04 22 11C22 15.08 16.32 22 12 22C7.68 22 2 15.08 2 11C2 6.04 6.5 2\n 12 2Z"})),t("path",{d:"M0 0h24v24H0z",fill:"none"}))},i="proto-sudoku",s=`${i}::data`,c=`${i}::inputs`,l=`${i}::pick`,a=t=>{const e=localStorage.getItem(t);return e?JSON.parse(e):void 0},u=(t,e)=>{const n=JSON.stringify(e);localStorage.setItem(t,n)},f=()=>[...a(c)],d=t=>{u(c,t.join(""))},h=()=>{const t=a(l);return null!==t?t:void 0},p=t=>{u(l,t>=0&&t<81?t:null)},m=t=>!("isConnected"in t)||t.isConnected,b=(()=>{let t;return(...e)=>{t&&clearTimeout(t),t=setTimeout((()=>{t=0,(t=>{for(let e of t.keys())t.set(e,t.get(e).filter(m))})(...e)}),2e3)}})(),w=t=>"function"==typeof t?t():t;function g(t,e){return function(){return t.apply(e,arguments)}}const{toString:y}=Object.prototype,{getPrototypeOf:x}=Object,v=(C=Object.create(null),t=>{const e=y.call(t);return C[e]||(C[e]=e.slice(8,-1).toLowerCase())});var C;const O=t=>(t=t.toLowerCase(),e=>v(e)===t),E=t=>e=>typeof e===t,{isArray:j}=Array,R=E("undefined"),S=O("ArrayBuffer"),k=E("string"),A=E("function"),N=E("number"),T=t=>null!==t&&"object"==typeof t,B=t=>{if("object"!==v(t))return!1;const e=x(t);return null===e||e===Object.prototype},M=O("Date"),P=O("File"),z=O("Blob"),D=O("FileList"),F=O("URLSearchParams");function U(t,e,{allOwnKeys:n=!1}={}){if(null==t)return;let r,o;if("object"!=typeof t&&(t=[t]),j(t))for(r=0,o=t.length;r<o;r++)e.call(null,t[r],r,t);else{const o=n?Object.getOwnPropertyNames(t):Object.keys(t),i=o.length;let s;for(r=0;r<i;r++)s=o[r],e.call(null,t[s],s,t)}}const _=(L="undefined"!=typeof Uint8Array&&x(Uint8Array),t=>L&&t instanceof L);var L;const I=O("HTMLFormElement"),H=(({hasOwnProperty:t})=>(e,n)=>t.call(e,n))(Object.prototype),J=O("RegExp"),q=(t,e)=>{const n=Object.getOwnPropertyDescriptors(t),r={};U(n,((n,o)=>{!1!==e(n,o,t)&&(r[o]=n)})),Object.defineProperties(t,r)},$={isArray:j,isArrayBuffer:S,isBuffer:function(t){return null!==t&&!R(t)&&null!==t.constructor&&!R(t.constructor)&&A(t.constructor.isBuffer)&&t.constructor.isBuffer(t)},isFormData:t=>{const e="[object FormData]";return t&&("function"==typeof FormData&&t instanceof FormData||y.call(t)===e||A(t.toString)&&t.toString()===e)},isArrayBufferView:function(t){let e;return e="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&S(t.buffer),e},isString:k,isNumber:N,isBoolean:t=>!0===t||!1===t,isObject:T,isPlainObject:B,isUndefined:R,isDate:M,isFile:P,isBlob:z,isRegExp:J,isFunction:A,isStream:t=>T(t)&&A(t.pipe),isURLSearchParams:F,isTypedArray:_,isFileList:D,forEach:U,merge:function t(){const e={},n=(n,r)=>{e[r]=B(e[r])&&B(n)?t(e[r],n):B(n)?t({},n):j(n)?n.slice():n};for(let t=0,e=arguments.length;t<e;t++)arguments[t]&&U(arguments[t],n);return e},extend:(t,e,n,{allOwnKeys:r}={})=>(U(e,((e,r)=>{t[r]=n&&A(e)?g(e,n):e}),{allOwnKeys:r}),t),trim:t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:t=>(65279===t.charCodeAt(0)&&(t=t.slice(1)),t),inherits:(t,e,n,r)=>{t.prototype=Object.create(e.prototype,r),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),n&&Object.assign(t.prototype,n)},toFlatObject:(t,e,n,r)=>{let o,i,s;const c={};if(e=e||{},null==t)return e;do{for(o=Object.getOwnPropertyNames(t),i=o.length;i-- >0;)s=o[i],r&&!r(s,t,e)||c[s]||(e[s]=t[s],c[s]=!0);t=!1!==n&&x(t)}while(t&&(!n||n(t,e))&&t!==Object.prototype);return e},kindOf:v,kindOfTest:O,endsWith:(t,e,n)=>{t=String(t),(void 0===n||n>t.length)&&(n=t.length);const r=t.indexOf(e,n-=e.length);return-1!==r&&r===n},toArray:t=>{if(!t)return null;if(j(t))return t;let e=t.length;if(!N(e))return null;const n=new Array(e);for(;e-- >0;)n[e]=t[e];return n},forEachEntry:(t,e)=>{const n=(t&&t[Symbol.iterator]).call(t);let r;for(;(r=n.next())&&!r.done;){const n=r.value;e.call(t,n[0],n[1])}},matchAll:(t,e)=>{let n;const r=[];for(;null!==(n=t.exec(e));)r.push(n);return r},isHTMLForm:I,hasOwnProperty:H,hasOwnProp:H,reduceDescriptors:q,freezeMethods:t=>{q(t,((e,n)=>{A(t[n])&&(e.enumerable=!1,"writable"in e?e.writable=!1:e.set||(e.set=()=>{throw Error("Can not read-only method '"+n+"'")}))}))},toObjectSet:(t,e)=>{const n={},r=t=>{t.forEach((t=>{n[t]=!0}))};return j(t)?r(t):r(String(t).split(e)),n},toCamelCase:t=>t.toLowerCase().replace(/[_-\s]([a-z\d])(\w*)/g,(function(t,e,n){return e.toUpperCase()+n})),noop:()=>{},toFiniteNumber:(t,e)=>(t=+t,Number.isFinite(t)?t:e)};function K(t,e,n,r,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=t,this.name="AxiosError",e&&(this.code=e),n&&(this.config=n),r&&(this.request=r),o&&(this.response=o)}$.inherits(K,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}}});const V=K.prototype,X={};["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","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((t=>{X[t]={value:t}})),Object.defineProperties(K,X),Object.defineProperty(V,"isAxiosError",{value:!0}),K.from=(t,e,n,r,o,i)=>{const s=Object.create(V);return $.toFlatObject(t,s,(function(t){return t!==Error.prototype}),(t=>"isAxiosError"!==t)),K.call(s,t.message,e,n,r,o),s.cause=t,s.name=t.name,i&&Object.assign(s,i),s};var W="object"==typeof self?self.FormData:window.FormData;function Z(t){return $.isPlainObject(t)||$.isArray(t)}function Y(t){return $.endsWith(t,"[]")?t.slice(0,-2):t}function Q(t,e,n){return t?t.concat(e).map((function(t,e){return t=Y(t),!n&&e?"["+t+"]":t})).join(n?".":""):e}const G=$.toFlatObject($,{},null,(function(t){return/^is[A-Z]/.test(t)}));function tt(t,e,n){if(!$.isObject(t))throw new TypeError("target must be an object");e=e||new(W||FormData);const r=(n=$.toFlatObject(n,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(t,e){return!$.isUndefined(e[t])}))).metaTokens,o=n.visitor||u,i=n.dots,s=n.indexes,c=(n.Blob||"undefined"!=typeof Blob&&Blob)&&(l=e)&&$.isFunction(l.append)&&"FormData"===l[Symbol.toStringTag]&&l[Symbol.iterator];var l;if(!$.isFunction(o))throw new TypeError("visitor must be a function");function a(t){if(null===t)return"";if($.isDate(t))return t.toISOString();if(!c&&$.isBlob(t))throw new K("Blob is not supported. Use a Buffer instead.");return $.isArrayBuffer(t)||$.isTypedArray(t)?c&&"function"==typeof Blob?new Blob([t]):Buffer.from(t):t}function u(t,n,o){let c=t;if(t&&!o&&"object"==typeof t)if($.endsWith(n,"{}"))n=r?n:n.slice(0,-2),t=JSON.stringify(t);else if($.isArray(t)&&function(t){return $.isArray(t)&&!t.some(Z)}(t)||$.isFileList(t)||$.endsWith(n,"[]")&&(c=$.toArray(t)))return n=Y(n),c.forEach((function(t,r){!$.isUndefined(t)&&e.append(!0===s?Q([n],r,i):null===s?n:n+"[]",a(t))})),!1;return!!Z(t)||(e.append(Q(o,n,i),a(t)),!1)}const f=[],d=Object.assign(G,{defaultVisitor:u,convertValue:a,isVisitable:Z});if(!$.isObject(t))throw new TypeError("data must be an object");return function t(n,r){if(!$.isUndefined(n)){if(-1!==f.indexOf(n))throw Error("Circular reference detected in "+r.join("."));f.push(n),$.forEach(n,(function(n,i){!0===(!$.isUndefined(n)&&o.call(e,n,$.isString(i)?i.trim():i,r,d))&&t(n,r?r.concat(i):[i])})),f.pop()}}(t),e}function et(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,(function(t){return e[t]}))}function nt(t,e){this._pairs=[],t&&tt(t,this,e)}const rt=nt.prototype;function ot(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function it(t,e,n){if(!e)return t;const r=t.indexOf("#");-1!==r&&(t=t.slice(0,r));const o=n&&n.encode||ot,i=$.isURLSearchParams(e)?e.toString():new nt(e,n).toString(o);return i&&(t+=(-1===t.indexOf("?")?"?":"&")+i),t}rt.append=function(t,e){this._pairs.push([t,e])},rt.toString=function(t){const e=t?function(e){return t.call(this,e,et)}:et;return this._pairs.map((function(t){return e(t[0])+"="+e(t[1])}),"").join("&")};class st{constructor(){this.handlers=[]}use(t,e,n){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!n&&n.synchronous,runWhen:n?n.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){$.forEach(this.handlers,(function(e){null!==e&&t(e)}))}}const ct={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},lt="undefined"!=typeof URLSearchParams?URLSearchParams:nt,at=FormData,ut=(()=>{let t;return("undefined"==typeof navigator||"ReactNative"!==(t=navigator.product)&&"NativeScript"!==t&&"NS"!==t)&&"undefined"!=typeof window&&"undefined"!=typeof document})(),ft={isBrowser:!0,classes:{URLSearchParams:lt,FormData:at,Blob},isStandardBrowserEnv:ut,protocols:["http","https","file","blob","url","data"]};function dt(t){function e(t,n,r,o){let i=t[o++];const s=Number.isFinite(+i),c=o>=t.length;return i=!i&&$.isArray(r)?r.length:i,c?(r[i]=$.hasOwnProp(r,i)?[r[i],n]:n,!s):(r[i]&&$.isObject(r[i])||(r[i]=[]),e(t,n,r[i],o)&&$.isArray(r[i])&&(r[i]=function(t){const e={},n=Object.keys(t);let r;const o=n.length;let i;for(r=0;r<o;r++)i=n[r],e[i]=t[i];return e}(r[i])),!s)}if($.isFormData(t)&&$.isFunction(t.entries)){const n={};return $.forEachEntry(t,((t,r)=>{e(function(t){return $.matchAll(/\w+|\[(\w*)]/g,t).map((t=>"[]"===t[0]?"":t[1]||t[0]))}(t),r,n,0)})),n}return null}const ht=ft.isStandardBrowserEnv?{write:function(t,e,n,r,o,i){const s=[];s.push(t+"="+encodeURIComponent(e)),$.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),$.isString(r)&&s.push("path="+r),$.isString(o)&&s.push("domain="+o),!0===i&&s.push("secure"),document.cookie=s.join("; ")},read:function(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}};function pt(t,e){return t&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)?function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}(t,e):e}const mt=ft.isStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");let n;function r(n){let r=n;return t&&(e.setAttribute("href",r),r=e.href),e.setAttribute("href",r),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return n=r(window.location.href),function(t){const e=$.isString(t)?r(t):t;return e.protocol===n.protocol&&e.host===n.host}}():function(){return!0};function bt(t,e,n){K.call(this,null==t?"canceled":t,K.ERR_CANCELED,e,n),this.name="CanceledError"}$.inherits(bt,K,{__CANCEL__:!0});const wt=$.toObjectSet(["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"]),gt=Symbol("internals"),yt=Symbol("defaults");function xt(t){return t&&String(t).trim().toLowerCase()}function vt(t){return!1===t||null==t?t:String(t)}function Ct(t,e,n,r){return $.isFunction(r)?r.call(this,e,n):$.isString(e)?$.isString(r)?-1!==e.indexOf(r):$.isRegExp(r)?r.test(e):void 0:void 0}function Ot(t,e){e=e.toLowerCase();const n=Object.keys(t);let r,o=n.length;for(;o-- >0;)if(r=n[o],e===r.toLowerCase())return r;return null}function Et(t,e){t&&this.set(t),this[yt]=e||null}function jt(t,e){let n=0;const r=function(t,e){t=t||10;const n=new Array(t),r=new Array(t);let o,i=0,s=0;return e=void 0!==e?e:1e3,function(c){const l=Date.now(),a=r[s];o||(o=l),n[i]=c,r[i]=l;let u=s,f=0;for(;u!==i;)f+=n[u++],u%=t;if(i=(i+1)%t,i===s&&(s=(s+1)%t),l-o<e)return;const d=a&&l-a;return d?Math.round(1e3*f/d):void 0}}(50,250);return o=>{const i=o.loaded,s=o.lengthComputable?o.total:void 0,c=i-n,l=r(c);n=i;const a={loaded:i,total:s,progress:s?i/s:void 0,bytes:c,rate:l||void 0,estimated:l&&s&&i<=s?(s-i)/l:void 0};a[e?"download":"upload"]=!0,t(a)}}function Rt(t){return new Promise((function(e,n){let r=t.data;const o=Et.from(t.headers).normalize(),i=t.responseType;let s;function c(){t.cancelToken&&t.cancelToken.unsubscribe(s),t.signal&&t.signal.removeEventListener("abort",s)}$.isFormData(r)&&ft.isStandardBrowserEnv&&o.setContentType(!1);let l=new XMLHttpRequest;if(t.auth){const e=t.auth.username||"",n=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";o.set("Authorization","Basic "+btoa(e+":"+n))}const a=pt(t.baseURL,t.url);function u(){if(!l)return;const r=Et.from("getAllResponseHeaders"in l&&l.getAllResponseHeaders());!function(t,e,n){const r=n.config.validateStatus;n.status&&r&&!r(n.status)?e(new K("Request failed with status code "+n.status,[K.ERR_BAD_REQUEST,K.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n)):t(n)}((function(t){e(t),c()}),(function(t){n(t),c()}),{data:i&&"text"!==i&&"json"!==i?l.response:l.responseText,status:l.status,statusText:l.statusText,headers:r,config:t,request:l}),l=null}if(l.open(t.method.toUpperCase(),it(a,t.params,t.paramsSerializer),!0),l.timeout=t.timeout,"onloadend"in l?l.onloadend=u:l.onreadystatechange=function(){l&&4===l.readyState&&(0!==l.status||l.responseURL&&0===l.responseURL.indexOf("file:"))&&setTimeout(u)},l.onabort=function(){l&&(n(new K("Request aborted",K.ECONNABORTED,t,l)),l=null)},l.onerror=function(){n(new K("Network Error",K.ERR_NETWORK,t,l)),l=null},l.ontimeout=function(){let e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded";t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),n(new K(e,(t.transitional||ct).clarifyTimeoutError?K.ETIMEDOUT:K.ECONNABORTED,t,l)),l=null},ft.isStandardBrowserEnv){const e=(t.withCredentials||mt(a))&&t.xsrfCookieName&&ht.read(t.xsrfCookieName);e&&o.set(t.xsrfHeaderName,e)}void 0===r&&o.setContentType(null),"setRequestHeader"in l&&$.forEach(o.toJSON(),(function(t,e){l.setRequestHeader(e,t)})),$.isUndefined(t.withCredentials)||(l.withCredentials=!!t.withCredentials),i&&"json"!==i&&(l.responseType=t.responseType),"function"==typeof t.onDownloadProgress&&l.addEventListener("progress",jt(t.onDownloadProgress,!0)),"function"==typeof t.onUploadProgress&&l.upload&&l.upload.addEventListener("progress",jt(t.onUploadProgress)),(t.cancelToken||t.signal)&&(s=e=>{l&&(n(!e||e.type?new bt(null,t,l):e),l.abort(),l=null)},t.cancelToken&&t.cancelToken.subscribe(s),t.signal&&(t.signal.aborted?s():t.signal.addEventListener("abort",s)));const f=function(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}(a);f&&-1===ft.protocols.indexOf(f)?n(new K("Unsupported protocol "+f+":",K.ERR_BAD_REQUEST,t)):l.send(r||null)}))}Object.assign(Et.prototype,{set:function(t,e,n){const r=this;function o(t,e,n){const o=xt(e);if(!o)throw new Error("header name must be a non-empty string");const i=Ot(r,o);(!i||!0===n||!1!==r[i]&&!1!==n)&&(t=$.isArray(t)?t.map(vt):vt(t),r[i||e]=t)}return $.isPlainObject(t)?$.forEach(t,((t,n)=>{o(t,n,e)})):o(e,t,n),this},get:function(t,e){if(!(t=xt(t)))return;const n=Ot(this,t);if(n){const t=this[n];if(!e)return t;if(!0===e)return function(t){const e=Object.create(null),n=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let r;for(;r=n.exec(t);)e[r[1]]=r[2];return e}(t);if($.isFunction(e))return e.call(this,t,n);if($.isRegExp(e))return e.exec(t);throw new TypeError("parser must be boolean|regexp|function")}},has:function(t,e){if(t=xt(t)){const n=Ot(this,t);return!(!n||e&&!Ct(0,this[n],n,e))}return!1},delete:function(t,e){const n=this;let r=!1;function o(t){if(t=xt(t)){const o=Ot(n,t);!o||e&&!Ct(0,n[o],o,e)||(delete n[o],r=!0)}}return $.isArray(t)?t.forEach(o):o(t),r},clear:function(){return Object.keys(this).forEach(this.delete.bind(this))},normalize:function(t){const e=this,n={};return $.forEach(this,((r,o)=>{const i=Ot(n,o);if(i)return e[i]=vt(r),void delete e[o];const s=t?function(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((t,e,n)=>e.toUpperCase()+n))}(o):String(o).trim();s!==o&&delete e[o],e[s]=vt(r),n[s]=!0})),this},toJSON:function(){const t=Object.create(null);return $.forEach(Object.assign({},this[yt]||null,this),((e,n)=>{null!=e&&!1!==e&&(t[n]=$.isArray(e)?e.join(", "):e)})),t}}),Object.assign(Et,{from:function(t){return $.isString(t)?new this((t=>{const e={};let n,r,o;return t&&t.split("\n").forEach((function(t){o=t.indexOf(":"),n=t.substring(0,o).trim().toLowerCase(),r=t.substring(o+1).trim(),!n||e[n]&&wt[n]||("set-cookie"===n?e[n]?e[n].push(r):e[n]=[r]:e[n]=e[n]?e[n]+", "+r:r)})),e})(t)):t instanceof this?t:new this(t)},accessor:function(t){const e=(this[gt]=this[gt]={accessors:{}}).accessors,n=this.prototype;function r(t){const r=xt(t);e[r]||(function(t,e){const n=$.toCamelCase(" "+e);["get","set","has"].forEach((r=>{Object.defineProperty(t,r+n,{value:function(t,n,o){return this[r].call(this,e,t,n,o)},configurable:!0})}))}(n,t),e[r]=!0)}return $.isArray(t)?t.forEach(r):r(t),this}}),Et.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent"]),$.freezeMethods(Et.prototype),$.freezeMethods(Et);const St={http:Rt,xhr:Rt},kt=t=>{if($.isString(t)){const e=St[t];if(!t)throw Error($.hasOwnProp(t)?`Adapter '${t}' is not available in the build`:`Can not resolve adapter '${t}'`);return e}if(!$.isFunction(t))throw new TypeError("adapter is not a function");return t},At={"Content-Type":"application/x-www-form-urlencoded"},Nt={transitional:ct,adapter:function(){let t;return"undefined"!=typeof XMLHttpRequest?t=kt("xhr"):"undefined"!=typeof process&&"process"===$.kindOf(process)&&(t=kt("http")),t}(),transformRequest:[function(t,e){const n=e.getContentType()||"",r=n.indexOf("application/json")>-1,o=$.isObject(t);if(o&&$.isHTMLForm(t)&&(t=new FormData(t)),$.isFormData(t))return r&&r?JSON.stringify(dt(t)):t;if($.isArrayBuffer(t)||$.isBuffer(t)||$.isStream(t)||$.isFile(t)||$.isBlob(t))return t;if($.isArrayBufferView(t))return t.buffer;if($.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let i;if(o){if(n.indexOf("application/x-www-form-urlencoded")>-1)return function(t,e){return tt(t,new ft.classes.URLSearchParams,Object.assign({visitor:function(t,e,n,r){return r.defaultVisitor.apply(this,arguments)}},e))}(t,this.formSerializer).toString();if((i=$.isFileList(t))||n.indexOf("multipart/form-data")>-1){const e=this.env&&this.env.FormData;return tt(i?{"files[]":t}:t,e&&new e,this.formSerializer)}}return o||r?(e.setContentType("application/json",!1),function(t){if($.isString(t))try{return(0,JSON.parse)(t),$.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(0,JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){const e=this.transitional||Nt.transitional,n=e&&e.forcedJSONParsing,r="json"===this.responseType;if(t&&$.isString(t)&&(n&&!this.responseType||r)){const n=!(e&&e.silentJSONParsing)&&r;try{return JSON.parse(t)}catch(t){if(n){if("SyntaxError"===t.name)throw K.from(t,K.ERR_BAD_RESPONSE,this,null,this.response);throw t}}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:ft.classes.FormData,Blob:ft.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};function Tt(t,e){const n=this||Nt,r=e||n,o=Et.from(r.headers);let i=r.data;return $.forEach(t,(function(t){i=t.call(n,i,o.normalize(),e?e.status:void 0)})),o.normalize(),i}function Bt(t){return!(!t||!t.__CANCEL__)}function Mt(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new bt}function Pt(t){return Mt(t),t.headers=Et.from(t.headers),t.data=Tt.call(t,t.transformRequest),(t.adapter||Nt.adapter)(t).then((function(e){return Mt(t),e.data=Tt.call(t,t.transformResponse,e),e.headers=Et.from(e.headers),e}),(function(e){return Bt(e)||(Mt(t),e&&e.response&&(e.response.data=Tt.call(t,t.transformResponse,e.response),e.response.headers=Et.from(e.response.headers))),Promise.reject(e)}))}function zt(t,e){e=e||{};const n={};function r(t,e){return $.isPlainObject(t)&&$.isPlainObject(e)?$.merge(t,e):$.isPlainObject(e)?$.merge({},e):$.isArray(e)?e.slice():e}function o(n){return $.isUndefined(e[n])?$.isUndefined(t[n])?void 0:r(void 0,t[n]):r(t[n],e[n])}function i(t){if(!$.isUndefined(e[t]))return r(void 0,e[t])}function s(n){return $.isUndefined(e[n])?$.isUndefined(t[n])?void 0:r(void 0,t[n]):r(void 0,e[n])}function c(n){return n in e?r(t[n],e[n]):n in t?r(void 0,t[n]):void 0}const l={url:i,method:i,data:i,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:c};return $.forEach(Object.keys(t).concat(Object.keys(e)),(function(t){const e=l[t]||o,r=e(t);$.isUndefined(r)&&e!==c||(n[t]=r)})),n}$.forEach(["delete","get","head"],(function(t){Nt.headers[t]={}})),$.forEach(["post","put","patch"],(function(t){Nt.headers[t]=$.merge(At)}));const Dt={};["object","boolean","number","function","string","symbol"].forEach(((t,e)=>{Dt[t]=function(n){return typeof n===t||"a"+(e<1?"n ":" ")+t}}));const Ft={};Dt.transitional=function(t,e,n){function r(t,e){return"[Axios v1.0.0] Transitional option '"+t+"'"+e+(n?". "+n:"")}return(n,o,i)=>{if(!1===t)throw new K(r(o," has been removed"+(e?" in "+e:"")),K.ERR_DEPRECATED);return e&&!Ft[o]&&(Ft[o]=!0,console.warn(r(o," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(n,o,i)}};const Ut={assertOptions:function(t,e,n){if("object"!=typeof t)throw new K("options must be an object",K.ERR_BAD_OPTION_VALUE);const r=Object.keys(t);let o=r.length;for(;o-- >0;){const i=r[o],s=e[i];if(s){const e=t[i],n=void 0===e||s(e,i,t);if(!0!==n)throw new K("option "+i+" must be "+n,K.ERR_BAD_OPTION_VALUE)}else if(!0!==n)throw new K("Unknown option "+i,K.ERR_BAD_OPTION)}},validators:Dt},_t=Ut.validators;class Lt{constructor(t){this.defaults=t,this.interceptors={request:new st,response:new st}}request(t,e){"string"==typeof t?(e=e||{}).url=t:e=t||{};const n=(e=zt(this.defaults,e)).transitional;void 0!==n&&Ut.assertOptions(n,{silentJSONParsing:_t.transitional(_t.boolean),forcedJSONParsing:_t.transitional(_t.boolean),clarifyTimeoutError:_t.transitional(_t.boolean)},!1),e.method=(e.method||this.defaults.method||"get").toLowerCase();const r=e.headers&&$.merge(e.headers.common,e.headers[e.method]);r&&$.forEach(["delete","get","head","post","put","patch","common"],(function(t){delete e.headers[t]})),e.headers=new Et(e.headers,r);const o=[];let i=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(i=i&&t.synchronous,o.unshift(t.fulfilled,t.rejected))}));const s=[];let c;this.interceptors.response.forEach((function(t){s.push(t.fulfilled,t.rejected)}));let l,a=0;if(!i){const t=[Pt.bind(this),void 0];for(t.unshift.apply(t,o),t.push.apply(t,s),l=t.length,c=Promise.resolve(e);a<l;)c=c.then(t[a++],t[a++]);return c}l=o.length;let u=e;for(a=0;a<l;){const t=o[a++],e=o[a++];try{u=t(u)}catch(t){e.call(this,t);break}}try{c=Pt.call(this,u)}catch(t){return Promise.reject(t)}for(a=0,l=s.length;a<l;)c=c.then(s[a++],s[a++]);return c}getUri(t){return it(pt((t=zt(this.defaults,t)).baseURL,t.url),t.params,t.paramsSerializer)}}$.forEach(["delete","get","head","options"],(function(t){Lt.prototype[t]=function(e,n){return this.request(zt(n||{},{method:t,url:e,data:(n||{}).data}))}})),$.forEach(["post","put","patch"],(function(t){function e(e){return function(n,r,o){return this.request(zt(o||{},{method:t,headers:e?{"Content-Type":"multipart/form-data"}:{},url:n,data:r}))}}Lt.prototype[t]=e(),Lt.prototype[t+"Form"]=e(!0)}));class It{constructor(t){if("function"!=typeof t)throw new TypeError("executor must be a function.");let e;this.promise=new Promise((function(t){e=t}));const n=this;this.promise.then((t=>{if(!n._listeners)return;let e=n._listeners.length;for(;e-- >0;)n._listeners[e](t);n._listeners=null})),this.promise.then=t=>{let e;const r=new Promise((t=>{n.subscribe(t),e=t})).then(t);return r.cancel=function(){n.unsubscribe(e)},r},t((function(t,r,o){n.reason||(n.reason=new bt(t,r,o),e(n.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}static source(){let t;return{token:new It((function(e){t=e})),cancel:t}}}const Ht=function t(e){const n=new Lt(e),r=g(Lt.prototype.request,n);return $.extend(r,Lt.prototype,n,{allOwnKeys:!0}),$.extend(r,n,null,{allOwnKeys:!0}),r.create=function(n){return t(zt(e,n))},r}(Nt);Ht.Axios=Lt,Ht.CanceledError=bt,Ht.CancelToken=It,Ht.isCancel=Bt,Ht.VERSION="1.0.0",Ht.toFormData=tt,Ht.AxiosError=K,Ht.Cancel=Ht.CanceledError,Ht.all=function(t){return Promise.all(t)},Ht.spread=function(t){return function(e){return t.apply(null,e)}},Ht.isAxiosError=function(t){return $.isObject(t)&&!0===t.isAxiosError},Ht.formToJSON=t=>dt($.isHTMLForm(t)?new FormData(t):t);const Jt={list:[],keys:[],locs:[],loading:!1,solved:!1,error:void 0,pick:void 0,data:void 0},{state:qt}=(()=>{const t=((t,e=((t,e)=>t!==e))=>{const n=w(t);let r=new Map(Object.entries(null!=n?n:{}));const o={dispose:[],get:[],set:[],reset:[]},i=()=>{var e;r=new Map(Object.entries(null!==(e=w(t))&&void 0!==e?e:{})),o.reset.forEach((t=>t()))},s=t=>(o.get.forEach((e=>e(t))),r.get(t)),c=(t,n)=>{const i=r.get(t);e(n,i,t)&&(r.set(t,n),o.set.forEach((e=>e(t,n,i))))},l="undefined"==typeof Proxy?{}:new Proxy(n,{get:(t,e)=>s(e),ownKeys:()=>Array.from(r.keys()),getOwnPropertyDescriptor:()=>({enumerable:!0,configurable:!0}),has:(t,e)=>r.has(e),set:(t,e,n)=>(c(e,n),!0)}),a=(t,e)=>(o[t].push(e),()=>{((t,e)=>{const n=t.indexOf(e);n>=0&&(t[n]=t[t.length-1],t.length--)})(o[t],e)});return{state:l,get:s,set:c,on:a,onChange:(e,n)=>{const r=a("set",((t,r)=>{t===e&&n(r)})),o=a("reset",(()=>n(w(t)[e])));return()=>{r(),o()}},use:(...t)=>{const e=t.reduce(((t,e)=>(e.set&&t.push(a("set",e.set)),e.get&&t.push(a("get",e.get)),e.reset&&t.push(a("reset",e.reset)),e.dispose&&t.push(a("dispose",e.dispose)),t)),[]);return()=>e.forEach((t=>t()))},dispose:()=>{o.dispose.forEach((t=>t())),i()},reset:i,forceUpdate:t=>{const e=r.get(t);o.set.forEach((n=>n(t,e,e)))}}})(Jt,void 0);return t.use((()=>{if("function"!=typeof e)return{};const t=new Map;return{dispose:()=>t.clear(),get:n=>{const r=e();r&&((t,e,n)=>{const r=t.get(e);r?r.includes(n)||r.push(n):t.set(e,[n])})(t,n,r)},set:e=>{const r=t.get(e);r&&t.set(e,r.filter(n)),b(t)},reset:()=>{t.forEach((t=>t.forEach(n))),b(t)}}})()),t})(),$t=new Map([["row",new Map],["column",new Map],["box",new Map]]),Kt=["1","2","3","4","5","6","7","8","9"],Vt=t=>{if(void 0!==t&&t.indx!=qt.pick){const{isClue:e,indx:n,row:r,column:o,box:i}=t,s=((t,e,n,r)=>{const o=new Map([["row",e],["column",n],["box",r]]),i=new Set;return o.forEach(((e,n)=>{$t.get(n).get(e).forEach((e=>{e!==t&&i.add(e)}))})),Array.from(i)})(n,r,o,i),c=e?[]:(t=>{const{list:e}=qt,n=new Set;return t.map((t=>{const{key:r}=e[t];"."!=r&&n.add(r)})),Kt.filter((t=>!n.has(t)))})(s);qt.pick=n,qt.keys=c,qt.locs=s}else qt.pick=void 0,qt.keys=[],qt.locs=[];Zt(qt.pick)},Xt=Ht.create({baseURL:"https://sudoku-rust-api.vercel.app/api/",timeout:1e4,headers:{"X-Custom-Header":"foobar"}}),Wt=t=>{d(t)},Zt=t=>{p(t)},Yt=(t=!1)=>{qt.list=[],qt.keys=[],qt.locs=[],qt.loading=t,qt.solved=!1,qt.error=void 0,qt.pick=void 0,qt.data=void 0},Qt=(t,e=!0)=>{const{puzzle:n,ref:r}=t;e&&(d([]),u(s,t)),(t=>{if(t){const{puzzle:e,ref:n}=t,r=e?[...e]:[],o=n?atob(n):void 0,i=o?[...o]:[],s=r.map(((t,e)=>{const n=i[e],r=t===n,o=Math.floor(e/9),s=e%9,c=((t,e)=>e<3?t<3?0:t<6?3:6:e<6?t<3?1:t<6?4:7:t<3?2:t<6?5:8)(o,s);return((t,e,n,r)=>{new Map([["row",e],["column",n],["box",r]]).forEach(((e,n)=>{const r=$t.get(n);r.has(e)?r.get(e).add(t):r.set(e,new Set([t]))}))})(e,o,s,c),{key:t,isClue:r,value:n,indx:e,row:o,column:s,box:c}}));(t=>{f().forEach(((e,n)=>{const r=t[n],{isClue:o}=r;o||(r.key=e)}))})(s),qt.data=t,qt.list=s}else qt.data=void 0,qt.list=[]})({puzzle:n,ref:r})},Gt=t=>{qt.list=[...t],t.length=0},te={initApp:()=>{Yt();const t=a(s),e=h();if(t&&(Qt(t,!1),e>=0)){const{list:t}=qt;Vt(t[e])}},refresh:()=>{Yt(!0),Wt([]),Zt(qt.pick),Xt.get("/puzzle").then((({data:t})=>{Qt(t)})).catch((t=>{const{message:e}=t;console.log("-- ",e),console.log(t),qt.error=e})).then((()=>{qt.loading=!1}))},select:t=>{Vt(t)},check:()=>{const{list:t}=qt,e=[];let n=0,r=0,o=0;t.forEach((t=>{const{key:i,value:s,isClue:c}=t;c?o+=1:"."!==i&&(i!==s?(n+=1,t.key="."):r+=1),e.push(t.key)}));const i=o+r;Wt(r?e:[]),n>0?Gt(t):81===i&&(qt.solved=!0)},input:t=>{const{pick:e,list:n}=qt;n[e].key=t,Gt(n)}},ee=(...t)=>t.filter(Boolean).join(" "),ne=e=>{const n=e.hex||"currentColor",r=e.label||"loading...",o=e.size||24;return t("svg",{class:ee(e.class||"","animate-spin"),width:o,height:o,fill:"none",viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,r),t("g",null,t("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:n,"stroke-width":"4"}),t("path",{class:"opacity-75",fill:n,d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})),t("path",{d:"M0 0h24v24H0z",fill:"none"}))},re=e=>{const{message:n,salute:r,spinner:i=!1}=e;return t("div",{class:"mt-5 flex h-24px flex-row items-center"},t(i?ne:o,{class:"mr-2"}),r?t("label",{class:"mr-1 font-bold"},r,":"):"",t("label",{class:"italic"},n))},oe=()=>{const{solved:e,loading:n,error:r}=qt;return t("div",{class:"flex flex-col"},n||r||e?"":t(re,{message:"Welcome, are you ready to play?..."}),n?t(re,{message:"Loading...",spinner:!0}):"",r?t(re,{message:r,salute:"ERROR"}):"",e?t(re,{message:"You solved the puzzle!!"}):"")},ie=e=>{const n=e.hex||"currentColor",r=e.size||24;return t("svg",{class:e.class,width:r,height:r,viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,e.label||"fingerprint"),t("g",{fill:n},t("path",{d:"M17.81,4.47C17.73,4.47 17.65,4.45 17.58,4.41C15.66,3.42 14,3\n 12,3C10.03,3 8.15,3.47 6.44,4.41C6.2,4.54 5.9,4.45 5.76,4.21C5.63,3.97\n 5.72,3.66 5.96,3.53C7.82,2.5 9.86,2 12,2C14.14,2 16,2.47\n 18.04,3.5C18.29,3.65 18.38,3.95 18.25,4.19C18.16,4.37 18,4.47\n 17.81,4.47M3.5,9.72C3.4,9.72 3.3,9.69 3.21,9.63C3,9.47 2.93,9.16\n 3.09,8.93C4.08,7.53 5.34,6.43 6.84,5.66C10,4.04 14,4.03\n 17.15,5.65C18.65,6.42 19.91,7.5 20.9,8.9C21.06,9.12 21,9.44\n 20.78,9.6C20.55,9.76 20.24,9.71 20.08,9.5C19.18,8.22 18.04,7.23\n 16.69,6.54C13.82,5.07 10.15,5.07 7.29,6.55C5.93,7.25 4.79,8.25\n 3.89,9.5C3.81,9.65 3.66,9.72 3.5,9.72M9.75,21.79C9.62,21.79 9.5,21.74\n 9.4,21.64C8.53,20.77 8.06,20.21 7.39,19C6.7,17.77 6.34,16.27\n 6.34,14.66C6.34,11.69 8.88,9.27 12,9.27C15.12,9.27 17.66,11.69\n 17.66,14.66A0.5,0.5 0 0,1 17.16,15.16A0.5,0.5 0 0,1\n 16.66,14.66C16.66,12.24 14.57,10.27 12,10.27C9.43,10.27 7.34,12.24\n 7.34,14.66C7.34,16.1 7.66,17.43 8.27,18.5C8.91,19.66 9.35,20.15\n 10.12,20.93C10.31,21.13 10.31,21.44 10.12,21.64C10,21.74 9.88,21.79\n 9.75,21.79M16.92,19.94C15.73,19.94 14.68,19.64 13.82,19.05C12.33,18.04\n 11.44,16.4 11.44,14.66A0.5,0.5 0 0,1 11.94,14.16A0.5,0.5 0 0,1\n 12.44,14.66C12.44,16.07 13.16,17.4 14.38,18.22C15.09,18.7 15.92,18.93\n 16.92,18.93C17.16,18.93 17.56,18.9 17.96,18.83C18.23,18.78 18.5,18.96\n 18.54,19.24C18.59,19.5 18.41,19.77 18.13,19.82C17.56,19.93 17.06,19.94\n 16.92,19.94M14.91,22C14.87,22 14.82,22 14.78,22C13.19,21.54 12.15,20.95\n 11.06,19.88C9.66,18.5 8.89,16.64 8.89,14.66C8.89,13.04 10.27,11.72\n 11.97,11.72C13.67,11.72 15.05,13.04 15.05,14.66C15.05,15.73 16,16.6\n 17.13,16.6C18.28,16.6 19.21,15.73 19.21,14.66C19.21,10.89 15.96,7.83\n 11.96,7.83C9.12,7.83 6.5,9.41 5.35,11.86C4.96,12.67 4.76,13.62\n 4.76,14.66C4.76,15.44 4.83,16.67 5.43,18.27C5.53,18.53 5.4,18.82\n 5.14,18.91C4.88,19 4.59,18.87 4.5,18.62C4,17.31 3.77,16\n 3.77,14.66C3.77,13.46 4,12.37 4.45,11.42C5.78,8.63 8.73,6.82\n 11.96,6.82C16.5,6.82 20.21,10.33 20.21,14.65C20.21,16.27 18.83,17.59\n 17.13,17.59C15.43,17.59 14.05,16.27 14.05,14.65C14.05,13.58 13.12,12.71\n 11.97,12.71C10.82,12.71 9.89,13.58 9.89,14.65C9.89,16.36 10.55,17.96\n 11.76,19.16C12.71,20.1 13.62,20.62 15.03,21C15.3,21.08 15.45,21.36\n 15.38,21.62C15.33,21.85 15.12,22 14.91,22Z"})),t("path",{d:"M0 0h24v24H0z",fill:"none"}))},se="eswat2",ce=()=>t("a",{class:"absolute top-0 right-0 text-clrs-gray hover:text-clrs-navy",href:"https://eswat2.dev","aria-label":se,title:se},t(ie,{label:se})),le=(e,n)=>t("h1",{class:ee("text-center uppercase text-clrs-red","mr-0 ml-0 mt-11 mb-11","text-6xl font-thin")},n),ae=e=>{const{label:n,callback:r,matched:o=!1}=e;return t("button",{class:ee("rounded-md border border-solid border-clrs-slate4 font-bold","Check ?"===n?"mr-2 bg-clrs-yellow px-3 py-2 text-clrs-navy":"New Puzzle"===n?"mr-2 bg-clrs-navy px-3 py-2 text-white":"x"===n?"mr-1 bg-clrs-red px-2 py-1 text-white":o?"mr-1 bg-clrs-slate4 px-2 py-1 text-white":"mr-1 bg-gray-50 px-2 py-1 text-clrs-navy"),onClick:r},n)},ue=()=>{const{keys:e,list:n,pick:r,solved:o}=qt,i=t=>()=>{te.input(t)},s=o?[]:e,c=null!=r?n[r]:void 0;return t("div",{class:"mt-2 flex flex-row justify-end"},o||!c||c.isClue||"."==c.key?"":t(ae,{label:"x",callback:i(".")}),s.map((e=>t(ae,{label:e,callback:i(e),matched:c.key===e}))))},fe=[2,5,11,14,20,23,29,32,38,41,47,50,56,59,65,68,74,77],de=fe.map((t=>t+1)),he=[18,19,20,21,22,23,24,25,26,45,46,47,48,49,50,51,52,53],pe=he.map((t=>t+9)),me=e=>{const{cell:n,selected:r,ref:o,solved:i}=e,{key:s,isClue:c,indx:l}=n,a="."!=s?s:"";return t("label",{class:ee(`cell-${l}`,fe.includes(l)?"border-xbr-clrs-navy":"",de.includes(l)?"border-xbl-clrs-navy":"",he.includes(l)?"border-xbb-clrs-navy":"",pe.includes(l)?"border-xbt-clrs-navy":"","h-8 w-8 border border-solid text-center leading-8",r?"border-clrs-red bg-clrs-red-a50 text-clrs-red":o?"border-clrs-gray bg-clrs-green-a50 font-bold":c?"border-clrs-gray bg-clrs-silver":""!==a?"border-clrs-gray text-clrs-red":"border-clrs-gray"),onClick:((t,e)=>()=>{e||te.select(t)})(n,i)},a)},be=()=>{const{list:e,pick:n,locs:r,solved:o}=qt;return t("div",{class:ee("flex flex-row flex-wrap","border border-solid border-clrs-navy","h-76p5 w-76p5 text-lg")},e.map(((e,i)=>{const s=!o&&i===n,c=!o&&r.includes(i);return t(me,{cell:e,selected:s,ref:c,solved:o})})))},we=()=>t("label",{class:"ml-auto align-top text-xs italic text-clrs-slate4"},"Tailwind ","3.1.8"),ge=t=>()=>{t.refresh()},ye=t=>()=>{t.check()},xe=()=>{const{list:e,solved:n}=qt;return t("div",{class:"flex flex-row"},t(ae,{label:"New Puzzle",callback:ge(te)}),81!==e.length||n?"":t(ae,{label:"Check ?",callback:ye(te)}),t(we,null))},ve=class{constructor(t){r(this,t),this.tag="proto-sudoku"}componentDidLoad(){te.initApp()}render(){return t("div",{id:"app",class:"ds1-main relative max-w-min p-0.5"},t(ce,null),t(le,null,"Sudoku"),t(be,null),t(ue,null),t("hr",{class:"ml-0 mr-0"}),t(xe,null),t(oe,null))}};ve.style="*,::before,::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}.ds1-main{margin:1.5rem;display:flex;flex-direction:column;font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,\n 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif,\n 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';color:var(--clrs-navy, #001f3f);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.absolute{position:absolute}.relative{position:relative}.top-0{top:0px}.right-0{right:0px}.mt-5{margin-top:1.25rem}.mr-2{margin-right:0.5rem}.mr-1{margin-right:0.25rem}.mr-0{margin-right:0px}.ml-0{margin-left:0px}.mt-11{margin-top:2.75rem}.mb-11{margin-bottom:2.75rem}.mt-2{margin-top:0.5rem}.ml-auto{margin-left:auto}.flex{display:flex}.h-24px{height:24px}.h-8{height:2rem}.h-76p5{height:19.125rem}.w-8{width:2rem}.w-76p5{width:19.125rem}.max-w-min{max-width:-moz-min-content;max-width:min-content}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-end{justify-content:flex-end}.rounded-md{border-radius:0.375rem}.border{border-width:1px}.border-solid{border-style:solid}.border-clrs-slate4{border-color:var(--clrs-slate4, #4e5964)}.border-clrs-red{border-color:var(--clrs-red, #ff4136)}.border-clrs-gray{border-color:var(--clrs-gray, #aaaaaa)}.border-clrs-navy{border-color:var(--clrs-navy, #001f3f)}.bg-clrs-yellow{background-color:var(--clrs-yellow, #ffdc00)}.bg-clrs-navy{background-color:var(--clrs-navy, #001f3f)}.bg-clrs-red{background-color:var(--clrs-red, #ff4136)}.bg-clrs-slate4{background-color:var(--clrs-slate4, #4e5964)}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.bg-clrs-red-a50{background-color:var(--clrs-red-a50, #ff413650)}.bg-clrs-green-a50{background-color:var(--clrs-green-a50, #2ecc4050)}.bg-clrs-silver{background-color:var(--clrs-silver, #dddddd)}.p-0\\.5{padding:0.125rem}.p-0{padding:0px}.px-3{padding-left:0.75rem;padding-right:0.75rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.px-2{padding-left:0.5rem;padding-right:0.5rem}.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.text-center{text-align:center}.align-top{vertical-align:top}.text-6xl{font-size:3.75rem;line-height:1}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xs{font-size:0.75rem;line-height:1rem}.font-bold{font-weight:700}.font-thin{font-weight:100}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-8{line-height:2rem}.text-clrs-navy{color:var(--clrs-navy, #001f3f)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-clrs-red{color:var(--clrs-red, #ff4136)}.text-clrs-gray{color:var(--clrs-gray, #aaaaaa)}.text-clrs-slate4{color:var(--clrs-slate4, #4e5964)}.opacity-25{opacity:0.25}.opacity-75{opacity:0.75}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),\n 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.border-xbb-clrs-navy{border-bottom:1px solid var(--clrs-navy, #001f3f) !important}.border-xbt-clrs-navy{border-top:1px solid var(--clrs-navy, #001f3f) !important}.border-xbl-clrs-navy{border-left:1px solid var(--clrs-navy, #001f3f) !important}.border-xbr-clrs-navy{border-right:1px solid var(--clrs-navy, #001f3f) !important}.hover\\:text-clrs-navy:hover{color:var(--clrs-navy, #001f3f)}";export{ve as proto_sudoku}
|