proto-sudoku-wc 0.0.681 → 0.0.683

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.
@@ -423,11 +423,19 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
423
423
  // except for the first character, we keep the event name case
424
424
  memberName = ln[2] + memberName.slice(3);
425
425
  }
426
- if (oldValue) {
427
- plt.rel(elm, memberName, oldValue, false);
428
- }
429
- if (newValue) {
430
- plt.ael(elm, memberName, newValue, false);
426
+ if (oldValue || newValue) {
427
+ // Need to account for "capture" events.
428
+ // If the event name ends with "Capture", we'll update the name to remove
429
+ // the "Capture" suffix and make sure the event listener is setup to handle the capture event.
430
+ const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);
431
+ // Make sure we only replace the last instance of "Capture"
432
+ memberName = memberName.replace(CAPTURE_EVENT_REGEX, '');
433
+ if (oldValue) {
434
+ plt.rel(elm, memberName, oldValue, capture);
435
+ }
436
+ if (newValue) {
437
+ plt.ael(elm, memberName, newValue, capture);
438
+ }
431
439
  }
432
440
  }
433
441
  else {
@@ -469,6 +477,8 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
469
477
  };
470
478
  const parseClassListRegex = /\s/;
471
479
  const parseClassList = (value) => (!value ? [] : value.split(parseClassListRegex));
480
+ const CAPTURE_EVENT_SUFFIX = 'Capture';
481
+ const CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + '$');
472
482
  const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
473
483
  // if the element passed in is a shadow root, which is a document fragment
474
484
  // then we want to be adding attrs/props to the shadow root's "host" element
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-42d4bb26.js');
5
+ const index = require('./index-38369b07.js');
6
6
 
7
7
  const defineCustomElements = (win, options) => {
8
8
  if (typeof window === 'undefined') return undefined;
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-42d4bb26.js');
5
+ const index = require('./index-38369b07.js');
6
6
 
7
7
  /*
8
- Stencil Client Patch Browser v4.6.0 | MIT Licensed | https://stenciljs.com
8
+ Stencil Client Patch Browser v4.7.0 | MIT Licensed | https://stenciljs.com
9
9
  */
10
10
  const patchBrowser = () => {
11
11
  const importMeta = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('proto-sudoku-wc.cjs.js', document.baseURI).href));
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-42d4bb26.js');
5
+ const index = require('./index-38369b07.js');
6
6
 
7
7
  const Alien = props => {
8
8
  const hex = props.hex || 'currentColor';
@@ -393,6 +393,23 @@ const kyOptionKeys = {
393
393
  onDownloadProgress: true,
394
394
  fetch: true,
395
395
  };
396
+ const requestOptionsRegistry = {
397
+ method: true,
398
+ headers: true,
399
+ body: true,
400
+ mode: true,
401
+ credentials: true,
402
+ cache: true,
403
+ redirect: true,
404
+ referrer: true,
405
+ referrerPolicy: true,
406
+ integrity: true,
407
+ keepalive: true,
408
+ signal: true,
409
+ window: true,
410
+ dispatcher: true,
411
+ duplex: true,
412
+ };
396
413
 
397
414
  const normalizeRequestMethod = (input) => requestMethods.includes(input) ? input.toUpperCase() : input;
398
415
  const retryMethods = ['get', 'put', 'head', 'delete', 'options', 'trace'];
@@ -467,7 +484,7 @@ async function delay(ms, { signal }) {
467
484
  const findUnknownOptions = (request, options) => {
468
485
  const unknownOptions = {};
469
486
  for (const key in options) {
470
- if (!(key in kyOptionKeys) && !(key in request)) {
487
+ if (!(key in requestOptionsRegistry) && !(key in kyOptionKeys) && !(key in request)) {
471
488
  unknownOptions[key] = options[key];
472
489
  }
473
490
  }
@@ -4,7 +4,7 @@
4
4
  ],
5
5
  "compiler": {
6
6
  "name": "@stencil/core",
7
- "version": "4.6.0",
7
+ "version": "4.7.0",
8
8
  "typescriptVersion": "5.2.2"
9
9
  },
10
10
  "collections": [],
@@ -401,11 +401,19 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
401
401
  // except for the first character, we keep the event name case
402
402
  memberName = ln[2] + memberName.slice(3);
403
403
  }
404
- if (oldValue) {
405
- plt.rel(elm, memberName, oldValue, false);
406
- }
407
- if (newValue) {
408
- plt.ael(elm, memberName, newValue, false);
404
+ if (oldValue || newValue) {
405
+ // Need to account for "capture" events.
406
+ // If the event name ends with "Capture", we'll update the name to remove
407
+ // the "Capture" suffix and make sure the event listener is setup to handle the capture event.
408
+ const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);
409
+ // Make sure we only replace the last instance of "Capture"
410
+ memberName = memberName.replace(CAPTURE_EVENT_REGEX, '');
411
+ if (oldValue) {
412
+ plt.rel(elm, memberName, oldValue, capture);
413
+ }
414
+ if (newValue) {
415
+ plt.ael(elm, memberName, newValue, capture);
416
+ }
409
417
  }
410
418
  }
411
419
  else {
@@ -447,6 +455,8 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
447
455
  };
448
456
  const parseClassListRegex = /\s/;
449
457
  const parseClassList = (value) => (!value ? [] : value.split(parseClassListRegex));
458
+ const CAPTURE_EVENT_SUFFIX = 'Capture';
459
+ const CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + '$');
450
460
  const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
451
461
  // if the element passed in is a shadow root, which is a document fragment
452
462
  // then we want to be adding attrs/props to the shadow root's "host" element
@@ -1,5 +1,5 @@
1
- import { b as bootstrapLazy } from './index-5dd078a3.js';
2
- export { s as setNonce } from './index-5dd078a3.js';
1
+ import { b as bootstrapLazy } from './index-55ed9a0e.js';
2
+ export { s as setNonce } from './index-55ed9a0e.js';
3
3
 
4
4
  const defineCustomElements = (win, options) => {
5
5
  if (typeof window === 'undefined') return undefined;
@@ -1,8 +1,8 @@
1
- import { p as promiseResolve, b as bootstrapLazy } from './index-5dd078a3.js';
2
- export { s as setNonce } from './index-5dd078a3.js';
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-55ed9a0e.js';
2
+ export { s as setNonce } from './index-55ed9a0e.js';
3
3
 
4
4
  /*
5
- Stencil Client Patch Browser v4.6.0 | MIT Licensed | https://stenciljs.com
5
+ Stencil Client Patch Browser v4.7.0 | MIT Licensed | https://stenciljs.com
6
6
  */
7
7
  const patchBrowser = () => {
8
8
  const importMeta = import.meta.url;
@@ -1,4 +1,4 @@
1
- import { h, g as getRenderingRef, f as forceUpdate, r as registerInstance } from './index-5dd078a3.js';
1
+ import { h, g as getRenderingRef, f as forceUpdate, r as registerInstance } from './index-55ed9a0e.js';
2
2
 
3
3
  const Alien = props => {
4
4
  const hex = props.hex || 'currentColor';
@@ -389,6 +389,23 @@ const kyOptionKeys = {
389
389
  onDownloadProgress: true,
390
390
  fetch: true,
391
391
  };
392
+ const requestOptionsRegistry = {
393
+ method: true,
394
+ headers: true,
395
+ body: true,
396
+ mode: true,
397
+ credentials: true,
398
+ cache: true,
399
+ redirect: true,
400
+ referrer: true,
401
+ referrerPolicy: true,
402
+ integrity: true,
403
+ keepalive: true,
404
+ signal: true,
405
+ window: true,
406
+ dispatcher: true,
407
+ duplex: true,
408
+ };
392
409
 
393
410
  const normalizeRequestMethod = (input) => requestMethods.includes(input) ? input.toUpperCase() : input;
394
411
  const retryMethods = ['get', 'put', 'head', 'delete', 'options', 'trace'];
@@ -463,7 +480,7 @@ async function delay(ms, { signal }) {
463
480
  const findUnknownOptions = (request, options) => {
464
481
  const unknownOptions = {};
465
482
  for (const key in options) {
466
- if (!(key in kyOptionKeys) && !(key in request)) {
483
+ if (!(key in requestOptionsRegistry) && !(key in kyOptionKeys) && !(key in request)) {
467
484
  unknownOptions[key] = options[key];
468
485
  }
469
486
  }
@@ -0,0 +1,2 @@
1
+ let n,t,e=!1,l=null,o=!1;const s={},i=n=>"object"==(n=typeof n)||"function"===n;function r(n){var t,e,l;return null!==(l=null===(e=null===(t=n.head)||void 0===t?void 0:t.querySelector('meta[name="csp-nonce"]'))||void 0===e?void 0:e.getAttribute("content"))&&void 0!==l?l:void 0}const c=(n,t,...e)=>{let l=null,o=!1,s=!1;const r=[],c=t=>{for(let e=0;e<t.length;e++)l=t[e],Array.isArray(l)?c(l):null!=l&&"boolean"!=typeof l&&((o="function"!=typeof n&&!i(l))&&(l+=""),o&&s?r[r.length-1].t+=l:r.push(o?u(null,l):l),s=o)};if(c(e),t){const n=t.className||t.class;n&&(t.class="object"!=typeof n?n:Object.keys(n).filter((t=>n[t])).join(" "))}if("function"==typeof n)return n(null===t?{}:t,r,f);const a=u(n,null);return a.l=t,r.length>0&&(a.o=r),a},u=(n,t)=>({i:0,u:n,t,p:null,o:null,l:null}),a={},f={forEach:(n,t)=>n.map(d).forEach(t),map:(n,t)=>n.map(d).map(t).map(p)},d=n=>({vattrs:n.l,vchildren:n.o,vkey:n.v,vname:n.h,vtag:n.u,vtext:n.t}),p=n=>{if("function"==typeof n.vtag){const t=Object.assign({},n.vattrs);return n.vkey&&(t.key=n.vkey),n.vname&&(t.name=n.vname),c(n.vtag,t,...n.vchildren||[])}const t=u(n.vtag,n.vtext);return t.l=n.vattrs,t.o=n.vchildren,t.v=n.vkey,t.h=n.vname,t},v=new WeakMap,y=n=>"sc-"+n.m,h=(n,t,e,l,o,s)=>{if(e!==l){let r=I(n,t),c=t.toLowerCase();if("class"===t){const t=n.classList,o=$(e),s=$(l);t.remove(...o.filter((n=>n&&!s.includes(n)))),t.add(...s.filter((n=>n&&!o.includes(n))))}else if(r||"o"!==t[0]||"n"!==t[1]){const c=i(l);if((r||c&&null!==l)&&!o)try{if(n.tagName.includes("-"))n[t]=l;else{const o=null==l?"":l;"list"===t?r=!1:null!=e&&n[t]==o||(n[t]=o)}}catch(n){}null==l||!1===l?!1===l&&""!==n.getAttribute(t)||n.removeAttribute(t):(!r||4&s||o)&&!c&&n.setAttribute(t,l=!0===l?"":l)}else if(t="-"===t[2]?t.slice(3):I(Y,c)?c.slice(2):c[2]+t.slice(3),e||l){const o=t.endsWith(w);t=t.replace(b,""),e&&nn.rel(n,t,e,o),l&&nn.ael(n,t,l,o)}}},m=/\s/,$=n=>n?n.split(m):[],w="Capture",b=RegExp(w+"$"),g=(n,t,e,l)=>{const o=11===t.p.nodeType&&t.p.host?t.p.host:t.p,i=n&&n.l||s,r=t.l||s;for(l in i)l in r||h(o,l,i[l],void 0,e,t.i);for(l in r)h(o,l,i[l],r[l],e,t.i)},j=(t,l,o)=>{const s=l.o[o];let i,r,c=0;if(null!==s.t)i=s.p=Z.createTextNode(s.t);else{if(e||(e="svg"===s.u),i=s.p=Z.createElementNS(e?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",s.u),e&&"foreignObject"===s.u&&(e=!1),g(null,s,e),null!=n&&i["s-si"]!==n&&i.classList.add(i["s-si"]=n),s.o)for(c=0;c<s.o.length;++c)r=j(t,s,c),r&&i.appendChild(r);"svg"===s.u?e=!1:"foreignObject"===i.tagName&&(e=!0)}return i},S=(n,e,l,o,s,i)=>{let r,c=n;for(c.shadowRoot&&c.tagName===t&&(c=c.shadowRoot);s<=i;++s)o[s]&&(r=j(null,l,s),r&&(o[s].p=r,c.insertBefore(r,e)))},O=(n,t,e)=>{for(let l=t;l<=e;++l){const t=n[l];if(t){const n=t.p;n&&n.remove()}}},k=(n,t)=>n.u===t.u,M=(n,t)=>{const l=t.p=n.p,o=n.o,s=t.o,i=t.u,r=t.t;null===r?(e="svg"===i||"foreignObject"!==i&&e,g(n,t,e),null!==o&&null!==s?((n,t,e,l)=>{let o,s=0,i=0,r=t.length-1,c=t[0],u=t[r],a=l.length-1,f=l[0],d=l[a];for(;s<=r&&i<=a;)null==c?c=t[++s]:null==u?u=t[--r]:null==f?f=l[++i]:null==d?d=l[--a]:k(c,f)?(M(c,f),c=t[++s],f=l[++i]):k(u,d)?(M(u,d),u=t[--r],d=l[--a]):k(c,d)?(M(c,d),n.insertBefore(c.p,u.p.nextSibling),c=t[++s],d=l[--a]):k(u,f)?(M(u,f),n.insertBefore(u.p,c.p),u=t[--r],f=l[++i]):(o=j(t&&t[i],e,i),f=l[++i],o&&c.p.parentNode.insertBefore(o,c.p));s>r?S(n,null==l[a+1]?null:l[a+1].p,e,l,i,a):i>a&&O(t,s,r)})(l,o,t,s):null!==s?(null!==n.t&&(l.textContent=""),S(l,null,t,s,0,s.length-1)):null!==o&&O(o,0,o.length-1),e&&"svg"===i&&(e=!1)):n.t!==r&&(l.data=r)},C=(n,t)=>{t&&!n.$&&t["s-p"]&&t["s-p"].push(new Promise((t=>n.$=t)))},x=(n,t)=>{if(n.i|=16,!(4&n.i))return C(n,n.j),an((()=>E(n,t)));n.i|=512},E=(n,t)=>{const e=n.S;return P(void 0,(()=>L(n,e,t)))},P=(n,t)=>A(n)?n.then(t):t(),A=n=>n instanceof Promise||n&&n.then&&"function"==typeof n.then,L=async(n,t,e)=>{var l;const o=n.$hostElement$,s=o["s-rc"];e&&(n=>{const t=n.O,e=n.$hostElement$,l=t.i,o=((n,t)=>{var e;const l=y(t),o=X.get(l);if(n=11===n.nodeType?n:Z,o)if("string"==typeof o){let t,s=v.get(n=n.head||n);if(s||v.set(n,s=new Set),!s.has(l)){{t=Z.createElement("style"),t.innerHTML=o;const l=null!==(e=nn.k)&&void 0!==e?e:r(Z);null!=l&&t.setAttribute("nonce",l),n.insertBefore(t,n.querySelector("link"))}s&&s.add(l)}}else n.adoptedStyleSheets.includes(o)||(n.adoptedStyleSheets=[...n.adoptedStyleSheets,o]);return l})(e.shadowRoot?e.shadowRoot:e.getRootNode(),t);10&l&&(e["s-sc"]=o,e.classList.add(o+"-h"))})(n);N(n,t,o,e),s&&(s.map((n=>n())),o["s-rc"]=void 0);{const t=null!==(l=o["s-p"])&&void 0!==l?l:[],e=()=>T(n);0===t.length?e():(Promise.all(t).then(e),n.i|=4,t.length=0)}},N=(e,o,s,i)=>{try{l=o,o=o.render(),e.i&=-17,e.i|=2,((e,l,o=!1)=>{const s=e.$hostElement$,i=e.M||u(null,null),r=(n=>n&&n.u===a)(l)?l:c(null,null,l);if(t=s.tagName,o&&r.l)for(const n of Object.keys(r.l))s.hasAttribute(n)&&!["key","ref","style","class"].includes(n)&&(r.l[n]=s[n]);r.u=null,r.i|=4,e.M=r,r.p=i.p=s.shadowRoot||s,n=s["s-sc"],M(i,r)})(e,o,i)}catch(n){J(n,e.$hostElement$)}return l=null,null},R=()=>l,T=n=>{const t=n.$hostElement$,e=n.S,l=n.j;64&n.i||(n.i|=64,D(t),q(e,"componentDidLoad"),n.C(t),l||W()),n.$&&(n.$(),n.$=void 0),512&n.i&&un((()=>x(n,!1))),n.i&=-517},U=n=>{{const t=z(n),e=t.$hostElement$.isConnected;return e&&2==(18&t.i)&&x(t,!1),e}},W=()=>{D(Z.documentElement),un((()=>(n=>{const t=nn.ce("appload",{detail:{namespace:"proto-sudoku-wc"}});return n.dispatchEvent(t),t})(Y)))},q=(n,t,e)=>{if(n&&n[t])try{return n[t](e)}catch(n){J(n)}},D=n=>n.classList.add("hydrated"),F=(n,t,e)=>{var l;if(t.P){const o=Object.entries(t.P),s=n.prototype;if(o.map((([n,[l]])=>{(31&l||2&e&&32&l)&&Object.defineProperty(s,n,{get(){return((n,t)=>z(this).A.get(t))(0,n)},set(e){((n,t,e,l)=>{const o=z(n),s=o.A.get(t),r=o.i,c=o.S;e=((n,t)=>null==n||i(n)?n:1&t?n+"":n)(e,l.P[t][0]),8&r&&void 0!==s||e===s||Number.isNaN(s)&&Number.isNaN(e)||(o.A.set(t,e),c&&2==(18&r)&&x(o,!1))})(this,n,e,t)},configurable:!0,enumerable:!0})})),1&e){const e=new Map;s.attributeChangedCallback=function(n,l,o){nn.jmp((()=>{const i=e.get(n);if(this.hasOwnProperty(i))o=this[i],delete this[i];else{if(s.hasOwnProperty(i)&&"number"==typeof this[i]&&this[i]==o)return;if(null==i){const e=z(this),s=null==e?void 0:e.i;if(!(8&s)&&128&s&&o!==l){const s=e.S,i=t.L[n];null==i||i.forEach((t=>{null!=s[t]&&s[t].call(s,o,l,n)}))}return}}this[i]=(null!==o||"boolean"!=typeof this[i])&&o}))},n.observedAttributes=Array.from(new Set([...Object.keys(null!==(l=t.L)&&void 0!==l?l:{}),...o.filter((([n,t])=>15&t[0])).map((([n,t])=>{const l=t[1]||n;return e.set(l,n),l}))]))}}return n},H=(n,t={})=>{var e;const l=[],o=t.exclude||[],s=Y.customElements,i=Z.head,c=i.querySelector("meta[charset]"),u=Z.createElement("style"),a=[];let f,d=!0;Object.assign(nn,t),nn.N=new URL(t.resourcesUrl||"./",Z.baseURI).href,n.map((n=>{n[1].map((t=>{const e={i:t[0],m:t[1],P:t[2],R:t[3]};e.P=t[2];const i=e.m,r=class extends HTMLElement{constructor(n){super(n),G(n=this,e),1&e.i&&n.attachShadow({mode:"open"})}connectedCallback(){f&&(clearTimeout(f),f=null),d?a.push(this):nn.jmp((()=>(n=>{if(0==(1&nn.i)){const t=z(n),e=t.O,l=()=>{};if(1&t.i)(null==t?void 0:t.S)||(null==t?void 0:t.T)&&t.T.then((()=>{}));else{t.i|=1;{let e=n;for(;e=e.parentNode||e.host;)if(e["s-p"]){C(t,t.j=e);break}}e.P&&Object.entries(e.P).map((([t,[e]])=>{if(31&e&&n.hasOwnProperty(t)){const e=n[t];delete n[t],n[t]=e}})),(async(n,t,e)=>{let l;if(0==(32&t.i)){t.i|=32;{if(l=Q(e),l.then){const n=()=>{};l=await l,n()}l.isProxied||(F(l,e,2),l.isProxied=!0);const n=()=>{};t.i|=8;try{new l(t)}catch(n){J(n)}t.i&=-9,n()}if(l.style){let n=l.style;const t=y(e);if(!X.has(t)){const l=()=>{};((n,t,e)=>{let l=X.get(n);en&&e?(l=l||new CSSStyleSheet,"string"==typeof l?l=t:l.replaceSync(t)):l=t,X.set(n,l)})(t,n,!!(1&e.i)),l()}}}const o=t.j,s=()=>x(t,!0);o&&o["s-rc"]?o["s-rc"].push(s):s()})(0,t,e)}l()}})(this)))}disconnectedCallback(){nn.jmp((()=>(async()=>{if(0==(1&nn.i)){const n=z(this);(null==n?void 0:n.S)||(null==n?void 0:n.T)&&n.T.then((()=>{}))}})()))}componentOnReady(){return z(this).T}};e.U=n[0],o.includes(i)||s.get(i)||(l.push(i),s.define(i,F(r,e,1)))}))}));{u.innerHTML=l+"{visibility:hidden}.hydrated{visibility:inherit}",u.setAttribute("data-styles","");const n=null!==(e=nn.k)&&void 0!==e?e:r(Z);null!=n&&u.setAttribute("nonce",n),i.insertBefore(u,c?c.nextSibling:i.firstChild)}d=!1,a.length?a.map((n=>n.connectedCallback())):nn.jmp((()=>f=setTimeout(W,30)))},V=n=>nn.k=n,_=new WeakMap,z=n=>_.get(n),B=(n,t)=>_.set(t.S=n,t),G=(n,t)=>{const e={i:0,$hostElement$:n,O:t,A:new Map};return e.T=new Promise((n=>e.C=n)),n["s-p"]=[],n["s-rc"]=[],_.set(n,e)},I=(n,t)=>t in n,J=(n,t)=>(0,console.error)(n,t),K=new Map,Q=n=>{const t=n.m.replace(/-/g,"_"),e=n.U,l=K.get(e);return l?l[t]:import(`./${e}.entry.js`).then((n=>(K.set(e,n),n[t])),J)
2
+ /*!__STENCIL_STATIC_IMPORT_SWITCH__*/},X=new Map,Y="undefined"!=typeof window?window:{},Z=Y.document||{head:{}},nn={i:0,N:"",jmp:n=>n(),raf:n=>requestAnimationFrame(n),ael:(n,t,e,l)=>n.addEventListener(t,e,l),rel:(n,t,e,l)=>n.removeEventListener(t,e,l),ce:(n,t)=>new CustomEvent(n,t)},tn=n=>Promise.resolve(n),en=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(n){}return!1})(),ln=[],on=[],sn=(n,t)=>e=>{n.push(e),o||(o=!0,t&&4&nn.i?un(cn):nn.raf(cn))},rn=n=>{for(let t=0;t<n.length;t++)try{n[t](performance.now())}catch(n){J(n)}n.length=0},cn=()=>{rn(ln),rn(on),(o=ln.length>0)&&nn.raf(cn)},un=n=>tn().then(n),an=sn(on,!0);export{H as b,U as f,R as g,c as h,tn as p,B as r,V as s}
@@ -0,0 +1,2 @@
1
+ import{h as t,g as e,f as r,r as o}from"./p-c433930f.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="Check ?",g="New Puzzle",w=t=>!("isConnected"in t)||t.isConnected,m=(()=>{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(w))})(...e)}),2e3)}})(),y=t=>"function"==typeof t?t():t;class x 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 v 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 C=t=>null!==t&&"object"==typeof t,k=(...t)=>{for(const e of t)if((!C(e)||Array.isArray(e))&&void 0!==e)throw new TypeError("The `options` argument must be an object");return j({},...t)},T=(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},j=(...t)=>{let e={},r={};for(const o of t)if(Array.isArray(o))Array.isArray(e)||(e=[]),e=[...e,...o];else if(C(o)){for(let[t,r]of Object.entries(o))C(r)&&t in e&&(r=j(e[t],r)),e={...e,[t]:r};C(o.headers)&&(r=T(r,o.headers),e.headers=r)}return e},M=(()=>{let t=!1,e=!1;const r="function"==typeof globalThis.ReadableStream,o="function"==typeof globalThis.Request;return r&&o&&(e=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type")),t&&!e})(),R="function"==typeof globalThis.AbortController,S="function"==typeof globalThis.ReadableStream,z="function"==typeof globalThis.FormData,O=["get","post","put","patch","head","delete"],A={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},E=2147483647,P=Symbol("stop"),U={json:!0,parseJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},B={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,dispatcher:!0,duplex:!0},N=t=>O.includes(t)?t.toUpperCase():t,q=[413,429,503],H={limit:2,methods:["get","put","head","delete","options","trace"],statusCodes:[408,413,429,500,502,503,504],afterStatusCodes:q,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:t=>.3*2**(t-1)*1e3},_=(t={})=>{if("number"==typeof t)return{...H,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{...H,...t,afterStatusCodes:q}};class D{static create(t,e){const r=new D(t,e),o=async()=>{if("number"==typeof r._options.timeout&&r._options.timeout>E)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 x(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(!S)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(A))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(0===(await n.clone().arrayBuffer()).byteLength)return"";if(e.parseJson)return e.parseJson(await n.text())}return n[t]()};return s}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:T(this._input.headers,e.headers),hooks:j({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},e.hooks),method:N(e.method??this._input.method),prefixUrl:String(e.prefixUrl||""),retry:_(e.retry),throwHttpErrors:!1!==e.throwHttpErrors,timeout:e.timeout??1e4,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(R){if(this.abortController=new globalThis.AbortController,this._options.signal){const t=this._options.signal;this._options.signal.addEventListener("abort",(()=>{this.abortController.abort(t.reason)}))}this._options.signal=this.abortController.signal}if(M&&(this._options.duplex="half"),this.request=new globalThis.Request(this._input,this._options),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);!(z&&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}))}_calculateRetryDelay(t){if(this._retryCount++,this._retryCount<this._options.retry.limit&&!(t instanceof v)){if(t instanceof x){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}const e=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,e)}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),E);if(0!==r&&this._retryCount>0){await async function(t,{signal:e}){return new Promise(((r,o)=>{function s(){clearTimeout(n),o(e.reason)}e&&(e.throwIfAborted(),e.addEventListener("abort",s,{once:!0}));const n=setTimeout((()=>{e?.removeEventListener("abort",s),r()}),t)}))}(r,{signal:this._options.signal});for(const t of this._options.hooks.beforeRetry)if(await t({request:this.request,options:this._options,error:e,retryCount:this._retryCount})===P)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}const t=((t,e)=>{const r={};for(const o in e)o in B||o in U||o in t||(r[o]=e[o]);return r})(this.request,this._options);return!1===this._options.timeout?this._options.fetch(this.request.clone(),t):async function(t,e,r,o){return new Promise(((s,n)=>{const a=setTimeout((()=>{r&&r.abort(),n(new v(t))}),o.timeout);o.fetch(t,e).then(s).catch(n).then((()=>{clearTimeout(a)}))}))}(this.request.clone(),t,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 $=t=>{const e=(e,r)=>D.create(e,k(t,r));for(const r of O)e[r]=(e,o)=>D.create(e,k(t,o,{method:r}));return e.create=t=>$(k(t)),e.extend=e=>$(k(t,e)),e.stop=P,e},L=$(),J={list:[],keys:[],locs:[],loading:!1,solved:!1,error:void 0,pick:void 0,data:void 0},{state:I}=(()=>{const t=((t,e=((t,e)=>t!==e))=>{const r=y(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=y(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(y(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)))}}})(J,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)),m(t)},reset:()=>{t.forEach((t=>t.forEach(r))),m(t)}}})()),t})(),W=new Map([["row",new Map],["column",new Map],["box",new Map]]),X=["1","2","3","4","5","6","7","8","9"],Z=t=>{if(void 0!==t&&t.indx!=I.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)=>{W.get(r).get(e).forEach((e=>{e!==t&&n.add(e)}))})),Array.from(n)})(r,o,s,n),i=e?[]:(t=>{const{list:e}=I,r=new Set;return t.map((t=>{const{key:o}=e[t];"."!=o&&r.add(o)})),X.filter((t=>!r.has(t)))})(a);I.pick=r,I.keys=i,I.locs=a}else I.pick=void 0,I.keys=[],I.locs=[];Y(I.pick)};let F;const K={netlify:"/.netlify/functions",vercel:"https://sudoku-rust-api.vercel.app/api"},V=t=>{f(t)},Y=t=>{p(t)},G=(t=!1)=>{I.list=[],I.keys=[],I.locs=[],I.loading=t,I.solved=!1,I.error=void 0,I.pick=void 0,I.data=void 0},Q=(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=W.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),I.data=t,I.list=a}else I.data=void 0,I.list=[]})({puzzle:r,ref:o})},tt=t=>{I.list=[...t],t.length=0},et={initApp:t=>{(t=>{const e=(t=>{const e=Object.keys(K).includes(t)?t:"vercel";return K[e]})(t);F=L.extend({hooks:{beforeRequest:[t=>{t.headers.set("X-Requested-With","ky"),t.headers.set("X-Custom-Header","foobar")}]},prefixUrl:e,timeout:1e4})})(t),G();const e=c(a),r=u();if(e&&(Q(e,!1),r>=0)){const{list:t}=I;Z(t[r])}},refresh:async()=>{G(!0),V([]),Y(I.pick);try{const t=await F.get("puzzle").json();Q(t)}catch(t){const{message:e}=t;console.log("-- ",e),console.log(t),I.error=e}finally{I.loading=!1}},select:t=>{Z(t)},check:()=>{const{list:t}=I,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;V(o?e:[]),r>0?tt(t):81===n&&(I.solved=!0)},input:t=>{const{pick:e,list:r}=I;r[e].key=t,tt(r)}},rt=(...t)=>t.filter(Boolean).join(" "),ot=e=>{const r=e.hex||"currentColor",o=e.label||"loading...",s=e.size||24;return t("svg",{class:rt(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"}))},st=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?ot:s,{class:"mr-2"}),o?t("label",{class:"mr-1 font-bold"},o,":"):"",t("label",{class:"italic"},r))},nt=()=>{const{solved:e,loading:r,error:o}=I;return t("div",{class:"flex flex-col"},r||o||e?"":t(st,{message:"Welcome, are you ready to play?..."}),r?t(st,{message:"Loading...",spinner:!0}):"",o?t(st,{message:o,salute:"ERROR"}):"",e?t(st,{message:"You solved the puzzle!!"}):"")},at=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"}))},it="eswat2",lt=()=>t("a",{class:"absolute right-0 top-0 text-clrs-gray hover:text-clrs-navy",href:"https://eswat2.dev","aria-label":it,target:"blank",title:it},t(at,{label:it})),ct=(e,r)=>t("h1",{class:rt("text-center uppercase text-clrs-red","mb-11 ml-0 mr-0 mt-11","text-6xl font-thin")},r),dt=e=>{const{label:r,callback:o,matched:s=!1}=e;return t("button",{class:rt("rounded-md border border-solid border-clrs-slate4 font-bold",r===b?"mr-2 bg-clrs-yellow px-3 py-2 text-clrs-navy":r===g?"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)},ht=()=>{const{keys:e,list:r,pick:o,solved:s}=I,n=t=>()=>{et.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(dt,{label:"x",callback:n(".")}),a.map((e=>t(dt,{label:e,callback:n(e),matched:i.key===e}))))},ft=[2,5,11,14,20,23,29,32,38,41,47,50,56,59,65,68,74,77],ut=ft.map((t=>t+1)),pt=[18,19,20,21,22,23,24,25,26,45,46,47,48,49,50,51,52,53],bt=pt.map((t=>t+9)),gt=e=>{const{cell:r,focus:o,selected:s,solved:n}=e,{key:a,isClue:i,indx:l}=r,c="."!=a?a:"";return t("label",{class:rt(`cell-${l}`,ft.includes(l)?"border-xbr-clrs-navy":"",ut.includes(l)?"border-xbl-clrs-navy":"",pt.includes(l)?"border-xbb-clrs-navy":"",bt.includes(l)?"border-xbt-clrs-navy":"","h-8 w-8 border border-solid text-center leading-8",s?"border-clrs-red bg-clrs-red-a50 text-clrs-red":o?"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||et.select(t)})(r,n)},c)},wt=()=>{const{list:e,pick:r,locs:o,solved:s}=I;return t("div",{class:rt("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(gt,{cell:e,focus:i,selected:a,solved:s})})))},mt=()=>t("label",{class:"ml-auto align-top text-xs italic text-clrs-slate4"},"Tailwind ","3.3.5"),yt=t=>()=>{t.refresh()},xt=t=>()=>{t.check()},vt=()=>{const{list:e,solved:r}=I;return t("div",{class:"flex flex-row"},t(dt,{label:g,callback:yt(et)}),81!==e.length||r?"":t(dt,{label:b,callback:xt(et)}),t(mt,null))},Ct=class{constructor(t){o(this,t),this.tag="proto-sudoku",this.platform="vercel"}componentDidLoad(){et.initApp(this.platform)}render(){return t("div",{id:"app",class:"ds1-main relative max-w-min p-0.5"},t(lt,null),t(ct,null,"Sudoku"),t(wt,null),t(ht,null),t("hr",{class:"ml-0 mr-0"}),t(vt,null),t(nt,null))}};Ct.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,\n system-ui,\n -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n 'Helvetica Neue',\n Arial,\n 'Noto Sans',\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol',\n 'Noto Color Emoji';color:var(--clrs-navy, #001f3f);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.absolute{position:absolute}.relative{position:relative}.right-0{right:0px}.top-0{top:0px}.mb-11{margin-bottom:2.75rem}.ml-0{margin-left:0px}.ml-auto{margin-left:auto}.mr-0{margin-right:0px}.mr-1{margin-right:0.25rem}.mr-2{margin-right:0.5rem}.mt-11{margin-top:2.75rem}.mt-2{margin-top:0.5rem}.mt-5{margin-top:1.25rem}.flex{display:flex}.h-24px{height:24px}.h-76p5{height:19.125rem}.h-8{height:2rem}.w-76p5{width:19.125rem}.w-8{width:2rem}.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-gray{border-color:var(--clrs-gray, #aaaaaa)}.border-clrs-navy{border-color:var(--clrs-navy, #001f3f)}.border-clrs-red{border-color:var(--clrs-red, #ff4136)}.border-clrs-slate4{border-color:var(--clrs-slate4, #4e5964)}.bg-clrs-green-a50{background-color:var(--clrs-green-a50, #2ecc4050)}.bg-clrs-navy{background-color:var(--clrs-navy, #001f3f)}.bg-clrs-red{background-color:var(--clrs-red, #ff4136)}.bg-clrs-red-a50{background-color:var(--clrs-red-a50, #ff413650)}.bg-clrs-silver{background-color:var(--clrs-silver, #dddddd)}.bg-clrs-slate4{background-color:var(--clrs-slate4, #4e5964)}.bg-clrs-yellow{background-color:var(--clrs-yellow, #ffdc00)}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.p-0{padding:0px}.p-0\\.5{padding:0.125rem}.px-2{padding-left:0.5rem;padding-right:0.5rem}.px-3{padding-left:0.75rem;padding-right:0.75rem}.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.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-gray{color:var(--clrs-gray, #aaaaaa)}.text-clrs-navy{color:var(--clrs-navy, #001f3f)}.text-clrs-red{color:var(--clrs-red, #ff4136)}.text-clrs-slate4{color:var(--clrs-slate4, #4e5964)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity))}.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{Ct as proto_sudoku}
@@ -1 +1 @@
1
- import{p as o,b as t}from"./p-730fc50c.js";export{s as setNonce}from"./p-730fc50c.js";(()=>{const t=import.meta.url,p={};return""!==t&&(p.resourcesUrl=new URL(".",t).href),o(p)})().then((o=>t([["p-0060ba5d",[[1,"proto-sudoku",{tag:[1],platform:[1]}]]]],o)));
1
+ import{p as o,b as t}from"./p-c433930f.js";export{s as setNonce}from"./p-c433930f.js";(()=>{const t=import.meta.url,p={};return""!==t&&(p.resourcesUrl=new URL(".",t).href),o(p)})().then((o=>t([["p-d518f590",[[1,"proto-sudoku",{tag:[1],platform:[1]}]]]],o)));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "proto-sudoku-wc",
3
- "version": "0.0.681",
3
+ "version": "0.0.683",
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",
@@ -27,10 +27,10 @@
27
27
  "format": "prettier --write src"
28
28
  },
29
29
  "dependencies": {
30
- "@stencil/core": "4.6.0",
30
+ "@stencil/core": "4.7.0",
31
31
  "@stencil/store": "2.0.11",
32
- "ky": "1.1.1",
33
- "proto-tailwindcss-clrs": "0.0.281",
32
+ "ky": "1.1.2",
33
+ "proto-tailwindcss-clrs": "0.0.283",
34
34
  "tailwindcss": "3.3.5"
35
35
  },
36
36
  "devDependencies": {
@@ -1,2 +0,0 @@
1
- import{h as t,g as e,f as r,r as o}from"./p-730fc50c.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="Check ?",g="New Puzzle",w=t=>!("isConnected"in t)||t.isConnected,m=(()=>{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(w))})(...e)}),2e3)}})(),y=t=>"function"==typeof t?t():t;class x 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 v 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 C=t=>null!==t&&"object"==typeof t,k=(...t)=>{for(const e of t)if((!C(e)||Array.isArray(e))&&void 0!==e)throw new TypeError("The `options` argument must be an object");return j({},...t)},T=(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},j=(...t)=>{let e={},r={};for(const o of t)if(Array.isArray(o))Array.isArray(e)||(e=[]),e=[...e,...o];else if(C(o)){for(let[t,r]of Object.entries(o))C(r)&&t in e&&(r=j(e[t],r)),e={...e,[t]:r};C(o.headers)&&(r=T(r,o.headers),e.headers=r)}return e},M=(()=>{let t=!1,e=!1;const r="function"==typeof globalThis.ReadableStream,o="function"==typeof globalThis.Request;return r&&o&&(e=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type")),t&&!e})(),R="function"==typeof globalThis.AbortController,S="function"==typeof globalThis.ReadableStream,z="function"==typeof globalThis.FormData,O=["get","post","put","patch","head","delete"],A={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},E=2147483647,P=Symbol("stop"),U={json:!0,parseJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},B=t=>O.includes(t)?t.toUpperCase():t,N=[413,429,503],q={limit:2,methods:["get","put","head","delete","options","trace"],statusCodes:[408,413,429,500,502,503,504],afterStatusCodes:N,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:t=>.3*2**(t-1)*1e3},H=(t={})=>{if("number"==typeof t)return{...q,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{...q,...t,afterStatusCodes:N}};class _{static create(t,e){const r=new _(t,e),o=async()=>{if("number"==typeof r._options.timeout&&r._options.timeout>E)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 x(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(!S)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(A))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(0===(await n.clone().arrayBuffer()).byteLength)return"";if(e.parseJson)return e.parseJson(await n.text())}return n[t]()};return s}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:T(this._input.headers,e.headers),hooks:j({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},e.hooks),method:B(e.method??this._input.method),prefixUrl:String(e.prefixUrl||""),retry:H(e.retry),throwHttpErrors:!1!==e.throwHttpErrors,timeout:e.timeout??1e4,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(R){if(this.abortController=new globalThis.AbortController,this._options.signal){const t=this._options.signal;this._options.signal.addEventListener("abort",(()=>{this.abortController.abort(t.reason)}))}this._options.signal=this.abortController.signal}if(M&&(this._options.duplex="half"),this.request=new globalThis.Request(this._input,this._options),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);!(z&&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}))}_calculateRetryDelay(t){if(this._retryCount++,this._retryCount<this._options.retry.limit&&!(t instanceof v)){if(t instanceof x){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}const e=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,e)}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),E);if(0!==r&&this._retryCount>0){await async function(t,{signal:e}){return new Promise(((r,o)=>{function s(){clearTimeout(n),o(e.reason)}e&&(e.throwIfAborted(),e.addEventListener("abort",s,{once:!0}));const n=setTimeout((()=>{e?.removeEventListener("abort",s),r()}),t)}))}(r,{signal:this._options.signal});for(const t of this._options.hooks.beforeRetry)if(await t({request:this.request,options:this._options,error:e,retryCount:this._retryCount})===P)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}const t=((t,e)=>{const r={};for(const o in e)o in U||o in t||(r[o]=e[o]);return r})(this.request,this._options);return!1===this._options.timeout?this._options.fetch(this.request.clone(),t):async function(t,e,r,o){return new Promise(((s,n)=>{const a=setTimeout((()=>{r&&r.abort(),n(new v(t))}),o.timeout);o.fetch(t,e).then(s).catch(n).then((()=>{clearTimeout(a)}))}))}(this.request.clone(),t,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 D=t=>{const e=(e,r)=>_.create(e,k(t,r));for(const r of O)e[r]=(e,o)=>_.create(e,k(t,o,{method:r}));return e.create=t=>D(k(t)),e.extend=e=>D(k(t,e)),e.stop=P,e},$=D(),L={list:[],keys:[],locs:[],loading:!1,solved:!1,error:void 0,pick:void 0,data:void 0},{state:J}=(()=>{const t=((t,e=((t,e)=>t!==e))=>{const r=y(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=y(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(y(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)))}}})(L,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)),m(t)},reset:()=>{t.forEach((t=>t.forEach(r))),m(t)}}})()),t})(),I=new Map([["row",new Map],["column",new Map],["box",new Map]]),W=["1","2","3","4","5","6","7","8","9"],X=t=>{if(void 0!==t&&t.indx!=J.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)=>{I.get(r).get(e).forEach((e=>{e!==t&&n.add(e)}))})),Array.from(n)})(r,o,s,n),i=e?[]:(t=>{const{list:e}=J,r=new Set;return t.map((t=>{const{key:o}=e[t];"."!=o&&r.add(o)})),W.filter((t=>!r.has(t)))})(a);J.pick=r,J.keys=i,J.locs=a}else J.pick=void 0,J.keys=[],J.locs=[];V(J.pick)};let Z;const F={netlify:"/.netlify/functions",vercel:"https://sudoku-rust-api.vercel.app/api"},K=t=>{f(t)},V=t=>{p(t)},Y=(t=!1)=>{J.list=[],J.keys=[],J.locs=[],J.loading=t,J.solved=!1,J.error=void 0,J.pick=void 0,J.data=void 0},G=(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=I.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),J.data=t,J.list=a}else J.data=void 0,J.list=[]})({puzzle:r,ref:o})},Q=t=>{J.list=[...t],t.length=0},tt={initApp:t=>{(t=>{const e=(t=>{const e=Object.keys(F).includes(t)?t:"vercel";return F[e]})(t);Z=$.extend({hooks:{beforeRequest:[t=>{t.headers.set("X-Requested-With","ky"),t.headers.set("X-Custom-Header","foobar")}]},prefixUrl:e,timeout:1e4})})(t),Y();const e=c(a),r=u();if(e&&(G(e,!1),r>=0)){const{list:t}=J;X(t[r])}},refresh:async()=>{Y(!0),K([]),V(J.pick);try{const t=await Z.get("puzzle").json();G(t)}catch(t){const{message:e}=t;console.log("-- ",e),console.log(t),J.error=e}finally{J.loading=!1}},select:t=>{X(t)},check:()=>{const{list:t}=J,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;K(o?e:[]),r>0?Q(t):81===n&&(J.solved=!0)},input:t=>{const{pick:e,list:r}=J;r[e].key=t,Q(r)}},et=(...t)=>t.filter(Boolean).join(" "),rt=e=>{const r=e.hex||"currentColor",o=e.label||"loading...",s=e.size||24;return t("svg",{class:et(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"}))},ot=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?rt:s,{class:"mr-2"}),o?t("label",{class:"mr-1 font-bold"},o,":"):"",t("label",{class:"italic"},r))},st=()=>{const{solved:e,loading:r,error:o}=J;return t("div",{class:"flex flex-col"},r||o||e?"":t(ot,{message:"Welcome, are you ready to play?..."}),r?t(ot,{message:"Loading...",spinner:!0}):"",o?t(ot,{message:o,salute:"ERROR"}):"",e?t(ot,{message:"You solved the puzzle!!"}):"")},nt=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"}))},at="eswat2",it=()=>t("a",{class:"absolute right-0 top-0 text-clrs-gray hover:text-clrs-navy",href:"https://eswat2.dev","aria-label":at,target:"blank",title:at},t(nt,{label:at})),lt=(e,r)=>t("h1",{class:et("text-center uppercase text-clrs-red","mb-11 ml-0 mr-0 mt-11","text-6xl font-thin")},r),ct=e=>{const{label:r,callback:o,matched:s=!1}=e;return t("button",{class:et("rounded-md border border-solid border-clrs-slate4 font-bold",r===b?"mr-2 bg-clrs-yellow px-3 py-2 text-clrs-navy":r===g?"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)},dt=()=>{const{keys:e,list:r,pick:o,solved:s}=J,n=t=>()=>{tt.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(ct,{label:"x",callback:n(".")}),a.map((e=>t(ct,{label:e,callback:n(e),matched:i.key===e}))))},ht=[2,5,11,14,20,23,29,32,38,41,47,50,56,59,65,68,74,77],ft=ht.map((t=>t+1)),ut=[18,19,20,21,22,23,24,25,26,45,46,47,48,49,50,51,52,53],pt=ut.map((t=>t+9)),bt=e=>{const{cell:r,focus:o,selected:s,solved:n}=e,{key:a,isClue:i,indx:l}=r,c="."!=a?a:"";return t("label",{class:et(`cell-${l}`,ht.includes(l)?"border-xbr-clrs-navy":"",ft.includes(l)?"border-xbl-clrs-navy":"",ut.includes(l)?"border-xbb-clrs-navy":"",pt.includes(l)?"border-xbt-clrs-navy":"","h-8 w-8 border border-solid text-center leading-8",s?"border-clrs-red bg-clrs-red-a50 text-clrs-red":o?"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||tt.select(t)})(r,n)},c)},gt=()=>{const{list:e,pick:r,locs:o,solved:s}=J;return t("div",{class:et("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(bt,{cell:e,focus:i,selected:a,solved:s})})))},wt=()=>t("label",{class:"ml-auto align-top text-xs italic text-clrs-slate4"},"Tailwind ","3.3.5"),mt=t=>()=>{t.refresh()},yt=t=>()=>{t.check()},xt=()=>{const{list:e,solved:r}=J;return t("div",{class:"flex flex-row"},t(ct,{label:g,callback:mt(tt)}),81!==e.length||r?"":t(ct,{label:b,callback:yt(tt)}),t(wt,null))},vt=class{constructor(t){o(this,t),this.tag="proto-sudoku",this.platform="vercel"}componentDidLoad(){tt.initApp(this.platform)}render(){return t("div",{id:"app",class:"ds1-main relative max-w-min p-0.5"},t(it,null),t(lt,null,"Sudoku"),t(gt,null),t(dt,null),t("hr",{class:"ml-0 mr-0"}),t(xt,null),t(st,null))}};vt.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,\n system-ui,\n -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n 'Helvetica Neue',\n Arial,\n 'Noto Sans',\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol',\n 'Noto Color Emoji';color:var(--clrs-navy, #001f3f);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.absolute{position:absolute}.relative{position:relative}.right-0{right:0px}.top-0{top:0px}.mb-11{margin-bottom:2.75rem}.ml-0{margin-left:0px}.ml-auto{margin-left:auto}.mr-0{margin-right:0px}.mr-1{margin-right:0.25rem}.mr-2{margin-right:0.5rem}.mt-11{margin-top:2.75rem}.mt-2{margin-top:0.5rem}.mt-5{margin-top:1.25rem}.flex{display:flex}.h-24px{height:24px}.h-76p5{height:19.125rem}.h-8{height:2rem}.w-76p5{width:19.125rem}.w-8{width:2rem}.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-gray{border-color:var(--clrs-gray, #aaaaaa)}.border-clrs-navy{border-color:var(--clrs-navy, #001f3f)}.border-clrs-red{border-color:var(--clrs-red, #ff4136)}.border-clrs-slate4{border-color:var(--clrs-slate4, #4e5964)}.bg-clrs-green-a50{background-color:var(--clrs-green-a50, #2ecc4050)}.bg-clrs-navy{background-color:var(--clrs-navy, #001f3f)}.bg-clrs-red{background-color:var(--clrs-red, #ff4136)}.bg-clrs-red-a50{background-color:var(--clrs-red-a50, #ff413650)}.bg-clrs-silver{background-color:var(--clrs-silver, #dddddd)}.bg-clrs-slate4{background-color:var(--clrs-slate4, #4e5964)}.bg-clrs-yellow{background-color:var(--clrs-yellow, #ffdc00)}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.p-0{padding:0px}.p-0\\.5{padding:0.125rem}.px-2{padding-left:0.5rem;padding-right:0.5rem}.px-3{padding-left:0.75rem;padding-right:0.75rem}.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.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-gray{color:var(--clrs-gray, #aaaaaa)}.text-clrs-navy{color:var(--clrs-navy, #001f3f)}.text-clrs-red{color:var(--clrs-red, #ff4136)}.text-clrs-slate4{color:var(--clrs-slate4, #4e5964)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity))}.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{vt as proto_sudoku}
@@ -1,2 +0,0 @@
1
- let n,t,e=!1,l=null,o=!1;const s={},i=n=>"object"==(n=typeof n)||"function"===n;function r(n){var t,e,l;return null!==(l=null===(e=null===(t=n.head)||void 0===t?void 0:t.querySelector('meta[name="csp-nonce"]'))||void 0===e?void 0:e.getAttribute("content"))&&void 0!==l?l:void 0}const c=(n,t,...e)=>{let l=null,o=!1,s=!1;const r=[],c=t=>{for(let e=0;e<t.length;e++)l=t[e],Array.isArray(l)?c(l):null!=l&&"boolean"!=typeof l&&((o="function"!=typeof n&&!i(l))&&(l+=""),o&&s?r[r.length-1].t+=l:r.push(o?u(null,l):l),s=o)};if(c(e),t){const n=t.className||t.class;n&&(t.class="object"!=typeof n?n:Object.keys(n).filter((t=>n[t])).join(" "))}if("function"==typeof n)return n(null===t?{}:t,r,f);const a=u(n,null);return a.l=t,r.length>0&&(a.o=r),a},u=(n,t)=>({i:0,u:n,t,v:null,o:null,l:null}),a={},f={forEach:(n,t)=>n.map(d).forEach(t),map:(n,t)=>n.map(d).map(t).map(v)},d=n=>({vattrs:n.l,vchildren:n.o,vkey:n.h,vname:n.p,vtag:n.u,vtext:n.t}),v=n=>{if("function"==typeof n.vtag){const t=Object.assign({},n.vattrs);return n.vkey&&(t.key=n.vkey),n.vname&&(t.name=n.vname),c(n.vtag,t,...n.vchildren||[])}const t=u(n.vtag,n.vtext);return t.l=n.vattrs,t.o=n.vchildren,t.h=n.vkey,t.p=n.vname,t},y=new WeakMap,h=n=>"sc-"+n.m,p=(n,t,e,l,o,s)=>{if(e!==l){let r=B(n,t),c=t.toLowerCase();if("class"===t){const t=n.classList,o=$(e),s=$(l);t.remove(...o.filter((n=>n&&!s.includes(n)))),t.add(...s.filter((n=>n&&!o.includes(n))))}else if(r||"o"!==t[0]||"n"!==t[1]){const c=i(l);if((r||c&&null!==l)&&!o)try{if(n.tagName.includes("-"))n[t]=l;else{const o=null==l?"":l;"list"===t?r=!1:null!=e&&n[t]==o||(n[t]=o)}}catch(n){}null==l||!1===l?!1===l&&""!==n.getAttribute(t)||n.removeAttribute(t):(!r||4&s||o)&&!c&&n.setAttribute(t,l=!0===l?"":l)}else t="-"===t[2]?t.slice(3):B(Q,c)?c.slice(2):c[2]+t.slice(3),e&&Y.rel(n,t,e,!1),l&&Y.ael(n,t,l,!1)}},m=/\s/,$=n=>n?n.split(m):[],w=(n,t,e,l)=>{const o=11===t.v.nodeType&&t.v.host?t.v.host:t.v,i=n&&n.l||s,r=t.l||s;for(l in i)l in r||p(o,l,i[l],void 0,e,t.i);for(l in r)p(o,l,i[l],r[l],e,t.i)},b=(t,l,o)=>{const s=l.o[o];let i,r,c=0;if(null!==s.t)i=s.v=X.createTextNode(s.t);else{if(e||(e="svg"===s.u),i=s.v=X.createElementNS(e?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",s.u),e&&"foreignObject"===s.u&&(e=!1),w(null,s,e),null!=n&&i["s-si"]!==n&&i.classList.add(i["s-si"]=n),s.o)for(c=0;c<s.o.length;++c)r=b(t,s,c),r&&i.appendChild(r);"svg"===s.u?e=!1:"foreignObject"===i.tagName&&(e=!0)}return i},g=(n,e,l,o,s,i)=>{let r,c=n;for(c.shadowRoot&&c.tagName===t&&(c=c.shadowRoot);s<=i;++s)o[s]&&(r=b(null,l,s),r&&(o[s].v=r,c.insertBefore(r,e)))},j=(n,t,e)=>{for(let l=t;l<=e;++l){const t=n[l];if(t){const n=t.v;n&&n.remove()}}},S=(n,t)=>n.u===t.u,O=(n,t)=>{const l=t.v=n.v,o=n.o,s=t.o,i=t.u,r=t.t;null===r?(e="svg"===i||"foreignObject"!==i&&e,w(n,t,e),null!==o&&null!==s?((n,t,e,l)=>{let o,s=0,i=0,r=t.length-1,c=t[0],u=t[r],a=l.length-1,f=l[0],d=l[a];for(;s<=r&&i<=a;)null==c?c=t[++s]:null==u?u=t[--r]:null==f?f=l[++i]:null==d?d=l[--a]:S(c,f)?(O(c,f),c=t[++s],f=l[++i]):S(u,d)?(O(u,d),u=t[--r],d=l[--a]):S(c,d)?(O(c,d),n.insertBefore(c.v,u.v.nextSibling),c=t[++s],d=l[--a]):S(u,f)?(O(u,f),n.insertBefore(u.v,c.v),u=t[--r],f=l[++i]):(o=b(t&&t[i],e,i),f=l[++i],o&&c.v.parentNode.insertBefore(o,c.v));s>r?g(n,null==l[a+1]?null:l[a+1].v,e,l,i,a):i>a&&j(t,s,r)})(l,o,t,s):null!==s?(null!==n.t&&(l.textContent=""),g(l,null,t,s,0,s.length-1)):null!==o&&j(o,0,o.length-1),e&&"svg"===i&&(e=!1)):n.t!==r&&(l.data=r)},k=(n,t)=>{t&&!n.$&&t["s-p"]&&t["s-p"].push(new Promise((t=>n.$=t)))},M=(n,t)=>{if(n.i|=16,!(4&n.i))return k(n,n.j),cn((()=>C(n,t)));n.i|=512},C=(n,t)=>{const e=n.S;return x(void 0,(()=>E(n,e,t)))},x=(n,t)=>P(n)?n.then(t):t(),P=n=>n instanceof Promise||n&&n.then&&"function"==typeof n.then,E=async(n,t,e)=>{var l;const o=n.$hostElement$,s=o["s-rc"];e&&(n=>{const t=n.O,e=n.$hostElement$,l=t.i,o=((n,t)=>{var e;const l=h(t),o=K.get(l);if(n=11===n.nodeType?n:X,o)if("string"==typeof o){let t,s=y.get(n=n.head||n);if(s||y.set(n,s=new Set),!s.has(l)){{t=X.createElement("style"),t.innerHTML=o;const l=null!==(e=Y.k)&&void 0!==e?e:r(X);null!=l&&t.setAttribute("nonce",l),n.insertBefore(t,n.querySelector("link"))}s&&s.add(l)}}else n.adoptedStyleSheets.includes(o)||(n.adoptedStyleSheets=[...n.adoptedStyleSheets,o]);return l})(e.shadowRoot?e.shadowRoot:e.getRootNode(),t);10&l&&(e["s-sc"]=o,e.classList.add(o+"-h"))})(n);A(n,t,o,e),s&&(s.map((n=>n())),o["s-rc"]=void 0);{const t=null!==(l=o["s-p"])&&void 0!==l?l:[],e=()=>N(n);0===t.length?e():(Promise.all(t).then(e),n.i|=4,t.length=0)}},A=(e,o,s,i)=>{try{l=o,o=o.render(),e.i&=-17,e.i|=2,((e,l,o=!1)=>{const s=e.$hostElement$,i=e.M||u(null,null),r=(n=>n&&n.u===a)(l)?l:c(null,null,l);if(t=s.tagName,o&&r.l)for(const n of Object.keys(r.l))s.hasAttribute(n)&&!["key","ref","style","class"].includes(n)&&(r.l[n]=s[n]);r.u=null,r.i|=4,e.M=r,r.v=i.v=s.shadowRoot||s,n=s["s-sc"],O(i,r)})(e,o,i)}catch(n){G(n,e.$hostElement$)}return l=null,null},L=()=>l,N=n=>{const t=n.$hostElement$,e=n.S,l=n.j;64&n.i||(n.i|=64,W(t),U(e,"componentDidLoad"),n.C(t),l||R()),n.$&&(n.$(),n.$=void 0),512&n.i&&rn((()=>M(n,!1))),n.i&=-517},T=n=>{{const t=V(n),e=t.$hostElement$.isConnected;return e&&2==(18&t.i)&&M(t,!1),e}},R=()=>{W(X.documentElement),rn((()=>(n=>{const t=Y.ce("appload",{detail:{namespace:"proto-sudoku-wc"}});return n.dispatchEvent(t),t})(Q)))},U=(n,t,e)=>{if(n&&n[t])try{return n[t](e)}catch(n){G(n)}},W=n=>n.classList.add("hydrated"),q=(n,t,e)=>{var l;if(t.P){const o=Object.entries(t.P),s=n.prototype;if(o.map((([n,[l]])=>{(31&l||2&e&&32&l)&&Object.defineProperty(s,n,{get(){return((n,t)=>V(this).A.get(t))(0,n)},set(e){((n,t,e,l)=>{const o=V(n),s=o.A.get(t),r=o.i,c=o.S;e=((n,t)=>null==n||i(n)?n:1&t?n+"":n)(e,l.P[t][0]),8&r&&void 0!==s||e===s||Number.isNaN(s)&&Number.isNaN(e)||(o.A.set(t,e),c&&2==(18&r)&&M(o,!1))})(this,n,e,t)},configurable:!0,enumerable:!0})})),1&e){const e=new Map;s.attributeChangedCallback=function(n,l,o){Y.jmp((()=>{const i=e.get(n);if(this.hasOwnProperty(i))o=this[i],delete this[i];else{if(s.hasOwnProperty(i)&&"number"==typeof this[i]&&this[i]==o)return;if(null==i){const e=V(this),s=null==e?void 0:e.i;if(!(8&s)&&128&s&&o!==l){const s=e.S,i=t.L[n];null==i||i.forEach((t=>{null!=s[t]&&s[t].call(s,o,l,n)}))}return}}this[i]=(null!==o||"boolean"!=typeof this[i])&&o}))},n.observedAttributes=Array.from(new Set([...Object.keys(null!==(l=t.L)&&void 0!==l?l:{}),...o.filter((([n,t])=>15&t[0])).map((([n,t])=>{const l=t[1]||n;return e.set(l,n),l}))]))}}return n},D=(n,t={})=>{var e;const l=[],o=t.exclude||[],s=Q.customElements,i=X.head,c=i.querySelector("meta[charset]"),u=X.createElement("style"),a=[];let f,d=!0;Object.assign(Y,t),Y.N=new URL(t.resourcesUrl||"./",X.baseURI).href,n.map((n=>{n[1].map((t=>{const e={i:t[0],m:t[1],P:t[2],T:t[3]};e.P=t[2];const i=e.m,r=class extends HTMLElement{constructor(n){super(n),z(n=this,e),1&e.i&&n.attachShadow({mode:"open"})}connectedCallback(){f&&(clearTimeout(f),f=null),d?a.push(this):Y.jmp((()=>(n=>{if(0==(1&Y.i)){const t=V(n),e=t.O,l=()=>{};if(1&t.i)(null==t?void 0:t.S)||(null==t?void 0:t.R)&&t.R.then((()=>{}));else{t.i|=1;{let e=n;for(;e=e.parentNode||e.host;)if(e["s-p"]){k(t,t.j=e);break}}e.P&&Object.entries(e.P).map((([t,[e]])=>{if(31&e&&n.hasOwnProperty(t)){const e=n[t];delete n[t],n[t]=e}})),(async(n,t,e)=>{let l;if(0==(32&t.i)){t.i|=32;{if(l=J(e),l.then){const n=()=>{};l=await l,n()}l.isProxied||(q(l,e,2),l.isProxied=!0);const n=()=>{};t.i|=8;try{new l(t)}catch(n){G(n)}t.i&=-9,n()}if(l.style){let n=l.style;const t=h(e);if(!K.has(t)){const l=()=>{};((n,t,e)=>{let l=K.get(n);nn&&e?(l=l||new CSSStyleSheet,"string"==typeof l?l=t:l.replaceSync(t)):l=t,K.set(n,l)})(t,n,!!(1&e.i)),l()}}}const o=t.j,s=()=>M(t,!0);o&&o["s-rc"]?o["s-rc"].push(s):s()})(0,t,e)}l()}})(this)))}disconnectedCallback(){Y.jmp((()=>(async()=>{if(0==(1&Y.i)){const n=V(this);(null==n?void 0:n.S)||(null==n?void 0:n.R)&&n.R.then((()=>{}))}})()))}componentOnReady(){return V(this).R}};e.U=n[0],o.includes(i)||s.get(i)||(l.push(i),s.define(i,q(r,e,1)))}))}));{u.innerHTML=l+"{visibility:hidden}.hydrated{visibility:inherit}",u.setAttribute("data-styles","");const n=null!==(e=Y.k)&&void 0!==e?e:r(X);null!=n&&u.setAttribute("nonce",n),i.insertBefore(u,c?c.nextSibling:i.firstChild)}d=!1,a.length?a.map((n=>n.connectedCallback())):Y.jmp((()=>f=setTimeout(R,30)))},F=n=>Y.k=n,H=new WeakMap,V=n=>H.get(n),_=(n,t)=>H.set(t.S=n,t),z=(n,t)=>{const e={i:0,$hostElement$:n,O:t,A:new Map};return e.R=new Promise((n=>e.C=n)),n["s-p"]=[],n["s-rc"]=[],H.set(n,e)},B=(n,t)=>t in n,G=(n,t)=>(0,console.error)(n,t),I=new Map,J=n=>{const t=n.m.replace(/-/g,"_"),e=n.U,l=I.get(e);return l?l[t]:import(`./${e}.entry.js`).then((n=>(I.set(e,n),n[t])),G)
2
- /*!__STENCIL_STATIC_IMPORT_SWITCH__*/},K=new Map,Q="undefined"!=typeof window?window:{},X=Q.document||{head:{}},Y={i:0,N:"",jmp:n=>n(),raf:n=>requestAnimationFrame(n),ael:(n,t,e,l)=>n.addEventListener(t,e,l),rel:(n,t,e,l)=>n.removeEventListener(t,e,l),ce:(n,t)=>new CustomEvent(n,t)},Z=n=>Promise.resolve(n),nn=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(n){}return!1})(),tn=[],en=[],ln=(n,t)=>e=>{n.push(e),o||(o=!0,t&&4&Y.i?rn(sn):Y.raf(sn))},on=n=>{for(let t=0;t<n.length;t++)try{n[t](performance.now())}catch(n){G(n)}n.length=0},sn=()=>{on(tn),on(en),(o=tn.length>0)&&Y.raf(sn)},rn=n=>Z().then(n),cn=ln(en,!0);export{D as b,T as f,L as g,c as h,Z as p,_ as r,F as s}