proto-sudoku-wc 0.0.760 → 0.0.762

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.
@@ -522,17 +522,35 @@ const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
522
522
  const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;
523
523
  {
524
524
  // remove attributes no longer present on the vnode by setting them to undefined
525
- for (memberName in oldVnodeAttrs) {
525
+ for (memberName of sortedAttrNames(Object.keys(oldVnodeAttrs))) {
526
526
  if (!(memberName in newVnodeAttrs)) {
527
527
  setAccessor(elm, memberName, oldVnodeAttrs[memberName], undefined, isSvgMode, newVnode.$flags$);
528
528
  }
529
529
  }
530
530
  }
531
531
  // add new & update changed attributes
532
- for (memberName in newVnodeAttrs) {
532
+ for (memberName of sortedAttrNames(Object.keys(newVnodeAttrs))) {
533
533
  setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode, newVnode.$flags$);
534
534
  }
535
535
  };
536
+ /**
537
+ * Sort a list of attribute names to ensure that all the attribute names which
538
+ * are _not_ `"ref"` come before `"ref"`. Preserve the order of the non-ref
539
+ * attributes.
540
+ *
541
+ * **Note**: if the supplied attributes do not include `'ref'` then the same
542
+ * (by reference) array will be returned without modification.
543
+ *
544
+ * @param attrNames attribute names to sort
545
+ * @returns a list of attribute names, sorted if they include `"ref"`
546
+ */
547
+ function sortedAttrNames(attrNames) {
548
+ return attrNames.includes('ref')
549
+ ? // we need to sort these to ensure that `'ref'` is the last attr
550
+ [...attrNames.filter((attr) => attr !== 'ref'), 'ref']
551
+ : // no need to sort, return the original array
552
+ attrNames;
553
+ }
536
554
  /**
537
555
  * Create a DOM Node corresponding to one of the children of a given VNode.
538
556
  *
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-3861067e.js');
5
+ const index = require('./index-6f08b519.js');
6
6
  const appGlobals = require('./app-globals-3a1e7e63.js');
7
7
 
8
8
  const defineCustomElements = async (win, options) => {
@@ -2,11 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-3861067e.js');
5
+ const index = require('./index-6f08b519.js');
6
6
  const appGlobals = require('./app-globals-3a1e7e63.js');
7
7
 
8
8
  /*
9
- Stencil Client Patch Browser v4.14.0 | MIT Licensed | https://stenciljs.com
9
+ Stencil Client Patch Browser v4.14.1 | MIT Licensed | https://stenciljs.com
10
10
  */
11
11
  const patchBrowser = () => {
12
12
  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-3861067e.js');
5
+ const index = require('./index-6f08b519.js');
6
6
 
7
7
  const Alien = props => {
8
8
  const hex = props.hex || 'currentColor';
@@ -4,7 +4,7 @@
4
4
  ],
5
5
  "compiler": {
6
6
  "name": "@stencil/core",
7
- "version": "4.14.0",
7
+ "version": "4.14.1",
8
8
  "typescriptVersion": "5.4.3"
9
9
  },
10
10
  "collections": [],
@@ -500,17 +500,35 @@ const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
500
500
  const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ;
501
501
  {
502
502
  // remove attributes no longer present on the vnode by setting them to undefined
503
- for (memberName in oldVnodeAttrs) {
503
+ for (memberName of sortedAttrNames(Object.keys(oldVnodeAttrs))) {
504
504
  if (!(memberName in newVnodeAttrs)) {
505
505
  setAccessor(elm, memberName, oldVnodeAttrs[memberName], undefined, isSvgMode, newVnode.$flags$);
506
506
  }
507
507
  }
508
508
  }
509
509
  // add new & update changed attributes
510
- for (memberName in newVnodeAttrs) {
510
+ for (memberName of sortedAttrNames(Object.keys(newVnodeAttrs))) {
511
511
  setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode, newVnode.$flags$);
512
512
  }
513
513
  };
514
+ /**
515
+ * Sort a list of attribute names to ensure that all the attribute names which
516
+ * are _not_ `"ref"` come before `"ref"`. Preserve the order of the non-ref
517
+ * attributes.
518
+ *
519
+ * **Note**: if the supplied attributes do not include `'ref'` then the same
520
+ * (by reference) array will be returned without modification.
521
+ *
522
+ * @param attrNames attribute names to sort
523
+ * @returns a list of attribute names, sorted if they include `"ref"`
524
+ */
525
+ function sortedAttrNames(attrNames) {
526
+ return attrNames.includes('ref')
527
+ ? // we need to sort these to ensure that `'ref'` is the last attr
528
+ [...attrNames.filter((attr) => attr !== 'ref'), 'ref']
529
+ : // no need to sort, return the original array
530
+ attrNames;
531
+ }
514
532
  /**
515
533
  * Create a DOM Node corresponding to one of the children of a given VNode.
516
534
  *
@@ -1,5 +1,5 @@
1
- import { b as bootstrapLazy } from './index-bffbcdde.js';
2
- export { s as setNonce } from './index-bffbcdde.js';
1
+ import { b as bootstrapLazy } from './index-3ad414d4.js';
2
+ export { s as setNonce } from './index-3ad414d4.js';
3
3
  import { g as globalScripts } from './app-globals-0f993ce5.js';
4
4
 
5
5
  const defineCustomElements = async (win, options) => {
@@ -1,9 +1,9 @@
1
- import { p as promiseResolve, b as bootstrapLazy } from './index-bffbcdde.js';
2
- export { s as setNonce } from './index-bffbcdde.js';
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-3ad414d4.js';
2
+ export { s as setNonce } from './index-3ad414d4.js';
3
3
  import { g as globalScripts } from './app-globals-0f993ce5.js';
4
4
 
5
5
  /*
6
- Stencil Client Patch Browser v4.14.0 | MIT Licensed | https://stenciljs.com
6
+ Stencil Client Patch Browser v4.14.1 | MIT Licensed | https://stenciljs.com
7
7
  */
8
8
  const patchBrowser = () => {
9
9
  const importMeta = import.meta.url;
@@ -1,4 +1,4 @@
1
- import { h, g as getRenderingRef, f as forceUpdate, r as registerInstance } from './index-bffbcdde.js';
1
+ import { h, g as getRenderingRef, f as forceUpdate, r as registerInstance } from './index-3ad414d4.js';
2
2
 
3
3
  const Alien = props => {
4
4
  const hex = props.hex || 'currentColor';
@@ -0,0 +1,2 @@
1
+ let e,n,t=!1,l=null,o=!1;const s="slot-fb{display:contents}slot-fb[hidden]{display:none}",i={},r=e=>"object"==(e=typeof e)||"function"===e;function c(e){var n,t,l;return null!==(l=null===(t=null===(n=e.head)||void 0===n?void 0:n.querySelector('meta[name="csp-nonce"]'))||void 0===t?void 0:t.getAttribute("content"))&&void 0!==l?l:void 0}const u=(e,n,...t)=>{let l=null,o=null,s=!1,i=!1;const c=[],u=n=>{for(let t=0;t<n.length;t++)l=n[t],Array.isArray(l)?u(l):null!=l&&"boolean"!=typeof l&&((s="function"!=typeof e&&!r(l))&&(l+=""),s&&i?c[c.length-1].t+=l:c.push(s?f(null,l):l),i=s)};if(u(t),n){n.key&&(o=n.key);{const e=n.className||n.class;e&&(n.class="object"!=typeof e?e:Object.keys(e).filter((n=>e[n])).join(" "))}}if("function"==typeof e)return e(null===n?{}:n,c,d);const a=f(e,null);return a.l=n,c.length>0&&(a.o=c),a.i=o,a},f=(e,n)=>({u:0,v:e,t:n,p:null,o:null,l:null,i:null}),a={},d={forEach:(e,n)=>e.map(v).forEach(n),map:(e,n)=>e.map(v).map(n).map(y)},v=e=>({vattrs:e.l,vchildren:e.o,vkey:e.i,vname:e.h,vtag:e.v,vtext:e.t}),y=e=>{if("function"==typeof e.vtag){const n=Object.assign({},e.vattrs);return e.vkey&&(n.key=e.vkey),e.vname&&(n.name=e.vname),u(e.vtag,n,...e.vchildren||[])}const n=f(e.vtag,e.vtext);return n.l=e.vattrs,n.o=e.vchildren,n.i=e.vkey,n.h=e.vname,n},p=new WeakMap,h=e=>"sc-"+e.m,m=(e,n,t,l,o,s)=>{if(t!==l){let i=Q(e,n),c=n.toLowerCase();if("class"===n){const n=e.classList,o=b(t),s=b(l);n.remove(...o.filter((e=>e&&!s.includes(e)))),n.add(...s.filter((e=>e&&!o.includes(e))))}else if("key"===n);else if(i||"o"!==n[0]||"n"!==n[1]){const c=r(l);if((i||c&&null!==l)&&!o)try{if(e.tagName.includes("-"))e[n]=l;else{const o=null==l?"":l;"list"===n?i=!1:null!=t&&e[n]==o||(e[n]=o)}}catch(e){}null==l||!1===l?!1===l&&""!==e.getAttribute(n)||e.removeAttribute(n):(!i||4&s||o)&&!c&&e.setAttribute(n,l=!0===l?"":l)}else if(n="-"===n[2]?n.slice(3):Q(ne,c)?c.slice(2):c[2]+n.slice(3),t||l){const o=n.endsWith(w);n=n.replace(g,""),t&&le.rel(e,n,t,o),l&&le.ael(e,n,l,o)}}},$=/\s/,b=e=>e?e.split($):[],w="Capture",g=RegExp(w+"$"),j=(e,n,t,l)=>{const o=11===n.p.nodeType&&n.p.host?n.p.host:n.p,s=e&&e.l||i,r=n.l||i;for(l of O(Object.keys(s)))l in r||m(o,l,s[l],void 0,t,n.u);for(l of O(Object.keys(r)))m(o,l,s[l],r[l],t,n.u)};function O(e){return e.includes("ref")?[...e.filter((e=>"ref"!==e)),"ref"]:e}const S=(l,o,s)=>{const i=o.o[s];let r,c,u=0;if(null!==i.t)r=i.p=te.createTextNode(i.t);else{if(t||(t="svg"===i.v),r=i.p=te.createElementNS(t?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",i.v),t&&"foreignObject"===i.v&&(t=!1),j(null,i,t),null!=e&&r["s-si"]!==e&&r.classList.add(r["s-si"]=e),i.o)for(u=0;u<i.o.length;++u)c=S(l,i,u),c&&r.appendChild(c);"svg"===i.v?t=!1:"foreignObject"===r.tagName&&(t=!0)}return r["s-hn"]=n,r},k=(e,t,l,o,s,i)=>{let r,c=e;for(c.shadowRoot&&c.tagName===n&&(c=c.shadowRoot);s<=i;++s)o[s]&&(r=S(null,l,s),r&&(o[s].p=r,c.insertBefore(r,t)))},M=(e,n,t)=>{for(let l=n;l<=t;++l){const n=e[l];if(n){const e=n.p;e&&e.remove()}}},C=(e,n,t=!1)=>e.v===n.v&&(!!t||e.i===n.i),x=(e,n,l=!1)=>{const o=n.p=e.p,s=e.o,i=n.o,r=n.v,c=n.t;null===c?(t="svg"===r||"foreignObject"!==r&&t,j(e,n,t),null!==s&&null!==i?((e,n,t,l,o=!1)=>{let s,i,r=0,c=0,u=0,f=0,a=n.length-1,d=n[0],v=n[a],y=l.length-1,p=l[0],h=l[y];for(;r<=a&&c<=y;)if(null==d)d=n[++r];else if(null==v)v=n[--a];else if(null==p)p=l[++c];else if(null==h)h=l[--y];else if(C(d,p,o))x(d,p,o),d=n[++r],p=l[++c];else if(C(v,h,o))x(v,h,o),v=n[--a],h=l[--y];else if(C(d,h,o))x(d,h,o),e.insertBefore(d.p,v.p.nextSibling),d=n[++r],h=l[--y];else if(C(v,p,o))x(v,p,o),e.insertBefore(v.p,d.p),v=n[--a],p=l[++c];else{for(u=-1,f=r;f<=a;++f)if(n[f]&&null!==n[f].i&&n[f].i===p.i){u=f;break}u>=0?(i=n[u],i.v!==p.v?s=S(n&&n[c],t,u):(x(i,p,o),n[u]=void 0,s=i.p),p=l[++c]):(s=S(n&&n[c],t,c),p=l[++c]),s&&d.p.parentNode.insertBefore(s,d.p)}r>a?k(e,null==l[y+1]?null:l[y+1].p,t,l,c,y):c>y&&M(n,r,a)})(o,s,n,i,l):null!==i?(null!==e.t&&(o.textContent=""),k(o,null,n,i,0,i.length-1)):null!==s&&M(s,0,s.length-1),t&&"svg"===r&&(t=!1)):e.t!==c&&(o.data=c)},E=(e,n)=>{n&&!e.$&&n["s-p"]&&n["s-p"].push(new Promise((n=>e.$=n)))},P=(e,n)=>{if(e.u|=16,!(4&e.u))return E(e,e.j),de((()=>A(e,n)));e.u|=512},A=(e,n)=>{const t=e.O;return L(void 0,(()=>R(e,t,n)))},L=(e,n)=>N(e)?e.then(n):n(),N=e=>e instanceof Promise||e&&e.then&&"function"==typeof e.then,R=async(e,n,t)=>{var l;const o=e.$hostElement$,i=o["s-rc"];t&&(e=>{const n=e.S,t=e.$hostElement$,l=n.u,o=((e,n)=>{var t;const l=h(n),o=ee.get(l);if(e=11===e.nodeType?e:te,o)if("string"==typeof o){let i,r=p.get(e=e.head||e);if(r||p.set(e,r=new Set),!r.has(l)){{i=te.createElement("style"),i.innerHTML=o;const n=null!==(t=le.k)&&void 0!==t?t:c(te);null!=n&&i.setAttribute("nonce",n),e.insertBefore(i,e.querySelector("link"))}4&n.u&&(i.innerHTML+=s),r&&r.add(l)}}else e.adoptedStyleSheets.includes(o)||(e.adoptedStyleSheets=[...e.adoptedStyleSheets,o]);return l})(t.shadowRoot?t.shadowRoot:t.getRootNode(),n);10&l&&(t["s-sc"]=o,t.classList.add(o+"-h"))})(e);T(e,n,o,t),i&&(i.map((e=>e())),o["s-rc"]=void 0);{const n=null!==(l=o["s-p"])&&void 0!==l?l:[],t=()=>W(e);0===n.length?t():(Promise.all(n).then(t),e.u|=4,n.length=0)}},T=(t,o,s,i)=>{try{l=o,o=o.render(),t.u&=-17,t.u|=2,((t,l,o=!1)=>{const s=t.$hostElement$,i=t.M||f(null,null),r=(e=>e&&e.v===a)(l)?l:u(null,null,l);if(n=s.tagName,o&&r.l)for(const e of Object.keys(r.l))s.hasAttribute(e)&&!["key","ref","style","class"].includes(e)&&(r.l[e]=s[e]);r.v=null,r.u|=4,t.M=r,r.p=i.p=s.shadowRoot||s,e=s["s-sc"],x(i,r,o)})(t,o,i)}catch(e){X(e,t.$hostElement$)}return l=null,null},U=()=>l,W=e=>{const n=e.$hostElement$,t=e.O,l=e.j;64&e.u||(e.u|=64,H(n),F(t,"componentDidLoad"),e.C(n),l||D()),e.$&&(e.$(),e.$=void 0),512&e.u&&ae((()=>P(e,!1))),e.u&=-517},q=e=>{{const n=I(e),t=n.$hostElement$.isConnected;return t&&2==(18&n.u)&&P(n,!1),t}},D=()=>{H(te.documentElement),ae((()=>(e=>{const n=le.ce("appload",{detail:{namespace:"proto-sudoku-wc"}});return e.dispatchEvent(n),n})(ne)))},F=(e,n,t)=>{if(e&&e[n])try{return e[n](t)}catch(e){X(e)}},H=e=>e.classList.add("hydrated"),V=(e,n,t)=>{var l;const o=e.prototype;if(n.P){const s=Object.entries(n.P);if(s.map((([e,[l]])=>{(31&l||2&t&&32&l)&&Object.defineProperty(o,e,{get(){return((e,n)=>I(this).A.get(n))(0,e)},set(t){((e,n,t,l)=>{const o=I(e),s=o.A.get(n),i=o.u,c=o.O;t=((e,n)=>null==e||r(e)?e:1&n?e+"":e)(t,l.P[n][0]),8&i&&void 0!==s||t===s||Number.isNaN(s)&&Number.isNaN(t)||(o.A.set(n,t),c&&2==(18&i)&&P(o,!1))})(this,e,t,n)},configurable:!0,enumerable:!0})})),1&t){const t=new Map;o.attributeChangedCallback=function(e,l,s){le.jmp((()=>{var i;const r=t.get(e);if(this.hasOwnProperty(r))s=this[r],delete this[r];else{if(o.hasOwnProperty(r)&&"number"==typeof this[r]&&this[r]==s)return;if(null==r){const t=I(this),o=null==t?void 0:t.u;if(o&&!(8&o)&&128&o&&s!==l){const o=t.O,r=null===(i=n.L)||void 0===i?void 0:i[e];null==r||r.forEach((n=>{null!=o[n]&&o[n].call(o,s,l,e)}))}return}}this[r]=(null!==s||"boolean"!=typeof this[r])&&s}))},e.observedAttributes=Array.from(new Set([...Object.keys(null!==(l=n.L)&&void 0!==l?l:{}),...s.filter((([e,n])=>15&n[0])).map((([e,n])=>{const l=n[1]||e;return t.set(l,e),l}))]))}}return e},_=async(e,n,t)=>{let l;if(!(32&n.u)){if(n.u|=32,t.N){if(l=Z(t),l.then){const e=()=>{};l=await l,e()}l.isProxied||(V(l,t,2),l.isProxied=!0);const e=()=>{};n.u|=8;try{new l(n)}catch(e){X(e)}n.u&=-9,e()}else l=e.constructor,customElements.whenDefined(t.m).then((()=>n.u|=128));if(l.style){let e=l.style;const n=h(t);if(!ee.has(n)){const l=()=>{};((e,n,t)=>{let l=ee.get(e);se&&t?(l=l||new CSSStyleSheet,"string"==typeof l?l=n:l.replaceSync(n)):l=n,ee.set(e,l)})(n,e,!!(1&t.u)),l()}}}const o=n.j,s=()=>P(n,!0);o&&o["s-rc"]?o["s-rc"].push(s):s()},z=(e,n={})=>{var t;const l=[],o=n.exclude||[],i=ne.customElements,r=te.head,u=r.querySelector("meta[charset]"),f=te.createElement("style"),a=[];let d,v=!0;Object.assign(le,n),le.R=new URL(n.resourcesUrl||"./",te.baseURI).href;let y=!1;if(e.map((e=>{e[1].map((n=>{const t={u:n[0],m:n[1],P:n[2],T:n[3]};4&t.u&&(y=!0),t.P=n[2];const s=t.m,r=class extends HTMLElement{constructor(e){super(e),K(e=this,t),1&t.u&&e.attachShadow({mode:"open"})}connectedCallback(){d&&(clearTimeout(d),d=null),v?a.push(this):le.jmp((()=>(e=>{if(!(1&le.u)){const n=I(e),t=n.S,l=()=>{};if(1&n.u)(null==n?void 0:n.O)||(null==n?void 0:n.U)&&n.U.then((()=>{}));else{n.u|=1;{let t=e;for(;t=t.parentNode||t.host;)if(t["s-p"]){E(n,n.j=t);break}}t.P&&Object.entries(t.P).map((([n,[t]])=>{if(31&t&&e.hasOwnProperty(n)){const t=e[n];delete e[n],e[n]=t}})),_(e,n,t)}l()}})(this)))}disconnectedCallback(){le.jmp((()=>(async()=>{if(!(1&le.u)){const e=I(this);(null==e?void 0:e.O)||(null==e?void 0:e.U)&&e.U.then((()=>{}))}})()))}componentOnReady(){return I(this).U}};t.N=e[0],o.includes(s)||i.get(s)||(l.push(s),i.define(s,V(r,t,1)))}))})),l.length>0&&(y&&(f.textContent+=s),f.textContent+=l+"{visibility:hidden}.hydrated{visibility:inherit}",f.innerHTML.length)){f.setAttribute("data-styles","");const e=null!==(t=le.k)&&void 0!==t?t:c(te);null!=e&&f.setAttribute("nonce",e),r.insertBefore(f,u?u.nextSibling:r.firstChild)}v=!1,a.length?a.map((e=>e.connectedCallback())):le.jmp((()=>d=setTimeout(D,30)))},B=e=>le.k=e,G=new WeakMap,I=e=>G.get(e),J=(e,n)=>G.set(n.O=e,n),K=(e,n)=>{const t={u:0,$hostElement$:e,S:n,A:new Map};return t.U=new Promise((e=>t.C=e)),e["s-p"]=[],e["s-rc"]=[],G.set(e,t)},Q=(e,n)=>n in e,X=(e,n)=>(0,console.error)(e,n),Y=new Map,Z=e=>{const n=e.m.replace(/-/g,"_"),t=e.N,l=Y.get(t);return l?l[n]:import(`./${t}.entry.js`).then((e=>(Y.set(t,e),e[n])),X)
2
+ /*!__STENCIL_STATIC_IMPORT_SWITCH__*/},ee=new Map,ne="undefined"!=typeof window?window:{},te=ne.document||{head:{}},le={u:0,R:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,n,t,l)=>e.addEventListener(n,t,l),rel:(e,n,t,l)=>e.removeEventListener(n,t,l),ce:(e,n)=>new CustomEvent(e,n)},oe=e=>Promise.resolve(e),se=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(e){}return!1})(),ie=[],re=[],ce=(e,n)=>t=>{e.push(t),o||(o=!0,n&&4&le.u?ae(fe):le.raf(fe))},ue=e=>{for(let n=0;n<e.length;n++)try{e[n](performance.now())}catch(e){X(e)}e.length=0},fe=()=>{ue(ie),ue(re),(o=ie.length>0)&&le.raf(fe)},ae=e=>oe().then(e),de=ce(re,!0);export{z as b,q as f,U as g,u as h,oe as p,J as r,B as s}
@@ -1,2 +1,2 @@
1
- import{h as t,g as e,f as r,r as o}from"./p-4f9383a8.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)},f=()=>[...c(i)],h=t=>{d(i,t.join(""))},u=()=>{const t=c(l);return null!==t?t:void 0},b=t=>{d(l,t>=0&&t<81?t:null)},p="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,z="function"==typeof globalThis.ReadableStream,S="function"==typeof globalThis.FormData,O=["get","post","put","patch","head","delete"],E={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},A=2147483647,P=Symbol("stop"),q={json:!0,parseJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},U={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,priority:!0},B=t=>O.includes(t)?t.toUpperCase():t,N=[413,429,503],_={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},D=(t={})=>{if("number"==typeof t)return{..._,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{..._,...t,afterStatusCodes:N}};class H{static create(t,e){const r=new H(t,e),o=async()=>{if("number"==typeof r._options.timeout&&r._options.timeout>A)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(!z)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(E))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={}){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;const r=this._input instanceof Request&&"credentials"in Request.prototype?this._input.credentials:void 0;if(this._options={...r&&{credentials:r},...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:D(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);!(S&&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),A);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 q||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})}}
1
+ import{h as t,g as e,f as r,r as o}from"./p-077996df.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)},f=()=>[...c(i)],h=t=>{d(i,t.join(""))},u=()=>{const t=c(l);return null!==t?t:void 0},b=t=>{d(l,t>=0&&t<81?t:null)},p="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,z="function"==typeof globalThis.ReadableStream,S="function"==typeof globalThis.FormData,O=["get","post","put","patch","head","delete"],E={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},A=2147483647,P=Symbol("stop"),q={json:!0,parseJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},U={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,priority:!0},B=t=>O.includes(t)?t.toUpperCase():t,N=[413,429,503],_={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},D=(t={})=>{if("number"==typeof t)return{..._,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{..._,...t,afterStatusCodes:N}};class H{static create(t,e){const r=new H(t,e),o=async()=>{if("number"==typeof r._options.timeout&&r._options.timeout>A)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(!z)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(E))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={}){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;const r=this._input instanceof Request&&"credentials"in Request.prototype?this._input.credentials:void 0;if(this._options={...r&&{credentials:r},...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:D(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);!(S&&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),A);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 q||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
2
  /*! MIT License © Sindre Sorhus */const $=t=>{const e=(e,r)=>H.create(e,k(t,r));for(const r of O)e[r]=(e,o)=>H.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=[];F(I.pick)};let K;const V={netlify:"/.netlify/functions",vercel:"https://sudoku-rust-api.vercel.app/api"},Y=t=>{h(t)},F=t=>{b(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&&(h([]),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=>{f().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(V).includes(t)?t:"vercel";return V[e]})(t);K=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),Y([]),F(I.pick);try{const t=await K.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;Y(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===p?"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)},ft=()=>{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}))))},ht=[2,5,11,14,20,23,29,32,38,41,47,50,56,59,65,68,74,77],ut=ht.map((t=>t+1)),bt=[18,19,20,21,22,23,24,25,26,45,46,47,48,49,50,51,52,53],pt=bt.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}`,ht.includes(l)?"border-xbr-clrs-navy":"",ut.includes(l)?"border-xbl-clrs-navy":"",bt.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||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.4.3"),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:p,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",{key:"9f50eec975c4da5f4984b80380067d5155dda0d1",id:"app",class:"ds1-main relative max-w-min p-0.5"},t(lt,{key:"e7bab7e257022a9920f8b43785d9dc33ab7fed65"}),t(ct,{key:"d8c32e6b9c20b9fe6c8ff2e9fc7a9900057a2679"},"Sudoku"),t(wt,{key:"8a028015ae4380aaa54a406ccf5cc908816ca6a4"}),t(ft,{key:"951b6d20ca7a99ced4c60aa39fe040af6e96dd46"}),t("hr",{key:"35ba2812a3b068b21b5252c5f07d0b5dc2f18527",class:"ml-0 mr-0"}),t(vt,{key:"114e7edd4bf3da82ae344f56cb7e856ce17a6da8"}),t(nt,{key:"2c15eb0ba714d1e0c378882c62ce575c428adc2a"}))}};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, system-ui, sans-serif, 'Apple Color Emoji',\n '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}.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 a}from"./p-4f9383a8.js";export{s as setNonce}from"./p-4f9383a8.js";import{g as t}from"./p-e1255160.js";(()=>{const a=import.meta.url,s={};return""!==a&&(s.resourcesUrl=new URL(".",a).href),o(s)})().then((async o=>(await t(),a([["p-bed5794d",[[1,"proto-sudoku",{tag:[1],platform:[1]}]]]],o))));
1
+ import{p as o,b as t}from"./p-077996df.js";export{s as setNonce}from"./p-077996df.js";import{g as a}from"./p-e1255160.js";(()=>{const s=import.meta.url,t={};return""!==s&&(t.resourcesUrl=new URL(".",s).href),o(t)})().then((async o=>(await a(),t([["p-216aff79",[[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.760",
3
+ "version": "0.0.762",
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.14.0",
30
+ "@stencil/core": "4.14.1",
31
31
  "@stencil/store": "2.0.15",
32
32
  "ky": "1.2.3",
33
- "proto-tailwindcss-clrs": "0.0.320",
33
+ "proto-tailwindcss-clrs": "0.0.321",
34
34
  "tailwindcss": "3.4.3"
35
35
  },
36
36
  "devDependencies": {
@@ -1,2 +0,0 @@
1
- let e,n,t=!1,l=null,o=!1;const s="slot-fb{display:contents}slot-fb[hidden]{display:none}",i={},r=e=>"object"==(e=typeof e)||"function"===e;function c(e){var n,t,l;return null!==(l=null===(t=null===(n=e.head)||void 0===n?void 0:n.querySelector('meta[name="csp-nonce"]'))||void 0===t?void 0:t.getAttribute("content"))&&void 0!==l?l:void 0}const u=(e,n,...t)=>{let l=null,o=null,s=!1,i=!1;const c=[],u=n=>{for(let t=0;t<n.length;t++)l=n[t],Array.isArray(l)?u(l):null!=l&&"boolean"!=typeof l&&((s="function"!=typeof e&&!r(l))&&(l+=""),s&&i?c[c.length-1].t+=l:c.push(s?f(null,l):l),i=s)};if(u(t),n){n.key&&(o=n.key);{const e=n.className||n.class;e&&(n.class="object"!=typeof e?e:Object.keys(e).filter((n=>e[n])).join(" "))}}if("function"==typeof e)return e(null===n?{}:n,c,d);const a=f(e,null);return a.l=n,c.length>0&&(a.o=c),a.i=o,a},f=(e,n)=>({u:0,v:e,t:n,p:null,o:null,l:null,i:null}),a={},d={forEach:(e,n)=>e.map(v).forEach(n),map:(e,n)=>e.map(v).map(n).map(y)},v=e=>({vattrs:e.l,vchildren:e.o,vkey:e.i,vname:e.h,vtag:e.v,vtext:e.t}),y=e=>{if("function"==typeof e.vtag){const n=Object.assign({},e.vattrs);return e.vkey&&(n.key=e.vkey),e.vname&&(n.name=e.vname),u(e.vtag,n,...e.vchildren||[])}const n=f(e.vtag,e.vtext);return n.l=e.vattrs,n.o=e.vchildren,n.i=e.vkey,n.h=e.vname,n},p=new WeakMap,h=e=>"sc-"+e.m,m=(e,n,t,l,o,s)=>{if(t!==l){let i=K(e,n),c=n.toLowerCase();if("class"===n){const n=e.classList,o=b(t),s=b(l);n.remove(...o.filter((e=>e&&!s.includes(e)))),n.add(...s.filter((e=>e&&!o.includes(e))))}else if("key"===n);else if(i||"o"!==n[0]||"n"!==n[1]){const c=r(l);if((i||c&&null!==l)&&!o)try{if(e.tagName.includes("-"))e[n]=l;else{const o=null==l?"":l;"list"===n?i=!1:null!=t&&e[n]==o||(e[n]=o)}}catch(e){}null==l||!1===l?!1===l&&""!==e.getAttribute(n)||e.removeAttribute(n):(!i||4&s||o)&&!c&&e.setAttribute(n,l=!0===l?"":l)}else if(n="-"===n[2]?n.slice(3):K(ee,c)?c.slice(2):c[2]+n.slice(3),t||l){const o=n.endsWith(w);n=n.replace(g,""),t&&te.rel(e,n,t,o),l&&te.ael(e,n,l,o)}}},$=/\s/,b=e=>e?e.split($):[],w="Capture",g=RegExp(w+"$"),j=(e,n,t,l)=>{const o=11===n.p.nodeType&&n.p.host?n.p.host:n.p,s=e&&e.l||i,r=n.l||i;for(l in s)l in r||m(o,l,s[l],void 0,t,n.u);for(l in r)m(o,l,s[l],r[l],t,n.u)},S=(l,o,s)=>{const i=o.o[s];let r,c,u=0;if(null!==i.t)r=i.p=ne.createTextNode(i.t);else{if(t||(t="svg"===i.v),r=i.p=ne.createElementNS(t?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",i.v),t&&"foreignObject"===i.v&&(t=!1),j(null,i,t),null!=e&&r["s-si"]!==e&&r.classList.add(r["s-si"]=e),i.o)for(u=0;u<i.o.length;++u)c=S(l,i,u),c&&r.appendChild(c);"svg"===i.v?t=!1:"foreignObject"===r.tagName&&(t=!0)}return r["s-hn"]=n,r},k=(e,t,l,o,s,i)=>{let r,c=e;for(c.shadowRoot&&c.tagName===n&&(c=c.shadowRoot);s<=i;++s)o[s]&&(r=S(null,l,s),r&&(o[s].p=r,c.insertBefore(r,t)))},O=(e,n,t)=>{for(let l=n;l<=t;++l){const n=e[l];if(n){const e=n.p;e&&e.remove()}}},M=(e,n,t=!1)=>e.v===n.v&&(!!t||e.i===n.i),C=(e,n,l=!1)=>{const o=n.p=e.p,s=e.o,i=n.o,r=n.v,c=n.t;null===c?(t="svg"===r||"foreignObject"!==r&&t,j(e,n,t),null!==s&&null!==i?((e,n,t,l,o=!1)=>{let s,i,r=0,c=0,u=0,f=0,a=n.length-1,d=n[0],v=n[a],y=l.length-1,p=l[0],h=l[y];for(;r<=a&&c<=y;)if(null==d)d=n[++r];else if(null==v)v=n[--a];else if(null==p)p=l[++c];else if(null==h)h=l[--y];else if(M(d,p,o))C(d,p,o),d=n[++r],p=l[++c];else if(M(v,h,o))C(v,h,o),v=n[--a],h=l[--y];else if(M(d,h,o))C(d,h,o),e.insertBefore(d.p,v.p.nextSibling),d=n[++r],h=l[--y];else if(M(v,p,o))C(v,p,o),e.insertBefore(v.p,d.p),v=n[--a],p=l[++c];else{for(u=-1,f=r;f<=a;++f)if(n[f]&&null!==n[f].i&&n[f].i===p.i){u=f;break}u>=0?(i=n[u],i.v!==p.v?s=S(n&&n[c],t,u):(C(i,p,o),n[u]=void 0,s=i.p),p=l[++c]):(s=S(n&&n[c],t,c),p=l[++c]),s&&d.p.parentNode.insertBefore(s,d.p)}r>a?k(e,null==l[y+1]?null:l[y+1].p,t,l,c,y):c>y&&O(n,r,a)})(o,s,n,i,l):null!==i?(null!==e.t&&(o.textContent=""),k(o,null,n,i,0,i.length-1)):null!==s&&O(s,0,s.length-1),t&&"svg"===r&&(t=!1)):e.t!==c&&(o.data=c)},x=(e,n)=>{n&&!e.$&&n["s-p"]&&n["s-p"].push(new Promise((n=>e.$=n)))},E=(e,n)=>{if(e.u|=16,!(4&e.u))return x(e,e.j),ae((()=>P(e,n)));e.u|=512},P=(e,n)=>{const t=e.S;return A(void 0,(()=>N(e,t,n)))},A=(e,n)=>L(e)?e.then(n):n(),L=e=>e instanceof Promise||e&&e.then&&"function"==typeof e.then,N=async(e,n,t)=>{var l;const o=e.$hostElement$,i=o["s-rc"];t&&(e=>{const n=e.k,t=e.$hostElement$,l=n.u,o=((e,n)=>{var t;const l=h(n),o=Z.get(l);if(e=11===e.nodeType?e:ne,o)if("string"==typeof o){let i,r=p.get(e=e.head||e);if(r||p.set(e,r=new Set),!r.has(l)){{i=ne.createElement("style"),i.innerHTML=o;const n=null!==(t=te.O)&&void 0!==t?t:c(ne);null!=n&&i.setAttribute("nonce",n),e.insertBefore(i,e.querySelector("link"))}4&n.u&&(i.innerHTML+=s),r&&r.add(l)}}else e.adoptedStyleSheets.includes(o)||(e.adoptedStyleSheets=[...e.adoptedStyleSheets,o]);return l})(t.shadowRoot?t.shadowRoot:t.getRootNode(),n);10&l&&(t["s-sc"]=o,t.classList.add(o+"-h"))})(e);R(e,n,o,t),i&&(i.map((e=>e())),o["s-rc"]=void 0);{const n=null!==(l=o["s-p"])&&void 0!==l?l:[],t=()=>U(e);0===n.length?t():(Promise.all(n).then(t),e.u|=4,n.length=0)}},R=(t,o,s,i)=>{try{l=o,o=o.render(),t.u&=-17,t.u|=2,((t,l,o=!1)=>{const s=t.$hostElement$,i=t.M||f(null,null),r=(e=>e&&e.v===a)(l)?l:u(null,null,l);if(n=s.tagName,o&&r.l)for(const e of Object.keys(r.l))s.hasAttribute(e)&&!["key","ref","style","class"].includes(e)&&(r.l[e]=s[e]);r.v=null,r.u|=4,t.M=r,r.p=i.p=s.shadowRoot||s,e=s["s-sc"],C(i,r,o)})(t,o,i)}catch(e){Q(e,t.$hostElement$)}return l=null,null},T=()=>l,U=e=>{const n=e.$hostElement$,t=e.S,l=e.j;64&e.u||(e.u|=64,F(n),D(t,"componentDidLoad"),e.C(n),l||q()),e.$&&(e.$(),e.$=void 0),512&e.u&&fe((()=>E(e,!1))),e.u&=-517},W=e=>{{const n=G(e),t=n.$hostElement$.isConnected;return t&&2==(18&n.u)&&E(n,!1),t}},q=()=>{F(ne.documentElement),fe((()=>(e=>{const n=te.ce("appload",{detail:{namespace:"proto-sudoku-wc"}});return e.dispatchEvent(n),n})(ee)))},D=(e,n,t)=>{if(e&&e[n])try{return e[n](t)}catch(e){Q(e)}},F=e=>e.classList.add("hydrated"),H=(e,n,t)=>{var l;const o=e.prototype;if(n.P){const s=Object.entries(n.P);if(s.map((([e,[l]])=>{(31&l||2&t&&32&l)&&Object.defineProperty(o,e,{get(){return((e,n)=>G(this).A.get(n))(0,e)},set(t){((e,n,t,l)=>{const o=G(e),s=o.A.get(n),i=o.u,c=o.S;t=((e,n)=>null==e||r(e)?e:1&n?e+"":e)(t,l.P[n][0]),8&i&&void 0!==s||t===s||Number.isNaN(s)&&Number.isNaN(t)||(o.A.set(n,t),c&&2==(18&i)&&E(o,!1))})(this,e,t,n)},configurable:!0,enumerable:!0})})),1&t){const t=new Map;o.attributeChangedCallback=function(e,l,s){te.jmp((()=>{var i;const r=t.get(e);if(this.hasOwnProperty(r))s=this[r],delete this[r];else{if(o.hasOwnProperty(r)&&"number"==typeof this[r]&&this[r]==s)return;if(null==r){const t=G(this),o=null==t?void 0:t.u;if(o&&!(8&o)&&128&o&&s!==l){const o=t.S,r=null===(i=n.L)||void 0===i?void 0:i[e];null==r||r.forEach((n=>{null!=o[n]&&o[n].call(o,s,l,e)}))}return}}this[r]=(null!==s||"boolean"!=typeof this[r])&&s}))},e.observedAttributes=Array.from(new Set([...Object.keys(null!==(l=n.L)&&void 0!==l?l:{}),...s.filter((([e,n])=>15&n[0])).map((([e,n])=>{const l=n[1]||e;return t.set(l,e),l}))]))}}return e},V=async(e,n,t)=>{let l;if(!(32&n.u)){if(n.u|=32,t.N){if(l=Y(t),l.then){const e=()=>{};l=await l,e()}l.isProxied||(H(l,t,2),l.isProxied=!0);const e=()=>{};n.u|=8;try{new l(n)}catch(e){Q(e)}n.u&=-9,e()}else l=e.constructor,customElements.whenDefined(t.m).then((()=>n.u|=128));if(l.style){let e=l.style;const n=h(t);if(!Z.has(n)){const l=()=>{};((e,n,t)=>{let l=Z.get(e);oe&&t?(l=l||new CSSStyleSheet,"string"==typeof l?l=n:l.replaceSync(n)):l=n,Z.set(e,l)})(n,e,!!(1&t.u)),l()}}}const o=n.j,s=()=>E(n,!0);o&&o["s-rc"]?o["s-rc"].push(s):s()},_=(e,n={})=>{var t;const l=[],o=n.exclude||[],i=ee.customElements,r=ne.head,u=r.querySelector("meta[charset]"),f=ne.createElement("style"),a=[];let d,v=!0;Object.assign(te,n),te.R=new URL(n.resourcesUrl||"./",ne.baseURI).href;let y=!1;if(e.map((e=>{e[1].map((n=>{const t={u:n[0],m:n[1],P:n[2],T:n[3]};4&t.u&&(y=!0),t.P=n[2];const s=t.m,r=class extends HTMLElement{constructor(e){super(e),J(e=this,t),1&t.u&&e.attachShadow({mode:"open"})}connectedCallback(){d&&(clearTimeout(d),d=null),v?a.push(this):te.jmp((()=>(e=>{if(!(1&te.u)){const n=G(e),t=n.k,l=()=>{};if(1&n.u)(null==n?void 0:n.S)||(null==n?void 0:n.U)&&n.U.then((()=>{}));else{n.u|=1;{let t=e;for(;t=t.parentNode||t.host;)if(t["s-p"]){x(n,n.j=t);break}}t.P&&Object.entries(t.P).map((([n,[t]])=>{if(31&t&&e.hasOwnProperty(n)){const t=e[n];delete e[n],e[n]=t}})),V(e,n,t)}l()}})(this)))}disconnectedCallback(){te.jmp((()=>(async()=>{if(!(1&te.u)){const e=G(this);(null==e?void 0:e.S)||(null==e?void 0:e.U)&&e.U.then((()=>{}))}})()))}componentOnReady(){return G(this).U}};t.N=e[0],o.includes(s)||i.get(s)||(l.push(s),i.define(s,H(r,t,1)))}))})),l.length>0&&(y&&(f.textContent+=s),f.textContent+=l+"{visibility:hidden}.hydrated{visibility:inherit}",f.innerHTML.length)){f.setAttribute("data-styles","");const e=null!==(t=te.O)&&void 0!==t?t:c(ne);null!=e&&f.setAttribute("nonce",e),r.insertBefore(f,u?u.nextSibling:r.firstChild)}v=!1,a.length?a.map((e=>e.connectedCallback())):te.jmp((()=>d=setTimeout(q,30)))},z=e=>te.O=e,B=new WeakMap,G=e=>B.get(e),I=(e,n)=>B.set(n.S=e,n),J=(e,n)=>{const t={u:0,$hostElement$:e,k:n,A:new Map};return t.U=new Promise((e=>t.C=e)),e["s-p"]=[],e["s-rc"]=[],B.set(e,t)},K=(e,n)=>n in e,Q=(e,n)=>(0,console.error)(e,n),X=new Map,Y=e=>{const n=e.m.replace(/-/g,"_"),t=e.N,l=X.get(t);return l?l[n]:import(`./${t}.entry.js`).then((e=>(X.set(t,e),e[n])),Q)
2
- /*!__STENCIL_STATIC_IMPORT_SWITCH__*/},Z=new Map,ee="undefined"!=typeof window?window:{},ne=ee.document||{head:{}},te={u:0,R:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,n,t,l)=>e.addEventListener(n,t,l),rel:(e,n,t,l)=>e.removeEventListener(n,t,l),ce:(e,n)=>new CustomEvent(e,n)},le=e=>Promise.resolve(e),oe=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(e){}return!1})(),se=[],ie=[],re=(e,n)=>t=>{e.push(t),o||(o=!0,n&&4&te.u?fe(ue):te.raf(ue))},ce=e=>{for(let n=0;n<e.length;n++)try{e[n](performance.now())}catch(e){Q(e)}e.length=0},ue=()=>{ce(se),ce(ie),(o=se.length>0)&&te.raf(ue)},fe=e=>le().then(e),ae=re(ie,!0);export{_ as b,W as f,T as g,u as h,le as p,I as r,z as s}