proto-sudoku-wc 0.0.558 → 0.0.560
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-ec0934d1.js → index-2fefbcfc.js} +32 -0
- package/dist/cjs/loader.cjs.js +3 -2
- package/dist/cjs/proto-sudoku-wc.cjs.js +6 -2
- package/dist/cjs/proto-sudoku.cjs.entry.js +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/esm/{index-8c3c63ca.js → index-866661d5.js} +32 -1
- package/dist/esm/loader.js +3 -2
- package/dist/esm/proto-sudoku-wc.js +3 -2
- package/dist/esm/proto-sudoku.entry.js +1 -1
- package/dist/proto-sudoku-wc/{p-72703663.entry.js → p-63887806.entry.js} +1 -1
- package/dist/proto-sudoku-wc/p-d0fc6e92.js +2 -0
- package/dist/proto-sudoku-wc/proto-sudoku-wc.esm.js +1 -1
- package/dist/types/stencil-public-runtime.d.ts +9 -0
- package/loader/index.d.ts +9 -0
- package/package.json +4 -4
- package/dist/proto-sudoku-wc/p-2ed13a49.js +0 -2
@@ -69,6 +69,18 @@ const isComplexType = (o) => {
|
|
69
69
|
o = typeof o;
|
70
70
|
return o === 'object' || o === 'function';
|
71
71
|
};
|
72
|
+
/**
|
73
|
+
* Helper method for querying a `meta` tag that contains a nonce value
|
74
|
+
* out of a DOM's head.
|
75
|
+
*
|
76
|
+
* @param doc The DOM containing the `head` to query against
|
77
|
+
* @returns The content of the meta tag representing the nonce value, or `undefined` if no tag
|
78
|
+
* exists or the tag has no content.
|
79
|
+
*/
|
80
|
+
function queryNonceMetaTagContent(doc) {
|
81
|
+
var _a, _b, _c;
|
82
|
+
return (_c = (_b = (_a = doc.head) === null || _a === void 0 ? void 0 : _a.querySelector('meta[name="csp-nonce"]')) === null || _b === void 0 ? void 0 : _b.getAttribute('content')) !== null && _c !== void 0 ? _c : undefined;
|
83
|
+
}
|
72
84
|
/**
|
73
85
|
* Production h() function based on Preact by
|
74
86
|
* Jason Miller (@developit)
|
@@ -251,6 +263,7 @@ const registerStyle = (scopeId, cssText, allowCS) => {
|
|
251
263
|
styles.set(scopeId, style);
|
252
264
|
};
|
253
265
|
const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
|
266
|
+
var _a;
|
254
267
|
let scopeId = getScopeId(cmpMeta);
|
255
268
|
const style = styles.get(scopeId);
|
256
269
|
// if an element is NOT connected then getRootNode() will return the wrong root node
|
@@ -270,6 +283,11 @@ const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
|
|
270
283
|
styleElm = doc.createElement('style');
|
271
284
|
styleElm.innerHTML = style;
|
272
285
|
}
|
286
|
+
// Apply CSP nonce to the style tag if it exists
|
287
|
+
const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
|
288
|
+
if (nonce != null) {
|
289
|
+
styleElm.setAttribute('nonce', nonce);
|
290
|
+
}
|
273
291
|
styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));
|
274
292
|
}
|
275
293
|
if (appliedStyles) {
|
@@ -1186,6 +1204,7 @@ const disconnectedCallback = (elm) => {
|
|
1186
1204
|
}
|
1187
1205
|
};
|
1188
1206
|
const bootstrapLazy = (lazyBundles, options = {}) => {
|
1207
|
+
var _a;
|
1189
1208
|
const endBootstrap = createTime();
|
1190
1209
|
const cmpTags = [];
|
1191
1210
|
const exclude = options.exclude || [];
|
@@ -1259,6 +1278,11 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
1259
1278
|
{
|
1260
1279
|
visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS;
|
1261
1280
|
visibilityStyle.setAttribute('data-styles', '');
|
1281
|
+
// Apply CSP nonce to the style tag if it exists
|
1282
|
+
const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
|
1283
|
+
if (nonce != null) {
|
1284
|
+
visibilityStyle.setAttribute('nonce', nonce);
|
1285
|
+
}
|
1262
1286
|
head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);
|
1263
1287
|
}
|
1264
1288
|
// Process deferred connectedCallbacks now all components have been registered
|
@@ -1274,6 +1298,13 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
1274
1298
|
// Fallback appLoad event
|
1275
1299
|
endBootstrap();
|
1276
1300
|
};
|
1301
|
+
/**
|
1302
|
+
* Assigns the given value to the nonce property on the runtime platform object.
|
1303
|
+
* During runtime, this value is used to set the nonce attribute on all dynamically created script and style tags.
|
1304
|
+
* @param nonce The value to be assigned to the platform nonce property.
|
1305
|
+
* @returns void
|
1306
|
+
*/
|
1307
|
+
const setNonce = (nonce) => (plt.$nonce$ = nonce);
|
1277
1308
|
const hostRefs = /*@__PURE__*/ new WeakMap();
|
1278
1309
|
const getHostRef = (ref) => hostRefs.get(ref);
|
1279
1310
|
const registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);
|
@@ -1386,3 +1417,4 @@ exports.getRenderingRef = getRenderingRef;
|
|
1386
1417
|
exports.h = h;
|
1387
1418
|
exports.promiseResolve = promiseResolve;
|
1388
1419
|
exports.registerInstance = registerInstance;
|
1420
|
+
exports.setNonce = setNonce;
|
package/dist/cjs/loader.cjs.js
CHANGED
@@ -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-2fefbcfc.js');
|
6
6
|
|
7
7
|
/*
|
8
|
-
Stencil Client Patch Esm v2.
|
8
|
+
Stencil Client Patch Esm v2.22.1 | MIT Licensed | https://stenciljs.com
|
9
9
|
*/
|
10
10
|
const patchEsm = () => {
|
11
11
|
return index.promiseResolve();
|
@@ -18,4 +18,5 @@ const defineCustomElements = (win, options) => {
|
|
18
18
|
});
|
19
19
|
};
|
20
20
|
|
21
|
+
exports.setNonce = index.setNonce;
|
21
22
|
exports.defineCustomElements = defineCustomElements;
|
@@ -1,9 +1,11 @@
|
|
1
1
|
'use strict';
|
2
2
|
|
3
|
-
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
4
|
+
|
5
|
+
const index = require('./index-2fefbcfc.js');
|
4
6
|
|
5
7
|
/*
|
6
|
-
Stencil Client Patch Browser v2.
|
8
|
+
Stencil Client Patch Browser v2.22.1 | MIT Licensed | https://stenciljs.com
|
7
9
|
*/
|
8
10
|
const patchBrowser = () => {
|
9
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));
|
@@ -17,3 +19,5 @@ const patchBrowser = () => {
|
|
17
19
|
patchBrowser().then(options => {
|
18
20
|
return index.bootstrapLazy([["proto-sudoku.cjs",[[1,"proto-sudoku",{"tag":[1],"platform":[1]}]]]], options);
|
19
21
|
});
|
22
|
+
|
23
|
+
exports.setNonce = index.setNonce;
|
@@ -47,6 +47,18 @@ const isComplexType = (o) => {
|
|
47
47
|
o = typeof o;
|
48
48
|
return o === 'object' || o === 'function';
|
49
49
|
};
|
50
|
+
/**
|
51
|
+
* Helper method for querying a `meta` tag that contains a nonce value
|
52
|
+
* out of a DOM's head.
|
53
|
+
*
|
54
|
+
* @param doc The DOM containing the `head` to query against
|
55
|
+
* @returns The content of the meta tag representing the nonce value, or `undefined` if no tag
|
56
|
+
* exists or the tag has no content.
|
57
|
+
*/
|
58
|
+
function queryNonceMetaTagContent(doc) {
|
59
|
+
var _a, _b, _c;
|
60
|
+
return (_c = (_b = (_a = doc.head) === null || _a === void 0 ? void 0 : _a.querySelector('meta[name="csp-nonce"]')) === null || _b === void 0 ? void 0 : _b.getAttribute('content')) !== null && _c !== void 0 ? _c : undefined;
|
61
|
+
}
|
50
62
|
/**
|
51
63
|
* Production h() function based on Preact by
|
52
64
|
* Jason Miller (@developit)
|
@@ -229,6 +241,7 @@ const registerStyle = (scopeId, cssText, allowCS) => {
|
|
229
241
|
styles.set(scopeId, style);
|
230
242
|
};
|
231
243
|
const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
|
244
|
+
var _a;
|
232
245
|
let scopeId = getScopeId(cmpMeta);
|
233
246
|
const style = styles.get(scopeId);
|
234
247
|
// if an element is NOT connected then getRootNode() will return the wrong root node
|
@@ -248,6 +261,11 @@ const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
|
|
248
261
|
styleElm = doc.createElement('style');
|
249
262
|
styleElm.innerHTML = style;
|
250
263
|
}
|
264
|
+
// Apply CSP nonce to the style tag if it exists
|
265
|
+
const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
|
266
|
+
if (nonce != null) {
|
267
|
+
styleElm.setAttribute('nonce', nonce);
|
268
|
+
}
|
251
269
|
styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));
|
252
270
|
}
|
253
271
|
if (appliedStyles) {
|
@@ -1164,6 +1182,7 @@ const disconnectedCallback = (elm) => {
|
|
1164
1182
|
}
|
1165
1183
|
};
|
1166
1184
|
const bootstrapLazy = (lazyBundles, options = {}) => {
|
1185
|
+
var _a;
|
1167
1186
|
const endBootstrap = createTime();
|
1168
1187
|
const cmpTags = [];
|
1169
1188
|
const exclude = options.exclude || [];
|
@@ -1237,6 +1256,11 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
1237
1256
|
{
|
1238
1257
|
visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS;
|
1239
1258
|
visibilityStyle.setAttribute('data-styles', '');
|
1259
|
+
// Apply CSP nonce to the style tag if it exists
|
1260
|
+
const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
|
1261
|
+
if (nonce != null) {
|
1262
|
+
visibilityStyle.setAttribute('nonce', nonce);
|
1263
|
+
}
|
1240
1264
|
head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);
|
1241
1265
|
}
|
1242
1266
|
// Process deferred connectedCallbacks now all components have been registered
|
@@ -1252,6 +1276,13 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
1252
1276
|
// Fallback appLoad event
|
1253
1277
|
endBootstrap();
|
1254
1278
|
};
|
1279
|
+
/**
|
1280
|
+
* Assigns the given value to the nonce property on the runtime platform object.
|
1281
|
+
* During runtime, this value is used to set the nonce attribute on all dynamically created script and style tags.
|
1282
|
+
* @param nonce The value to be assigned to the platform nonce property.
|
1283
|
+
* @returns void
|
1284
|
+
*/
|
1285
|
+
const setNonce = (nonce) => (plt.$nonce$ = nonce);
|
1255
1286
|
const hostRefs = /*@__PURE__*/ new WeakMap();
|
1256
1287
|
const getHostRef = (ref) => hostRefs.get(ref);
|
1257
1288
|
const registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);
|
@@ -1358,4 +1389,4 @@ const flush = () => {
|
|
1358
1389
|
const nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb);
|
1359
1390
|
const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
|
1360
1391
|
|
1361
|
-
export { bootstrapLazy as b, forceUpdate as f, getRenderingRef as g, h, promiseResolve as p, registerInstance as r };
|
1392
|
+
export { bootstrapLazy as b, forceUpdate as f, getRenderingRef as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
|
package/dist/esm/loader.js
CHANGED
@@ -1,7 +1,8 @@
|
|
1
|
-
import { p as promiseResolve, b as bootstrapLazy } from './index-
|
1
|
+
import { p as promiseResolve, b as bootstrapLazy } from './index-866661d5.js';
|
2
|
+
export { s as setNonce } from './index-866661d5.js';
|
2
3
|
|
3
4
|
/*
|
4
|
-
Stencil Client Patch Esm v2.
|
5
|
+
Stencil Client Patch Esm v2.22.1 | MIT Licensed | https://stenciljs.com
|
5
6
|
*/
|
6
7
|
const patchEsm = () => {
|
7
8
|
return promiseResolve();
|
@@ -1,7 +1,8 @@
|
|
1
|
-
import { p as promiseResolve, b as bootstrapLazy } from './index-
|
1
|
+
import { p as promiseResolve, b as bootstrapLazy } from './index-866661d5.js';
|
2
|
+
export { s as setNonce } from './index-866661d5.js';
|
2
3
|
|
3
4
|
/*
|
4
|
-
Stencil Client Patch Browser v2.
|
5
|
+
Stencil Client Patch Browser v2.22.1 | MIT Licensed | https://stenciljs.com
|
5
6
|
*/
|
6
7
|
const patchBrowser = () => {
|
7
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-866661d5.js';
|
2
2
|
|
3
3
|
const Alien = props => {
|
4
4
|
const hex = props.hex || 'currentColor';
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{h as t,g as e,f as r,r as o}from"./p-2ed13a49.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 ?",w="New Puzzle",g=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(g))})(...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;return"function"==typeof globalThis.ReadableStream&&(e=new globalThis.Request("https://a.com",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type")),t&&!e})(),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-d0fc6e92.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 ?",w="New Puzzle",g=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(g))})(...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;return"function"==typeof globalThis.ReadableStream&&(e=new globalThis.Request("https://a.com",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type")),t&&!e})(),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 top-0 right-0 text-clrs-gray hover:text-clrs-navy",href:"https://eswat2.dev","aria-label":it,title:it},t(at,{label:it})),ct=(e,r)=>t("h1",{class:rt("text-center uppercase text-clrs-red","mr-0 ml-0 mt-11 mb-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===w?"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)),wt=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)},gt=()=>{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(wt,{cell:e,focus:i,selected:a,solved:s})})))},mt=()=>t("label",{class:"ml-auto align-top text-xs italic text-clrs-slate4"},"Tailwind ","3.2.4"),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:w,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(gt,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}.top-0{top:0px}.right-0{right:0px}.mt-5{margin-top:1.25rem}.mr-2{margin-right:0.5rem}.mr-1{margin-right:0.25rem}.mr-0{margin-right:0px}.ml-0{margin-left:0px}.mt-11{margin-top:2.75rem}.mb-11{margin-bottom:2.75rem}.mt-2{margin-top:0.5rem}.ml-auto{margin-left:auto}.flex{display:flex}.h-24px{height:24px}.h-8{height:2rem}.h-76p5{height:19.125rem}.w-8{width:2rem}.w-76p5{width:19.125rem}.max-w-min{max-width:-moz-min-content;max-width:min-content}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-end{justify-content:flex-end}.rounded-md{border-radius:0.375rem}.border{border-width:1px}.border-solid{border-style:solid}.border-clrs-slate4{border-color:var(--clrs-slate4, #4e5964)}.border-clrs-red{border-color:var(--clrs-red, #ff4136)}.border-clrs-gray{border-color:var(--clrs-gray, #aaaaaa)}.border-clrs-navy{border-color:var(--clrs-navy, #001f3f)}.bg-clrs-yellow{background-color:var(--clrs-yellow, #ffdc00)}.bg-clrs-navy{background-color:var(--clrs-navy, #001f3f)}.bg-clrs-red{background-color:var(--clrs-red, #ff4136)}.bg-clrs-slate4{background-color:var(--clrs-slate4, #4e5964)}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.bg-clrs-red-a50{background-color:var(--clrs-red-a50, #ff413650)}.bg-clrs-green-a50{background-color:var(--clrs-green-a50, #2ecc4050)}.bg-clrs-silver{background-color:var(--clrs-silver, #dddddd)}.p-0\\.5{padding:0.125rem}.p-0{padding:0px}.px-3{padding-left:0.75rem;padding-right:0.75rem}.py-2{padding-top:0.5rem;padding-bottom:0.5rem}.px-2{padding-left:0.5rem;padding-right:0.5rem}.py-1{padding-top:0.25rem;padding-bottom:0.25rem}.text-center{text-align:center}.align-top{vertical-align:top}.text-6xl{font-size:3.75rem;line-height:1}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xs{font-size:0.75rem;line-height:1rem}.font-bold{font-weight:700}.font-thin{font-weight:100}.uppercase{text-transform:uppercase}.italic{font-style:italic}.leading-8{line-height:2rem}.text-clrs-navy{color:var(--clrs-navy, #001f3f)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-clrs-red{color:var(--clrs-red, #ff4136)}.text-clrs-gray{color:var(--clrs-gray, #aaaaaa)}.text-clrs-slate4{color:var(--clrs-slate4, #4e5964)}.opacity-25{opacity:0.25}.opacity-75{opacity:0.75}.shadow{--tw-shadow:0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),\n 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.border-xbb-clrs-navy{border-bottom:1px solid var(--clrs-navy, #001f3f) !important}.border-xbt-clrs-navy{border-top:1px solid var(--clrs-navy, #001f3f) !important}.border-xbl-clrs-navy{border-left:1px solid var(--clrs-navy, #001f3f) !important}.border-xbr-clrs-navy{border-right:1px solid var(--clrs-navy, #001f3f) !important}.hover\\:text-clrs-navy:hover{color:var(--clrs-navy, #001f3f)}";export{Ct as proto_sudoku}
|
@@ -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,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}
|
@@ -1 +1 @@
|
|
1
|
-
import{p as o,b as p}from"./p-
|
1
|
+
import{p as o,b as p}from"./p-d0fc6e92.js";export{s as setNonce}from"./p-d0fc6e92.js";(()=>{const p=import.meta.url,r={};return""!==p&&(r.resourcesUrl=new URL(".",p).href),o(r)})().then((o=>p([["p-63887806",[[1,"proto-sudoku",{tag:[1],platform:[1]}]]]],o)));
|
@@ -257,6 +257,15 @@ export declare function getAssetPath(path: string): string;
|
|
257
257
|
* @returns the set path
|
258
258
|
*/
|
259
259
|
export declare function setAssetPath(path: string): string;
|
260
|
+
/**
|
261
|
+
* Used to specify a nonce value that corresponds with an application's
|
262
|
+
* [Content Security Policy (CSP)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP).
|
263
|
+
* When set, the nonce will be added to all dynamically created script and style tags at runtime.
|
264
|
+
* Alternatively, the nonce value can be set on a `meta` tag in the DOM head
|
265
|
+
* (<meta name="csp-nonce" content="{ nonce value here }" />) and will result in the same behavior.
|
266
|
+
* @param nonce The value to be used for the nonce attribute.
|
267
|
+
*/
|
268
|
+
export declare function setNonce(nonce: string): void;
|
260
269
|
/**
|
261
270
|
* Retrieve a Stencil element for a given reference
|
262
271
|
* @param ref the ref to get the Stencil element for
|
package/loader/index.d.ts
CHANGED
@@ -10,3 +10,12 @@ export interface CustomElementsDefineOptions {
|
|
10
10
|
}
|
11
11
|
export declare function defineCustomElements(win?: Window, opts?: CustomElementsDefineOptions): Promise<void>;
|
12
12
|
export declare function applyPolyfills(): Promise<void>;
|
13
|
+
|
14
|
+
/**
|
15
|
+
* Used to specify a nonce value that corresponds with an application's CSP.
|
16
|
+
* When set, the nonce will be added to all dynamically created script and style tags at runtime.
|
17
|
+
* Alternatively, the nonce value can be set on a meta tag in the DOM head
|
18
|
+
* (<meta name="csp-nonce" content="{ nonce value here }" />) which
|
19
|
+
* will result in the same behavior.
|
20
|
+
*/
|
21
|
+
export declare function setNonce(nonce: string): void;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "proto-sudoku-wc",
|
3
|
-
"version": "0.0.
|
3
|
+
"version": "0.0.560",
|
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",
|
@@ -29,8 +29,8 @@
|
|
29
29
|
"format": "prettier --write src"
|
30
30
|
},
|
31
31
|
"dependencies": {
|
32
|
-
"@stencil/core": "2.
|
33
|
-
"@stencil/store": "2.0.
|
32
|
+
"@stencil/core": "2.22.1",
|
33
|
+
"@stencil/store": "2.0.3",
|
34
34
|
"ky": "0.33.2",
|
35
35
|
"proto-tailwindcss-clrs": "0.0.205",
|
36
36
|
"tailwindcss": "3.2.4"
|
@@ -40,7 +40,7 @@
|
|
40
40
|
"@types/puppeteer": "5.4.7",
|
41
41
|
"autoprefixer": "10.4.13",
|
42
42
|
"concurrently": "7.6.0",
|
43
|
-
"cspell": "6.
|
43
|
+
"cspell": "6.19.0",
|
44
44
|
"cssnano": "5.1.14",
|
45
45
|
"eslint": "8.32.0",
|
46
46
|
"jest": "29.3.1",
|
@@ -1,2 +0,0 @@
|
|
1
|
-
let t,e,n=!1,l=null,o=!1;const s={},r=t=>"object"==(t=typeof t)||"function"===t,c=(t,e,...n)=>{let l=null,o=!1,s=!1;const c=[],u=e=>{for(let n=0;n<e.length;n++)l=e[n],Array.isArray(l)?u(l):null!=l&&"boolean"!=typeof l&&((o="function"!=typeof t&&!r(l))&&(l+=""),o&&s?c[c.length-1].t+=l:c.push(o?i(null,l):l),s=o)};if(u(n),e){const t=e.className||e.class;t&&(e.class="object"!=typeof t?t:Object.keys(t).filter((e=>t[e])).join(" "))}if("function"==typeof t)return t(null===e?{}:e,c,a);const f=i(t,null);return f.l=e,c.length>0&&(f.o=c),f},i=(t,e)=>({i:0,u:t,t:e,h:null,o:null,l:null}),u={},a={forEach:(t,e)=>t.map(f).forEach(e),map:(t,e)=>t.map(f).map(e).map(h)},f=t=>({vattrs:t.l,vchildren:t.o,vkey:t.p,vname:t.$,vtag:t.u,vtext:t.t}),h=t=>{if("function"==typeof t.vtag){const e=Object.assign({},t.vattrs);return t.vkey&&(e.key=t.vkey),t.vname&&(e.name=t.vname),c(t.vtag,e,...t.vchildren||[])}const e=i(t.vtag,t.vtext);return e.l=t.vattrs,e.o=t.vchildren,e.p=t.vkey,e.$=t.vname,e},p=new WeakMap,y=t=>"sc-"+t.m,$=(t,e,n,l,o,s)=>{if(n!==l){let c=V(t,e),i=e.toLowerCase();if("class"===e){const e=t.classList,o=m(n),s=m(l);e.remove(...o.filter((t=>t&&!s.includes(t)))),e.add(...s.filter((t=>t&&!o.includes(t))))}else if(c||"o"!==e[0]||"n"!==e[1]){const i=r(l);if((c||i&&null!==l)&&!o)try{if(t.tagName.includes("-"))t[e]=l;else{const o=null==l?"":l;"list"===e?c=!1:null!=n&&t[e]==o||(t[e]=o)}}catch(t){}null==l||!1===l?!1===l&&""!==t.getAttribute(e)||t.removeAttribute(e):(!c||4&s||o)&&!i&&t.setAttribute(e,l=!0===l?"":l)}else e="-"===e[2]?e.slice(3):V(I,i)?i.slice(2):i[2]+e.slice(3),n&&K.rel(t,e,n,!1),l&&K.ael(t,e,l,!1)}},d=/\s/,m=t=>t?t.split(d):[],w=(t,e,n,l)=>{const o=11===e.h.nodeType&&e.h.host?e.h.host:e.h,r=t&&t.l||s,c=e.l||s;for(l in r)l in c||$(o,l,r[l],void 0,n,e.i);for(l in c)$(o,l,r[l],c[l],n,e.i)},b=(e,l,o)=>{const s=l.o[o];let r,c,i=0;if(null!==s.t)r=s.h=J.createTextNode(s.t);else{if(n||(n="svg"===s.u),r=s.h=J.createElementNS(n?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",s.u),n&&"foreignObject"===s.u&&(n=!1),w(null,s,n),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(e,s,i),c&&r.appendChild(c);"svg"===s.u?n=!1:"foreignObject"===r.tagName&&(n=!0)}return r},g=(t,n,l,o,s,r)=>{let c,i=t;for(i.shadowRoot&&i.tagName===e&&(i=i.shadowRoot);s<=r;++s)o[s]&&(c=b(null,l,s),c&&(o[s].h=c,i.insertBefore(c,n)))},v=(t,e,n,l)=>{for(;e<=n;++e)(l=t[e])&&l.h.remove()},j=(t,e)=>t.u===e.u,S=(t,e)=>{const l=e.h=t.h,o=t.o,s=e.o,r=e.u,c=e.t;null===c?(n="svg"===r||"foreignObject"!==r&&n,w(t,e,n),null!==o&&null!==s?((t,e,n,l)=>{let o,s=0,r=0,c=e.length-1,i=e[0],u=e[c],a=l.length-1,f=l[0],h=l[a];for(;s<=c&&r<=a;)null==i?i=e[++s]:null==u?u=e[--c]:null==f?f=l[++r]:null==h?h=l[--a]:j(i,f)?(S(i,f),i=e[++s],f=l[++r]):j(u,h)?(S(u,h),u=e[--c],h=l[--a]):j(i,h)?(S(i,h),t.insertBefore(i.h,u.h.nextSibling),i=e[++s],h=l[--a]):j(u,f)?(S(u,f),t.insertBefore(u.h,i.h),u=e[--c],f=l[++r]):(o=b(e&&e[r],n,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,n,l,r,a):r>a&&v(e,s,c)})(l,o,e,s):null!==s?(null!==t.t&&(l.textContent=""),g(l,null,e,s,0,s.length-1)):null!==o&&v(o,0,o.length-1),n&&"svg"===r&&(n=!1)):t.t!==c&&(l.data=c)},O=(t,e)=>{e&&!t.g&&e["s-p"]&&e["s-p"].push(new Promise((e=>t.g=e)))},k=(t,e)=>{if(t.i|=16,!(4&t.i))return O(t,t.v),ot((()=>M(t,e)));t.i|=512},M=(t,e)=>{const n=t.j;return A(void 0,(()=>C(t,n,e)))},C=async(t,e,n)=>{const l=t.S,o=l["s-rc"];n&&(t=>{const e=t.O,n=t.S,l=e.i,o=((t,e)=>{let n=y(e);const l=G.get(n);if(t=11===t.nodeType?t:J,l)if("string"==typeof l){let e,o=p.get(t=t.head||t);o||p.set(t,o=new Set),o.has(n)||(e=J.createElement("style"),e.innerHTML=l,t.insertBefore(e,t.querySelector("link")),o&&o.add(n))}else t.adoptedStyleSheets.includes(l)||(t.adoptedStyleSheets=[...t.adoptedStyleSheets,l]);return n})(n.shadowRoot?n.shadowRoot:n.getRootNode(),e);10&l&&(n["s-sc"]=o,n.classList.add(o+"-h"))})(t);x(t,e),o&&(o.map((t=>t())),l["s-rc"]=void 0);{const e=l["s-p"],n=()=>P(t);0===e.length?n():(Promise.all(e).then(n),t.i|=4,e.length=0)}},x=(n,o)=>{try{l=o,o=o.render(),n.i&=-17,n.i|=2,((n,l)=>{const o=n.S,s=n.k||i(null,null),r=(t=>t&&t.u===u)(l)?l:c(null,null,l);e=o.tagName,r.u=null,r.i|=4,n.k=r,r.h=s.h=o.shadowRoot||o,t=o["s-sc"],S(s,r)})(n,o)}catch(t){_(t,n.S)}return l=null,null},E=()=>l,P=t=>{const e=t.S,n=t.j,l=t.v;64&t.i||(t.i|=64,R(e),T(n,"componentDidLoad"),t.M(e),l||N()),t.g&&(t.g(),t.g=void 0),512&t.i&<((()=>k(t,!1))),t.i&=-517},L=t=>{{const e=D(t),n=e.S.isConnected;return n&&2==(18&e.i)&&k(e,!1),n}},N=()=>{R(J.documentElement),lt((()=>(t=>{const e=K.ce("appload",{detail:{namespace:"proto-sudoku-wc"}});return t.dispatchEvent(e),e})(I)))},T=(t,e,n)=>{if(t&&t[e])try{return t[e](n)}catch(t){_(t)}},A=(t,e)=>t&&t.then?t.then(e):e(),R=t=>t.classList.add("hydrated"),U=(t,e,n)=>{if(e.C){const l=Object.entries(e.C),o=t.prototype;if(l.map((([t,[l]])=>{(31&l||2&n&&32&l)&&Object.defineProperty(o,t,{get(){return((t,e)=>D(this).P.get(e))(0,t)},set(n){((t,e,n,l)=>{const o=D(t),s=o.P.get(e),c=o.i,i=o.j;n=((t,e)=>null==t||r(t)?t:1&e?t+"":t)(n,l.C[e][0]),8&c&&void 0!==s||n===s||Number.isNaN(s)&&Number.isNaN(n)||(o.P.set(e,n),i&&2==(18&c)&&k(o,!1))})(this,t,n,e)},configurable:!0,enumerable:!0})})),1&n){const e=new Map;o.attributeChangedCallback=function(t,n,l){K.jmp((()=>{const n=e.get(t);if(this.hasOwnProperty(n))l=this[n],delete this[n];else if(o.hasOwnProperty(n)&&"number"==typeof this[n]&&this[n]==l)return;this[n]=(null!==l||"boolean"!=typeof this[n])&&l}))},t.observedAttributes=l.filter((([t,e])=>15&e[0])).map((([t,n])=>{const l=n[1]||t;return e.set(l,t),l}))}}return t},W=(t,e={})=>{const n=[],l=e.exclude||[],o=I.customElements,s=J.head,r=s.querySelector("meta[charset]"),c=J.createElement("style"),i=[];let u,a=!0;Object.assign(K,e),K.L=new URL(e.resourcesUrl||"./",J.baseURI).href,t.map((t=>{t[1].map((e=>{const s={i:e[0],m:e[1],C:e[2],N:e[3]};s.C=e[2];const r=s.m,c=class extends HTMLElement{constructor(t){super(t),H(t=this,s),1&s.i&&t.attachShadow({mode:"open"})}connectedCallback(){u&&(clearTimeout(u),u=null),a?i.push(this):K.jmp((()=>(t=>{if(0==(1&K.i)){const e=D(t),n=e.O,l=()=>{};if(!(1&e.i)){e.i|=1;{let n=t;for(;n=n.parentNode||n.host;)if(n["s-p"]){O(e,e.v=n);break}}n.C&&Object.entries(n.C).map((([e,[n]])=>{if(31&n&&t.hasOwnProperty(e)){const n=t[e];delete t[e],t[e]=n}})),(async(t,e,n,l,o)=>{if(0==(32&e.i)){{if(e.i|=32,(o=B(n)).then){const t=()=>{};o=await o,t()}o.isProxied||(U(o,n,2),o.isProxied=!0);const t=()=>{};e.i|=8;try{new o(e)}catch(t){_(t)}e.i&=-9,t()}if(o.style){let t=o.style;const e=y(n);if(!G.has(e)){const l=()=>{};((t,e,n)=>{let l=G.get(t);X&&n?(l=l||new CSSStyleSheet,"string"==typeof l?l=e:l.replaceSync(e)):l=e,G.set(t,l)})(e,t,!!(1&n.i)),l()}}}const s=e.v,r=()=>k(e,!0);s&&s["s-rc"]?s["s-rc"].push(r):r()})(0,e,n)}l()}})(this)))}disconnectedCallback(){K.jmp((()=>{}))}componentOnReady(){return D(this).T}};s.A=t[0],l.includes(r)||o.get(r)||(n.push(r),o.define(r,U(c,s,1)))}))})),c.innerHTML=n+"{visibility:hidden}.hydrated{visibility:inherit}",c.setAttribute("data-styles",""),s.insertBefore(c,r?r.nextSibling:s.firstChild),a=!1,i.length?i.map((t=>t.connectedCallback())):K.jmp((()=>u=setTimeout(N,30)))},q=new WeakMap,D=t=>q.get(t),F=(t,e)=>q.set(e.j=t,e),H=(t,e)=>{const n={i:0,S:t,O:e,P:new Map};return n.T=new Promise((t=>n.M=t)),t["s-p"]=[],t["s-rc"]=[],q.set(t,n)},V=(t,e)=>e in t,_=(t,e)=>(0,console.error)(t,e),z=new Map,B=t=>{const e=t.m.replace(/-/g,"_"),n=t.A,l=z.get(n);return l?l[e]:import(`./${n}.entry.js`).then((t=>(z.set(n,t),t[e])),_)
|
2
|
-
/*!__STENCIL_STATIC_IMPORT_SWITCH__*/},G=new Map,I="undefined"!=typeof window?window:{},J=I.document||{head:{}},K={i:0,L:"",jmp:t=>t(),raf:t=>requestAnimationFrame(t),ael:(t,e,n,l)=>t.addEventListener(e,n,l),rel:(t,e,n,l)=>t.removeEventListener(e,n,l),ce:(t,e)=>new CustomEvent(t,e)},Q=t=>Promise.resolve(t),X=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(t){}return!1})(),Y=[],Z=[],tt=(t,e)=>n=>{t.push(n),o||(o=!0,e&&4&K.i?lt(nt):K.raf(nt))},et=t=>{for(let e=0;e<t.length;e++)try{t[e](performance.now())}catch(t){_(t)}t.length=0},nt=()=>{et(Y),et(Z),(o=Y.length>0)&&K.raf(nt)},lt=t=>Q().then(t),ot=tt(Z,!0);export{W as b,L as f,E as g,c as h,Q as p,F as r}
|