proto-sudoku-wc 0.0.707 → 0.0.708
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{index-ea13b7b5.js → index-2f28f070.js} +16 -13
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/proto-sudoku-wc.cjs.js +2 -2
- package/dist/cjs/proto-sudoku.cjs.entry.js +2 -2
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/utils/tw-version.js +1 -1
- package/dist/esm/{index-dce91d87.js → index-8700e73d.js} +16 -13
- package/dist/esm/loader.js +2 -2
- package/dist/esm/proto-sudoku-wc.js +3 -3
- package/dist/esm/proto-sudoku.entry.js +2 -2
- package/dist/proto-sudoku-wc/{p-844d7fe0.entry.js → p-3f92e698.entry.js} +2 -2
- package/dist/proto-sudoku-wc/p-6add2b01.js +2 -0
- package/dist/proto-sudoku-wc/proto-sudoku-wc.esm.js +1 -1
- package/dist/types/utils/tw-version.d.ts +1 -1
- package/package.json +4 -4
- package/dist/proto-sudoku-wc/p-86949440.js +0 -2
@@ -708,8 +708,9 @@ const removeVnodes = (vnodes, startIdx, endIdx) => {
|
|
708
708
|
* @param oldCh the old children of the parent node
|
709
709
|
* @param newVNode the new VNode which will replace the parent
|
710
710
|
* @param newCh the new children of the parent node
|
711
|
+
* @param isInitialRender whether or not this is the first render of the vdom
|
711
712
|
*/
|
712
|
-
const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
|
713
|
+
const updateChildren = (parentElm, oldCh, newVNode, newCh, isInitialRender = false) => {
|
713
714
|
let oldStartIdx = 0;
|
714
715
|
let newStartIdx = 0;
|
715
716
|
let oldEndIdx = oldCh.length - 1;
|
@@ -733,25 +734,25 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
|
|
733
734
|
else if (newEndVnode == null) {
|
734
735
|
newEndVnode = newCh[--newEndIdx];
|
735
736
|
}
|
736
|
-
else if (isSameVnode(oldStartVnode, newStartVnode)) {
|
737
|
+
else if (isSameVnode(oldStartVnode, newStartVnode, isInitialRender)) {
|
737
738
|
// if the start nodes are the same then we should patch the new VNode
|
738
739
|
// onto the old one, and increment our `newStartIdx` and `oldStartIdx`
|
739
740
|
// indices to reflect that. We don't need to move any DOM Nodes around
|
740
741
|
// since things are matched up in order.
|
741
|
-
patch(oldStartVnode, newStartVnode);
|
742
|
+
patch(oldStartVnode, newStartVnode, isInitialRender);
|
742
743
|
oldStartVnode = oldCh[++oldStartIdx];
|
743
744
|
newStartVnode = newCh[++newStartIdx];
|
744
745
|
}
|
745
|
-
else if (isSameVnode(oldEndVnode, newEndVnode)) {
|
746
|
+
else if (isSameVnode(oldEndVnode, newEndVnode, isInitialRender)) {
|
746
747
|
// likewise, if the end nodes are the same we patch new onto old and
|
747
748
|
// decrement our end indices, and also likewise in this case we don't
|
748
749
|
// need to move any DOM Nodes.
|
749
|
-
patch(oldEndVnode, newEndVnode);
|
750
|
+
patch(oldEndVnode, newEndVnode, isInitialRender);
|
750
751
|
oldEndVnode = oldCh[--oldEndIdx];
|
751
752
|
newEndVnode = newCh[--newEndIdx];
|
752
753
|
}
|
753
|
-
else if (isSameVnode(oldStartVnode, newEndVnode)) {
|
754
|
-
patch(oldStartVnode, newEndVnode);
|
754
|
+
else if (isSameVnode(oldStartVnode, newEndVnode, isInitialRender)) {
|
755
|
+
patch(oldStartVnode, newEndVnode, isInitialRender);
|
755
756
|
// We need to move the element for `oldStartVnode` into a position which
|
756
757
|
// will be appropriate for `newEndVnode`. For this we can use
|
757
758
|
// `.insertBefore` and `oldEndVnode.$elm$.nextSibling`. If there is a
|
@@ -773,8 +774,8 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
|
|
773
774
|
oldStartVnode = oldCh[++oldStartIdx];
|
774
775
|
newEndVnode = newCh[--newEndIdx];
|
775
776
|
}
|
776
|
-
else if (isSameVnode(oldEndVnode, newStartVnode)) {
|
777
|
-
patch(oldEndVnode, newStartVnode);
|
777
|
+
else if (isSameVnode(oldEndVnode, newStartVnode, isInitialRender)) {
|
778
|
+
patch(oldEndVnode, newStartVnode, isInitialRender);
|
778
779
|
// We've already checked above if `oldStartVnode` and `newStartVnode` are
|
779
780
|
// the same node, so since we're here we know that they are not. Thus we
|
780
781
|
// can move the element for `oldEndVnode` _before_ the element for
|
@@ -828,9 +829,10 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
|
|
828
829
|
*
|
829
830
|
* @param leftVNode the first VNode to check
|
830
831
|
* @param rightVNode the second VNode to check
|
832
|
+
* @param isInitialRender whether or not this is the first render of the vdom
|
831
833
|
* @returns whether they're equal or not
|
832
834
|
*/
|
833
|
-
const isSameVnode = (leftVNode, rightVNode) => {
|
835
|
+
const isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
|
834
836
|
// compare if two vnode to see if they're "technically" the same
|
835
837
|
// need to have the same element tag, and same key to be the same
|
836
838
|
if (leftVNode.$tag$ === rightVNode.$tag$) {
|
@@ -845,8 +847,9 @@ const isSameVnode = (leftVNode, rightVNode) => {
|
|
845
847
|
*
|
846
848
|
* @param oldVNode an old VNode whose DOM element and children we want to update
|
847
849
|
* @param newVNode a new VNode representing an updated version of the old one
|
850
|
+
* @param isInitialRender whether or not this is the first render of the vdom
|
848
851
|
*/
|
849
|
-
const patch = (oldVNode, newVNode) => {
|
852
|
+
const patch = (oldVNode, newVNode, isInitialRender = false) => {
|
850
853
|
const elm = (newVNode.$elm$ = oldVNode.$elm$);
|
851
854
|
const oldChildren = oldVNode.$children$;
|
852
855
|
const newChildren = newVNode.$children$;
|
@@ -869,7 +872,7 @@ const patch = (oldVNode, newVNode) => {
|
|
869
872
|
if (oldChildren !== null && newChildren !== null) {
|
870
873
|
// looks like there's child vnodes for both the old and new vnodes
|
871
874
|
// so we need to call `updateChildren` to reconcile them
|
872
|
-
updateChildren(elm, oldChildren, newVNode, newChildren);
|
875
|
+
updateChildren(elm, oldChildren, newVNode, newChildren, isInitialRender);
|
873
876
|
}
|
874
877
|
else if (newChildren !== null) {
|
875
878
|
// no old child vnodes, but there are new child vnodes to add
|
@@ -946,7 +949,7 @@ const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
|
|
946
949
|
scopeId = hostElm['s-sc'];
|
947
950
|
}
|
948
951
|
// synchronous patch
|
949
|
-
patch(oldVNode, rootVnode);
|
952
|
+
patch(oldVNode, rootVnode, isInitialLoad);
|
950
953
|
};
|
951
954
|
const attachToAncestor = (hostRef, ancestorComponent) => {
|
952
955
|
if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {
|
package/dist/cjs/loader.cjs.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
4
4
|
|
5
|
-
const index = require('./index-
|
5
|
+
const index = require('./index-2f28f070.js');
|
6
6
|
|
7
7
|
const defineCustomElements = (win, options) => {
|
8
8
|
if (typeof window === 'undefined') return undefined;
|
@@ -2,10 +2,10 @@
|
|
2
2
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
4
4
|
|
5
|
-
const index = require('./index-
|
5
|
+
const index = require('./index-2f28f070.js');
|
6
6
|
|
7
7
|
/*
|
8
|
-
Stencil Client Patch Browser v4.
|
8
|
+
Stencil Client Patch Browser v4.9.0 | MIT Licensed | https://stenciljs.com
|
9
9
|
*/
|
10
10
|
const patchBrowser = () => {
|
11
11
|
const importMeta = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('proto-sudoku-wc.cjs.js', document.baseURI).href));
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
4
4
|
|
5
|
-
const index = require('./index-
|
5
|
+
const index = require('./index-2f28f070.js');
|
6
6
|
|
7
7
|
const Alien = props => {
|
8
8
|
const hex = props.hex || 'currentColor';
|
@@ -1074,7 +1074,7 @@ const actions = {
|
|
1074
1074
|
};
|
1075
1075
|
|
1076
1076
|
// WARNING: generated file...
|
1077
|
-
const TW_VERSION = '3.3.
|
1077
|
+
const TW_VERSION = '3.3.7';
|
1078
1078
|
|
1079
1079
|
const tw = (...classes) => {
|
1080
1080
|
return classes.filter(Boolean).join(' ');
|
@@ -686,8 +686,9 @@ const removeVnodes = (vnodes, startIdx, endIdx) => {
|
|
686
686
|
* @param oldCh the old children of the parent node
|
687
687
|
* @param newVNode the new VNode which will replace the parent
|
688
688
|
* @param newCh the new children of the parent node
|
689
|
+
* @param isInitialRender whether or not this is the first render of the vdom
|
689
690
|
*/
|
690
|
-
const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
|
691
|
+
const updateChildren = (parentElm, oldCh, newVNode, newCh, isInitialRender = false) => {
|
691
692
|
let oldStartIdx = 0;
|
692
693
|
let newStartIdx = 0;
|
693
694
|
let oldEndIdx = oldCh.length - 1;
|
@@ -711,25 +712,25 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
|
|
711
712
|
else if (newEndVnode == null) {
|
712
713
|
newEndVnode = newCh[--newEndIdx];
|
713
714
|
}
|
714
|
-
else if (isSameVnode(oldStartVnode, newStartVnode)) {
|
715
|
+
else if (isSameVnode(oldStartVnode, newStartVnode, isInitialRender)) {
|
715
716
|
// if the start nodes are the same then we should patch the new VNode
|
716
717
|
// onto the old one, and increment our `newStartIdx` and `oldStartIdx`
|
717
718
|
// indices to reflect that. We don't need to move any DOM Nodes around
|
718
719
|
// since things are matched up in order.
|
719
|
-
patch(oldStartVnode, newStartVnode);
|
720
|
+
patch(oldStartVnode, newStartVnode, isInitialRender);
|
720
721
|
oldStartVnode = oldCh[++oldStartIdx];
|
721
722
|
newStartVnode = newCh[++newStartIdx];
|
722
723
|
}
|
723
|
-
else if (isSameVnode(oldEndVnode, newEndVnode)) {
|
724
|
+
else if (isSameVnode(oldEndVnode, newEndVnode, isInitialRender)) {
|
724
725
|
// likewise, if the end nodes are the same we patch new onto old and
|
725
726
|
// decrement our end indices, and also likewise in this case we don't
|
726
727
|
// need to move any DOM Nodes.
|
727
|
-
patch(oldEndVnode, newEndVnode);
|
728
|
+
patch(oldEndVnode, newEndVnode, isInitialRender);
|
728
729
|
oldEndVnode = oldCh[--oldEndIdx];
|
729
730
|
newEndVnode = newCh[--newEndIdx];
|
730
731
|
}
|
731
|
-
else if (isSameVnode(oldStartVnode, newEndVnode)) {
|
732
|
-
patch(oldStartVnode, newEndVnode);
|
732
|
+
else if (isSameVnode(oldStartVnode, newEndVnode, isInitialRender)) {
|
733
|
+
patch(oldStartVnode, newEndVnode, isInitialRender);
|
733
734
|
// We need to move the element for `oldStartVnode` into a position which
|
734
735
|
// will be appropriate for `newEndVnode`. For this we can use
|
735
736
|
// `.insertBefore` and `oldEndVnode.$elm$.nextSibling`. If there is a
|
@@ -751,8 +752,8 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
|
|
751
752
|
oldStartVnode = oldCh[++oldStartIdx];
|
752
753
|
newEndVnode = newCh[--newEndIdx];
|
753
754
|
}
|
754
|
-
else if (isSameVnode(oldEndVnode, newStartVnode)) {
|
755
|
-
patch(oldEndVnode, newStartVnode);
|
755
|
+
else if (isSameVnode(oldEndVnode, newStartVnode, isInitialRender)) {
|
756
|
+
patch(oldEndVnode, newStartVnode, isInitialRender);
|
756
757
|
// We've already checked above if `oldStartVnode` and `newStartVnode` are
|
757
758
|
// the same node, so since we're here we know that they are not. Thus we
|
758
759
|
// can move the element for `oldEndVnode` _before_ the element for
|
@@ -806,9 +807,10 @@ const updateChildren = (parentElm, oldCh, newVNode, newCh) => {
|
|
806
807
|
*
|
807
808
|
* @param leftVNode the first VNode to check
|
808
809
|
* @param rightVNode the second VNode to check
|
810
|
+
* @param isInitialRender whether or not this is the first render of the vdom
|
809
811
|
* @returns whether they're equal or not
|
810
812
|
*/
|
811
|
-
const isSameVnode = (leftVNode, rightVNode) => {
|
813
|
+
const isSameVnode = (leftVNode, rightVNode, isInitialRender = false) => {
|
812
814
|
// compare if two vnode to see if they're "technically" the same
|
813
815
|
// need to have the same element tag, and same key to be the same
|
814
816
|
if (leftVNode.$tag$ === rightVNode.$tag$) {
|
@@ -823,8 +825,9 @@ const isSameVnode = (leftVNode, rightVNode) => {
|
|
823
825
|
*
|
824
826
|
* @param oldVNode an old VNode whose DOM element and children we want to update
|
825
827
|
* @param newVNode a new VNode representing an updated version of the old one
|
828
|
+
* @param isInitialRender whether or not this is the first render of the vdom
|
826
829
|
*/
|
827
|
-
const patch = (oldVNode, newVNode) => {
|
830
|
+
const patch = (oldVNode, newVNode, isInitialRender = false) => {
|
828
831
|
const elm = (newVNode.$elm$ = oldVNode.$elm$);
|
829
832
|
const oldChildren = oldVNode.$children$;
|
830
833
|
const newChildren = newVNode.$children$;
|
@@ -847,7 +850,7 @@ const patch = (oldVNode, newVNode) => {
|
|
847
850
|
if (oldChildren !== null && newChildren !== null) {
|
848
851
|
// looks like there's child vnodes for both the old and new vnodes
|
849
852
|
// so we need to call `updateChildren` to reconcile them
|
850
|
-
updateChildren(elm, oldChildren, newVNode, newChildren);
|
853
|
+
updateChildren(elm, oldChildren, newVNode, newChildren, isInitialRender);
|
851
854
|
}
|
852
855
|
else if (newChildren !== null) {
|
853
856
|
// no old child vnodes, but there are new child vnodes to add
|
@@ -924,7 +927,7 @@ const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
|
|
924
927
|
scopeId = hostElm['s-sc'];
|
925
928
|
}
|
926
929
|
// synchronous patch
|
927
|
-
patch(oldVNode, rootVnode);
|
930
|
+
patch(oldVNode, rootVnode, isInitialLoad);
|
928
931
|
};
|
929
932
|
const attachToAncestor = (hostRef, ancestorComponent) => {
|
930
933
|
if (ancestorComponent && !hostRef.$onRenderResolve$ && ancestorComponent['s-p']) {
|
package/dist/esm/loader.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
import { b as bootstrapLazy } from './index-
|
2
|
-
export { s as setNonce } from './index-
|
1
|
+
import { b as bootstrapLazy } from './index-8700e73d.js';
|
2
|
+
export { s as setNonce } from './index-8700e73d.js';
|
3
3
|
|
4
4
|
const defineCustomElements = (win, options) => {
|
5
5
|
if (typeof window === 'undefined') return undefined;
|
@@ -1,8 +1,8 @@
|
|
1
|
-
import { p as promiseResolve, b as bootstrapLazy } from './index-
|
2
|
-
export { s as setNonce } from './index-
|
1
|
+
import { p as promiseResolve, b as bootstrapLazy } from './index-8700e73d.js';
|
2
|
+
export { s as setNonce } from './index-8700e73d.js';
|
3
3
|
|
4
4
|
/*
|
5
|
-
Stencil Client Patch Browser v4.
|
5
|
+
Stencil Client Patch Browser v4.9.0 | MIT Licensed | https://stenciljs.com
|
6
6
|
*/
|
7
7
|
const patchBrowser = () => {
|
8
8
|
const importMeta = import.meta.url;
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { h, g as getRenderingRef, f as forceUpdate, r as registerInstance } from './index-
|
1
|
+
import { h, g as getRenderingRef, f as forceUpdate, r as registerInstance } from './index-8700e73d.js';
|
2
2
|
|
3
3
|
const Alien = props => {
|
4
4
|
const hex = props.hex || 'currentColor';
|
@@ -1070,7 +1070,7 @@ const actions = {
|
|
1070
1070
|
};
|
1071
1071
|
|
1072
1072
|
// WARNING: generated file...
|
1073
|
-
const TW_VERSION = '3.3.
|
1073
|
+
const TW_VERSION = '3.3.7';
|
1074
1074
|
|
1075
1075
|
const tw = (...classes) => {
|
1076
1076
|
return classes.filter(Boolean).join(' ');
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{h as t,g as e,f as r,r as o}from"./p-86949440.js";const s=e=>{const r=e.hex||"currentColor",o=e.size||24;return t("svg",{class:e.class,width:o,height:o,viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,e.label||"alien"),t("g",{fill:r},t("path",{d:"M10.31 10.93C11.33 12.57 11.18 14.5 9.96 15.28C8.74 16.04 6.92 15.33\n 5.89 13.69C4.87 12.05 5.03 10.1 6.25 9.34C7.47 8.58 9.29 9.29 10.31\n 10.93M12 17.75C14 17.75 14.5 17 14.5 17C14.5 17 14 19 12 19C10 19 9.5\n 17.03 9.5 17C9.5 17 10 17.75 12 17.75M17.75 9.34C18.97 10.1 19.13 12.05\n 18.11 13.69C17.08 15.33 15.26 16.04 14.04 15.28C12.82 14.5 12.67 12.57\n 13.69 10.93C14.71 9.29 16.53 8.58 17.75 9.34M12 20C14.5 20 20 14.86 20\n 11C20 7.14 16.41 4 12 4C7.59 4 4 7.14 4 11C4 14.86 9.5 20 12 20M12 2C17.5\n 2 22 6.04 22 11C22 15.08 16.32 22 12 22C7.68 22 2 15.08 2 11C2 6.04 6.5 2\n 12 2Z"})),t("path",{d:"M0 0h24v24H0z",fill:"none"}))},n="proto-sudoku",a=`${n}::data`,i=`${n}::inputs`,l=`${n}::pick`,c=t=>{const e=localStorage.getItem(t);return e?JSON.parse(e):void 0},d=(t,e)=>{const r=JSON.stringify(e);localStorage.setItem(t,r)},h=()=>[...c(i)],f=t=>{d(i,t.join(""))},u=()=>{const t=c(l);return null!==t?t:void 0},p=t=>{d(l,t>=0&&t<81?t:null)},b="Check ?",g="New Puzzle",w=t=>!("isConnected"in t)||t.isConnected,m=(()=>{let t;return(...e)=>{t&&clearTimeout(t),t=setTimeout((()=>{t=0,(t=>{for(let e of t.keys())t.set(e,t.get(e).filter(w))})(...e)}),2e3)}})(),y=t=>"function"==typeof t?t():t;class x extends Error{constructor(t,e,r){const o=`${t.status||0===t.status?t.status:""} ${t.statusText||""}`.trim();super("Request failed with "+(o?`status code ${o}`:"an unknown error")),Object.defineProperty(this,"response",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"request",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="HTTPError",this.response=t,this.request=e,this.options=r}}class v extends Error{constructor(t){super("Request timed out"),Object.defineProperty(this,"request",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="TimeoutError",this.request=t}}const C=t=>null!==t&&"object"==typeof t,k=(...t)=>{for(const e of t)if((!C(e)||Array.isArray(e))&&void 0!==e)throw new TypeError("The `options` argument must be an object");return j({},...t)},T=(t={},e={})=>{const r=new globalThis.Headers(t),o=e instanceof globalThis.Headers,s=new globalThis.Headers(e);for(const[t,e]of s.entries())o&&"undefined"===e||void 0===e?r.delete(t):r.set(t,e);return r},j=(...t)=>{let e={},r={};for(const o of t)if(Array.isArray(o))Array.isArray(e)||(e=[]),e=[...e,...o];else if(C(o)){for(let[t,r]of Object.entries(o))C(r)&&t in e&&(r=j(e[t],r)),e={...e,[t]:r};C(o.headers)&&(r=T(r,o.headers),e.headers=r)}return e},M=(()=>{let t=!1,e=!1;const r="function"==typeof globalThis.ReadableStream,o="function"==typeof globalThis.Request;return r&&o&&(e=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type")),t&&!e})(),R="function"==typeof globalThis.AbortController,S="function"==typeof globalThis.ReadableStream,z="function"==typeof globalThis.FormData,O=["get","post","put","patch","head","delete"],A={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},E=2147483647,P=Symbol("stop"),U={json:!0,parseJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},B={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,dispatcher:!0,duplex:!0},N=t=>O.includes(t)?t.toUpperCase():t,q=[413,429,503],H={limit:2,methods:["get","put","head","delete","options","trace"],statusCodes:[408,413,429,500,502,503,504],afterStatusCodes:q,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:t=>.3*2**(t-1)*1e3},_=(t={})=>{if("number"==typeof t)return{...H,limit:t};if(t.methods&&!Array.isArray(t.methods))throw new Error("retry.methods must be an array");if(t.statusCodes&&!Array.isArray(t.statusCodes))throw new Error("retry.statusCodes must be an array");return{...H,...t,afterStatusCodes:q}};class D{static create(t,e){const r=new D(t,e),o=async()=>{if("number"==typeof r._options.timeout&&r._options.timeout>E)throw new RangeError("The `timeout` option cannot be greater than 2147483647");await Promise.resolve();let t=await r._fetch();for(const e of r._options.hooks.afterResponse){const o=await e(r.request,r._options,r._decorateResponse(t.clone()));o instanceof globalThis.Response&&(t=o)}if(r._decorateResponse(t),!t.ok&&r._options.throwHttpErrors){let e=new x(t,r.request,r._options);for(const t of r._options.hooks.beforeError)e=await t(e);throw e}if(r._options.onDownloadProgress){if("function"!=typeof r._options.onDownloadProgress)throw new TypeError("The `onDownloadProgress` option must be a function");if(!S)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return r._stream(t.clone(),r._options.onDownloadProgress)}return t},s=r._options.retry.methods.includes(r.request.method.toLowerCase())?r._retry(o):o();for(const[t,o]of Object.entries(A))s[t]=async()=>{r.request.headers.set("accept",r.request.headers.get("accept")||o);const n=(await s).clone();if("json"===t){if(204===n.status)return"";if(0===(await n.clone().arrayBuffer()).byteLength)return"";if(e.parseJson)return e.parseJson(await n.text())}return n[t]()};return s}constructor(t,e={}){if(Object.defineProperty(this,"request",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"abortController",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_retryCount",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_input",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._input=t,this._options={credentials:this._input.credentials||"same-origin",...e,headers:T(this._input.headers,e.headers),hooks:j({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},e.hooks),method:N(e.method??this._input.method),prefixUrl:String(e.prefixUrl||""),retry:_(e.retry),throwHttpErrors:!1!==e.throwHttpErrors,timeout:e.timeout??1e4,fetch:e.fetch??globalThis.fetch.bind(globalThis)},"string"!=typeof this._input&&!(this._input instanceof URL||this._input instanceof globalThis.Request))throw new TypeError("`input` must be a string, URL, or Request");if(this._options.prefixUrl&&"string"==typeof this._input){if(this._input.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");this._options.prefixUrl.endsWith("/")||(this._options.prefixUrl+="/"),this._input=this._options.prefixUrl+this._input}if(R){if(this.abortController=new globalThis.AbortController,this._options.signal){const t=this._options.signal;this._options.signal.addEventListener("abort",(()=>{this.abortController.abort(t.reason)}))}this._options.signal=this.abortController.signal}if(M&&(this._options.duplex="half"),this.request=new globalThis.Request(this._input,this._options),this._options.searchParams){const t="string"==typeof this._options.searchParams?this._options.searchParams.replace(/^\?/,""):new URLSearchParams(this._options.searchParams).toString(),e=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,"?"+t);!(z&&this._options.body instanceof globalThis.FormData||this._options.body instanceof URLSearchParams)||this._options.headers&&this._options.headers["content-type"]||this.request.headers.delete("content-type"),this.request=new globalThis.Request(new globalThis.Request(e,{...this.request}),this._options)}void 0!==this._options.json&&(this._options.body=JSON.stringify(this._options.json),this.request.headers.set("content-type",this._options.headers.get("content-type")??"application/json"),this.request=new globalThis.Request(this.request,{body:this._options.body}))}_calculateRetryDelay(t){if(this._retryCount++,this._retryCount<this._options.retry.limit&&!(t instanceof v)){if(t instanceof x){if(!this._options.retry.statusCodes.includes(t.response.status))return 0;const e=t.response.headers.get("Retry-After");if(e&&this._options.retry.afterStatusCodes.includes(t.response.status)){let t=Number(e);return Number.isNaN(t)?t=Date.parse(e)-Date.now():t*=1e3,void 0!==this._options.retry.maxRetryAfter&&t>this._options.retry.maxRetryAfter?0:t}if(413===t.response.status)return 0}const e=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,e)}return 0}_decorateResponse(t){return this._options.parseJson&&(t.json=async()=>this._options.parseJson(await t.text())),t}async _retry(t){try{return await t()}catch(e){const r=Math.min(this._calculateRetryDelay(e),E);if(0!==r&&this._retryCount>0){await async function(t,{signal:e}){return new Promise(((r,o)=>{function s(){clearTimeout(n),o(e.reason)}e&&(e.throwIfAborted(),e.addEventListener("abort",s,{once:!0}));const n=setTimeout((()=>{e?.removeEventListener("abort",s),r()}),t)}))}(r,{signal:this._options.signal});for(const t of this._options.hooks.beforeRetry)if(await t({request:this.request,options:this._options,error:e,retryCount:this._retryCount})===P)return;return this._retry(t)}throw e}}async _fetch(){for(const t of this._options.hooks.beforeRequest){const e=await t(this.request,this._options);if(e instanceof Request){this.request=e;break}if(e instanceof Response)return e}const t=((t,e)=>{const r={};for(const o in e)o in B||o in U||o in t||(r[o]=e[o]);return r})(this.request,this._options);return!1===this._options.timeout?this._options.fetch(this.request.clone(),t):async function(t,e,r,o){return new Promise(((s,n)=>{const a=setTimeout((()=>{r&&r.abort(),n(new v(t))}),o.timeout);o.fetch(t,e).then(s).catch(n).then((()=>{clearTimeout(a)}))}))}(this.request.clone(),t,this.abortController,this._options)}_stream(t,e){const r=Number(t.headers.get("content-length"))||0;let o=0;return 204===t.status?(e&&e({percent:1,totalBytes:r,transferredBytes:o},new Uint8Array),new globalThis.Response(null,{status:t.status,statusText:t.statusText,headers:t.headers})):new globalThis.Response(new globalThis.ReadableStream({async start(s){const n=t.body.getReader();e&&e({percent:0,transferredBytes:0,totalBytes:r},new Uint8Array),await async function t(){const{done:a,value:i}=await n.read();a?s.close():(e&&(o+=i.byteLength,e({percent:0===r?0:o/r,transferredBytes:o,totalBytes:r},i)),s.enqueue(i),await t())}()}}),{status:t.status,statusText:t.statusText,headers:t.headers})}}
|
2
|
-
/*! MIT License © Sindre Sorhus */const $=t=>{const e=(e,r)=>D.create(e,k(t,r));for(const r of O)e[r]=(e,o)=>D.create(e,k(t,o,{method:r}));return e.create=t=>$(k(t)),e.extend=e=>$(k(t,e)),e.stop=P,e},L=$(),J={list:[],keys:[],locs:[],loading:!1,solved:!1,error:void 0,pick:void 0,data:void 0},{state:I}=(()=>{const t=((t,e=((t,e)=>t!==e))=>{const r=y(t);let o=new Map(Object.entries(null!=r?r:{}));const s={dispose:[],get:[],set:[],reset:[]},n=()=>{var e;o=new Map(Object.entries(null!==(e=y(t))&&void 0!==e?e:{})),s.reset.forEach((t=>t()))},a=t=>(s.get.forEach((e=>e(t))),o.get(t)),i=(t,r)=>{const n=o.get(t);e(r,n,t)&&(o.set(t,r),s.set.forEach((e=>e(t,r,n))))},l="undefined"==typeof Proxy?{}:new Proxy(r,{get:(t,e)=>a(e),ownKeys:()=>Array.from(o.keys()),getOwnPropertyDescriptor:()=>({enumerable:!0,configurable:!0}),has:(t,e)=>o.has(e),set:(t,e,r)=>(i(e,r),!0)}),c=(t,e)=>(s[t].push(e),()=>{((t,e)=>{const r=t.indexOf(e);r>=0&&(t[r]=t[t.length-1],t.length--)})(s[t],e)});return{state:l,get:a,set:i,on:c,onChange:(e,r)=>{const o=c("set",((t,o)=>{t===e&&r(o)})),s=c("reset",(()=>r(y(t)[e])));return()=>{o(),s()}},use:(...t)=>{const e=t.reduce(((t,e)=>(e.set&&t.push(c("set",e.set)),e.get&&t.push(c("get",e.get)),e.reset&&t.push(c("reset",e.reset)),e.dispose&&t.push(c("dispose",e.dispose)),t)),[]);return()=>e.forEach((t=>t()))},dispose:()=>{s.dispose.forEach((t=>t())),n()},reset:n,forceUpdate:t=>{const e=o.get(t);s.set.forEach((r=>r(t,e,e)))}}})(J,void 0);return t.use((()=>{if("function"!=typeof e)return{};const t=new Map;return{dispose:()=>t.clear(),get:r=>{const o=e();o&&((t,e,r)=>{const o=t.get(e);o?o.includes(r)||o.push(r):t.set(e,[r])})(t,r,o)},set:e=>{const o=t.get(e);o&&t.set(e,o.filter(r)),m(t)},reset:()=>{t.forEach((t=>t.forEach(r))),m(t)}}})()),t})(),W=new Map([["row",new Map],["column",new Map],["box",new Map]]),X=["1","2","3","4","5","6","7","8","9"],Z=t=>{if(void 0!==t&&t.indx!=I.pick){const{isClue:e,indx:r,row:o,column:s,box:n}=t,a=((t,e,r,o)=>{const s=new Map([["row",e],["column",r],["box",o]]),n=new Set;return s.forEach(((e,r)=>{W.get(r).get(e).forEach((e=>{e!==t&&n.add(e)}))})),Array.from(n)})(r,o,s,n),i=e?[]:(t=>{const{list:e}=I,r=new Set;return t.map((t=>{const{key:o}=e[t];"."!=o&&r.add(o)})),X.filter((t=>!r.has(t)))})(a);I.pick=r,I.keys=i,I.locs=a}else I.pick=void 0,I.keys=[],I.locs=[];Y(I.pick)};let F;const K={netlify:"/.netlify/functions",vercel:"https://sudoku-rust-api.vercel.app/api"},V=t=>{f(t)},Y=t=>{p(t)},G=(t=!1)=>{I.list=[],I.keys=[],I.locs=[],I.loading=t,I.solved=!1,I.error=void 0,I.pick=void 0,I.data=void 0},Q=(t,e=!0)=>{const{puzzle:r,ref:o}=t;e&&(f([]),d(a,t)),(t=>{if(t){const{puzzle:e,ref:r}=t,o=e?[...e]:[],s=r?atob(r):void 0,n=s?[...s]:[],a=o.map(((t,e)=>{const r=n[e],o=t===r,s=Math.floor(e/9),a=e%9,i=((t,e)=>e<3?t<3?0:t<6?3:6:e<6?t<3?1:t<6?4:7:t<3?2:t<6?5:8)(s,a);return((t,e,r,o)=>{new Map([["row",e],["column",r],["box",o]]).forEach(((e,r)=>{const o=W.get(r);o.has(e)?o.get(e).add(t):o.set(e,new Set([t]))}))})(e,s,a,i),{key:t,isClue:o,value:r,indx:e,row:s,column:a,box:i}}));(t=>{h().forEach(((e,r)=>{const o=t[r],{isClue:s}=o;s||(o.key=e)}))})(a),I.data=t,I.list=a}else I.data=void 0,I.list=[]})({puzzle:r,ref:o})},tt=t=>{I.list=[...t],t.length=0},et={initApp:t=>{(t=>{const e=(t=>{const e=Object.keys(K).includes(t)?t:"vercel";return K[e]})(t);F=L.extend({hooks:{beforeRequest:[t=>{t.headers.set("X-Requested-With","ky"),t.headers.set("X-Custom-Header","foobar")}]},prefixUrl:e,timeout:1e4})})(t),G();const e=c(a),r=u();if(e&&(Q(e,!1),r>=0)){const{list:t}=I;Z(t[r])}},refresh:async()=>{G(!0),V([]),Y(I.pick);try{const t=await F.get("puzzle").json();Q(t)}catch(t){const{message:e}=t;console.log("-- ",e),console.log(t),I.error=e}finally{I.loading=!1}},select:t=>{Z(t)},check:()=>{const{list:t}=I,e=[];let r=0,o=0,s=0;t.forEach((t=>{const{key:n,value:a,isClue:i}=t;i?s+=1:"."!==n&&(n!==a?(r+=1,t.key="."):o+=1),e.push(t.key)}));const n=s+o;V(o?e:[]),r>0?tt(t):81===n&&(I.solved=!0)},input:t=>{const{pick:e,list:r}=I;r[e].key=t,tt(r)}},rt=(...t)=>t.filter(Boolean).join(" "),ot=e=>{const r=e.hex||"currentColor",o=e.label||"loading...",s=e.size||24;return t("svg",{class:rt(e.class||"","animate-spin"),width:s,height:s,fill:"none",viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,o),t("g",null,t("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:r,"stroke-width":"4"}),t("path",{class:"opacity-75",fill:r,d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})),t("path",{d:"M0 0h24v24H0z",fill:"none"}))},st=e=>{const{message:r,salute:o,spinner:n=!1}=e;return t("div",{class:"mt-5 flex h-24px flex-row items-center"},t(n?ot:s,{class:"mr-2"}),o?t("label",{class:"mr-1 font-bold"},o,":"):"",t("label",{class:"italic"},r))},nt=()=>{const{solved:e,loading:r,error:o}=I;return t("div",{class:"flex flex-col"},r||o||e?"":t(st,{message:"Welcome, are you ready to play?..."}),r?t(st,{message:"Loading...",spinner:!0}):"",o?t(st,{message:o,salute:"ERROR"}):"",e?t(st,{message:"You solved the puzzle!!"}):"")},at=e=>{const r=e.hex||"currentColor",o=e.size||24;return t("svg",{class:e.class,width:o,height:o,viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,e.label||"fingerprint"),t("g",{fill:r},t("path",{d:"M17.81,4.47C17.73,4.47 17.65,4.45 17.58,4.41C15.66,3.42 14,3\n 12,3C10.03,3 8.15,3.47 6.44,4.41C6.2,4.54 5.9,4.45 5.76,4.21C5.63,3.97\n 5.72,3.66 5.96,3.53C7.82,2.5 9.86,2 12,2C14.14,2 16,2.47\n 18.04,3.5C18.29,3.65 18.38,3.95 18.25,4.19C18.16,4.37 18,4.47\n 17.81,4.47M3.5,9.72C3.4,9.72 3.3,9.69 3.21,9.63C3,9.47 2.93,9.16\n 3.09,8.93C4.08,7.53 5.34,6.43 6.84,5.66C10,4.04 14,4.03\n 17.15,5.65C18.65,6.42 19.91,7.5 20.9,8.9C21.06,9.12 21,9.44\n 20.78,9.6C20.55,9.76 20.24,9.71 20.08,9.5C19.18,8.22 18.04,7.23\n 16.69,6.54C13.82,5.07 10.15,5.07 7.29,6.55C5.93,7.25 4.79,8.25\n 3.89,9.5C3.81,9.65 3.66,9.72 3.5,9.72M9.75,21.79C9.62,21.79 9.5,21.74\n 9.4,21.64C8.53,20.77 8.06,20.21 7.39,19C6.7,17.77 6.34,16.27\n 6.34,14.66C6.34,11.69 8.88,9.27 12,9.27C15.12,9.27 17.66,11.69\n 17.66,14.66A0.5,0.5 0 0,1 17.16,15.16A0.5,0.5 0 0,1\n 16.66,14.66C16.66,12.24 14.57,10.27 12,10.27C9.43,10.27 7.34,12.24\n 7.34,14.66C7.34,16.1 7.66,17.43 8.27,18.5C8.91,19.66 9.35,20.15\n 10.12,20.93C10.31,21.13 10.31,21.44 10.12,21.64C10,21.74 9.88,21.79\n 9.75,21.79M16.92,19.94C15.73,19.94 14.68,19.64 13.82,19.05C12.33,18.04\n 11.44,16.4 11.44,14.66A0.5,0.5 0 0,1 11.94,14.16A0.5,0.5 0 0,1\n 12.44,14.66C12.44,16.07 13.16,17.4 14.38,18.22C15.09,18.7 15.92,18.93\n 16.92,18.93C17.16,18.93 17.56,18.9 17.96,18.83C18.23,18.78 18.5,18.96\n 18.54,19.24C18.59,19.5 18.41,19.77 18.13,19.82C17.56,19.93 17.06,19.94\n 16.92,19.94M14.91,22C14.87,22 14.82,22 14.78,22C13.19,21.54 12.15,20.95\n 11.06,19.88C9.66,18.5 8.89,16.64 8.89,14.66C8.89,13.04 10.27,11.72\n 11.97,11.72C13.67,11.72 15.05,13.04 15.05,14.66C15.05,15.73 16,16.6\n 17.13,16.6C18.28,16.6 19.21,15.73 19.21,14.66C19.21,10.89 15.96,7.83\n 11.96,7.83C9.12,7.83 6.5,9.41 5.35,11.86C4.96,12.67 4.76,13.62\n 4.76,14.66C4.76,15.44 4.83,16.67 5.43,18.27C5.53,18.53 5.4,18.82\n 5.14,18.91C4.88,19 4.59,18.87 4.5,18.62C4,17.31 3.77,16\n 3.77,14.66C3.77,13.46 4,12.37 4.45,11.42C5.78,8.63 8.73,6.82\n 11.96,6.82C16.5,6.82 20.21,10.33 20.21,14.65C20.21,16.27 18.83,17.59\n 17.13,17.59C15.43,17.59 14.05,16.27 14.05,14.65C14.05,13.58 13.12,12.71\n 11.97,12.71C10.82,12.71 9.89,13.58 9.89,14.65C9.89,16.36 10.55,17.96\n 11.76,19.16C12.71,20.1 13.62,20.62 15.03,21C15.3,21.08 15.45,21.36\n 15.38,21.62C15.33,21.85 15.12,22 14.91,22Z"})),t("path",{d:"M0 0h24v24H0z",fill:"none"}))},it="eswat2",lt=()=>t("a",{class:"absolute right-0 top-0 text-clrs-gray hover:text-clrs-navy",href:"https://eswat2.dev","aria-label":it,target:"blank",title:it},t(at,{label:it})),ct=(e,r)=>t("h1",{class:rt("text-center uppercase text-clrs-red","mb-11 ml-0 mr-0 mt-11","text-6xl font-thin")},r),dt=e=>{const{label:r,callback:o,matched:s=!1}=e;return t("button",{class:rt("rounded-md border border-solid border-clrs-slate4 font-bold",r===b?"mr-2 bg-clrs-yellow px-3 py-2 text-clrs-navy":r===g?"mr-2 bg-clrs-navy px-3 py-2 text-white":"x"===r?"mr-1 bg-clrs-red px-2 py-1 text-white":s?"mr-1 bg-clrs-slate4 px-2 py-1 text-white":"mr-1 bg-gray-50 px-2 py-1 text-clrs-navy"),onClick:o},r)},ht=()=>{const{keys:e,list:r,pick:o,solved:s}=I,n=t=>()=>{et.input(t)},a=s?[]:e,i=null!=o?r[o]:void 0;return t("div",{class:"mt-2 flex flex-row justify-end"},s||!i||i.isClue||"."==i.key?"":t(dt,{label:"x",callback:n(".")}),a.map((e=>t(dt,{label:e,callback:n(e),matched:i.key===e}))))},ft=[2,5,11,14,20,23,29,32,38,41,47,50,56,59,65,68,74,77],ut=ft.map((t=>t+1)),pt=[18,19,20,21,22,23,24,25,26,45,46,47,48,49,50,51,52,53],bt=pt.map((t=>t+9)),gt=e=>{const{cell:r,focus:o,selected:s,solved:n}=e,{key:a,isClue:i,indx:l}=r,c="."!=a?a:"";return t("label",{class:rt(`cell-${l}`,ft.includes(l)?"border-xbr-clrs-navy":"",ut.includes(l)?"border-xbl-clrs-navy":"",pt.includes(l)?"border-xbb-clrs-navy":"",bt.includes(l)?"border-xbt-clrs-navy":"","h-8 w-8 border border-solid text-center leading-8",s?"border-clrs-red bg-clrs-red-a50 text-clrs-red":o?"border-clrs-gray bg-clrs-green-a50 font-bold":i?"border-clrs-gray bg-clrs-silver":""!==c?"border-clrs-gray text-clrs-red":"border-clrs-gray"),onClick:((t,e)=>()=>{e||et.select(t)})(r,n)},c)},wt=()=>{const{list:e,pick:r,locs:o,solved:s}=I;return t("div",{class:rt("flex flex-row flex-wrap","border border-solid border-clrs-navy","h-76p5 w-76p5 text-lg")},e.map(((e,n)=>{const a=!s&&n===r,i=!s&&o.includes(n);return t(gt,{cell:e,focus:i,selected:a,solved:s})})))},mt=()=>t("label",{class:"ml-auto align-top text-xs italic text-clrs-slate4"},"Tailwind ","3.3.6"),yt=t=>()=>{t.refresh()},xt=t=>()=>{t.check()},vt=()=>{const{list:e,solved:r}=I;return t("div",{class:"flex flex-row"},t(dt,{label:g,callback:yt(et)}),81!==e.length||r?"":t(dt,{label:b,callback:xt(et)}),t(mt,null))},Ct=class{constructor(t){o(this,t),this.tag="proto-sudoku",this.platform="vercel"}componentDidLoad(){et.initApp(this.platform)}render(){return t("div",{id:"app",class:"ds1-main relative max-w-min p-0.5"},t(lt,null),t(ct,null,"Sudoku"),t(wt,null),t(ht,null),t("hr",{class:"ml-0 mr-0"}),t(vt,null),t(nt,null))}};Ct.style="*,::before,::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}.ds1-main{margin:1.5rem;display:flex;flex-direction:column;font-family:ui-sans-serif,\n system-ui,\n -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n 'Helvetica Neue',\n Arial,\n 'Noto Sans',\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol',\n 'Noto Color Emoji';color:var(--clrs-navy, #001f3f);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.absolute{position:absolute}.relative{position:relative}.right-0{right:0px}.top-0{top:0px}.mb-11{margin-bottom:2.75rem}.ml-0{margin-left:0px}.ml-auto{margin-left:auto}.mr-0{margin-right:0px}.mr-1{margin-right:0.25rem}.mr-2{margin-right:0.5rem}.mt-11{margin-top:2.75rem}.mt-2{margin-top:0.5rem}.mt-5{margin-top:1.25rem}.flex{display:flex}.h-24px{height:24px}.h-76p5{height:19.125rem}.h-8{height:2rem}.w-76p5{width:19.125rem}.w-8{width:2rem}.max-w-min{max-width:-moz-min-content;max-width:min-content}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-end{justify-content:flex-end}.rounded-md{border-radius:0.375rem}.border{border-width:1px}.border-solid{border-style:solid}.border-clrs-gray{border-color:var(--clrs-gray, #aaaaaa)}.border-clrs-navy{border-color:var(--clrs-navy, #001f3f)}.border-clrs-red{border-color:var(--clrs-red, #ff4136)}.border-clrs-slate4{border-color:var(--clrs-slate4, #4e5964)}.bg-clrs-green-a50{background-color:var(--clrs-green-a50, #2ecc4050)}.bg-clrs-navy{background-color:var(--clrs-navy, #001f3f)}.bg-clrs-red{background-color:var(--clrs-red, #ff4136)}.bg-clrs-red-a50{background-color:var(--clrs-red-a50, #ff413650)}.bg-clrs-silver{background-color:var(--clrs-silver, #dddddd)}.bg-clrs-slate4{background-color:var(--clrs-slate4, #4e5964)}.bg-clrs-yellow{background-color:var(--clrs-yellow, #ffdc00)}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.p-0{padding:0px}.p-0\\.5{padding:0.125rem}.px-2{padding-left:0.5rem;padding-right:0.5rem}.px-3{padding-left:0.75rem;padding-right:0.75rem}.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.text-center{text-align:center}.align-top{vertical-align:top}.text-6xl{font-size:3.75rem;line-height:1}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xs{font-size:0.75rem;line-height:1rem}.font-bold{font-weight:700}.font-thin{font-weight:100}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-8{line-height:2rem}.text-clrs-gray{color:var(--clrs-gray, #aaaaaa)}.text-clrs-navy{color:var(--clrs-navy, #001f3f)}.text-clrs-red{color:var(--clrs-red, #ff4136)}.text-clrs-slate4{color:var(--clrs-slate4, #4e5964)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity))}.opacity-25{opacity:0.25}.opacity-75{opacity:0.75}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),\n 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.border-xbb-clrs-navy{border-bottom:1px solid var(--clrs-navy, #001f3f) !important}.border-xbt-clrs-navy{border-top:1px solid var(--clrs-navy, #001f3f) !important}.border-xbl-clrs-navy{border-left:1px solid var(--clrs-navy, #001f3f) !important}.border-xbr-clrs-navy{border-right:1px solid var(--clrs-navy, #001f3f) !important}.hover\\:text-clrs-navy:hover{color:var(--clrs-navy, #001f3f)}";export{Ct as proto_sudoku}
|
1
|
+
import{h as t,g as e,f as r,r as o}from"./p-6add2b01.js";const s=e=>{const r=e.hex||"currentColor",o=e.size||24;return t("svg",{class:e.class,width:o,height:o,viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,e.label||"alien"),t("g",{fill:r},t("path",{d:"M10.31 10.93C11.33 12.57 11.18 14.5 9.96 15.28C8.74 16.04 6.92 15.33\n 5.89 13.69C4.87 12.05 5.03 10.1 6.25 9.34C7.47 8.58 9.29 9.29 10.31\n 10.93M12 17.75C14 17.75 14.5 17 14.5 17C14.5 17 14 19 12 19C10 19 9.5\n 17.03 9.5 17C9.5 17 10 17.75 12 17.75M17.75 9.34C18.97 10.1 19.13 12.05\n 18.11 13.69C17.08 15.33 15.26 16.04 14.04 15.28C12.82 14.5 12.67 12.57\n 13.69 10.93C14.71 9.29 16.53 8.58 17.75 9.34M12 20C14.5 20 20 14.86 20\n 11C20 7.14 16.41 4 12 4C7.59 4 4 7.14 4 11C4 14.86 9.5 20 12 20M12 2C17.5\n 2 22 6.04 22 11C22 15.08 16.32 22 12 22C7.68 22 2 15.08 2 11C2 6.04 6.5 2\n 12 2Z"})),t("path",{d:"M0 0h24v24H0z",fill:"none"}))},n="proto-sudoku",a=`${n}::data`,i=`${n}::inputs`,l=`${n}::pick`,c=t=>{const e=localStorage.getItem(t);return e?JSON.parse(e):void 0},d=(t,e)=>{const r=JSON.stringify(e);localStorage.setItem(t,r)},h=()=>[...c(i)],f=t=>{d(i,t.join(""))},u=()=>{const t=c(l);return null!==t?t:void 0},p=t=>{d(l,t>=0&&t<81?t:null)},b="Check ?",g="New Puzzle",w=t=>!("isConnected"in t)||t.isConnected,m=(()=>{let t;return(...e)=>{t&&clearTimeout(t),t=setTimeout((()=>{t=0,(t=>{for(let e of t.keys())t.set(e,t.get(e).filter(w))})(...e)}),2e3)}})(),y=t=>"function"==typeof t?t():t;class x extends Error{constructor(t,e,r){const o=`${t.status||0===t.status?t.status:""} ${t.statusText||""}`.trim();super("Request failed with "+(o?`status code ${o}`:"an unknown error")),Object.defineProperty(this,"response",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"request",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="HTTPError",this.response=t,this.request=e,this.options=r}}class v extends Error{constructor(t){super("Request timed out"),Object.defineProperty(this,"request",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.name="TimeoutError",this.request=t}}const C=t=>null!==t&&"object"==typeof t,k=(...t)=>{for(const e of t)if((!C(e)||Array.isArray(e))&&void 0!==e)throw new TypeError("The `options` argument must be an object");return j({},...t)},T=(t={},e={})=>{const r=new globalThis.Headers(t),o=e instanceof globalThis.Headers,s=new globalThis.Headers(e);for(const[t,e]of s.entries())o&&"undefined"===e||void 0===e?r.delete(t):r.set(t,e);return r},j=(...t)=>{let e={},r={};for(const o of t)if(Array.isArray(o))Array.isArray(e)||(e=[]),e=[...e,...o];else if(C(o)){for(let[t,r]of Object.entries(o))C(r)&&t in e&&(r=j(e[t],r)),e={...e,[t]:r};C(o.headers)&&(r=T(r,o.headers),e.headers=r)}return e},M=(()=>{let t=!1,e=!1;const r="function"==typeof globalThis.ReadableStream,o="function"==typeof globalThis.Request;return r&&o&&(e=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type")),t&&!e})(),R="function"==typeof globalThis.AbortController,S="function"==typeof globalThis.ReadableStream,z="function"==typeof globalThis.FormData,O=["get","post","put","patch","head","delete"],A={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},E=2147483647,P=Symbol("stop"),U={json:!0,parseJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},B={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,dispatcher:!0,duplex:!0},N=t=>O.includes(t)?t.toUpperCase():t,q=[413,429,503],H={limit:2,methods:["get","put","head","delete","options","trace"],statusCodes:[408,413,429,500,502,503,504],afterStatusCodes:q,maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:t=>.3*2**(t-1)*1e3},_=(t={})=>{if("number"==typeof t)return{...H,limit:t};if(t.methods&&!Array.isArray(t.methods))throw new Error("retry.methods must be an array");if(t.statusCodes&&!Array.isArray(t.statusCodes))throw new Error("retry.statusCodes must be an array");return{...H,...t,afterStatusCodes:q}};class D{static create(t,e){const r=new D(t,e),o=async()=>{if("number"==typeof r._options.timeout&&r._options.timeout>E)throw new RangeError("The `timeout` option cannot be greater than 2147483647");await Promise.resolve();let t=await r._fetch();for(const e of r._options.hooks.afterResponse){const o=await e(r.request,r._options,r._decorateResponse(t.clone()));o instanceof globalThis.Response&&(t=o)}if(r._decorateResponse(t),!t.ok&&r._options.throwHttpErrors){let e=new x(t,r.request,r._options);for(const t of r._options.hooks.beforeError)e=await t(e);throw e}if(r._options.onDownloadProgress){if("function"!=typeof r._options.onDownloadProgress)throw new TypeError("The `onDownloadProgress` option must be a function");if(!S)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return r._stream(t.clone(),r._options.onDownloadProgress)}return t},s=r._options.retry.methods.includes(r.request.method.toLowerCase())?r._retry(o):o();for(const[t,o]of Object.entries(A))s[t]=async()=>{r.request.headers.set("accept",r.request.headers.get("accept")||o);const n=(await s).clone();if("json"===t){if(204===n.status)return"";if(0===(await n.clone().arrayBuffer()).byteLength)return"";if(e.parseJson)return e.parseJson(await n.text())}return n[t]()};return s}constructor(t,e={}){if(Object.defineProperty(this,"request",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"abortController",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_retryCount",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"_input",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"_options",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this._input=t,this._options={credentials:this._input.credentials||"same-origin",...e,headers:T(this._input.headers,e.headers),hooks:j({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},e.hooks),method:N(e.method??this._input.method),prefixUrl:String(e.prefixUrl||""),retry:_(e.retry),throwHttpErrors:!1!==e.throwHttpErrors,timeout:e.timeout??1e4,fetch:e.fetch??globalThis.fetch.bind(globalThis)},"string"!=typeof this._input&&!(this._input instanceof URL||this._input instanceof globalThis.Request))throw new TypeError("`input` must be a string, URL, or Request");if(this._options.prefixUrl&&"string"==typeof this._input){if(this._input.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");this._options.prefixUrl.endsWith("/")||(this._options.prefixUrl+="/"),this._input=this._options.prefixUrl+this._input}if(R){if(this.abortController=new globalThis.AbortController,this._options.signal){const t=this._options.signal;this._options.signal.addEventListener("abort",(()=>{this.abortController.abort(t.reason)}))}this._options.signal=this.abortController.signal}if(M&&(this._options.duplex="half"),this.request=new globalThis.Request(this._input,this._options),this._options.searchParams){const t="string"==typeof this._options.searchParams?this._options.searchParams.replace(/^\?/,""):new URLSearchParams(this._options.searchParams).toString(),e=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,"?"+t);!(z&&this._options.body instanceof globalThis.FormData||this._options.body instanceof URLSearchParams)||this._options.headers&&this._options.headers["content-type"]||this.request.headers.delete("content-type"),this.request=new globalThis.Request(new globalThis.Request(e,{...this.request}),this._options)}void 0!==this._options.json&&(this._options.body=JSON.stringify(this._options.json),this.request.headers.set("content-type",this._options.headers.get("content-type")??"application/json"),this.request=new globalThis.Request(this.request,{body:this._options.body}))}_calculateRetryDelay(t){if(this._retryCount++,this._retryCount<this._options.retry.limit&&!(t instanceof v)){if(t instanceof x){if(!this._options.retry.statusCodes.includes(t.response.status))return 0;const e=t.response.headers.get("Retry-After");if(e&&this._options.retry.afterStatusCodes.includes(t.response.status)){let t=Number(e);return Number.isNaN(t)?t=Date.parse(e)-Date.now():t*=1e3,void 0!==this._options.retry.maxRetryAfter&&t>this._options.retry.maxRetryAfter?0:t}if(413===t.response.status)return 0}const e=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,e)}return 0}_decorateResponse(t){return this._options.parseJson&&(t.json=async()=>this._options.parseJson(await t.text())),t}async _retry(t){try{return await t()}catch(e){const r=Math.min(this._calculateRetryDelay(e),E);if(0!==r&&this._retryCount>0){await async function(t,{signal:e}){return new Promise(((r,o)=>{function s(){clearTimeout(n),o(e.reason)}e&&(e.throwIfAborted(),e.addEventListener("abort",s,{once:!0}));const n=setTimeout((()=>{e?.removeEventListener("abort",s),r()}),t)}))}(r,{signal:this._options.signal});for(const t of this._options.hooks.beforeRetry)if(await t({request:this.request,options:this._options,error:e,retryCount:this._retryCount})===P)return;return this._retry(t)}throw e}}async _fetch(){for(const t of this._options.hooks.beforeRequest){const e=await t(this.request,this._options);if(e instanceof Request){this.request=e;break}if(e instanceof Response)return e}const t=((t,e)=>{const r={};for(const o in e)o in B||o in U||o in t||(r[o]=e[o]);return r})(this.request,this._options);return!1===this._options.timeout?this._options.fetch(this.request.clone(),t):async function(t,e,r,o){return new Promise(((s,n)=>{const a=setTimeout((()=>{r&&r.abort(),n(new v(t))}),o.timeout);o.fetch(t,e).then(s).catch(n).then((()=>{clearTimeout(a)}))}))}(this.request.clone(),t,this.abortController,this._options)}_stream(t,e){const r=Number(t.headers.get("content-length"))||0;let o=0;return 204===t.status?(e&&e({percent:1,totalBytes:r,transferredBytes:o},new Uint8Array),new globalThis.Response(null,{status:t.status,statusText:t.statusText,headers:t.headers})):new globalThis.Response(new globalThis.ReadableStream({async start(s){const n=t.body.getReader();e&&e({percent:0,transferredBytes:0,totalBytes:r},new Uint8Array),await async function t(){const{done:a,value:i}=await n.read();a?s.close():(e&&(o+=i.byteLength,e({percent:0===r?0:o/r,transferredBytes:o,totalBytes:r},i)),s.enqueue(i),await t())}()}}),{status:t.status,statusText:t.statusText,headers:t.headers})}}
|
2
|
+
/*! MIT License © Sindre Sorhus */const $=t=>{const e=(e,r)=>D.create(e,k(t,r));for(const r of O)e[r]=(e,o)=>D.create(e,k(t,o,{method:r}));return e.create=t=>$(k(t)),e.extend=e=>$(k(t,e)),e.stop=P,e},L=$(),J={list:[],keys:[],locs:[],loading:!1,solved:!1,error:void 0,pick:void 0,data:void 0},{state:I}=(()=>{const t=((t,e=((t,e)=>t!==e))=>{const r=y(t);let o=new Map(Object.entries(null!=r?r:{}));const s={dispose:[],get:[],set:[],reset:[]},n=()=>{var e;o=new Map(Object.entries(null!==(e=y(t))&&void 0!==e?e:{})),s.reset.forEach((t=>t()))},a=t=>(s.get.forEach((e=>e(t))),o.get(t)),i=(t,r)=>{const n=o.get(t);e(r,n,t)&&(o.set(t,r),s.set.forEach((e=>e(t,r,n))))},l="undefined"==typeof Proxy?{}:new Proxy(r,{get:(t,e)=>a(e),ownKeys:()=>Array.from(o.keys()),getOwnPropertyDescriptor:()=>({enumerable:!0,configurable:!0}),has:(t,e)=>o.has(e),set:(t,e,r)=>(i(e,r),!0)}),c=(t,e)=>(s[t].push(e),()=>{((t,e)=>{const r=t.indexOf(e);r>=0&&(t[r]=t[t.length-1],t.length--)})(s[t],e)});return{state:l,get:a,set:i,on:c,onChange:(e,r)=>{const o=c("set",((t,o)=>{t===e&&r(o)})),s=c("reset",(()=>r(y(t)[e])));return()=>{o(),s()}},use:(...t)=>{const e=t.reduce(((t,e)=>(e.set&&t.push(c("set",e.set)),e.get&&t.push(c("get",e.get)),e.reset&&t.push(c("reset",e.reset)),e.dispose&&t.push(c("dispose",e.dispose)),t)),[]);return()=>e.forEach((t=>t()))},dispose:()=>{s.dispose.forEach((t=>t())),n()},reset:n,forceUpdate:t=>{const e=o.get(t);s.set.forEach((r=>r(t,e,e)))}}})(J,void 0);return t.use((()=>{if("function"!=typeof e)return{};const t=new Map;return{dispose:()=>t.clear(),get:r=>{const o=e();o&&((t,e,r)=>{const o=t.get(e);o?o.includes(r)||o.push(r):t.set(e,[r])})(t,r,o)},set:e=>{const o=t.get(e);o&&t.set(e,o.filter(r)),m(t)},reset:()=>{t.forEach((t=>t.forEach(r))),m(t)}}})()),t})(),W=new Map([["row",new Map],["column",new Map],["box",new Map]]),X=["1","2","3","4","5","6","7","8","9"],Z=t=>{if(void 0!==t&&t.indx!=I.pick){const{isClue:e,indx:r,row:o,column:s,box:n}=t,a=((t,e,r,o)=>{const s=new Map([["row",e],["column",r],["box",o]]),n=new Set;return s.forEach(((e,r)=>{W.get(r).get(e).forEach((e=>{e!==t&&n.add(e)}))})),Array.from(n)})(r,o,s,n),i=e?[]:(t=>{const{list:e}=I,r=new Set;return t.map((t=>{const{key:o}=e[t];"."!=o&&r.add(o)})),X.filter((t=>!r.has(t)))})(a);I.pick=r,I.keys=i,I.locs=a}else I.pick=void 0,I.keys=[],I.locs=[];Y(I.pick)};let F;const K={netlify:"/.netlify/functions",vercel:"https://sudoku-rust-api.vercel.app/api"},V=t=>{f(t)},Y=t=>{p(t)},G=(t=!1)=>{I.list=[],I.keys=[],I.locs=[],I.loading=t,I.solved=!1,I.error=void 0,I.pick=void 0,I.data=void 0},Q=(t,e=!0)=>{const{puzzle:r,ref:o}=t;e&&(f([]),d(a,t)),(t=>{if(t){const{puzzle:e,ref:r}=t,o=e?[...e]:[],s=r?atob(r):void 0,n=s?[...s]:[],a=o.map(((t,e)=>{const r=n[e],o=t===r,s=Math.floor(e/9),a=e%9,i=((t,e)=>e<3?t<3?0:t<6?3:6:e<6?t<3?1:t<6?4:7:t<3?2:t<6?5:8)(s,a);return((t,e,r,o)=>{new Map([["row",e],["column",r],["box",o]]).forEach(((e,r)=>{const o=W.get(r);o.has(e)?o.get(e).add(t):o.set(e,new Set([t]))}))})(e,s,a,i),{key:t,isClue:o,value:r,indx:e,row:s,column:a,box:i}}));(t=>{h().forEach(((e,r)=>{const o=t[r],{isClue:s}=o;s||(o.key=e)}))})(a),I.data=t,I.list=a}else I.data=void 0,I.list=[]})({puzzle:r,ref:o})},tt=t=>{I.list=[...t],t.length=0},et={initApp:t=>{(t=>{const e=(t=>{const e=Object.keys(K).includes(t)?t:"vercel";return K[e]})(t);F=L.extend({hooks:{beforeRequest:[t=>{t.headers.set("X-Requested-With","ky"),t.headers.set("X-Custom-Header","foobar")}]},prefixUrl:e,timeout:1e4})})(t),G();const e=c(a),r=u();if(e&&(Q(e,!1),r>=0)){const{list:t}=I;Z(t[r])}},refresh:async()=>{G(!0),V([]),Y(I.pick);try{const t=await F.get("puzzle").json();Q(t)}catch(t){const{message:e}=t;console.log("-- ",e),console.log(t),I.error=e}finally{I.loading=!1}},select:t=>{Z(t)},check:()=>{const{list:t}=I,e=[];let r=0,o=0,s=0;t.forEach((t=>{const{key:n,value:a,isClue:i}=t;i?s+=1:"."!==n&&(n!==a?(r+=1,t.key="."):o+=1),e.push(t.key)}));const n=s+o;V(o?e:[]),r>0?tt(t):81===n&&(I.solved=!0)},input:t=>{const{pick:e,list:r}=I;r[e].key=t,tt(r)}},rt=(...t)=>t.filter(Boolean).join(" "),ot=e=>{const r=e.hex||"currentColor",o=e.label||"loading...",s=e.size||24;return t("svg",{class:rt(e.class||"","animate-spin"),width:s,height:s,fill:"none",viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,o),t("g",null,t("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:r,"stroke-width":"4"}),t("path",{class:"opacity-75",fill:r,d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})),t("path",{d:"M0 0h24v24H0z",fill:"none"}))},st=e=>{const{message:r,salute:o,spinner:n=!1}=e;return t("div",{class:"mt-5 flex h-24px flex-row items-center"},t(n?ot:s,{class:"mr-2"}),o?t("label",{class:"mr-1 font-bold"},o,":"):"",t("label",{class:"italic"},r))},nt=()=>{const{solved:e,loading:r,error:o}=I;return t("div",{class:"flex flex-col"},r||o||e?"":t(st,{message:"Welcome, are you ready to play?..."}),r?t(st,{message:"Loading...",spinner:!0}):"",o?t(st,{message:o,salute:"ERROR"}):"",e?t(st,{message:"You solved the puzzle!!"}):"")},at=e=>{const r=e.hex||"currentColor",o=e.size||24;return t("svg",{class:e.class,width:o,height:o,viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,e.label||"fingerprint"),t("g",{fill:r},t("path",{d:"M17.81,4.47C17.73,4.47 17.65,4.45 17.58,4.41C15.66,3.42 14,3\n 12,3C10.03,3 8.15,3.47 6.44,4.41C6.2,4.54 5.9,4.45 5.76,4.21C5.63,3.97\n 5.72,3.66 5.96,3.53C7.82,2.5 9.86,2 12,2C14.14,2 16,2.47\n 18.04,3.5C18.29,3.65 18.38,3.95 18.25,4.19C18.16,4.37 18,4.47\n 17.81,4.47M3.5,9.72C3.4,9.72 3.3,9.69 3.21,9.63C3,9.47 2.93,9.16\n 3.09,8.93C4.08,7.53 5.34,6.43 6.84,5.66C10,4.04 14,4.03\n 17.15,5.65C18.65,6.42 19.91,7.5 20.9,8.9C21.06,9.12 21,9.44\n 20.78,9.6C20.55,9.76 20.24,9.71 20.08,9.5C19.18,8.22 18.04,7.23\n 16.69,6.54C13.82,5.07 10.15,5.07 7.29,6.55C5.93,7.25 4.79,8.25\n 3.89,9.5C3.81,9.65 3.66,9.72 3.5,9.72M9.75,21.79C9.62,21.79 9.5,21.74\n 9.4,21.64C8.53,20.77 8.06,20.21 7.39,19C6.7,17.77 6.34,16.27\n 6.34,14.66C6.34,11.69 8.88,9.27 12,9.27C15.12,9.27 17.66,11.69\n 17.66,14.66A0.5,0.5 0 0,1 17.16,15.16A0.5,0.5 0 0,1\n 16.66,14.66C16.66,12.24 14.57,10.27 12,10.27C9.43,10.27 7.34,12.24\n 7.34,14.66C7.34,16.1 7.66,17.43 8.27,18.5C8.91,19.66 9.35,20.15\n 10.12,20.93C10.31,21.13 10.31,21.44 10.12,21.64C10,21.74 9.88,21.79\n 9.75,21.79M16.92,19.94C15.73,19.94 14.68,19.64 13.82,19.05C12.33,18.04\n 11.44,16.4 11.44,14.66A0.5,0.5 0 0,1 11.94,14.16A0.5,0.5 0 0,1\n 12.44,14.66C12.44,16.07 13.16,17.4 14.38,18.22C15.09,18.7 15.92,18.93\n 16.92,18.93C17.16,18.93 17.56,18.9 17.96,18.83C18.23,18.78 18.5,18.96\n 18.54,19.24C18.59,19.5 18.41,19.77 18.13,19.82C17.56,19.93 17.06,19.94\n 16.92,19.94M14.91,22C14.87,22 14.82,22 14.78,22C13.19,21.54 12.15,20.95\n 11.06,19.88C9.66,18.5 8.89,16.64 8.89,14.66C8.89,13.04 10.27,11.72\n 11.97,11.72C13.67,11.72 15.05,13.04 15.05,14.66C15.05,15.73 16,16.6\n 17.13,16.6C18.28,16.6 19.21,15.73 19.21,14.66C19.21,10.89 15.96,7.83\n 11.96,7.83C9.12,7.83 6.5,9.41 5.35,11.86C4.96,12.67 4.76,13.62\n 4.76,14.66C4.76,15.44 4.83,16.67 5.43,18.27C5.53,18.53 5.4,18.82\n 5.14,18.91C4.88,19 4.59,18.87 4.5,18.62C4,17.31 3.77,16\n 3.77,14.66C3.77,13.46 4,12.37 4.45,11.42C5.78,8.63 8.73,6.82\n 11.96,6.82C16.5,6.82 20.21,10.33 20.21,14.65C20.21,16.27 18.83,17.59\n 17.13,17.59C15.43,17.59 14.05,16.27 14.05,14.65C14.05,13.58 13.12,12.71\n 11.97,12.71C10.82,12.71 9.89,13.58 9.89,14.65C9.89,16.36 10.55,17.96\n 11.76,19.16C12.71,20.1 13.62,20.62 15.03,21C15.3,21.08 15.45,21.36\n 15.38,21.62C15.33,21.85 15.12,22 14.91,22Z"})),t("path",{d:"M0 0h24v24H0z",fill:"none"}))},it="eswat2",lt=()=>t("a",{class:"absolute right-0 top-0 text-clrs-gray hover:text-clrs-navy",href:"https://eswat2.dev","aria-label":it,target:"blank",title:it},t(at,{label:it})),ct=(e,r)=>t("h1",{class:rt("text-center uppercase text-clrs-red","mb-11 ml-0 mr-0 mt-11","text-6xl font-thin")},r),dt=e=>{const{label:r,callback:o,matched:s=!1}=e;return t("button",{class:rt("rounded-md border border-solid border-clrs-slate4 font-bold",r===b?"mr-2 bg-clrs-yellow px-3 py-2 text-clrs-navy":r===g?"mr-2 bg-clrs-navy px-3 py-2 text-white":"x"===r?"mr-1 bg-clrs-red px-2 py-1 text-white":s?"mr-1 bg-clrs-slate4 px-2 py-1 text-white":"mr-1 bg-gray-50 px-2 py-1 text-clrs-navy"),onClick:o},r)},ht=()=>{const{keys:e,list:r,pick:o,solved:s}=I,n=t=>()=>{et.input(t)},a=s?[]:e,i=null!=o?r[o]:void 0;return t("div",{class:"mt-2 flex flex-row justify-end"},s||!i||i.isClue||"."==i.key?"":t(dt,{label:"x",callback:n(".")}),a.map((e=>t(dt,{label:e,callback:n(e),matched:i.key===e}))))},ft=[2,5,11,14,20,23,29,32,38,41,47,50,56,59,65,68,74,77],ut=ft.map((t=>t+1)),pt=[18,19,20,21,22,23,24,25,26,45,46,47,48,49,50,51,52,53],bt=pt.map((t=>t+9)),gt=e=>{const{cell:r,focus:o,selected:s,solved:n}=e,{key:a,isClue:i,indx:l}=r,c="."!=a?a:"";return t("label",{class:rt(`cell-${l}`,ft.includes(l)?"border-xbr-clrs-navy":"",ut.includes(l)?"border-xbl-clrs-navy":"",pt.includes(l)?"border-xbb-clrs-navy":"",bt.includes(l)?"border-xbt-clrs-navy":"","h-8 w-8 border border-solid text-center leading-8",s?"border-clrs-red bg-clrs-red-a50 text-clrs-red":o?"border-clrs-gray bg-clrs-green-a50 font-bold":i?"border-clrs-gray bg-clrs-silver":""!==c?"border-clrs-gray text-clrs-red":"border-clrs-gray"),onClick:((t,e)=>()=>{e||et.select(t)})(r,n)},c)},wt=()=>{const{list:e,pick:r,locs:o,solved:s}=I;return t("div",{class:rt("flex flex-row flex-wrap","border border-solid border-clrs-navy","h-76p5 w-76p5 text-lg")},e.map(((e,n)=>{const a=!s&&n===r,i=!s&&o.includes(n);return t(gt,{cell:e,focus:i,selected:a,solved:s})})))},mt=()=>t("label",{class:"ml-auto align-top text-xs italic text-clrs-slate4"},"Tailwind ","3.3.7"),yt=t=>()=>{t.refresh()},xt=t=>()=>{t.check()},vt=()=>{const{list:e,solved:r}=I;return t("div",{class:"flex flex-row"},t(dt,{label:g,callback:yt(et)}),81!==e.length||r?"":t(dt,{label:b,callback:xt(et)}),t(mt,null))},Ct=class{constructor(t){o(this,t),this.tag="proto-sudoku",this.platform="vercel"}componentDidLoad(){et.initApp(this.platform)}render(){return t("div",{id:"app",class:"ds1-main relative max-w-min p-0.5"},t(lt,null),t(ct,null,"Sudoku"),t(wt,null),t(ht,null),t("hr",{class:"ml-0 mr-0"}),t(vt,null),t(nt,null))}};Ct.style="*,::before,::after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;}.ds1-main{margin:1.5rem;display:flex;flex-direction:column;font-family:ui-sans-serif,\n system-ui,\n -apple-system,\n BlinkMacSystemFont,\n 'Segoe UI',\n Roboto,\n 'Helvetica Neue',\n Arial,\n 'Noto Sans',\n sans-serif,\n 'Apple Color Emoji',\n 'Segoe UI Emoji',\n 'Segoe UI Symbol',\n 'Noto Color Emoji';color:var(--clrs-navy, #001f3f);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.absolute{position:absolute}.relative{position:relative}.right-0{right:0px}.top-0{top:0px}.mb-11{margin-bottom:2.75rem}.ml-0{margin-left:0px}.ml-auto{margin-left:auto}.mr-0{margin-right:0px}.mr-1{margin-right:0.25rem}.mr-2{margin-right:0.5rem}.mt-11{margin-top:2.75rem}.mt-2{margin-top:0.5rem}.mt-5{margin-top:1.25rem}.flex{display:flex}.h-24px{height:24px}.h-76p5{height:19.125rem}.h-8{height:2rem}.w-76p5{width:19.125rem}.w-8{width:2rem}.max-w-min{max-width:-moz-min-content;max-width:min-content}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-end{justify-content:flex-end}.rounded-md{border-radius:0.375rem}.border{border-width:1px}.border-solid{border-style:solid}.border-clrs-gray{border-color:var(--clrs-gray, #aaaaaa)}.border-clrs-navy{border-color:var(--clrs-navy, #001f3f)}.border-clrs-red{border-color:var(--clrs-red, #ff4136)}.border-clrs-slate4{border-color:var(--clrs-slate4, #4e5964)}.bg-clrs-green-a50{background-color:var(--clrs-green-a50, #2ecc4050)}.bg-clrs-navy{background-color:var(--clrs-navy, #001f3f)}.bg-clrs-red{background-color:var(--clrs-red, #ff4136)}.bg-clrs-red-a50{background-color:var(--clrs-red-a50, #ff413650)}.bg-clrs-silver{background-color:var(--clrs-silver, #dddddd)}.bg-clrs-slate4{background-color:var(--clrs-slate4, #4e5964)}.bg-clrs-yellow{background-color:var(--clrs-yellow, #ffdc00)}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.p-0{padding:0px}.p-0\\.5{padding:0.125rem}.px-2{padding-left:0.5rem;padding-right:0.5rem}.px-3{padding-left:0.75rem;padding-right:0.75rem}.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.text-center{text-align:center}.align-top{vertical-align:top}.text-6xl{font-size:3.75rem;line-height:1}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xs{font-size:0.75rem;line-height:1rem}.font-bold{font-weight:700}.font-thin{font-weight:100}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-8{line-height:2rem}.text-clrs-gray{color:var(--clrs-gray, #aaaaaa)}.text-clrs-navy{color:var(--clrs-navy, #001f3f)}.text-clrs-red{color:var(--clrs-red, #ff4136)}.text-clrs-slate4{color:var(--clrs-slate4, #4e5964)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity))}.opacity-25{opacity:0.25}.opacity-75{opacity:0.75}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),\n 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.border-xbb-clrs-navy{border-bottom:1px solid var(--clrs-navy, #001f3f) !important}.border-xbt-clrs-navy{border-top:1px solid var(--clrs-navy, #001f3f) !important}.border-xbl-clrs-navy{border-left:1px solid var(--clrs-navy, #001f3f) !important}.border-xbr-clrs-navy{border-right:1px solid var(--clrs-navy, #001f3f) !important}.hover\\:text-clrs-navy:hover{color:var(--clrs-navy, #001f3f)}";export{Ct as proto_sudoku}
|
@@ -0,0 +1,2 @@
|
|
1
|
+
let n,t,e=!1,l=null,o=!1;const s="slot-fb{display:contents}slot-fb[hidden]{display:none}",i={},r=n=>"object"==(n=typeof n)||"function"===n;function c(n){var t,e,l;return null!==(l=null===(e=null===(t=n.head)||void 0===t?void 0:t.querySelector('meta[name="csp-nonce"]'))||void 0===e?void 0:e.getAttribute("content"))&&void 0!==l?l:void 0}const u=(n,t,...e)=>{let l=null,o=!1,s=!1;const i=[],c=t=>{for(let e=0;e<t.length;e++)l=t[e],Array.isArray(l)?c(l):null!=l&&"boolean"!=typeof l&&((o="function"!=typeof n&&!r(l))&&(l+=""),o&&s?i[i.length-1].t+=l:i.push(o?a(null,l):l),s=o)};if(c(e),t){const n=t.className||t.class;n&&(t.class="object"!=typeof n?n:Object.keys(n).filter((t=>n[t])).join(" "))}if("function"==typeof n)return n(null===t?{}:t,i,d);const u=a(n,null);return u.l=t,i.length>0&&(u.o=i),u},a=(n,t)=>({i:0,u:n,t,v:null,o:null,l:null}),f={},d={forEach:(n,t)=>n.map(v).forEach(t),map:(n,t)=>n.map(v).map(t).map(p)},v=n=>({vattrs:n.l,vchildren:n.o,vkey:n.p,vname:n.h,vtag:n.u,vtext:n.t}),p=n=>{if("function"==typeof n.vtag){const t=Object.assign({},n.vattrs);return n.vkey&&(t.key=n.vkey),n.vname&&(t.name=n.vname),u(n.vtag,t,...n.vchildren||[])}const t=a(n.vtag,n.vtext);return t.l=n.vattrs,t.o=n.vchildren,t.p=n.vkey,t.h=n.vname,t},y=new WeakMap,h=n=>"sc-"+n.m,m=(n,t,e,l,o,s)=>{if(e!==l){let i=J(n,t),c=t.toLowerCase();if("class"===t){const t=n.classList,o=w(e),s=w(l);t.remove(...o.filter((n=>n&&!s.includes(n)))),t.add(...s.filter((n=>n&&!o.includes(n))))}else if(i||"o"!==t[0]||"n"!==t[1]){const c=r(l);if((i||c&&null!==l)&&!o)try{if(n.tagName.includes("-"))n[t]=l;else{const o=null==l?"":l;"list"===t?i=!1:null!=e&&n[t]==o||(n[t]=o)}}catch(n){}null==l||!1===l?!1===l&&""!==n.getAttribute(t)||n.removeAttribute(t):(!i||4&s||o)&&!c&&n.setAttribute(t,l=!0===l?"":l)}else if(t="-"===t[2]?t.slice(3):J(Z,c)?c.slice(2):c[2]+t.slice(3),e||l){const o=t.endsWith(b);t=t.replace(g,""),e&&tn.rel(n,t,e,o),l&&tn.ael(n,t,l,o)}}},$=/\s/,w=n=>n?n.split($):[],b="Capture",g=RegExp(b+"$"),j=(n,t,e,l)=>{const o=11===t.v.nodeType&&t.v.host?t.v.host:t.v,s=n&&n.l||i,r=t.l||i;for(l in s)l in r||m(o,l,s[l],void 0,e,t.i);for(l in r)m(o,l,s[l],r[l],e,t.i)},S=(l,o,s)=>{const i=o.o[s];let r,c,u=0;if(null!==i.t)r=i.v=nn.createTextNode(i.t);else{if(e||(e="svg"===i.u),r=i.v=nn.createElementNS(e?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",i.u),e&&"foreignObject"===i.u&&(e=!1),j(null,i,e),null!=n&&r["s-si"]!==n&&r.classList.add(r["s-si"]=n),i.o)for(u=0;u<i.o.length;++u)c=S(l,i,u),c&&r.appendChild(c);"svg"===i.u?e=!1:"foreignObject"===r.tagName&&(e=!0)}return r["s-hn"]=t,r},O=(n,e,l,o,s,i)=>{let r,c=n;for(c.shadowRoot&&c.tagName===t&&(c=c.shadowRoot);s<=i;++s)o[s]&&(r=S(null,l,s),r&&(o[s].v=r,c.insertBefore(r,e)))},k=(n,t,e)=>{for(let l=t;l<=e;++l){const t=n[l];if(t){const n=t.v;n&&n.remove()}}},M=(n,t)=>n.u===t.u,C=(n,t,l=!1)=>{const o=t.v=n.v,s=n.o,i=t.o,r=t.u,c=t.t;null===c?(e="svg"===r||"foreignObject"!==r&&e,j(n,t,e),null!==s&&null!==i?((n,t,e,l,o=!1)=>{let s,i=0,r=0,c=t.length-1,u=t[0],a=t[c],f=l.length-1,d=l[0],v=l[f];for(;i<=c&&r<=f;)null==u?u=t[++i]:null==a?a=t[--c]:null==d?d=l[++r]:null==v?v=l[--f]:M(u,d)?(C(u,d,o),u=t[++i],d=l[++r]):M(a,v)?(C(a,v,o),a=t[--c],v=l[--f]):M(u,v)?(C(u,v,o),n.insertBefore(u.v,a.v.nextSibling),u=t[++i],v=l[--f]):M(a,d)?(C(a,d,o),n.insertBefore(a.v,u.v),a=t[--c],d=l[++r]):(s=S(t&&t[r],e,r),d=l[++r],s&&u.v.parentNode.insertBefore(s,u.v));i>c?O(n,null==l[f+1]?null:l[f+1].v,e,l,r,f):r>f&&k(t,i,c)})(o,s,t,i,l):null!==i?(null!==n.t&&(o.textContent=""),O(o,null,t,i,0,i.length-1)):null!==s&&k(s,0,s.length-1),e&&"svg"===r&&(e=!1)):n.t!==c&&(o.data=c)},x=(n,t)=>{t&&!n.$&&t["s-p"]&&t["s-p"].push(new Promise((t=>n.$=t)))},E=(n,t)=>{if(n.i|=16,!(4&n.i))return x(n,n.j),fn((()=>P(n,t)));n.i|=512},P=(n,t)=>{const e=n.S;return A(void 0,(()=>N(n,e,t)))},A=(n,t)=>L(n)?n.then(t):t(),L=n=>n instanceof Promise||n&&n.then&&"function"==typeof n.then,N=async(n,t,e)=>{var l;const o=n.$hostElement$,i=o["s-rc"];e&&(n=>{const t=n.O,e=n.$hostElement$,l=t.i,o=((n,t)=>{var e;const l=h(t),o=Y.get(l);if(n=11===n.nodeType?n:nn,o)if("string"==typeof o){let i,r=y.get(n=n.head||n);if(r||y.set(n,r=new Set),!r.has(l)){{i=nn.createElement("style"),i.innerHTML=o;const t=null!==(e=tn.k)&&void 0!==e?e:c(nn);null!=t&&i.setAttribute("nonce",t),n.insertBefore(i,n.querySelector("link"))}4&t.i&&(i.innerHTML+=s),r&&r.add(l)}}else n.adoptedStyleSheets.includes(o)||(n.adoptedStyleSheets=[...n.adoptedStyleSheets,o]);return l})(e.shadowRoot?e.shadowRoot:e.getRootNode(),t);10&l&&(e["s-sc"]=o,e.classList.add(o+"-h"))})(n);R(n,t,o,e),i&&(i.map((n=>n())),o["s-rc"]=void 0);{const t=null!==(l=o["s-p"])&&void 0!==l?l:[],e=()=>U(n);0===t.length?e():(Promise.all(t).then(e),n.i|=4,t.length=0)}},R=(e,o,s,i)=>{try{l=o,o=o.render(),e.i&=-17,e.i|=2,((e,l,o=!1)=>{const s=e.$hostElement$,i=e.M||a(null,null),r=(n=>n&&n.u===f)(l)?l:u(null,null,l);if(t=s.tagName,o&&r.l)for(const n of Object.keys(r.l))s.hasAttribute(n)&&!["key","ref","style","class"].includes(n)&&(r.l[n]=s[n]);r.u=null,r.i|=4,e.M=r,r.v=i.v=s.shadowRoot||s,n=s["s-sc"],C(i,r,o)})(e,o,i)}catch(n){K(n,e.$hostElement$)}return l=null,null},T=()=>l,U=n=>{const t=n.$hostElement$,e=n.S,l=n.j;64&n.i||(n.i|=64,F(t),D(e,"componentDidLoad"),n.C(t),l||q()),n.$&&(n.$(),n.$=void 0),512&n.i&&an((()=>E(n,!1))),n.i&=-517},W=n=>{{const t=B(n),e=t.$hostElement$.isConnected;return e&&2==(18&t.i)&&E(t,!1),e}},q=()=>{F(nn.documentElement),an((()=>(n=>{const t=tn.ce("appload",{detail:{namespace:"proto-sudoku-wc"}});return n.dispatchEvent(t),t})(Z)))},D=(n,t,e)=>{if(n&&n[t])try{return n[t](e)}catch(n){K(n)}},F=n=>n.classList.add("hydrated"),H=(n,t,e)=>{var l;const o=n.prototype;if(t.P){const s=Object.entries(t.P);if(s.map((([n,[l]])=>{(31&l||2&e&&32&l)&&Object.defineProperty(o,n,{get(){return((n,t)=>B(this).A.get(t))(0,n)},set(e){((n,t,e,l)=>{const o=B(n),s=o.A.get(t),i=o.i,c=o.S;e=((n,t)=>null==n||r(n)?n:1&t?n+"":n)(e,l.P[t][0]),8&i&&void 0!==s||e===s||Number.isNaN(s)&&Number.isNaN(e)||(o.A.set(t,e),c&&2==(18&i)&&E(o,!1))})(this,n,e,t)},configurable:!0,enumerable:!0})})),1&e){const e=new Map;o.attributeChangedCallback=function(n,l,s){tn.jmp((()=>{var i;const r=e.get(n);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 e=B(this),o=null==e?void 0:e.i;if(o&&!(8&o)&&128&o&&s!==l){const o=e.S,r=null===(i=t.L)||void 0===i?void 0:i[n];null==r||r.forEach((t=>{null!=o[t]&&o[t].call(o,s,l,n)}))}return}}this[r]=(null!==s||"boolean"!=typeof this[r])&&s}))},n.observedAttributes=Array.from(new Set([...Object.keys(null!==(l=t.L)&&void 0!==l?l:{}),...s.filter((([n,t])=>15&t[0])).map((([n,t])=>{const l=t[1]||n;return e.set(l,n),l}))]))}}return n},V=(n,t={})=>{var e;const l=[],o=t.exclude||[],i=Z.customElements,r=nn.head,u=r.querySelector("meta[charset]"),a=nn.createElement("style"),f=[];let d,v=!0;Object.assign(tn,t),tn.N=new URL(t.resourcesUrl||"./",nn.baseURI).href;let p=!1;if(n.map((n=>{n[1].map((t=>{const e={i:t[0],m:t[1],P:t[2],R:t[3]};4&e.i&&(p=!0),e.P=t[2];const s=e.m,r=class extends HTMLElement{constructor(n){super(n),I(n=this,e),1&e.i&&n.attachShadow({mode:"open"})}connectedCallback(){d&&(clearTimeout(d),d=null),v?f.push(this):tn.jmp((()=>(n=>{if(0==(1&tn.i)){const t=B(n),e=t.O,l=()=>{};if(1&t.i)(null==t?void 0:t.S)||(null==t?void 0:t.T)&&t.T.then((()=>{}));else{t.i|=1;{let e=n;for(;e=e.parentNode||e.host;)if(e["s-p"]){x(t,t.j=e);break}}e.P&&Object.entries(e.P).map((([t,[e]])=>{if(31&e&&n.hasOwnProperty(t)){const e=n[t];delete n[t],n[t]=e}})),(async(n,t,e)=>{let l;if(0==(32&t.i)){t.i|=32;{if(l=X(e),l.then){const n=()=>{};l=await l,n()}l.isProxied||(H(l,e,2),l.isProxied=!0);const n=()=>{};t.i|=8;try{new l(t)}catch(n){K(n)}t.i&=-9,n()}if(l.style){let n=l.style;const t=h(e);if(!Y.has(t)){const l=()=>{};((n,t,e)=>{let l=Y.get(n);ln&&e?(l=l||new CSSStyleSheet,"string"==typeof l?l=t:l.replaceSync(t)):l=t,Y.set(n,l)})(t,n,!!(1&e.i)),l()}}}const o=t.j,s=()=>E(t,!0);o&&o["s-rc"]?o["s-rc"].push(s):s()})(0,t,e)}l()}})(this)))}disconnectedCallback(){tn.jmp((()=>(async()=>{if(0==(1&tn.i)){const n=B(this);(null==n?void 0:n.S)||(null==n?void 0:n.T)&&n.T.then((()=>{}))}})()))}componentOnReady(){return B(this).T}};e.U=n[0],o.includes(s)||i.get(s)||(l.push(s),i.define(s,H(r,e,1)))}))})),p&&(a.innerHTML+=s),a.innerHTML+=l+"{visibility:hidden}.hydrated{visibility:inherit}",a.innerHTML.length){a.setAttribute("data-styles","");const n=null!==(e=tn.k)&&void 0!==e?e:c(nn);null!=n&&a.setAttribute("nonce",n),r.insertBefore(a,u?u.nextSibling:r.firstChild)}v=!1,f.length?f.map((n=>n.connectedCallback())):tn.jmp((()=>d=setTimeout(q,30)))},_=n=>tn.k=n,z=new WeakMap,B=n=>z.get(n),G=(n,t)=>z.set(t.S=n,t),I=(n,t)=>{const e={i:0,$hostElement$:n,O:t,A:new Map};return e.T=new Promise((n=>e.C=n)),n["s-p"]=[],n["s-rc"]=[],z.set(n,e)},J=(n,t)=>t in n,K=(n,t)=>(0,console.error)(n,t),Q=new Map,X=n=>{const t=n.m.replace(/-/g,"_"),e=n.U,l=Q.get(e);return l?l[t]:import(`./${e}.entry.js`).then((n=>(Q.set(e,n),n[t])),K)
|
2
|
+
/*!__STENCIL_STATIC_IMPORT_SWITCH__*/},Y=new Map,Z="undefined"!=typeof window?window:{},nn=Z.document||{head:{}},tn={i:0,N:"",jmp:n=>n(),raf:n=>requestAnimationFrame(n),ael:(n,t,e,l)=>n.addEventListener(t,e,l),rel:(n,t,e,l)=>n.removeEventListener(t,e,l),ce:(n,t)=>new CustomEvent(n,t)},en=n=>Promise.resolve(n),ln=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(n){}return!1})(),on=[],sn=[],rn=(n,t)=>e=>{n.push(e),o||(o=!0,t&&4&tn.i?an(un):tn.raf(un))},cn=n=>{for(let t=0;t<n.length;t++)try{n[t](performance.now())}catch(n){K(n)}n.length=0},un=()=>{cn(on),cn(sn),(o=on.length>0)&&tn.raf(un)},an=n=>en().then(n),fn=rn(sn,!0);export{V as b,W as f,T as g,u as h,en as p,G as r,_ as s}
|
@@ -1 +1 @@
|
|
1
|
-
import{p as o,b as t}from"./p-
|
1
|
+
import{p as o,b as t}from"./p-6add2b01.js";export{s as setNonce}from"./p-6add2b01.js";(()=>{const t=import.meta.url,p={};return""!==t&&(p.resourcesUrl=new URL(".",t).href),o(p)})().then((o=>t([["p-3f92e698",[[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.
|
3
|
+
"version": "0.0.708",
|
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,11 +27,11 @@
|
|
27
27
|
"format": "prettier --write src"
|
28
28
|
},
|
29
29
|
"dependencies": {
|
30
|
-
"@stencil/core": "4.
|
30
|
+
"@stencil/core": "4.9.0",
|
31
31
|
"@stencil/store": "2.0.12",
|
32
32
|
"ky": "1.1.3",
|
33
|
-
"proto-tailwindcss-clrs": "0.0.
|
34
|
-
"tailwindcss": "3.3.
|
33
|
+
"proto-tailwindcss-clrs": "0.0.297",
|
34
|
+
"tailwindcss": "3.3.7"
|
35
35
|
},
|
36
36
|
"devDependencies": {
|
37
37
|
"autoprefixer": "10.4.16",
|
@@ -1,2 +0,0 @@
|
|
1
|
-
let n,t,e=!1,l=null,o=!1;const s="slot-fb{display:contents}slot-fb[hidden]{display:none}",i={},r=n=>"object"==(n=typeof n)||"function"===n;function c(n){var t,e,l;return null!==(l=null===(e=null===(t=n.head)||void 0===t?void 0:t.querySelector('meta[name="csp-nonce"]'))||void 0===e?void 0:e.getAttribute("content"))&&void 0!==l?l:void 0}const u=(n,t,...e)=>{let l=null,o=!1,s=!1;const i=[],c=t=>{for(let e=0;e<t.length;e++)l=t[e],Array.isArray(l)?c(l):null!=l&&"boolean"!=typeof l&&((o="function"!=typeof n&&!r(l))&&(l+=""),o&&s?i[i.length-1].t+=l:i.push(o?a(null,l):l),s=o)};if(c(e),t){const n=t.className||t.class;n&&(t.class="object"!=typeof n?n:Object.keys(n).filter((t=>n[t])).join(" "))}if("function"==typeof n)return n(null===t?{}:t,i,d);const u=a(n,null);return u.l=t,i.length>0&&(u.o=i),u},a=(n,t)=>({i:0,u:n,t,v:null,o:null,l:null}),f={},d={forEach:(n,t)=>n.map(v).forEach(t),map:(n,t)=>n.map(v).map(t).map(p)},v=n=>({vattrs:n.l,vchildren:n.o,vkey:n.p,vname:n.h,vtag:n.u,vtext:n.t}),p=n=>{if("function"==typeof n.vtag){const t=Object.assign({},n.vattrs);return n.vkey&&(t.key=n.vkey),n.vname&&(t.name=n.vname),u(n.vtag,t,...n.vchildren||[])}const t=a(n.vtag,n.vtext);return t.l=n.vattrs,t.o=n.vchildren,t.p=n.vkey,t.h=n.vname,t},y=new WeakMap,h=n=>"sc-"+n.m,m=(n,t,e,l,o,s)=>{if(e!==l){let i=J(n,t),c=t.toLowerCase();if("class"===t){const t=n.classList,o=w(e),s=w(l);t.remove(...o.filter((n=>n&&!s.includes(n)))),t.add(...s.filter((n=>n&&!o.includes(n))))}else if(i||"o"!==t[0]||"n"!==t[1]){const c=r(l);if((i||c&&null!==l)&&!o)try{if(n.tagName.includes("-"))n[t]=l;else{const o=null==l?"":l;"list"===t?i=!1:null!=e&&n[t]==o||(n[t]=o)}}catch(n){}null==l||!1===l?!1===l&&""!==n.getAttribute(t)||n.removeAttribute(t):(!i||4&s||o)&&!c&&n.setAttribute(t,l=!0===l?"":l)}else if(t="-"===t[2]?t.slice(3):J(Z,c)?c.slice(2):c[2]+t.slice(3),e||l){const o=t.endsWith(b);t=t.replace(g,""),e&&tn.rel(n,t,e,o),l&&tn.ael(n,t,l,o)}}},$=/\s/,w=n=>n?n.split($):[],b="Capture",g=RegExp(b+"$"),j=(n,t,e,l)=>{const o=11===t.v.nodeType&&t.v.host?t.v.host:t.v,s=n&&n.l||i,r=t.l||i;for(l in s)l in r||m(o,l,s[l],void 0,e,t.i);for(l in r)m(o,l,s[l],r[l],e,t.i)},S=(l,o,s)=>{const i=o.o[s];let r,c,u=0;if(null!==i.t)r=i.v=nn.createTextNode(i.t);else{if(e||(e="svg"===i.u),r=i.v=nn.createElementNS(e?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",i.u),e&&"foreignObject"===i.u&&(e=!1),j(null,i,e),null!=n&&r["s-si"]!==n&&r.classList.add(r["s-si"]=n),i.o)for(u=0;u<i.o.length;++u)c=S(l,i,u),c&&r.appendChild(c);"svg"===i.u?e=!1:"foreignObject"===r.tagName&&(e=!0)}return r["s-hn"]=t,r},O=(n,e,l,o,s,i)=>{let r,c=n;for(c.shadowRoot&&c.tagName===t&&(c=c.shadowRoot);s<=i;++s)o[s]&&(r=S(null,l,s),r&&(o[s].v=r,c.insertBefore(r,e)))},k=(n,t,e)=>{for(let l=t;l<=e;++l){const t=n[l];if(t){const n=t.v;n&&n.remove()}}},M=(n,t)=>n.u===t.u,C=(n,t)=>{const l=t.v=n.v,o=n.o,s=t.o,i=t.u,r=t.t;null===r?(e="svg"===i||"foreignObject"!==i&&e,j(n,t,e),null!==o&&null!==s?((n,t,e,l)=>{let o,s=0,i=0,r=t.length-1,c=t[0],u=t[r],a=l.length-1,f=l[0],d=l[a];for(;s<=r&&i<=a;)null==c?c=t[++s]:null==u?u=t[--r]:null==f?f=l[++i]:null==d?d=l[--a]:M(c,f)?(C(c,f),c=t[++s],f=l[++i]):M(u,d)?(C(u,d),u=t[--r],d=l[--a]):M(c,d)?(C(c,d),n.insertBefore(c.v,u.v.nextSibling),c=t[++s],d=l[--a]):M(u,f)?(C(u,f),n.insertBefore(u.v,c.v),u=t[--r],f=l[++i]):(o=S(t&&t[i],e,i),f=l[++i],o&&c.v.parentNode.insertBefore(o,c.v));s>r?O(n,null==l[a+1]?null:l[a+1].v,e,l,i,a):i>a&&k(t,s,r)})(l,o,t,s):null!==s?(null!==n.t&&(l.textContent=""),O(l,null,t,s,0,s.length-1)):null!==o&&k(o,0,o.length-1),e&&"svg"===i&&(e=!1)):n.t!==r&&(l.data=r)},x=(n,t)=>{t&&!n.$&&t["s-p"]&&t["s-p"].push(new Promise((t=>n.$=t)))},E=(n,t)=>{if(n.i|=16,!(4&n.i))return x(n,n.j),fn((()=>P(n,t)));n.i|=512},P=(n,t)=>{const e=n.S;return A(void 0,(()=>N(n,e,t)))},A=(n,t)=>L(n)?n.then(t):t(),L=n=>n instanceof Promise||n&&n.then&&"function"==typeof n.then,N=async(n,t,e)=>{var l;const o=n.$hostElement$,i=o["s-rc"];e&&(n=>{const t=n.O,e=n.$hostElement$,l=t.i,o=((n,t)=>{var e;const l=h(t),o=Y.get(l);if(n=11===n.nodeType?n:nn,o)if("string"==typeof o){let i,r=y.get(n=n.head||n);if(r||y.set(n,r=new Set),!r.has(l)){{i=nn.createElement("style"),i.innerHTML=o;const t=null!==(e=tn.k)&&void 0!==e?e:c(nn);null!=t&&i.setAttribute("nonce",t),n.insertBefore(i,n.querySelector("link"))}4&t.i&&(i.innerHTML+=s),r&&r.add(l)}}else n.adoptedStyleSheets.includes(o)||(n.adoptedStyleSheets=[...n.adoptedStyleSheets,o]);return l})(e.shadowRoot?e.shadowRoot:e.getRootNode(),t);10&l&&(e["s-sc"]=o,e.classList.add(o+"-h"))})(n);R(n,t,o,e),i&&(i.map((n=>n())),o["s-rc"]=void 0);{const t=null!==(l=o["s-p"])&&void 0!==l?l:[],e=()=>U(n);0===t.length?e():(Promise.all(t).then(e),n.i|=4,t.length=0)}},R=(e,o,s,i)=>{try{l=o,o=o.render(),e.i&=-17,e.i|=2,((e,l,o=!1)=>{const s=e.$hostElement$,i=e.M||a(null,null),r=(n=>n&&n.u===f)(l)?l:u(null,null,l);if(t=s.tagName,o&&r.l)for(const n of Object.keys(r.l))s.hasAttribute(n)&&!["key","ref","style","class"].includes(n)&&(r.l[n]=s[n]);r.u=null,r.i|=4,e.M=r,r.v=i.v=s.shadowRoot||s,n=s["s-sc"],C(i,r)})(e,o,i)}catch(n){K(n,e.$hostElement$)}return l=null,null},T=()=>l,U=n=>{const t=n.$hostElement$,e=n.S,l=n.j;64&n.i||(n.i|=64,F(t),D(e,"componentDidLoad"),n.C(t),l||q()),n.$&&(n.$(),n.$=void 0),512&n.i&&an((()=>E(n,!1))),n.i&=-517},W=n=>{{const t=B(n),e=t.$hostElement$.isConnected;return e&&2==(18&t.i)&&E(t,!1),e}},q=()=>{F(nn.documentElement),an((()=>(n=>{const t=tn.ce("appload",{detail:{namespace:"proto-sudoku-wc"}});return n.dispatchEvent(t),t})(Z)))},D=(n,t,e)=>{if(n&&n[t])try{return n[t](e)}catch(n){K(n)}},F=n=>n.classList.add("hydrated"),H=(n,t,e)=>{var l;const o=n.prototype;if(t.P){const s=Object.entries(t.P);if(s.map((([n,[l]])=>{(31&l||2&e&&32&l)&&Object.defineProperty(o,n,{get(){return((n,t)=>B(this).A.get(t))(0,n)},set(e){((n,t,e,l)=>{const o=B(n),s=o.A.get(t),i=o.i,c=o.S;e=((n,t)=>null==n||r(n)?n:1&t?n+"":n)(e,l.P[t][0]),8&i&&void 0!==s||e===s||Number.isNaN(s)&&Number.isNaN(e)||(o.A.set(t,e),c&&2==(18&i)&&E(o,!1))})(this,n,e,t)},configurable:!0,enumerable:!0})})),1&e){const e=new Map;o.attributeChangedCallback=function(n,l,s){tn.jmp((()=>{var i;const r=e.get(n);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 e=B(this),o=null==e?void 0:e.i;if(o&&!(8&o)&&128&o&&s!==l){const o=e.S,r=null===(i=t.L)||void 0===i?void 0:i[n];null==r||r.forEach((t=>{null!=o[t]&&o[t].call(o,s,l,n)}))}return}}this[r]=(null!==s||"boolean"!=typeof this[r])&&s}))},n.observedAttributes=Array.from(new Set([...Object.keys(null!==(l=t.L)&&void 0!==l?l:{}),...s.filter((([n,t])=>15&t[0])).map((([n,t])=>{const l=t[1]||n;return e.set(l,n),l}))]))}}return n},V=(n,t={})=>{var e;const l=[],o=t.exclude||[],i=Z.customElements,r=nn.head,u=r.querySelector("meta[charset]"),a=nn.createElement("style"),f=[];let d,v=!0;Object.assign(tn,t),tn.N=new URL(t.resourcesUrl||"./",nn.baseURI).href;let p=!1;if(n.map((n=>{n[1].map((t=>{const e={i:t[0],m:t[1],P:t[2],R:t[3]};4&e.i&&(p=!0),e.P=t[2];const s=e.m,r=class extends HTMLElement{constructor(n){super(n),I(n=this,e),1&e.i&&n.attachShadow({mode:"open"})}connectedCallback(){d&&(clearTimeout(d),d=null),v?f.push(this):tn.jmp((()=>(n=>{if(0==(1&tn.i)){const t=B(n),e=t.O,l=()=>{};if(1&t.i)(null==t?void 0:t.S)||(null==t?void 0:t.T)&&t.T.then((()=>{}));else{t.i|=1;{let e=n;for(;e=e.parentNode||e.host;)if(e["s-p"]){x(t,t.j=e);break}}e.P&&Object.entries(e.P).map((([t,[e]])=>{if(31&e&&n.hasOwnProperty(t)){const e=n[t];delete n[t],n[t]=e}})),(async(n,t,e)=>{let l;if(0==(32&t.i)){t.i|=32;{if(l=X(e),l.then){const n=()=>{};l=await l,n()}l.isProxied||(H(l,e,2),l.isProxied=!0);const n=()=>{};t.i|=8;try{new l(t)}catch(n){K(n)}t.i&=-9,n()}if(l.style){let n=l.style;const t=h(e);if(!Y.has(t)){const l=()=>{};((n,t,e)=>{let l=Y.get(n);ln&&e?(l=l||new CSSStyleSheet,"string"==typeof l?l=t:l.replaceSync(t)):l=t,Y.set(n,l)})(t,n,!!(1&e.i)),l()}}}const o=t.j,s=()=>E(t,!0);o&&o["s-rc"]?o["s-rc"].push(s):s()})(0,t,e)}l()}})(this)))}disconnectedCallback(){tn.jmp((()=>(async()=>{if(0==(1&tn.i)){const n=B(this);(null==n?void 0:n.S)||(null==n?void 0:n.T)&&n.T.then((()=>{}))}})()))}componentOnReady(){return B(this).T}};e.U=n[0],o.includes(s)||i.get(s)||(l.push(s),i.define(s,H(r,e,1)))}))})),p&&(a.innerHTML+=s),a.innerHTML+=l+"{visibility:hidden}.hydrated{visibility:inherit}",a.innerHTML.length){a.setAttribute("data-styles","");const n=null!==(e=tn.k)&&void 0!==e?e:c(nn);null!=n&&a.setAttribute("nonce",n),r.insertBefore(a,u?u.nextSibling:r.firstChild)}v=!1,f.length?f.map((n=>n.connectedCallback())):tn.jmp((()=>d=setTimeout(q,30)))},_=n=>tn.k=n,z=new WeakMap,B=n=>z.get(n),G=(n,t)=>z.set(t.S=n,t),I=(n,t)=>{const e={i:0,$hostElement$:n,O:t,A:new Map};return e.T=new Promise((n=>e.C=n)),n["s-p"]=[],n["s-rc"]=[],z.set(n,e)},J=(n,t)=>t in n,K=(n,t)=>(0,console.error)(n,t),Q=new Map,X=n=>{const t=n.m.replace(/-/g,"_"),e=n.U,l=Q.get(e);return l?l[t]:import(`./${e}.entry.js`).then((n=>(Q.set(e,n),n[t])),K)
|
2
|
-
/*!__STENCIL_STATIC_IMPORT_SWITCH__*/},Y=new Map,Z="undefined"!=typeof window?window:{},nn=Z.document||{head:{}},tn={i:0,N:"",jmp:n=>n(),raf:n=>requestAnimationFrame(n),ael:(n,t,e,l)=>n.addEventListener(t,e,l),rel:(n,t,e,l)=>n.removeEventListener(t,e,l),ce:(n,t)=>new CustomEvent(n,t)},en=n=>Promise.resolve(n),ln=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(n){}return!1})(),on=[],sn=[],rn=(n,t)=>e=>{n.push(e),o||(o=!0,t&&4&tn.i?an(un):tn.raf(un))},cn=n=>{for(let t=0;t<n.length;t++)try{n[t](performance.now())}catch(n){K(n)}n.length=0},un=()=>{cn(on),cn(sn),(o=on.length>0)&&tn.raf(un)},an=n=>en().then(n),fn=rn(sn,!0);export{V as b,W as f,T as g,u as h,en as p,G as r,_ as s}
|