proto-sudoku-wc 0.0.616 → 0.0.617

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.
@@ -583,15 +583,16 @@ const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) =>
583
583
  * @param vnodes a list of virtual DOM nodes to remove
584
584
  * @param startIdx the index at which to start removing nodes (inclusive)
585
585
  * @param endIdx the index at which to stop removing nodes (inclusive)
586
- * @param vnode a VNode
587
- * @param elm an element
588
586
  */
589
- const removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) => {
590
- for (; startIdx <= endIdx; ++startIdx) {
591
- if ((vnode = vnodes[startIdx])) {
592
- elm = vnode.$elm$;
593
- // remove the vnode's element from the dom
594
- elm.remove();
587
+ const removeVnodes = (vnodes, startIdx, endIdx) => {
588
+ for (let index = startIdx; index <= endIdx; ++index) {
589
+ const vnode = vnodes[index];
590
+ if (vnode) {
591
+ const elm = vnode.$elm$;
592
+ if (elm) {
593
+ // remove the vnode's element from the dom
594
+ elm.remove();
595
+ }
595
596
  }
596
597
  }
597
598
  };
@@ -895,15 +896,53 @@ const scheduleUpdate = (hostRef, isInitialLoad) => {
895
896
  const dispatch = () => dispatchHooks(hostRef, isInitialLoad);
896
897
  return writeTask(dispatch) ;
897
898
  };
899
+ /**
900
+ * Dispatch initial-render and update lifecycle hooks, enqueuing calls to
901
+ * component lifecycle methods like `componentWillLoad` as well as
902
+ * {@link updateComponent}, which will kick off the virtual DOM re-render.
903
+ *
904
+ * @param hostRef a reference to a host DOM node
905
+ * @param isInitialLoad whether we're on the initial load or not
906
+ * @returns an empty Promise which is used to enqueue a series of operations for
907
+ * the component
908
+ */
898
909
  const dispatchHooks = (hostRef, isInitialLoad) => {
899
910
  const endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);
900
911
  const instance = hostRef.$lazyInstance$ ;
901
- let promise;
912
+ // We're going to use this variable together with `enqueue` to implement a
913
+ // little promise-based queue. We start out with it `undefined`. When we add
914
+ // the first function to the queue we'll set this variable to be that
915
+ // function's return value. When we attempt to add subsequent values to the
916
+ // queue we'll check that value and, if it was a `Promise`, we'll then chain
917
+ // the new function off of that `Promise` using `.then()`. This will give our
918
+ // queue two nice properties:
919
+ //
920
+ // 1. If all functions added to the queue are synchronous they'll be called
921
+ // synchronously right away.
922
+ // 2. If all functions added to the queue are asynchronous they'll all be
923
+ // called in order after `dispatchHooks` exits.
924
+ let maybePromise;
902
925
  endSchedule();
903
- return then(promise, () => updateComponent(hostRef, instance, isInitialLoad));
926
+ return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
904
927
  };
928
+ /**
929
+ * This function uses a Promise to implement a simple first-in, first-out queue
930
+ * of functions to be called.
931
+ *
932
+ * The queue is ordered on the basis of the first argument. If it's
933
+ * `undefined`, then nothing is on the queue yet, so the provided function can
934
+ * be called synchronously (although note that this function may return a
935
+ * `Promise`). The idea is that then the return value of that enqueueing
936
+ * operation is kept around, so that if it was a `Promise` then subsequent
937
+ * functions can be enqueued by calling this function again with that `Promise`
938
+ * as the first argument.
939
+ *
940
+ * @param maybePromise either a `Promise` which should resolve before the next function is called or an 'empty' sentinel
941
+ * @param fn a function to enqueue
942
+ * @returns either a `Promise` or the return value of the provided function
943
+ */
944
+ const enqueue = (maybePromise, fn) => maybePromise instanceof Promise ? maybePromise.then(fn) : fn();
905
945
  const updateComponent = async (hostRef, instance, isInitialLoad) => {
906
- // updateComponent
907
946
  const elm = hostRef.$hostElement$;
908
947
  const endUpdate = createTime('update', hostRef.$cmpMeta$.$tagName$);
909
948
  const rc = elm['s-rc'];
@@ -1038,9 +1077,6 @@ const safeCall = (instance, method, arg) => {
1038
1077
  }
1039
1078
  return undefined;
1040
1079
  };
1041
- const then = (promise, thenFn) => {
1042
- return promise && promise.then ? promise.then(thenFn) : thenFn();
1043
- };
1044
1080
  const addHydratedFlag = (elm) => elm.classList.add('hydrated')
1045
1081
  ;
1046
1082
  const getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);
@@ -1171,9 +1207,9 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1171
1207
  const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) => {
1172
1208
  // initializeComponent
1173
1209
  if ((hostRef.$flags$ & 32 /* HOST_FLAGS.hasInitializedComponent */) === 0) {
1210
+ // Let the runtime know that the component has been initialized
1211
+ hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
1174
1212
  {
1175
- // we haven't initialized this element yet
1176
- hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
1177
1213
  // lazy loaded components
1178
1214
  // request the component's implementation to be
1179
1215
  // wired up with the host element
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-724319f3.js');
5
+ const index = require('./index-0f126372.js');
6
6
 
7
7
  /*
8
- Stencil Client Patch Esm v3.2.1 | MIT Licensed | https://stenciljs.com
8
+ Stencil Client Patch Esm v3.2.2 | MIT Licensed | https://stenciljs.com
9
9
  */
10
10
  const patchEsm = () => {
11
11
  return index.promiseResolve();
@@ -2,10 +2,10 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-724319f3.js');
5
+ const index = require('./index-0f126372.js');
6
6
 
7
7
  /*
8
- Stencil Client Patch Browser v3.2.1 | MIT Licensed | https://stenciljs.com
8
+ Stencil Client Patch Browser v3.2.2 | 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-724319f3.js');
5
+ const index = require('./index-0f126372.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": "3.2.1",
7
+ "version": "3.2.2",
8
8
  "typescriptVersion": "4.9.5"
9
9
  },
10
10
  "collections": [],
@@ -561,15 +561,16 @@ const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) =>
561
561
  * @param vnodes a list of virtual DOM nodes to remove
562
562
  * @param startIdx the index at which to start removing nodes (inclusive)
563
563
  * @param endIdx the index at which to stop removing nodes (inclusive)
564
- * @param vnode a VNode
565
- * @param elm an element
566
564
  */
567
- const removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) => {
568
- for (; startIdx <= endIdx; ++startIdx) {
569
- if ((vnode = vnodes[startIdx])) {
570
- elm = vnode.$elm$;
571
- // remove the vnode's element from the dom
572
- elm.remove();
565
+ const removeVnodes = (vnodes, startIdx, endIdx) => {
566
+ for (let index = startIdx; index <= endIdx; ++index) {
567
+ const vnode = vnodes[index];
568
+ if (vnode) {
569
+ const elm = vnode.$elm$;
570
+ if (elm) {
571
+ // remove the vnode's element from the dom
572
+ elm.remove();
573
+ }
573
574
  }
574
575
  }
575
576
  };
@@ -873,15 +874,53 @@ const scheduleUpdate = (hostRef, isInitialLoad) => {
873
874
  const dispatch = () => dispatchHooks(hostRef, isInitialLoad);
874
875
  return writeTask(dispatch) ;
875
876
  };
877
+ /**
878
+ * Dispatch initial-render and update lifecycle hooks, enqueuing calls to
879
+ * component lifecycle methods like `componentWillLoad` as well as
880
+ * {@link updateComponent}, which will kick off the virtual DOM re-render.
881
+ *
882
+ * @param hostRef a reference to a host DOM node
883
+ * @param isInitialLoad whether we're on the initial load or not
884
+ * @returns an empty Promise which is used to enqueue a series of operations for
885
+ * the component
886
+ */
876
887
  const dispatchHooks = (hostRef, isInitialLoad) => {
877
888
  const endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);
878
889
  const instance = hostRef.$lazyInstance$ ;
879
- let promise;
890
+ // We're going to use this variable together with `enqueue` to implement a
891
+ // little promise-based queue. We start out with it `undefined`. When we add
892
+ // the first function to the queue we'll set this variable to be that
893
+ // function's return value. When we attempt to add subsequent values to the
894
+ // queue we'll check that value and, if it was a `Promise`, we'll then chain
895
+ // the new function off of that `Promise` using `.then()`. This will give our
896
+ // queue two nice properties:
897
+ //
898
+ // 1. If all functions added to the queue are synchronous they'll be called
899
+ // synchronously right away.
900
+ // 2. If all functions added to the queue are asynchronous they'll all be
901
+ // called in order after `dispatchHooks` exits.
902
+ let maybePromise;
880
903
  endSchedule();
881
- return then(promise, () => updateComponent(hostRef, instance, isInitialLoad));
904
+ return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
882
905
  };
906
+ /**
907
+ * This function uses a Promise to implement a simple first-in, first-out queue
908
+ * of functions to be called.
909
+ *
910
+ * The queue is ordered on the basis of the first argument. If it's
911
+ * `undefined`, then nothing is on the queue yet, so the provided function can
912
+ * be called synchronously (although note that this function may return a
913
+ * `Promise`). The idea is that then the return value of that enqueueing
914
+ * operation is kept around, so that if it was a `Promise` then subsequent
915
+ * functions can be enqueued by calling this function again with that `Promise`
916
+ * as the first argument.
917
+ *
918
+ * @param maybePromise either a `Promise` which should resolve before the next function is called or an 'empty' sentinel
919
+ * @param fn a function to enqueue
920
+ * @returns either a `Promise` or the return value of the provided function
921
+ */
922
+ const enqueue = (maybePromise, fn) => maybePromise instanceof Promise ? maybePromise.then(fn) : fn();
883
923
  const updateComponent = async (hostRef, instance, isInitialLoad) => {
884
- // updateComponent
885
924
  const elm = hostRef.$hostElement$;
886
925
  const endUpdate = createTime('update', hostRef.$cmpMeta$.$tagName$);
887
926
  const rc = elm['s-rc'];
@@ -1016,9 +1055,6 @@ const safeCall = (instance, method, arg) => {
1016
1055
  }
1017
1056
  return undefined;
1018
1057
  };
1019
- const then = (promise, thenFn) => {
1020
- return promise && promise.then ? promise.then(thenFn) : thenFn();
1021
- };
1022
1058
  const addHydratedFlag = (elm) => elm.classList.add('hydrated')
1023
1059
  ;
1024
1060
  const getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);
@@ -1149,9 +1185,9 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
1149
1185
  const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) => {
1150
1186
  // initializeComponent
1151
1187
  if ((hostRef.$flags$ & 32 /* HOST_FLAGS.hasInitializedComponent */) === 0) {
1188
+ // Let the runtime know that the component has been initialized
1189
+ hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
1152
1190
  {
1153
- // we haven't initialized this element yet
1154
- hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
1155
1191
  // lazy loaded components
1156
1192
  // request the component's implementation to be
1157
1193
  // wired up with the host element
@@ -1,8 +1,8 @@
1
- import { p as promiseResolve, b as bootstrapLazy } from './index-efccb6a8.js';
2
- export { s as setNonce } from './index-efccb6a8.js';
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-5bf49be3.js';
2
+ export { s as setNonce } from './index-5bf49be3.js';
3
3
 
4
4
  /*
5
- Stencil Client Patch Esm v3.2.1 | MIT Licensed | https://stenciljs.com
5
+ Stencil Client Patch Esm v3.2.2 | MIT Licensed | https://stenciljs.com
6
6
  */
7
7
  const patchEsm = () => {
8
8
  return promiseResolve();
@@ -1,8 +1,8 @@
1
- import { p as promiseResolve, b as bootstrapLazy } from './index-efccb6a8.js';
2
- export { s as setNonce } from './index-efccb6a8.js';
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-5bf49be3.js';
2
+ export { s as setNonce } from './index-5bf49be3.js';
3
3
 
4
4
  /*
5
- Stencil Client Patch Browser v3.2.1 | MIT Licensed | https://stenciljs.com
5
+ Stencil Client Patch Browser v3.2.2 | 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-efccb6a8.js';
1
+ import { h, g as getRenderingRef, f as forceUpdate, r as registerInstance } from './index-5bf49be3.js';
2
2
 
3
3
  const Alien = props => {
4
4
  const hex = props.hex || 'currentColor';
@@ -0,0 +1,2 @@
1
+ let t,n,e=!1,l=null,o=!1;const s={},r=t=>"object"==(t=typeof t)||"function"===t;function c(t){var n,e,l;return null!==(l=null===(e=null===(n=t.head)||void 0===n?void 0:n.querySelector('meta[name="csp-nonce"]'))||void 0===e?void 0:e.getAttribute("content"))&&void 0!==l?l:void 0}const i=(t,n,...e)=>{let l=null,o=!1,s=!1;const c=[],i=n=>{for(let e=0;e<n.length;e++)l=n[e],Array.isArray(l)?i(l):null!=l&&"boolean"!=typeof l&&((o="function"!=typeof t&&!r(l))&&(l+=""),o&&s?c[c.length-1].t+=l:c.push(o?u(null,l):l),s=o)};if(i(e),n){const t=n.className||n.class;t&&(n.class="object"!=typeof t?t:Object.keys(t).filter((n=>t[n])).join(" "))}if("function"==typeof t)return t(null===n?{}:n,c,f);const a=u(t,null);return a.l=n,c.length>0&&(a.o=c),a},u=(t,n)=>({i:0,u:t,t:n,h:null,o:null,l:null}),a={},f={forEach:(t,n)=>t.map(d).forEach(n),map:(t,n)=>t.map(d).map(n).map(h)},d=t=>({vattrs:t.l,vchildren:t.o,vkey:t.p,vname:t.m,vtag:t.u,vtext:t.t}),h=t=>{if("function"==typeof t.vtag){const n=Object.assign({},t.vattrs);return t.vkey&&(n.key=t.vkey),t.vname&&(n.name=t.vname),i(t.vtag,n,...t.vchildren||[])}const n=u(t.vtag,t.vtext);return n.l=t.vattrs,n.o=t.vchildren,n.p=t.vkey,n.m=t.vname,n},p=new WeakMap,m=t=>"sc-"+t.$,y=(t,n,e,l,o,s)=>{if(e!==l){let c=z(t,n),i=n.toLowerCase();if("class"===n){const n=t.classList,o=v(e),s=v(l);n.remove(...o.filter((t=>t&&!s.includes(t)))),n.add(...s.filter((t=>t&&!o.includes(t))))}else if(c||"o"!==n[0]||"n"!==n[1]){const i=r(l);if((c||i&&null!==l)&&!o)try{if(t.tagName.includes("-"))t[n]=l;else{const o=null==l?"":l;"list"===n?c=!1:null!=e&&t[n]==o||(t[n]=o)}}catch(t){}null==l||!1===l?!1===l&&""!==t.getAttribute(n)||t.removeAttribute(n):(!c||4&s||o)&&!i&&t.setAttribute(n,l=!0===l?"":l)}else n="-"===n[2]?n.slice(3):z(K,i)?i.slice(2):i[2]+n.slice(3),e&&X.rel(t,n,e,!1),l&&X.ael(t,n,l,!1)}},$=/\s/,v=t=>t?t.split($):[],w=(t,n,e,l)=>{const o=11===n.h.nodeType&&n.h.host?n.h.host:n.h,r=t&&t.l||s,c=n.l||s;for(l in r)l in c||y(o,l,r[l],void 0,e,n.i);for(l in c)y(o,l,r[l],c[l],e,n.i)},b=(n,l,o)=>{const s=l.o[o];let r,c,i=0;if(null!==s.t)r=s.h=Q.createTextNode(s.t);else{if(e||(e="svg"===s.u),r=s.h=Q.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!=t&&r["s-si"]!==t&&r.classList.add(r["s-si"]=t),s.o)for(i=0;i<s.o.length;++i)c=b(n,s,i),c&&r.appendChild(c);"svg"===s.u?e=!1:"foreignObject"===r.tagName&&(e=!0)}return r},g=(t,e,l,o,s,r)=>{let c,i=t;for(i.shadowRoot&&i.tagName===n&&(i=i.shadowRoot);s<=r;++s)o[s]&&(c=b(null,l,s),c&&(o[s].h=c,i.insertBefore(c,e)))},j=(t,n,e)=>{for(let l=n;l<=e;++l){const n=t[l];if(n){const t=n.h;t&&t.remove()}}},S=(t,n)=>t.u===n.u,O=(t,n)=>{const l=n.h=t.h,o=t.o,s=n.o,r=n.u,c=n.t;null===c?(e="svg"===r||"foreignObject"!==r&&e,w(t,n,e),null!==o&&null!==s?((t,n,e,l)=>{let o,s=0,r=0,c=n.length-1,i=n[0],u=n[c],a=l.length-1,f=l[0],d=l[a];for(;s<=c&&r<=a;)null==i?i=n[++s]:null==u?u=n[--c]:null==f?f=l[++r]:null==d?d=l[--a]:S(i,f)?(O(i,f),i=n[++s],f=l[++r]):S(u,d)?(O(u,d),u=n[--c],d=l[--a]):S(i,d)?(O(i,d),t.insertBefore(i.h,u.h.nextSibling),i=n[++s],d=l[--a]):S(u,f)?(O(u,f),t.insertBefore(u.h,i.h),u=n[--c],f=l[++r]):(o=b(n&&n[r],e,r),f=l[++r],o&&i.h.parentNode.insertBefore(o,i.h));s>c?g(t,null==l[a+1]?null:l[a+1].h,e,l,r,a):r>a&&j(n,s,c)})(l,o,n,s):null!==s?(null!==t.t&&(l.textContent=""),g(l,null,n,s,0,s.length-1)):null!==o&&j(o,0,o.length-1),e&&"svg"===r&&(e=!1)):t.t!==c&&(l.data=c)},k=(t,n)=>{n&&!t.v&&n["s-p"]&&n["s-p"].push(new Promise((n=>t.v=n)))},M=(t,n)=>{if(t.i|=16,!(4&t.i))return k(t,t.g),rt((()=>C(t,n)));t.i|=512},C=(t,n)=>{const e=t.j;return x(void 0,(()=>P(t,e,n)))},x=(t,n)=>t instanceof Promise?t.then(n):n(),P=async(t,n,e)=>{const l=t.S,o=l["s-rc"];e&&(t=>{const n=t.O,e=t.S,l=n.i,o=((t,n)=>{var e;let l=m(n);const o=J.get(l);if(t=11===t.nodeType?t:Q,o)if("string"==typeof o){let n,s=p.get(t=t.head||t);if(s||p.set(t,s=new Set),!s.has(l)){{n=Q.createElement("style"),n.innerHTML=o;const l=null!==(e=X.k)&&void 0!==e?e:c(Q);null!=l&&n.setAttribute("nonce",l),t.insertBefore(n,t.querySelector("link"))}s&&s.add(l)}}else t.adoptedStyleSheets.includes(o)||(t.adoptedStyleSheets=[...t.adoptedStyleSheets,o]);return l})(e.shadowRoot?e.shadowRoot:e.getRootNode(),n);10&l&&(e["s-sc"]=o,e.classList.add(o+"-h"))})(t);E(t,n),o&&(o.map((t=>t())),l["s-rc"]=void 0);{const n=l["s-p"],e=()=>N(t);0===n.length?e():(Promise.all(n).then(e),t.i|=4,n.length=0)}},E=(e,o)=>{try{l=o,o=o.render(),e.i&=-17,e.i|=2,((e,l)=>{const o=e.S,s=e.M||u(null,null),r=(t=>t&&t.u===a)(l)?l:i(null,null,l);n=o.tagName,r.u=null,r.i|=4,e.M=r,r.h=s.h=o.shadowRoot||o,t=o["s-sc"],O(s,r)})(e,o)}catch(t){B(t,e.S)}return l=null,null},L=()=>l,N=t=>{const n=t.S,e=t.j,l=t.g;64&t.i||(t.i|=64,U(n),R(e,"componentDidLoad"),t.C(n),l||A()),t.v&&(t.v(),t.v=void 0),512&t.i&&st((()=>M(t,!1))),t.i&=-517},T=t=>{{const n=H(t),e=n.S.isConnected;return e&&2==(18&n.i)&&M(n,!1),e}},A=()=>{U(Q.documentElement),st((()=>(t=>{const n=X.ce("appload",{detail:{namespace:"proto-sudoku-wc"}});return t.dispatchEvent(n),n})(K)))},R=(t,n,e)=>{if(t&&t[n])try{return t[n](e)}catch(t){B(t)}},U=t=>t.classList.add("hydrated"),W=(t,n,e)=>{if(n.P){const l=Object.entries(n.P),o=t.prototype;if(l.map((([t,[l]])=>{(31&l||2&e&&32&l)&&Object.defineProperty(o,t,{get(){return((t,n)=>H(this).L.get(n))(0,t)},set(e){((t,n,e,l)=>{const o=H(t),s=o.L.get(n),c=o.i,i=o.j;e=((t,n)=>null==t||r(t)?t:1&n?t+"":t)(e,l.P[n][0]),8&c&&void 0!==s||e===s||Number.isNaN(s)&&Number.isNaN(e)||(o.L.set(n,e),i&&2==(18&c)&&M(o,!1))})(this,t,e,n)},configurable:!0,enumerable:!0})})),1&e){const n=new Map;o.attributeChangedCallback=function(t,e,l){X.jmp((()=>{const e=n.get(t);if(this.hasOwnProperty(e))l=this[e],delete this[e];else if(o.hasOwnProperty(e)&&"number"==typeof this[e]&&this[e]==l)return;this[e]=(null!==l||"boolean"!=typeof this[e])&&l}))},t.observedAttributes=l.filter((([t,n])=>15&n[0])).map((([t,e])=>{const l=e[1]||t;return n.set(l,t),l}))}}return t},q=(t,n={})=>{var e;const l=[],o=n.exclude||[],s=K.customElements,r=Q.head,i=r.querySelector("meta[charset]"),u=Q.createElement("style"),a=[];let f,d=!0;Object.assign(X,n),X.N=new URL(n.resourcesUrl||"./",Q.baseURI).href,t.map((t=>{t[1].map((n=>{const e={i:n[0],$:n[1],P:n[2],T:n[3]};e.P=n[2];const r=e.$,c=class extends HTMLElement{constructor(t){super(t),_(t=this,e),1&e.i&&t.attachShadow({mode:"open"})}connectedCallback(){f&&(clearTimeout(f),f=null),d?a.push(this):X.jmp((()=>(t=>{if(0==(1&X.i)){const n=H(t),e=n.O,l=()=>{};if(!(1&n.i)){n.i|=1;{let e=t;for(;e=e.parentNode||e.host;)if(e["s-p"]){k(n,n.g=e);break}}e.P&&Object.entries(e.P).map((([n,[e]])=>{if(31&e&&t.hasOwnProperty(n)){const e=t[n];delete t[n],t[n]=e}})),(async(t,n,e,l,o)=>{if(0==(32&n.i)){n.i|=32;{if((o=I(e)).then){const t=()=>{};o=await o,t()}o.isProxied||(W(o,e,2),o.isProxied=!0);const t=()=>{};n.i|=8;try{new o(n)}catch(t){B(t)}n.i&=-9,t()}if(o.style){let t=o.style;const n=m(e);if(!J.has(n)){const l=()=>{};((t,n,e)=>{let l=J.get(t);Z&&e?(l=l||new CSSStyleSheet,"string"==typeof l?l=n:l.replaceSync(n)):l=n,J.set(t,l)})(n,t,!!(1&e.i)),l()}}}const s=n.g,r=()=>M(n,!0);s&&s["s-rc"]?s["s-rc"].push(r):r()})(0,n,e)}l()}})(this)))}disconnectedCallback(){X.jmp((()=>{}))}componentOnReady(){return H(this).A}};e.R=t[0],o.includes(r)||s.get(r)||(l.push(r),s.define(r,W(c,e,1)))}))}));{u.innerHTML=l+"{visibility:hidden}.hydrated{visibility:inherit}",u.setAttribute("data-styles","");const t=null!==(e=X.k)&&void 0!==e?e:c(Q);null!=t&&u.setAttribute("nonce",t),r.insertBefore(u,i?i.nextSibling:r.firstChild)}d=!1,a.length?a.map((t=>t.connectedCallback())):X.jmp((()=>f=setTimeout(A,30)))},D=t=>X.k=t,F=new WeakMap,H=t=>F.get(t),V=(t,n)=>F.set(n.j=t,n),_=(t,n)=>{const e={i:0,S:t,O:n,L:new Map};return e.A=new Promise((t=>e.C=t)),t["s-p"]=[],t["s-rc"]=[],F.set(t,e)},z=(t,n)=>n in t,B=(t,n)=>(0,console.error)(t,n),G=new Map,I=t=>{const n=t.$.replace(/-/g,"_"),e=t.R,l=G.get(e);return l?l[n]:import(`./${e}.entry.js`).then((t=>(G.set(e,t),t[n])),B)
2
+ /*!__STENCIL_STATIC_IMPORT_SWITCH__*/},J=new Map,K="undefined"!=typeof window?window:{},Q=K.document||{head:{}},X={i:0,N:"",jmp:t=>t(),raf:t=>requestAnimationFrame(t),ael:(t,n,e,l)=>t.addEventListener(n,e,l),rel:(t,n,e,l)=>t.removeEventListener(n,e,l),ce:(t,n)=>new CustomEvent(t,n)},Y=t=>Promise.resolve(t),Z=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(t){}return!1})(),tt=[],nt=[],et=(t,n)=>e=>{t.push(e),o||(o=!0,n&&4&X.i?st(ot):X.raf(ot))},lt=t=>{for(let n=0;n<t.length;n++)try{t[n](performance.now())}catch(t){B(t)}t.length=0},ot=()=>{lt(tt),lt(nt),(o=tt.length>0)&&X.raf(ot)},st=t=>Y().then(t),rt=et(nt,!0);export{q as b,T as f,L as g,i as h,Y as p,V as r,D as s}
@@ -1,2 +1,2 @@
1
- import{h as t,g as e,f as r,r as o}from"./p-e100b108.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},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 M({},...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},M=(...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=M(e[t],r)),e={...e,[t]:r};C(o.headers)&&(r=T(r,o.headers),e.headers=r)}return e},j=(()=>{let t=!1,e=!1;const r="function"==typeof globalThis.ReadableStream,o="function"==typeof globalThis.Request;return r&&o&&(e=new globalThis.Request("https://a.com",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type")),t&&!e})(),R="function"==typeof globalThis.AbortController,S="function"==typeof globalThis.ReadableStream,z="function"==typeof globalThis.FormData,E=["get","post","put","patch","head","delete"],A={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},O=2147483647,B=Symbol("stop"),U=t=>E.includes(t)?t.toUpperCase():t,N=[413,429,503],P={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},q=(t={})=>{if("number"==typeof t)return{...P,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{...P,...t,afterStatusCodes:N}},_=Boolean(globalThis.DOMException);function D(t){if(_)return new DOMException(t?.reason??"The operation was aborted.","AbortError");const e=new Error(t?.reason??"The operation was aborted.");return e.name="AbortError",e}class H{static create(t,e){const r=new H(t,e),o=async()=>{if(r._options.timeout>O)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:M({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},e.hooks),method:U(e.method??this._input.method),prefixUrl:String(e.prefixUrl||""),retry:q(e.retry),throwHttpErrors:!1!==e.throwHttpErrors,timeout:void 0===e.timeout?1e4:e.timeout,fetch:e.fetch??globalThis.fetch.bind(globalThis)},"string"!=typeof this._input&&!(this._input instanceof URL||this._input instanceof globalThis.Request))throw new TypeError("`input` must be a string, URL, or Request");if(this._options.prefixUrl&&"string"==typeof this._input){if(this._input.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");this._options.prefixUrl.endsWith("/")||(this._options.prefixUrl+="/"),this._input=this._options.prefixUrl+this._input}if(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(j&&(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}return Math.min(this._options.retry.backoffLimit,.3*2**(this._retryCount-1)*1e3)}return 0}_decorateResponse(t){return this._options.parseJson&&(t.json=async()=>this._options.parseJson(await t.text())),t}async _retry(t){try{return await t()}catch(e){const r=Math.min(this._calculateRetryDelay(e),O);if(0!==r&&this._retryCount>0){await async function(t,{signal:e}){return new Promise(((r,o)=>{if(e){if(e.aborted)return void o(D(e));e.addEventListener("abort",s,{once:!0})}function s(){o(D(e)),clearTimeout(n)}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})===B)return;return this._retry(t)}throw e}}async _fetch(){for(const t of this._options.hooks.beforeRequest){const e=await t(this.request,this._options);if(e instanceof Request){this.request=e;break}if(e instanceof Response)return e}return!1===this._options.timeout?this._options.fetch(this.request.clone()):async function(t,e,r){return new Promise(((o,s)=>{const n=setTimeout((()=>{e&&e.abort(),s(new v(t))}),r.timeout);r.fetch(t).then(o).catch(s).then((()=>{clearTimeout(n)}))}))}(this.request.clone(),this.abortController,this._options)}_stream(t,e){const r=Number(t.headers.get("content-length"))||0;let o=0;return 204===t.status?(e&&e({percent:1,totalBytes:r,transferredBytes:o},new Uint8Array),new globalThis.Response(null,{status:t.status,statusText:t.statusText,headers:t.headers})):new globalThis.Response(new globalThis.ReadableStream({async start(s){const n=t.body.getReader();e&&e({percent:0,transferredBytes:0,totalBytes:r},new Uint8Array),await async function t(){const{done:a,value:i}=await n.read();a?s.close():(e&&(o+=i.byteLength,e({percent:0===r?0:o/r,transferredBytes:o,totalBytes:r},i)),s.enqueue(i),await t())}()}}),{status:t.status,statusText:t.statusText,headers:t.headers})}}
1
+ import{h as t,g as e,f as r,r as o}from"./p-35d4b901.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},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 M({},...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},M=(...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=M(e[t],r)),e={...e,[t]:r};C(o.headers)&&(r=T(r,o.headers),e.headers=r)}return e},j=(()=>{let t=!1,e=!1;const r="function"==typeof globalThis.ReadableStream,o="function"==typeof globalThis.Request;return r&&o&&(e=new globalThis.Request("https://a.com",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type")),t&&!e})(),R="function"==typeof globalThis.AbortController,S="function"==typeof globalThis.ReadableStream,z="function"==typeof globalThis.FormData,E=["get","post","put","patch","head","delete"],A={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},O=2147483647,B=Symbol("stop"),U=t=>E.includes(t)?t.toUpperCase():t,N=[413,429,503],P={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},q=(t={})=>{if("number"==typeof t)return{...P,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{...P,...t,afterStatusCodes:N}},_=Boolean(globalThis.DOMException);function D(t){if(_)return new DOMException(t?.reason??"The operation was aborted.","AbortError");const e=new Error(t?.reason??"The operation was aborted.");return e.name="AbortError",e}class H{static create(t,e){const r=new H(t,e),o=async()=>{if(r._options.timeout>O)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:M({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},e.hooks),method:U(e.method??this._input.method),prefixUrl:String(e.prefixUrl||""),retry:q(e.retry),throwHttpErrors:!1!==e.throwHttpErrors,timeout:void 0===e.timeout?1e4:e.timeout,fetch:e.fetch??globalThis.fetch.bind(globalThis)},"string"!=typeof this._input&&!(this._input instanceof URL||this._input instanceof globalThis.Request))throw new TypeError("`input` must be a string, URL, or Request");if(this._options.prefixUrl&&"string"==typeof this._input){if(this._input.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");this._options.prefixUrl.endsWith("/")||(this._options.prefixUrl+="/"),this._input=this._options.prefixUrl+this._input}if(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(j&&(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}return Math.min(this._options.retry.backoffLimit,.3*2**(this._retryCount-1)*1e3)}return 0}_decorateResponse(t){return this._options.parseJson&&(t.json=async()=>this._options.parseJson(await t.text())),t}async _retry(t){try{return await t()}catch(e){const r=Math.min(this._calculateRetryDelay(e),O);if(0!==r&&this._retryCount>0){await async function(t,{signal:e}){return new Promise(((r,o)=>{if(e){if(e.aborted)return void o(D(e));e.addEventListener("abort",s,{once:!0})}function s(){o(D(e)),clearTimeout(n)}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})===B)return;return this._retry(t)}throw e}}async _fetch(){for(const t of this._options.hooks.beforeRequest){const e=await t(this.request,this._options);if(e instanceof Request){this.request=e;break}if(e instanceof Response)return e}return!1===this._options.timeout?this._options.fetch(this.request.clone()):async function(t,e,r){return new Promise(((o,s)=>{const n=setTimeout((()=>{e&&e.abort(),s(new v(t))}),r.timeout);r.fetch(t).then(o).catch(s).then((()=>{clearTimeout(n)}))}))}(this.request.clone(),this.abortController,this._options)}_stream(t,e){const r=Number(t.headers.get("content-length"))||0;let o=0;return 204===t.status?(e&&e({percent:1,totalBytes:r,transferredBytes:o},new Uint8Array),new globalThis.Response(null,{status:t.status,statusText:t.statusText,headers:t.headers})):new globalThis.Response(new globalThis.ReadableStream({async start(s){const n=t.body.getReader();e&&e({percent:0,transferredBytes:0,totalBytes:r},new Uint8Array),await async function t(){const{done:a,value:i}=await n.read();a?s.close():(e&&(o+=i.byteLength,e({percent:0===r?0:o/r,transferredBytes:o,totalBytes:r},i)),s.enqueue(i),await t())}()}}),{status:t.status,statusText:t.statusText,headers:t.headers})}}
2
2
  /*! MIT License © Sindre Sorhus */const $=t=>{const e=(e,r)=>H.create(e,k(t,r));for(const r of E)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=B,e},L=$(),I={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)))}}})(I,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!=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)=>{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}=J,r=new Set;return t.map((t=>{const{key:o}=e[t];"."!=o&&r.add(o)})),X.filter((t=>!r.has(t)))})(a);J.pick=r,J.keys=i,J.locs=a}else J.pick=void 0,J.keys=[],J.locs=[];Y(J.pick)};let F;const K={netlify:"/.netlify/functions",vercel:"https://sudoku-rust-api.vercel.app/api"},V=t=>{f(t)},Y=t=>{b(t)},G=(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},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),J.data=t,J.list=a}else J.data=void 0,J.list=[]})({puzzle:r,ref:o})},tt=t=>{J.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}=J;Z(t[r])}},refresh:async()=>{G(!0),V([]),Y(J.pick);try{const t=await F.get("puzzle").json();Q(t)}catch(t){const{message:e}=t;console.log("-- ",e),console.log(t),J.error=e}finally{J.loading=!1}},select:t=>{Z(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;V(o?e:[]),r>0?tt(t):81===n&&(J.solved=!0)},input:t=>{const{pick:e,list:r}=J;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}=J;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)},ht=()=>{const{keys:e,list:r,pick:o,solved:s}=J,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)),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}`,ft.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}=J;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.2"),yt=t=>()=>{t.refresh()},xt=t=>()=>{t.check()},vt=()=>{const{list:e,solved:r}=J;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",{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, system-ui, -apple-system, BlinkMacSystemFont,\n 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif,\n 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';color:var(--clrs-navy, #001f3f);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.absolute{position:absolute}.relative{position:relative}.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-e100b108.js";export{s as setNonce}from"./p-e100b108.js";(()=>{const t=import.meta.url,e={};return""!==t&&(e.resourcesUrl=new URL(".",t).href),o(e)})().then((o=>t([["p-40d64b5e",[[1,"proto-sudoku",{tag:[1],platform:[1]}]]]],o)));
1
+ import{p as o,b as t}from"./p-35d4b901.js";export{s as setNonce}from"./p-35d4b901.js";(()=>{const t=import.meta.url,p={};return""!==t&&(p.resourcesUrl=new URL(".",t).href),o(p)})().then((o=>t([["p-7ee5129d",[[1,"proto-sudoku",{tag:[1],platform:[1]}]]]],o)));
@@ -812,6 +812,7 @@ export declare namespace JSXBase {
812
812
  datetime?: string;
813
813
  }
814
814
  interface DialogHTMLAttributes<T> extends HTMLAttributes<T> {
815
+ onCancel?: (event: Event) => void;
815
816
  onClose?: (event: Event) => void;
816
817
  open?: boolean;
817
818
  returnValue?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "proto-sudoku-wc",
3
- "version": "0.0.616",
3
+ "version": "0.0.617",
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,17 +27,17 @@
27
27
  "format": "prettier --write src"
28
28
  },
29
29
  "dependencies": {
30
- "@stencil/core": "3.2.1",
31
- "@stencil/store": "2.0.5",
30
+ "@stencil/core": "3.2.2",
31
+ "@stencil/store": "2.0.6",
32
32
  "ky": "0.33.3",
33
- "proto-tailwindcss-clrs": "0.0.231",
33
+ "proto-tailwindcss-clrs": "0.0.232",
34
34
  "tailwindcss": "3.3.2"
35
35
  },
36
36
  "devDependencies": {
37
37
  "autoprefixer": "10.4.14",
38
38
  "concurrently": "8.0.1",
39
39
  "cspell": "6.31.1",
40
- "cssnano": "6.0.0",
40
+ "cssnano": "6.0.1",
41
41
  "eslint": "8.39.0",
42
42
  "postcss": "8.4.23",
43
43
  "prettier": "2.8.8",
@@ -1,2 +0,0 @@
1
- let t,n,e=!1,l=null,o=!1;const s={},r=t=>"object"==(t=typeof t)||"function"===t;function c(t){var n,e,l;return null!==(l=null===(e=null===(n=t.head)||void 0===n?void 0:n.querySelector('meta[name="csp-nonce"]'))||void 0===e?void 0:e.getAttribute("content"))&&void 0!==l?l:void 0}const i=(t,n,...e)=>{let l=null,o=!1,s=!1;const c=[],i=n=>{for(let e=0;e<n.length;e++)l=n[e],Array.isArray(l)?i(l):null!=l&&"boolean"!=typeof l&&((o="function"!=typeof t&&!r(l))&&(l+=""),o&&s?c[c.length-1].t+=l:c.push(o?u(null,l):l),s=o)};if(i(e),n){const t=n.className||n.class;t&&(n.class="object"!=typeof t?t:Object.keys(t).filter((n=>t[n])).join(" "))}if("function"==typeof t)return t(null===n?{}:n,c,f);const a=u(t,null);return a.l=n,c.length>0&&(a.o=c),a},u=(t,n)=>({i:0,u:t,t:n,h:null,o:null,l:null}),a={},f={forEach:(t,n)=>t.map(d).forEach(n),map:(t,n)=>t.map(d).map(n).map(h)},d=t=>({vattrs:t.l,vchildren:t.o,vkey:t.p,vname:t.m,vtag:t.u,vtext:t.t}),h=t=>{if("function"==typeof t.vtag){const n=Object.assign({},t.vattrs);return t.vkey&&(n.key=t.vkey),t.vname&&(n.name=t.vname),i(t.vtag,n,...t.vchildren||[])}const n=u(t.vtag,t.vtext);return n.l=t.vattrs,n.o=t.vchildren,n.p=t.vkey,n.m=t.vname,n},p=new WeakMap,y=t=>"sc-"+t.$,m=(t,n,e,l,o,s)=>{if(e!==l){let c=z(t,n),i=n.toLowerCase();if("class"===n){const n=t.classList,o=v(e),s=v(l);n.remove(...o.filter((t=>t&&!s.includes(t)))),n.add(...s.filter((t=>t&&!o.includes(t))))}else if(c||"o"!==n[0]||"n"!==n[1]){const i=r(l);if((c||i&&null!==l)&&!o)try{if(t.tagName.includes("-"))t[n]=l;else{const o=null==l?"":l;"list"===n?c=!1:null!=e&&t[n]==o||(t[n]=o)}}catch(t){}null==l||!1===l?!1===l&&""!==t.getAttribute(n)||t.removeAttribute(n):(!c||4&s||o)&&!i&&t.setAttribute(n,l=!0===l?"":l)}else n="-"===n[2]?n.slice(3):z(K,i)?i.slice(2):i[2]+n.slice(3),e&&X.rel(t,n,e,!1),l&&X.ael(t,n,l,!1)}},$=/\s/,v=t=>t?t.split($):[],w=(t,n,e,l)=>{const o=11===n.h.nodeType&&n.h.host?n.h.host:n.h,r=t&&t.l||s,c=n.l||s;for(l in r)l in c||m(o,l,r[l],void 0,e,n.i);for(l in c)m(o,l,r[l],c[l],e,n.i)},b=(n,l,o)=>{const s=l.o[o];let r,c,i=0;if(null!==s.t)r=s.h=Q.createTextNode(s.t);else{if(e||(e="svg"===s.u),r=s.h=Q.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!=t&&r["s-si"]!==t&&r.classList.add(r["s-si"]=t),s.o)for(i=0;i<s.o.length;++i)c=b(n,s,i),c&&r.appendChild(c);"svg"===s.u?e=!1:"foreignObject"===r.tagName&&(e=!0)}return r},g=(t,e,l,o,s,r)=>{let c,i=t;for(i.shadowRoot&&i.tagName===n&&(i=i.shadowRoot);s<=r;++s)o[s]&&(c=b(null,l,s),c&&(o[s].h=c,i.insertBefore(c,e)))},j=(t,n,e,l)=>{for(;n<=e;++n)(l=t[n])&&l.h.remove()},S=(t,n)=>t.u===n.u,O=(t,n)=>{const l=n.h=t.h,o=t.o,s=n.o,r=n.u,c=n.t;null===c?(e="svg"===r||"foreignObject"!==r&&e,w(t,n,e),null!==o&&null!==s?((t,n,e,l)=>{let o,s=0,r=0,c=n.length-1,i=n[0],u=n[c],a=l.length-1,f=l[0],d=l[a];for(;s<=c&&r<=a;)null==i?i=n[++s]:null==u?u=n[--c]:null==f?f=l[++r]:null==d?d=l[--a]:S(i,f)?(O(i,f),i=n[++s],f=l[++r]):S(u,d)?(O(u,d),u=n[--c],d=l[--a]):S(i,d)?(O(i,d),t.insertBefore(i.h,u.h.nextSibling),i=n[++s],d=l[--a]):S(u,f)?(O(u,f),t.insertBefore(u.h,i.h),u=n[--c],f=l[++r]):(o=b(n&&n[r],e,r),f=l[++r],o&&i.h.parentNode.insertBefore(o,i.h));s>c?g(t,null==l[a+1]?null:l[a+1].h,e,l,r,a):r>a&&j(n,s,c)})(l,o,n,s):null!==s?(null!==t.t&&(l.textContent=""),g(l,null,n,s,0,s.length-1)):null!==o&&j(o,0,o.length-1),e&&"svg"===r&&(e=!1)):t.t!==c&&(l.data=c)},k=(t,n)=>{n&&!t.v&&n["s-p"]&&n["s-p"].push(new Promise((n=>t.v=n)))},M=(t,n)=>{if(t.i|=16,!(4&t.i))return k(t,t.g),rt((()=>C(t,n)));t.i|=512},C=(t,n)=>{const e=t.j;return R(void 0,(()=>x(t,e,n)))},x=async(t,n,e)=>{const l=t.S,o=l["s-rc"];e&&(t=>{const n=t.O,e=t.S,l=n.i,o=((t,n)=>{var e;let l=y(n);const o=J.get(l);if(t=11===t.nodeType?t:Q,o)if("string"==typeof o){let n,s=p.get(t=t.head||t);if(s||p.set(t,s=new Set),!s.has(l)){{n=Q.createElement("style"),n.innerHTML=o;const l=null!==(e=X.k)&&void 0!==e?e:c(Q);null!=l&&n.setAttribute("nonce",l),t.insertBefore(n,t.querySelector("link"))}s&&s.add(l)}}else t.adoptedStyleSheets.includes(o)||(t.adoptedStyleSheets=[...t.adoptedStyleSheets,o]);return l})(e.shadowRoot?e.shadowRoot:e.getRootNode(),n);10&l&&(e["s-sc"]=o,e.classList.add(o+"-h"))})(t);E(t,n),o&&(o.map((t=>t())),l["s-rc"]=void 0);{const n=l["s-p"],e=()=>L(t);0===n.length?e():(Promise.all(n).then(e),t.i|=4,n.length=0)}},E=(e,o)=>{try{l=o,o=o.render(),e.i&=-17,e.i|=2,((e,l)=>{const o=e.S,s=e.M||u(null,null),r=(t=>t&&t.u===a)(l)?l:i(null,null,l);n=o.tagName,r.u=null,r.i|=4,e.M=r,r.h=s.h=o.shadowRoot||o,t=o["s-sc"],O(s,r)})(e,o)}catch(t){B(t,e.S)}return l=null,null},P=()=>l,L=t=>{const n=t.S,e=t.j,l=t.g;64&t.i||(t.i|=64,U(n),A(e,"componentDidLoad"),t.C(n),l||T()),t.v&&(t.v(),t.v=void 0),512&t.i&&st((()=>M(t,!1))),t.i&=-517},N=t=>{{const n=H(t),e=n.S.isConnected;return e&&2==(18&n.i)&&M(n,!1),e}},T=()=>{U(Q.documentElement),st((()=>(t=>{const n=X.ce("appload",{detail:{namespace:"proto-sudoku-wc"}});return t.dispatchEvent(n),n})(K)))},A=(t,n,e)=>{if(t&&t[n])try{return t[n](e)}catch(t){B(t)}},R=(t,n)=>t&&t.then?t.then(n):n(),U=t=>t.classList.add("hydrated"),W=(t,n,e)=>{if(n.P){const l=Object.entries(n.P),o=t.prototype;if(l.map((([t,[l]])=>{(31&l||2&e&&32&l)&&Object.defineProperty(o,t,{get(){return((t,n)=>H(this).L.get(n))(0,t)},set(e){((t,n,e,l)=>{const o=H(t),s=o.L.get(n),c=o.i,i=o.j;e=((t,n)=>null==t||r(t)?t:1&n?t+"":t)(e,l.P[n][0]),8&c&&void 0!==s||e===s||Number.isNaN(s)&&Number.isNaN(e)||(o.L.set(n,e),i&&2==(18&c)&&M(o,!1))})(this,t,e,n)},configurable:!0,enumerable:!0})})),1&e){const n=new Map;o.attributeChangedCallback=function(t,e,l){X.jmp((()=>{const e=n.get(t);if(this.hasOwnProperty(e))l=this[e],delete this[e];else if(o.hasOwnProperty(e)&&"number"==typeof this[e]&&this[e]==l)return;this[e]=(null!==l||"boolean"!=typeof this[e])&&l}))},t.observedAttributes=l.filter((([t,n])=>15&n[0])).map((([t,e])=>{const l=e[1]||t;return n.set(l,t),l}))}}return t},q=(t,n={})=>{var e;const l=[],o=n.exclude||[],s=K.customElements,r=Q.head,i=r.querySelector("meta[charset]"),u=Q.createElement("style"),a=[];let f,d=!0;Object.assign(X,n),X.N=new URL(n.resourcesUrl||"./",Q.baseURI).href,t.map((t=>{t[1].map((n=>{const e={i:n[0],$:n[1],P:n[2],T:n[3]};e.P=n[2];const r=e.$,c=class extends HTMLElement{constructor(t){super(t),_(t=this,e),1&e.i&&t.attachShadow({mode:"open"})}connectedCallback(){f&&(clearTimeout(f),f=null),d?a.push(this):X.jmp((()=>(t=>{if(0==(1&X.i)){const n=H(t),e=n.O,l=()=>{};if(!(1&n.i)){n.i|=1;{let e=t;for(;e=e.parentNode||e.host;)if(e["s-p"]){k(n,n.g=e);break}}e.P&&Object.entries(e.P).map((([n,[e]])=>{if(31&e&&t.hasOwnProperty(n)){const e=t[n];delete t[n],t[n]=e}})),(async(t,n,e,l,o)=>{if(0==(32&n.i)){{if(n.i|=32,(o=I(e)).then){const t=()=>{};o=await o,t()}o.isProxied||(W(o,e,2),o.isProxied=!0);const t=()=>{};n.i|=8;try{new o(n)}catch(t){B(t)}n.i&=-9,t()}if(o.style){let t=o.style;const n=y(e);if(!J.has(n)){const l=()=>{};((t,n,e)=>{let l=J.get(t);Z&&e?(l=l||new CSSStyleSheet,"string"==typeof l?l=n:l.replaceSync(n)):l=n,J.set(t,l)})(n,t,!!(1&e.i)),l()}}}const s=n.g,r=()=>M(n,!0);s&&s["s-rc"]?s["s-rc"].push(r):r()})(0,n,e)}l()}})(this)))}disconnectedCallback(){X.jmp((()=>{}))}componentOnReady(){return H(this).A}};e.R=t[0],o.includes(r)||s.get(r)||(l.push(r),s.define(r,W(c,e,1)))}))}));{u.innerHTML=l+"{visibility:hidden}.hydrated{visibility:inherit}",u.setAttribute("data-styles","");const t=null!==(e=X.k)&&void 0!==e?e:c(Q);null!=t&&u.setAttribute("nonce",t),r.insertBefore(u,i?i.nextSibling:r.firstChild)}d=!1,a.length?a.map((t=>t.connectedCallback())):X.jmp((()=>f=setTimeout(T,30)))},D=t=>X.k=t,F=new WeakMap,H=t=>F.get(t),V=(t,n)=>F.set(n.j=t,n),_=(t,n)=>{const e={i:0,S:t,O:n,L:new Map};return e.A=new Promise((t=>e.C=t)),t["s-p"]=[],t["s-rc"]=[],F.set(t,e)},z=(t,n)=>n in t,B=(t,n)=>(0,console.error)(t,n),G=new Map,I=t=>{const n=t.$.replace(/-/g,"_"),e=t.R,l=G.get(e);return l?l[n]:import(`./${e}.entry.js`).then((t=>(G.set(e,t),t[n])),B)
2
- /*!__STENCIL_STATIC_IMPORT_SWITCH__*/},J=new Map,K="undefined"!=typeof window?window:{},Q=K.document||{head:{}},X={i:0,N:"",jmp:t=>t(),raf:t=>requestAnimationFrame(t),ael:(t,n,e,l)=>t.addEventListener(n,e,l),rel:(t,n,e,l)=>t.removeEventListener(n,e,l),ce:(t,n)=>new CustomEvent(t,n)},Y=t=>Promise.resolve(t),Z=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(t){}return!1})(),tt=[],nt=[],et=(t,n)=>e=>{t.push(e),o||(o=!0,n&&4&X.i?st(ot):X.raf(ot))},lt=t=>{for(let n=0;n<t.length;n++)try{t[n](performance.now())}catch(t){B(t)}t.length=0},ot=()=>{lt(tt),lt(nt),(o=tt.length>0)&&X.raf(ot)},st=t=>Y().then(t),rt=et(nt,!0);export{q as b,N as f,P as g,i as h,Y as p,V as r,D as s}