proto-sudoku-wc 0.0.922 → 0.0.924

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.
@@ -24,7 +24,7 @@ const NAMESPACE = 'proto-sudoku-wc';
24
24
  const BUILD = /* proto-sudoku-wc */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: false, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: false, element: false, event: false, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: false, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false, modernPropertyDecls: false, observeAttribute: true, profile: false, prop: true, propBoolean: false, propMutable: false, propNumber: false, propString: true, reflect: false, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: false, slotChildNodesFix: false, slotRelocation: false, state: false, style: true, svg: true, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: false, vdomRender: true, vdomStyle: false, vdomText: true, vdomXlink: false, watchCallback: false };
25
25
 
26
26
  /*
27
- Stencil Client Platform v4.25.0 | MIT Licensed | https://stenciljs.com
27
+ Stencil Client Platform v4.25.1 | MIT Licensed | https://stenciljs.com
28
28
  */
29
29
  var __defProp = Object.defineProperty;
30
30
  var __export = (target, all) => {
@@ -380,7 +380,10 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
380
380
  if (styleContainerNode.nodeName === "HEAD") {
381
381
  const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
382
382
  const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
383
- styleContainerNode.insertBefore(styleElm, referenceNode2);
383
+ styleContainerNode.insertBefore(
384
+ styleElm,
385
+ (referenceNode2 == null ? void 0 : referenceNode2.parentNode) === styleContainerNode ? referenceNode2 : null
386
+ );
384
387
  } else if ("host" in styleContainerNode) {
385
388
  if (supportsConstructableStylesheets) {
386
389
  const stylesheet = new CSSStyleSheet();
@@ -430,7 +433,7 @@ var attachStyles = (hostRef) => {
430
433
  endAttachStyles();
431
434
  };
432
435
  var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$);
433
- var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
436
+ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRender) => {
434
437
  if (oldValue !== newValue) {
435
438
  let isProp = isMemberInElement(elm, memberName);
436
439
  let ln = memberName.toLowerCase();
@@ -438,15 +441,7 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
438
441
  const classList = elm.classList;
439
442
  const oldClasses = parseClassList(oldValue);
440
443
  let newClasses = parseClassList(newValue);
441
- if (elm["s-si"]) {
442
- newClasses.push(elm["s-si"]);
443
- oldClasses.forEach((c) => {
444
- if (c.startsWith(elm["s-si"])) newClasses.push(c);
445
- });
446
- newClasses = [...new Set(newClasses)];
447
- classList.add(...newClasses);
448
- delete elm["s-si"];
449
- } else {
444
+ {
450
445
  classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
451
446
  classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
452
447
  }
@@ -506,10 +501,10 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
506
501
  };
507
502
  var parseClassListRegex = /\s/;
508
503
  var parseClassList = (value) => {
509
- if (typeof value === "object" && "baseVal" in value) {
504
+ if (typeof value === "object" && value && "baseVal" in value) {
510
505
  value = value.baseVal;
511
506
  }
512
- if (!value) {
507
+ if (!value || typeof value !== "string") {
513
508
  return [];
514
509
  }
515
510
  return value.split(parseClassListRegex);
@@ -518,19 +513,31 @@ var CAPTURE_EVENT_SUFFIX = "Capture";
518
513
  var CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + "$");
519
514
 
520
515
  // src/runtime/vdom/update-element.ts
521
- var updateElement = (oldVnode, newVnode, isSvgMode2) => {
516
+ var updateElement = (oldVnode, newVnode, isSvgMode2, isInitialRender) => {
522
517
  const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host ? newVnode.$elm$.host : newVnode.$elm$;
523
518
  const oldVnodeAttrs = oldVnode && oldVnode.$attrs$ || {};
524
519
  const newVnodeAttrs = newVnode.$attrs$ || {};
525
520
  {
526
521
  for (const memberName of sortedAttrNames(Object.keys(oldVnodeAttrs))) {
527
522
  if (!(memberName in newVnodeAttrs)) {
528
- setAccessor(elm, memberName, oldVnodeAttrs[memberName], void 0, isSvgMode2, newVnode.$flags$);
523
+ setAccessor(
524
+ elm,
525
+ memberName,
526
+ oldVnodeAttrs[memberName],
527
+ void 0,
528
+ isSvgMode2,
529
+ newVnode.$flags$);
529
530
  }
530
531
  }
531
532
  }
532
533
  for (const memberName of sortedAttrNames(Object.keys(newVnodeAttrs))) {
533
- setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode2, newVnode.$flags$);
534
+ setAccessor(
535
+ elm,
536
+ memberName,
537
+ oldVnodeAttrs[memberName],
538
+ newVnodeAttrs[memberName],
539
+ isSvgMode2,
540
+ newVnode.$flags$);
534
541
  }
535
542
  };
536
543
  function sortedAttrNames(attrNames) {
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-ebe7e7bb.js');
5
+ const index = require('./index-df4042b7.js');
6
6
  const appGlobals = require('./app-globals-3a1e7e63.js');
7
7
 
8
8
  const defineCustomElements = async (win, options) => {
@@ -2,11 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-ebe7e7bb.js');
5
+ const index = require('./index-df4042b7.js');
6
6
  const appGlobals = require('./app-globals-3a1e7e63.js');
7
7
 
8
8
  /*
9
- Stencil Client Patch Browser v4.25.0 | MIT Licensed | https://stenciljs.com
9
+ Stencil Client Patch Browser v4.25.1 | MIT Licensed | https://stenciljs.com
10
10
  */
11
11
  var patchBrowser = () => {
12
12
  const importMeta = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('proto-sudoku-wc.cjs.js', document.baseURI).href));
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-ebe7e7bb.js');
5
+ const index = require('./index-df4042b7.js');
6
6
 
7
7
  const Alien = props => {
8
8
  const hex = props.hex || 'currentColor';
@@ -4,7 +4,7 @@
4
4
  ],
5
5
  "compiler": {
6
6
  "name": "@stencil/core",
7
- "version": "4.25.0",
7
+ "version": "4.25.1",
8
8
  "typescriptVersion": "5.5.4"
9
9
  },
10
10
  "collections": [],
@@ -2,7 +2,7 @@ const NAMESPACE = 'proto-sudoku-wc';
2
2
  const BUILD = /* proto-sudoku-wc */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: false, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: false, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: false, element: false, event: false, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: false, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false, modernPropertyDecls: false, observeAttribute: true, profile: false, prop: true, propBoolean: false, propMutable: false, propNumber: false, propString: true, reflect: false, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: false, slotChildNodesFix: false, slotRelocation: false, state: false, style: true, svg: true, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: false, vdomRender: true, vdomStyle: false, vdomText: true, vdomXlink: false, watchCallback: false };
3
3
 
4
4
  /*
5
- Stencil Client Platform v4.25.0 | MIT Licensed | https://stenciljs.com
5
+ Stencil Client Platform v4.25.1 | MIT Licensed | https://stenciljs.com
6
6
  */
7
7
  var __defProp = Object.defineProperty;
8
8
  var __export = (target, all) => {
@@ -358,7 +358,10 @@ var addStyle = (styleContainerNode, cmpMeta, mode) => {
358
358
  if (styleContainerNode.nodeName === "HEAD") {
359
359
  const preconnectLinks = styleContainerNode.querySelectorAll("link[rel=preconnect]");
360
360
  const referenceNode2 = preconnectLinks.length > 0 ? preconnectLinks[preconnectLinks.length - 1].nextSibling : styleContainerNode.querySelector("style");
361
- styleContainerNode.insertBefore(styleElm, referenceNode2);
361
+ styleContainerNode.insertBefore(
362
+ styleElm,
363
+ (referenceNode2 == null ? void 0 : referenceNode2.parentNode) === styleContainerNode ? referenceNode2 : null
364
+ );
362
365
  } else if ("host" in styleContainerNode) {
363
366
  if (supportsConstructableStylesheets) {
364
367
  const stylesheet = new CSSStyleSheet();
@@ -408,7 +411,7 @@ var attachStyles = (hostRef) => {
408
411
  endAttachStyles();
409
412
  };
410
413
  var getScopeId = (cmp, mode) => "sc-" + (cmp.$tagName$);
411
- var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
414
+ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRender) => {
412
415
  if (oldValue !== newValue) {
413
416
  let isProp = isMemberInElement(elm, memberName);
414
417
  let ln = memberName.toLowerCase();
@@ -416,15 +419,7 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
416
419
  const classList = elm.classList;
417
420
  const oldClasses = parseClassList(oldValue);
418
421
  let newClasses = parseClassList(newValue);
419
- if (elm["s-si"]) {
420
- newClasses.push(elm["s-si"]);
421
- oldClasses.forEach((c) => {
422
- if (c.startsWith(elm["s-si"])) newClasses.push(c);
423
- });
424
- newClasses = [...new Set(newClasses)];
425
- classList.add(...newClasses);
426
- delete elm["s-si"];
427
- } else {
422
+ {
428
423
  classList.remove(...oldClasses.filter((c) => c && !newClasses.includes(c)));
429
424
  classList.add(...newClasses.filter((c) => c && !oldClasses.includes(c)));
430
425
  }
@@ -484,10 +479,10 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
484
479
  };
485
480
  var parseClassListRegex = /\s/;
486
481
  var parseClassList = (value) => {
487
- if (typeof value === "object" && "baseVal" in value) {
482
+ if (typeof value === "object" && value && "baseVal" in value) {
488
483
  value = value.baseVal;
489
484
  }
490
- if (!value) {
485
+ if (!value || typeof value !== "string") {
491
486
  return [];
492
487
  }
493
488
  return value.split(parseClassListRegex);
@@ -496,19 +491,31 @@ var CAPTURE_EVENT_SUFFIX = "Capture";
496
491
  var CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + "$");
497
492
 
498
493
  // src/runtime/vdom/update-element.ts
499
- var updateElement = (oldVnode, newVnode, isSvgMode2) => {
494
+ var updateElement = (oldVnode, newVnode, isSvgMode2, isInitialRender) => {
500
495
  const elm = newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host ? newVnode.$elm$.host : newVnode.$elm$;
501
496
  const oldVnodeAttrs = oldVnode && oldVnode.$attrs$ || {};
502
497
  const newVnodeAttrs = newVnode.$attrs$ || {};
503
498
  {
504
499
  for (const memberName of sortedAttrNames(Object.keys(oldVnodeAttrs))) {
505
500
  if (!(memberName in newVnodeAttrs)) {
506
- setAccessor(elm, memberName, oldVnodeAttrs[memberName], void 0, isSvgMode2, newVnode.$flags$);
501
+ setAccessor(
502
+ elm,
503
+ memberName,
504
+ oldVnodeAttrs[memberName],
505
+ void 0,
506
+ isSvgMode2,
507
+ newVnode.$flags$);
507
508
  }
508
509
  }
509
510
  }
510
511
  for (const memberName of sortedAttrNames(Object.keys(newVnodeAttrs))) {
511
- setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode2, newVnode.$flags$);
512
+ setAccessor(
513
+ elm,
514
+ memberName,
515
+ oldVnodeAttrs[memberName],
516
+ newVnodeAttrs[memberName],
517
+ isSvgMode2,
518
+ newVnode.$flags$);
512
519
  }
513
520
  };
514
521
  function sortedAttrNames(attrNames) {
@@ -1,5 +1,5 @@
1
- import { b as bootstrapLazy } from './index-324be8e2.js';
2
- export { s as setNonce } from './index-324be8e2.js';
1
+ import { b as bootstrapLazy } from './index-9a473736.js';
2
+ export { s as setNonce } from './index-9a473736.js';
3
3
  import { g as globalScripts } from './app-globals-0f993ce5.js';
4
4
 
5
5
  const defineCustomElements = async (win, options) => {
@@ -1,9 +1,9 @@
1
- import { p as promiseResolve, b as bootstrapLazy } from './index-324be8e2.js';
2
- export { s as setNonce } from './index-324be8e2.js';
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-9a473736.js';
2
+ export { s as setNonce } from './index-9a473736.js';
3
3
  import { g as globalScripts } from './app-globals-0f993ce5.js';
4
4
 
5
5
  /*
6
- Stencil Client Patch Browser v4.25.0 | MIT Licensed | https://stenciljs.com
6
+ Stencil Client Patch Browser v4.25.1 | MIT Licensed | https://stenciljs.com
7
7
  */
8
8
  var patchBrowser = () => {
9
9
  const importMeta = import.meta.url;
@@ -1,4 +1,4 @@
1
- import { h, g as getRenderingRef, f as forceUpdate, r as registerInstance } from './index-324be8e2.js';
1
+ import { h, g as getRenderingRef, f as forceUpdate, r as registerInstance } from './index-9a473736.js';
2
2
 
3
3
  const Alien = props => {
4
4
  const hex = props.hex || 'currentColor';
@@ -0,0 +1,2 @@
1
+ var t=Object.defineProperty,e=new WeakMap,n=t=>e.get(t),o=(t,n)=>{e.set(n.t=t,n)},l=(t,e)=>e in t,s=(t,e)=>(0,console.error)(t,e),i=new Map,r=new Map,c="slot-fb{display:contents}slot-fb[hidden]{display:none}",u="undefined"!=typeof window?window:{},f=u.document||{head:{}},a={o:0,l:"",jmp:t=>t(),raf:t=>requestAnimationFrame(t),ael:(t,e,n,o)=>t.addEventListener(e,n,o),rel:(t,e,n,o)=>t.removeEventListener(e,n,o),ce:(t,e)=>new CustomEvent(t,e)},h=t=>Promise.resolve(t),d=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(t){}return!1})(),p=!1,m=[],y=[],v=(t,e)=>n=>{t.push(n),p||(p=!0,e&&4&a.o?b($):a.raf($))},w=t=>{for(let e=0;e<t.length;e++)try{t[e](performance.now())}catch(t){s(t)}t.length=0},$=()=>{w(m),w(y),(p=m.length>0)&&a.raf($)},b=t=>h().then(t),g=v(y,!0),S=t=>"object"==(t=typeof t)||"function"===t;function j(t){var e,n,o;return null!=(o=null==(n=null==(e=t.head)?void 0:e.querySelector('meta[name="csp-nonce"]'))?void 0:n.getAttribute("content"))?o:void 0}((e,n)=>{for(var o in n)t(e,o,{get:n[o],enumerable:!0})})({},{err:()=>k,map:()=>E,ok:()=>O,unwrap:()=>M,unwrapErr:()=>x});var O=t=>({isOk:!0,isErr:!1,value:t}),k=t=>({isOk:!1,isErr:!0,value:t});function E(t,e){if(t.isOk){const n=e(t.value);return n instanceof Promise?n.then((t=>O(t))):O(n)}if(t.isErr)return k(t.value);throw"should never get here"}var C,M=t=>{if(t.isOk)return t.value;throw t.value},x=t=>{if(t.isErr)return t.value;throw t.value},P=(t,e,...n)=>{let o=null,l=null,s=!1,i=!1;const r=[],c=e=>{for(let n=0;n<e.length;n++)o=e[n],Array.isArray(o)?c(o):null!=o&&"boolean"!=typeof o&&((s="function"!=typeof t&&!S(o))&&(o+=""),s&&i?r[r.length-1].i+=o:r.push(s?A(null,o):o),i=s)};if(c(n),e){e.key&&(l=e.key);{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,r,H);const u=A(t,null);return u.u=e,r.length>0&&(u.h=r),u.p=l,u},A=(t,e)=>({o:0,m:t,i:e,v:null,h:null,u:null,p:null}),D={},H={forEach:(t,e)=>t.map(N).forEach(e),map:(t,e)=>t.map(N).map(e).map(R)},N=t=>({vattrs:t.u,vchildren:t.h,vkey:t.p,vname:t.$,vtag:t.m,vtext:t.i}),R=t=>{if("function"==typeof t.vtag){const e={...t.vattrs};return t.vkey&&(e.key=t.vkey),t.vname&&(e.name=t.vname),P(t.vtag,e,...t.vchildren||[])}const e=A(t.vtag,t.vtext);return e.u=t.vattrs,e.h=t.vchildren,e.p=t.vkey,e.$=t.vname,e},T=(t,e)=>null==t||S(t)?t:1&e?t+"":t,L=new WeakMap,U=t=>"sc-"+t.S,F=(t,e,n,o,s,i)=>{if(n!==o){let r=l(t,e),c=e.toLowerCase();if("class"===e){const e=t.classList,l=W(n);let s=W(o);e.remove(...l.filter((t=>t&&!s.includes(t)))),e.add(...s.filter((t=>t&&!l.includes(t))))}else if("key"===e);else if(r||"o"!==e[0]||"n"!==e[1]){const l=S(o);if((r||l&&null!==o)&&!s)try{if(t.tagName.includes("-"))t[e]!==o&&(t[e]=o);else{const l=null==o?"":o;"list"===e?r=!1:null!=n&&t[e]==l||("function"==typeof t.__lookupSetter__(e)?t[e]=l:t.setAttribute(e,l))}}catch(t){}null==o||!1===o?!1===o&&""!==t.getAttribute(e)||t.removeAttribute(e):(!r||4&i||s)&&!l&&t.setAttribute(e,o=!0===o?"":o)}else if(e="-"===e[2]?e.slice(3):l(u,c)?c.slice(2):c[2]+e.slice(3),n||o){const l=e.endsWith(q);e=e.replace(G,""),n&&a.rel(t,e,n,l),o&&a.ael(t,e,o,l)}}},V=/\s/,W=t=>("object"==typeof t&&t&&"baseVal"in t&&(t=t.baseVal),t&&"string"==typeof t?t.split(V):[]),q="Capture",G=RegExp(q+"$"),_=(t,e,n)=>{const o=11===e.v.nodeType&&e.v.host?e.v.host:e.v,l=t&&t.u||{},s=e.u||{};for(const t of z(Object.keys(l)))t in s||F(o,t,l[t],void 0,n,e.o);for(const t of z(Object.keys(s)))F(o,t,l[t],s[t],n,e.o)};function z(t){return t.includes("ref")?[...t.filter((t=>"ref"!==t)),"ref"]:t}var B=!1,I=(t,e,n)=>{const o=e.h[n];let l,s,i=0;if(null!==o.i)l=o.v=f.createTextNode(o.i);else{if(B||(B="svg"===o.m),l=o.v=f.createElementNS(B?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",o.m),B&&"foreignObject"===o.m&&(B=!1),_(null,o,B),o.h)for(i=0;i<o.h.length;++i)s=I(t,o,i),s&&l.appendChild(s);"svg"===o.m?B=!1:"foreignObject"===l.tagName&&(B=!0)}return l["s-hn"]=C,l},J=(t,e,n,o,l,s)=>{let i,r=t;for(r.shadowRoot&&r.tagName===C&&(r=r.shadowRoot);l<=s;++l)o[l]&&(i=I(null,n,l),i&&(o[l].v=i,Y(r,i,e)))},K=(t,e,n)=>{for(let o=e;o<=n;++o){const e=t[o];if(e){const t=e.v;t&&t.remove()}}},Q=(t,e,n=!1)=>t.m===e.m&&(n?(n&&!t.p&&e.p&&(t.p=e.p),!0):t.p===e.p),X=(t,e,n=!1)=>{const o=e.v=t.v,l=t.h,s=e.h,i=e.m,r=e.i;null===r?(_(t,e,B="svg"===i||"foreignObject"!==i&&B),null!==l&&null!==s?((t,e,n,o,l=!1)=>{let s,i,r=0,c=0,u=0,f=0,a=e.length-1,h=e[0],d=e[a],p=o.length-1,m=o[0],y=o[p];for(;r<=a&&c<=p;)if(null==h)h=e[++r];else if(null==d)d=e[--a];else if(null==m)m=o[++c];else if(null==y)y=o[--p];else if(Q(h,m,l))X(h,m,l),h=e[++r],m=o[++c];else if(Q(d,y,l))X(d,y,l),d=e[--a],y=o[--p];else if(Q(h,y,l))X(h,y,l),Y(t,h.v,d.v.nextSibling),h=e[++r],y=o[--p];else if(Q(d,m,l))X(d,m,l),Y(t,d.v,h.v),d=e[--a],m=o[++c];else{for(u=-1,f=r;f<=a;++f)if(e[f]&&null!==e[f].p&&e[f].p===m.p){u=f;break}u>=0?(i=e[u],i.m!==m.m?s=I(e&&e[c],n,u):(X(i,m,l),e[u]=void 0,s=i.v),m=o[++c]):(s=I(e&&e[c],n,c),m=o[++c]),s&&Y(h.v.parentNode,s,h.v)}r>a?J(t,null==o[p+1]?null:o[p+1].v,n,o,c,p):c>p&&K(e,r,a)})(o,l,e,s,n):null!==s?(null!==t.i&&(o.textContent=""),J(o,null,e,s,0,s.length-1)):!n&&null!==l&&K(l,0,l.length-1),B&&"svg"===i&&(B=!1)):t.i!==r&&(o.data=r)},Y=(t,e,n)=>null==t?void 0:t.insertBefore(e,n),Z=(t,e)=>{if(e&&!t.j&&e["s-p"]){const n=e["s-p"].push(new Promise((o=>t.j=()=>{e["s-p"].splice(n-1,1),o()})))}},tt=(t,e)=>{if(t.o|=16,!(4&t.o))return Z(t,t.O),g((()=>et(t,e)));t.o|=512},et=(t,e)=>{const n=t.t;if(!n)throw Error(`Can't render component <${t.$hostElement$.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \`externalRuntime: true\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`);return nt(void 0,(()=>lt(t,n,e)))},nt=(t,e)=>ot(t)?t.then(e).catch((t=>{console.error(t),e()})):e(),ot=t=>t instanceof Promise||t&&t.then&&"function"==typeof t.then,lt=async(t,e,n)=>{var o;const l=t.$hostElement$,s=l["s-rc"];n&&(t=>{const e=t.k,n=t.$hostElement$,o=e.o,l=((t,e)=>{var n;const o=U(e),l=r.get(o);if(t=11===t.nodeType?t:f,l)if("string"==typeof l){let s,i=L.get(t=t.head||t);if(i||L.set(t,i=new Set),!i.has(o)){{s=document.querySelector(`[sty-id="${o}"]`)||f.createElement("style"),s.innerHTML=l;const i=null!=(n=a.C)?n:j(f);if(null!=i&&s.setAttribute("nonce",i),!(1&e.o))if("HEAD"===t.nodeName){const e=t.querySelectorAll("link[rel=preconnect]"),n=e.length>0?e[e.length-1].nextSibling:t.querySelector("style");t.insertBefore(s,(null==n?void 0:n.parentNode)===t?n:null)}else if("host"in t)if(d){const e=new CSSStyleSheet;e.replaceSync(l),t.adoptedStyleSheets=[e,...t.adoptedStyleSheets]}else{const e=t.querySelector("style");e?e.innerHTML=l+e.innerHTML:t.prepend(s)}else t.append(s);1&e.o&&"HEAD"!==t.nodeName&&t.insertBefore(s,null)}4&e.o&&(s.innerHTML+=c),i&&i.add(o)}}else t.adoptedStyleSheets.includes(l)||(t.adoptedStyleSheets=[...t.adoptedStyleSheets,l]);return o})(n.shadowRoot?n.shadowRoot:n.getRootNode(),e);10&o&&2&o&&(n["s-sc"]=l,n.classList.add(l+"-h"))})(t);it(t,e,l,n),s&&(s.map((t=>t())),l["s-rc"]=void 0);{const e=null!=(o=l["s-p"])?o:[],n=()=>ct(t);0===e.length?n():(Promise.all(e).then(n),t.o|=4,e.length=0)}},st=null,it=(t,e,n,o)=>{try{st=e,e=e.render(),t.o&=-17,t.o|=2,((t,e,n=!1)=>{const o=t.$hostElement$,l=t.k,s=t.M||A(null,null),i=(t=>t&&t.m===D)(e)?e:P(null,null,e);if(C=o.tagName,n&&i.u)for(const t of Object.keys(i.u))o.hasAttribute(t)&&!["key","ref","style","class"].includes(t)&&(i.u[t]=o[t]);i.m=null,i.o|=4,t.M=i,i.v=s.v=o.shadowRoot||o,X(s,i,n)})(t,e,o)}catch(e){s(e,t.$hostElement$)}return st=null,null},rt=()=>st,ct=t=>{const e=t.$hostElement$,n=t.t,o=t.O;64&t.o||(t.o|=64,ht(e),at(n,"componentDidLoad",void 0,e),t.P(e),o||ft()),t.j&&(t.j(),t.j=void 0),512&t.o&&b((()=>tt(t,!1))),t.o&=-517},ut=t=>{{const e=n(t),o=e.$hostElement$.isConnected;return o&&2==(18&e.o)&&tt(e,!1),o}},ft=()=>{ht(f.documentElement),b((()=>(t=>{const e=a.ce("appload",{detail:{namespace:"proto-sudoku-wc"}});return t.dispatchEvent(e),e})(u)))},at=(t,e,n,o)=>{if(t&&t[e])try{return t[e](n)}catch(t){s(t,o)}},ht=t=>t.classList.add("hydrated"),dt=(t,e,o,l)=>{const s=n(t);if(!s)throw Error(`Couldn't find host element for "${l.S}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/ionic-team/stencil/issues/5457).`);const i=s.A.get(e),r=s.o,c=s.t;o=T(o,l.D[e][0]),8&r&&void 0!==i||o===i||Number.isNaN(i)&&Number.isNaN(o)||(s.A.set(e,o),c&&2==(18&r)&&tt(s,!1))},pt=(t,e,o)=>{var l,s;const i=t.prototype;if(e.D){const r=Object.entries(null!=(l=e.D)?l:{});if(r.map((([t,[l]])=>{if(31&l||2&o&&32&l){const{get:s,set:r}=Object.getOwnPropertyDescriptor(i,t)||{};s&&(e.D[t][0]|=2048),r&&(e.D[t][0]|=4096),(1&o||!s)&&Object.defineProperty(i,t,{get(){{if(!(2048&e.D[t][0]))return((t,e)=>n(this).A.get(e))(0,t);const o=n(this),l=o?o.t:i;if(!l)return;return l[t]}},configurable:!0,enumerable:!0}),Object.defineProperty(i,t,{set(s){const i=n(this);if(r){const n=32&l?this[t]:i.$hostElement$[t];return void 0===n&&i.A.get(t)?s=i.A.get(t):!i.A.get(t)&&n&&i.A.set(t,n),r.call(this,T(s,l)),void dt(this,t,s=32&l?this[t]:i.$hostElement$[t],e)}{if(!(1&o&&4096&e.D[t][0]))return dt(this,t,s,e),void(1&o&&!i.t&&i.H.then((()=>{4096&e.D[t][0]&&i.t[t]!==i.A.get(t)&&(i.t[t]=s)})));const n=()=>{const n=i.t[t];!i.A.get(t)&&n&&i.A.set(t,n),i.t[t]=T(s,l),dt(this,t,i.t[t],e)};i.t?n():i.H.then((()=>n()))}}})}})),1&o){const o=new Map;i.attributeChangedCallback=function(t,l,s){a.jmp((()=>{var r;const c=o.get(t);if(this.hasOwnProperty(c))s=this[c],delete this[c];else{if(i.hasOwnProperty(c)&&"number"==typeof this[c]&&this[c]==s)return;if(null==c){const o=n(this),i=null==o?void 0:o.o;if(i&&!(8&i)&&128&i&&s!==l){const n=o.t,i=null==(r=e.N)?void 0:r[t];null==i||i.forEach((e=>{null!=n[e]&&n[e].call(n,s,l,t)}))}return}}const u=Object.getOwnPropertyDescriptor(i,c);(s=(null!==s||"boolean"!=typeof this[c])&&s)===this[c]||u.get&&!u.set||(this[c]=s)}))},t.observedAttributes=Array.from(new Set([...Object.keys(null!=(s=e.N)?s:{}),...r.filter((([t,e])=>15&e[0])).map((([t,e])=>{const n=e[1]||t;return o.set(n,t),n}))]))}}return t},mt=(t,o={})=>{var l;const h=[],p=o.exclude||[],m=u.customElements,y=f.head,v=y.querySelector("meta[charset]"),w=f.createElement("style"),$=[];let b,g=!0;Object.assign(a,o),a.l=new URL(o.resourcesUrl||"./",f.baseURI).href;let S=!1;if(t.map((t=>{t[1].map((o=>{const l={o:o[0],S:o[1],D:o[2],R:o[3]};4&l.o&&(S=!0),l.D=o[2];const c=l.S,u=class extends HTMLElement{constructor(t){if(super(t),this.hasRegisteredEventListeners=!1,((t,n)=>{const o={o:0,$hostElement$:t,k:n,A:new Map};o.H=new Promise((t=>o.P=t)),t["s-p"]=[],t["s-rc"]=[],e.set(t,o)})(t=this,l),1&l.o)if(t.shadowRoot){if("open"!==t.shadowRoot.mode)throw Error(`Unable to re-use existing shadow root for ${l.S}! Mode is set to ${t.shadowRoot.mode} but Stencil only supports open shadow roots.`)}else t.attachShadow({mode:"open"})}connectedCallback(){this.hasRegisteredEventListeners||(this.hasRegisteredEventListeners=!0),b&&(clearTimeout(b),b=null),g?$.push(this):a.jmp((()=>(t=>{if(!(1&a.o)){const e=n(t),o=e.k,l=()=>{};if(1&e.o)(null==e?void 0:e.t)||(null==e?void 0:e.H)&&e.H.then((()=>{}));else{e.o|=1;{let n=t;for(;n=n.parentNode||n.host;)if(n["s-p"]){Z(e,e.O=n);break}}o.D&&Object.entries(o.D).map((([e,[n]])=>{if(31&n&&t.hasOwnProperty(e)){const n=t[e];delete t[e],t[e]=n}})),(async(t,e,n)=>{let o;if(!(32&e.o)){e.o|=32;{const l=((t,e)=>{const n=t.S.replace(/-/g,"_"),o=t.T;if(!o)return;const l=i.get(o);return l?l[n]:import(`./${o}.entry.js`).then((t=>(i.set(o,t),t[n])),(t=>{s(t,e.$hostElement$)}))
2
+ /*!__STENCIL_STATIC_IMPORT_SWITCH__*/})(n,e);if(l&&"then"in l){const t=()=>{};o=await l,t()}else o=l;if(!o)throw Error(`Constructor for "${n.S}#${e.L}" was not found`);o.isProxied||(pt(o,n,2),o.isProxied=!0);const r=()=>{};e.o|=8;try{new o(e)}catch(e){s(e,t)}e.o&=-9,r()}if(o&&o.style){let t;"string"==typeof o.style&&(t=o.style);const e=U(n);if(!r.has(e)){const o=()=>{};((t,e,n)=>{let o=r.get(t);d&&n?(o=o||new CSSStyleSheet,"string"==typeof o?o=e:o.replaceSync(e)):o=e,r.set(t,o)})(e,t,!!(1&n.o)),o()}}}const l=e.O,c=()=>tt(e,!0);l&&l["s-rc"]?l["s-rc"].push(c):c()})(t,e,o)}l()}})(this)))}disconnectedCallback(){a.jmp((()=>(async t=>{if(!(1&a.o)){const e=n(t);(null==e?void 0:e.t)||(null==e?void 0:e.H)&&e.H.then((()=>{}))}L.has(t)&&L.delete(t),t.shadowRoot&&L.has(t.shadowRoot)&&L.delete(t.shadowRoot)})(this))),a.raf((()=>{var t;const e=n(this);(null==(t=null==e?void 0:e.M)?void 0:t.v)instanceof Node&&!e.M.v.isConnected&&delete e.M.v}))}componentOnReady(){return n(this).H}};l.T=t[0],p.includes(c)||m.get(c)||(h.push(c),m.define(c,pt(u,l,1)))}))})),h.length>0&&(S&&(w.textContent+=c),w.textContent+=h.sort()+"{visibility:hidden}.hydrated{visibility:inherit}",w.innerHTML.length)){w.setAttribute("data-styles","");const t=null!=(l=a.C)?l:j(f);null!=t&&w.setAttribute("nonce",t),y.insertBefore(w,v?v.nextSibling:y.firstChild)}g=!1,$.length?$.map((t=>t.connectedCallback())):a.jmp((()=>b=setTimeout(ft,30)))},yt=t=>a.C=t;export{mt as b,ut as f,rt as g,P as h,h as p,o as r,yt as s}
@@ -1,2 +1,2 @@
1
- import{h as n,g as t,f as e,r}from"./p-fcc04256.js";const s=t=>{const e=t.hex||"currentColor",r=t.size||24;return n("svg",{class:t.class,width:r,height:r,viewBox:"0 0 24 24",role:"img","aria-label":"title"},n("title",null,t.label||"alien"),n("g",{fill:e},n("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"})),n("path",{d:"M0 0h24v24H0z",fill:"none"}))},a="proto-sudoku",o=`${a}::data`,i=`${a}::inputs`,l=`${a}::pick`,c=n=>{const t=localStorage.getItem(n);return t?JSON.parse(t):void 0},h=(n,t)=>{const e=JSON.stringify(t);localStorage.setItem(n,e)},f=()=>[...c(i)],d=n=>{h(i,n.join(""))},p=()=>{const n=c(l);return null!==n?n:void 0},u=n=>{h(l,n>=0&&n<81?n:null)},y="Check ?",g="New Puzzle",b=n=>!("isConnected"in n)||n.isConnected,w=(()=>{let n;return(...t)=>{n&&clearTimeout(n),n=setTimeout((()=>{n=0,(n=>{for(let t of n.keys())n.set(t,n.get(t).filter(b))})(...t)}),2e3)}})(),v=n=>"function"==typeof n?n():n;class m extends Error{response;request;options;constructor(n,t,e){const r=`${n.status||0===n.status?n.status:""} ${n.statusText||""}`.trim();super(`Request failed with ${r?`status code ${r}`:"an unknown error"}: ${t.method} ${t.url}`),this.name="HTTPError",this.response=n,this.request=t,this.options=e}}class x extends Error{request;constructor(n){super(`Request timed out: ${n.method} ${n.url}`),this.name="TimeoutError",this.request=n}}const C=n=>null!==n&&"object"==typeof n,k=(...n)=>{for(const t of n)if((!C(t)||Array.isArray(t))&&void 0!==t)throw new TypeError("The `options` argument must be an object");return z({},...n)},T=(n={},t={})=>{const e=new globalThis.Headers(n),r=t instanceof globalThis.Headers,s=new globalThis.Headers(t);for(const[n,t]of s.entries())r&&"undefined"===t||void 0===t?e.delete(n):e.set(n,t);return e};function R(n,t,e){return Object.hasOwn(t,e)&&void 0===t[e]?[]:z(n[e]??[],t[e]??[])}const M=(n={},t={})=>({beforeRequest:R(n,t,"beforeRequest"),beforeRetry:R(n,t,"beforeRetry"),afterResponse:R(n,t,"afterResponse"),beforeError:R(n,t,"beforeError")}),z=(...n)=>{let t={},e={},r={};for(const s of n)if(Array.isArray(s))Array.isArray(t)||(t=[]),t=[...t,...s];else if(C(s)){for(let[n,e]of Object.entries(s))C(e)&&n in t&&(e=z(t[n],e)),t={...t,[n]:e};C(s.hooks)&&(r=M(r,s.hooks),t.hooks=r),C(s.headers)&&(e=T(e,s.headers),t.headers=e)}return t},E=(()=>{let n=!1,t=!1;const e="function"==typeof globalThis.ReadableStream,r="function"==typeof globalThis.Request;if(e&&r)try{t=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return n=!0,"half"}}).headers.has("Content-Type")}catch(n){if(n instanceof Error&&"unsupported BodyInit type"===n.message)return!1;throw n}return n&&!t})(),j="function"==typeof globalThis.AbortController,A="function"==typeof globalThis.ReadableStream,S="function"==typeof globalThis.FormData,P=["get","post","put","patch","head","delete"],q={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},$=2147483647,B=Symbol("stop"),O={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},L={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,dispatcher:!0,duplex:!0,priority:!0},U=n=>P.includes(n)?n.toUpperCase():n,D={limit:2,methods:["get","put","head","delete","options","trace"],statusCodes:[408,413,429,500,502,503,504],afterStatusCodes:[413,429,503],maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:n=>.3*2**(n-1)*1e3},N=(n={})=>{if("number"==typeof n)return{...D,limit:n};if(n.methods&&!Array.isArray(n.methods))throw new Error("retry.methods must be an array");if(n.statusCodes&&!Array.isArray(n.statusCodes))throw new Error("retry.statusCodes must be an array");return{...D,...n}};class _{static create(n,t){const e=new _(n,t),r=async()=>{if("number"==typeof e._options.timeout&&e._options.timeout>$)throw new RangeError("The `timeout` option cannot be greater than 2147483647");await Promise.resolve();let n=await e._fetch();for(const t of e._options.hooks.afterResponse){const r=await t(e.request,e._options,e._decorateResponse(n.clone()));r instanceof globalThis.Response&&(n=r)}if(e._decorateResponse(n),!n.ok&&e._options.throwHttpErrors){let t=new m(n,e.request,e._options);for(const n of e._options.hooks.beforeError)t=await n(t);throw t}if(e._options.onDownloadProgress){if("function"!=typeof e._options.onDownloadProgress)throw new TypeError("The `onDownloadProgress` option must be a function");if(!A)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return e._stream(n.clone(),e._options.onDownloadProgress)}return n},s=e._options.retry.methods.includes(e.request.method.toLowerCase())?e._retry(r):r();for(const[n,r]of Object.entries(q))s[n]=async()=>{e.request.headers.set("accept",e.request.headers.get("accept")||r);const a=await s;if("json"===n){if(204===a.status)return"";if(0===(await a.clone().arrayBuffer()).byteLength)return"";if(t.parseJson)return t.parseJson(await a.text())}return a[n]()};return s}request;abortController;_retryCount=0;_input;_options;constructor(n,t={}){if(this._input=n,this._options={...t,headers:T(this._input.headers,t.headers),hooks:M({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},t.hooks),method:U(t.method??this._input.method),prefixUrl:String(t.prefixUrl||""),retry:N(t.retry),throwHttpErrors:!1!==t.throwHttpErrors,timeout:t.timeout??1e4,fetch:t.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(j){this.abortController=new globalThis.AbortController;const n=this._options.signal??this._input.signal;n?.aborted&&this.abortController.abort(n?.reason),n?.addEventListener("abort",(()=>{this.abortController.abort(n.reason)})),this._options.signal=this.abortController.signal}if(E&&(this._options.duplex="half"),void 0!==this._options.json&&(this._options.body=this._options.stringifyJson?.(this._options.json)??JSON.stringify(this._options.json),this._options.headers.set("content-type",this._options.headers.get("content-type")??"application/json")),this.request=new globalThis.Request(this._input,this._options),this._options.searchParams){const n="string"==typeof this._options.searchParams?this._options.searchParams.replace(/^\?/,""):new URLSearchParams(this._options.searchParams).toString(),t=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,"?"+n);!(S&&this._options.body instanceof globalThis.FormData||this._options.body instanceof URLSearchParams)||this._options.headers&&this._options.headers["content-type"]||this.request.headers.delete("content-type"),this.request=new globalThis.Request(new globalThis.Request(t,{...this.request}),this._options)}}_calculateRetryDelay(n){if(this._retryCount++,this._retryCount>this._options.retry.limit||n instanceof x)throw n;if(n instanceof m){if(!this._options.retry.statusCodes.includes(n.response.status))throw n;const t=n.response.headers.get("Retry-After")??n.response.headers.get("RateLimit-Reset")??n.response.headers.get("X-RateLimit-Reset")??n.response.headers.get("X-Rate-Limit-Reset");if(t&&this._options.retry.afterStatusCodes.includes(n.response.status)){let n=1e3*Number(t);Number.isNaN(n)?n=Date.parse(t)-Date.now():n>=Date.parse("2024-01-01")&&(n-=Date.now());const e=this._options.retry.maxRetryAfter??n;return n<e?n:e}if(413===n.response.status)throw n}const t=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,t)}_decorateResponse(n){return this._options.parseJson&&(n.json=async()=>this._options.parseJson(await n.text())),n}async _retry(n){try{return await n()}catch(t){const e=Math.min(this._calculateRetryDelay(t),$);if(this._retryCount<1)throw t;await async function(n,{signal:t}){return new Promise(((e,r)=>{function s(){clearTimeout(a),r(t.reason)}t&&(t.throwIfAborted(),t.addEventListener("abort",s,{once:!0}));const a=setTimeout((()=>{t?.removeEventListener("abort",s),e()}),n)}))}(e,{signal:this._options.signal});for(const n of this._options.hooks.beforeRetry)if(await n({request:this.request,options:this._options,error:t,retryCount:this._retryCount})===B)return;return this._retry(n)}}async _fetch(){for(const n of this._options.hooks.beforeRequest){const t=await n(this.request,this._options);if(t instanceof Request){this.request=t;break}if(t instanceof Response)return t}const n=((n,t)=>{const e={};for(const r in t)r in L||r in O||r in n||(e[r]=t[r]);return e})(this.request,this._options),t=this.request;return this.request=t.clone(),!1===this._options.timeout?this._options.fetch(t,n):async function(n,t,e,r){return new Promise(((s,a)=>{const o=setTimeout((()=>{e&&e.abort(),a(new x(n))}),r.timeout);r.fetch(n,t).then(s).catch(a).then((()=>{clearTimeout(o)}))}))}(t,n,this.abortController,this._options)}_stream(n,t){const e=Number(n.headers.get("content-length"))||0;let r=0;return 204===n.status?(t&&t({percent:1,totalBytes:e,transferredBytes:r},new Uint8Array),new globalThis.Response(null,{status:n.status,statusText:n.statusText,headers:n.headers})):new globalThis.Response(new globalThis.ReadableStream({async start(s){const a=n.body.getReader();t&&t({percent:0,transferredBytes:0,totalBytes:e},new Uint8Array),await async function n(){const{done:o,value:i}=await a.read();o?s.close():(t&&(r+=i.byteLength,t({percent:0===e?0:r/e,transferredBytes:r,totalBytes:e},i)),s.enqueue(i),await n())}()}}),{status:n.status,statusText:n.statusText,headers:n.headers})}}
1
+ import{h as n,g as t,f as e,r}from"./p-1922517b.js";const s=t=>{const e=t.hex||"currentColor",r=t.size||24;return n("svg",{class:t.class,width:r,height:r,viewBox:"0 0 24 24",role:"img","aria-label":"title"},n("title",null,t.label||"alien"),n("g",{fill:e},n("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"})),n("path",{d:"M0 0h24v24H0z",fill:"none"}))},a="proto-sudoku",o=`${a}::data`,i=`${a}::inputs`,l=`${a}::pick`,c=n=>{const t=localStorage.getItem(n);return t?JSON.parse(t):void 0},h=(n,t)=>{const e=JSON.stringify(t);localStorage.setItem(n,e)},f=()=>[...c(i)],d=n=>{h(i,n.join(""))},p=()=>{const n=c(l);return null!==n?n:void 0},u=n=>{h(l,n>=0&&n<81?n:null)},y="Check ?",g="New Puzzle",b=n=>!("isConnected"in n)||n.isConnected,w=(()=>{let n;return(...t)=>{n&&clearTimeout(n),n=setTimeout((()=>{n=0,(n=>{for(let t of n.keys())n.set(t,n.get(t).filter(b))})(...t)}),2e3)}})(),v=n=>"function"==typeof n?n():n;class m extends Error{response;request;options;constructor(n,t,e){const r=`${n.status||0===n.status?n.status:""} ${n.statusText||""}`.trim();super(`Request failed with ${r?`status code ${r}`:"an unknown error"}: ${t.method} ${t.url}`),this.name="HTTPError",this.response=n,this.request=t,this.options=e}}class x extends Error{request;constructor(n){super(`Request timed out: ${n.method} ${n.url}`),this.name="TimeoutError",this.request=n}}const C=n=>null!==n&&"object"==typeof n,k=(...n)=>{for(const t of n)if((!C(t)||Array.isArray(t))&&void 0!==t)throw new TypeError("The `options` argument must be an object");return z({},...n)},T=(n={},t={})=>{const e=new globalThis.Headers(n),r=t instanceof globalThis.Headers,s=new globalThis.Headers(t);for(const[n,t]of s.entries())r&&"undefined"===t||void 0===t?e.delete(n):e.set(n,t);return e};function R(n,t,e){return Object.hasOwn(t,e)&&void 0===t[e]?[]:z(n[e]??[],t[e]??[])}const M=(n={},t={})=>({beforeRequest:R(n,t,"beforeRequest"),beforeRetry:R(n,t,"beforeRetry"),afterResponse:R(n,t,"afterResponse"),beforeError:R(n,t,"beforeError")}),z=(...n)=>{let t={},e={},r={};for(const s of n)if(Array.isArray(s))Array.isArray(t)||(t=[]),t=[...t,...s];else if(C(s)){for(let[n,e]of Object.entries(s))C(e)&&n in t&&(e=z(t[n],e)),t={...t,[n]:e};C(s.hooks)&&(r=M(r,s.hooks),t.hooks=r),C(s.headers)&&(e=T(e,s.headers),t.headers=e)}return t},E=(()=>{let n=!1,t=!1;const e="function"==typeof globalThis.ReadableStream,r="function"==typeof globalThis.Request;if(e&&r)try{t=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return n=!0,"half"}}).headers.has("Content-Type")}catch(n){if(n instanceof Error&&"unsupported BodyInit type"===n.message)return!1;throw n}return n&&!t})(),j="function"==typeof globalThis.AbortController,A="function"==typeof globalThis.ReadableStream,S="function"==typeof globalThis.FormData,P=["get","post","put","patch","head","delete"],q={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},$=2147483647,B=Symbol("stop"),O={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},L={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,dispatcher:!0,duplex:!0,priority:!0},U=n=>P.includes(n)?n.toUpperCase():n,D={limit:2,methods:["get","put","head","delete","options","trace"],statusCodes:[408,413,429,500,502,503,504],afterStatusCodes:[413,429,503],maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:n=>.3*2**(n-1)*1e3},N=(n={})=>{if("number"==typeof n)return{...D,limit:n};if(n.methods&&!Array.isArray(n.methods))throw new Error("retry.methods must be an array");if(n.statusCodes&&!Array.isArray(n.statusCodes))throw new Error("retry.statusCodes must be an array");return{...D,...n}};class _{static create(n,t){const e=new _(n,t),r=async()=>{if("number"==typeof e._options.timeout&&e._options.timeout>$)throw new RangeError("The `timeout` option cannot be greater than 2147483647");await Promise.resolve();let n=await e._fetch();for(const t of e._options.hooks.afterResponse){const r=await t(e.request,e._options,e._decorateResponse(n.clone()));r instanceof globalThis.Response&&(n=r)}if(e._decorateResponse(n),!n.ok&&e._options.throwHttpErrors){let t=new m(n,e.request,e._options);for(const n of e._options.hooks.beforeError)t=await n(t);throw t}if(e._options.onDownloadProgress){if("function"!=typeof e._options.onDownloadProgress)throw new TypeError("The `onDownloadProgress` option must be a function");if(!A)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return e._stream(n.clone(),e._options.onDownloadProgress)}return n},s=e._options.retry.methods.includes(e.request.method.toLowerCase())?e._retry(r):r();for(const[n,r]of Object.entries(q))s[n]=async()=>{e.request.headers.set("accept",e.request.headers.get("accept")||r);const a=await s;if("json"===n){if(204===a.status)return"";if(0===(await a.clone().arrayBuffer()).byteLength)return"";if(t.parseJson)return t.parseJson(await a.text())}return a[n]()};return s}request;abortController;_retryCount=0;_input;_options;constructor(n,t={}){if(this._input=n,this._options={...t,headers:T(this._input.headers,t.headers),hooks:M({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},t.hooks),method:U(t.method??this._input.method),prefixUrl:String(t.prefixUrl||""),retry:N(t.retry),throwHttpErrors:!1!==t.throwHttpErrors,timeout:t.timeout??1e4,fetch:t.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(j){this.abortController=new globalThis.AbortController;const n=this._options.signal??this._input.signal;n?.aborted&&this.abortController.abort(n?.reason),n?.addEventListener("abort",(()=>{this.abortController.abort(n.reason)})),this._options.signal=this.abortController.signal}if(E&&(this._options.duplex="half"),void 0!==this._options.json&&(this._options.body=this._options.stringifyJson?.(this._options.json)??JSON.stringify(this._options.json),this._options.headers.set("content-type",this._options.headers.get("content-type")??"application/json")),this.request=new globalThis.Request(this._input,this._options),this._options.searchParams){const n="string"==typeof this._options.searchParams?this._options.searchParams.replace(/^\?/,""):new URLSearchParams(this._options.searchParams).toString(),t=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,"?"+n);!(S&&this._options.body instanceof globalThis.FormData||this._options.body instanceof URLSearchParams)||this._options.headers&&this._options.headers["content-type"]||this.request.headers.delete("content-type"),this.request=new globalThis.Request(new globalThis.Request(t,{...this.request}),this._options)}}_calculateRetryDelay(n){if(this._retryCount++,this._retryCount>this._options.retry.limit||n instanceof x)throw n;if(n instanceof m){if(!this._options.retry.statusCodes.includes(n.response.status))throw n;const t=n.response.headers.get("Retry-After")??n.response.headers.get("RateLimit-Reset")??n.response.headers.get("X-RateLimit-Reset")??n.response.headers.get("X-Rate-Limit-Reset");if(t&&this._options.retry.afterStatusCodes.includes(n.response.status)){let n=1e3*Number(t);Number.isNaN(n)?n=Date.parse(t)-Date.now():n>=Date.parse("2024-01-01")&&(n-=Date.now());const e=this._options.retry.maxRetryAfter??n;return n<e?n:e}if(413===n.response.status)throw n}const t=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,t)}_decorateResponse(n){return this._options.parseJson&&(n.json=async()=>this._options.parseJson(await n.text())),n}async _retry(n){try{return await n()}catch(t){const e=Math.min(this._calculateRetryDelay(t),$);if(this._retryCount<1)throw t;await async function(n,{signal:t}){return new Promise(((e,r)=>{function s(){clearTimeout(a),r(t.reason)}t&&(t.throwIfAborted(),t.addEventListener("abort",s,{once:!0}));const a=setTimeout((()=>{t?.removeEventListener("abort",s),e()}),n)}))}(e,{signal:this._options.signal});for(const n of this._options.hooks.beforeRetry)if(await n({request:this.request,options:this._options,error:t,retryCount:this._retryCount})===B)return;return this._retry(n)}}async _fetch(){for(const n of this._options.hooks.beforeRequest){const t=await n(this.request,this._options);if(t instanceof Request){this.request=t;break}if(t instanceof Response)return t}const n=((n,t)=>{const e={};for(const r in t)r in L||r in O||r in n||(e[r]=t[r]);return e})(this.request,this._options),t=this.request;return this.request=t.clone(),!1===this._options.timeout?this._options.fetch(t,n):async function(n,t,e,r){return new Promise(((s,a)=>{const o=setTimeout((()=>{e&&e.abort(),a(new x(n))}),r.timeout);r.fetch(n,t).then(s).catch(a).then((()=>{clearTimeout(o)}))}))}(t,n,this.abortController,this._options)}_stream(n,t){const e=Number(n.headers.get("content-length"))||0;let r=0;return 204===n.status?(t&&t({percent:1,totalBytes:e,transferredBytes:r},new Uint8Array),new globalThis.Response(null,{status:n.status,statusText:n.statusText,headers:n.headers})):new globalThis.Response(new globalThis.ReadableStream({async start(s){const a=n.body.getReader();t&&t({percent:0,transferredBytes:0,totalBytes:e},new Uint8Array),await async function n(){const{done:o,value:i}=await a.read();o?s.close():(t&&(r+=i.byteLength,t({percent:0===e?0:r/e,transferredBytes:r,totalBytes:e},i)),s.enqueue(i),await n())}()}}),{status:n.status,statusText:n.statusText,headers:n.headers})}}
2
2
  /*! MIT License © Sindre Sorhus */const H=n=>{const t=(t,e)=>_.create(t,k(n,e));for(const e of P)t[e]=(t,r)=>_.create(t,k(n,r,{method:e}));return t.create=n=>H(k(n)),t.extend=t=>("function"==typeof t&&(t=t(n??{})),H(k(n,t))),t.stop=B,t},J=H(),X={list:[],keys:[],locs:[],loading:!1,solved:!1,error:void 0,pick:void 0,data:void 0},{state:I}=(()=>{const n=((n,t=((n,t)=>n!==t))=>{const e=v(n);let r=new Map(Object.entries(null!=e?e:{}));const s={dispose:[],get:[],set:[],reset:[]},a=()=>{var t;r=new Map(Object.entries(null!==(t=v(n))&&void 0!==t?t:{})),s.reset.forEach((n=>n()))},o=n=>(s.get.forEach((t=>t(n))),r.get(n)),i=(n,e)=>{const a=r.get(n);t(e,a,n)&&(r.set(n,e),s.set.forEach((t=>t(n,e,a))))},l="undefined"==typeof Proxy?{}:new Proxy(e,{get:(n,t)=>o(t),ownKeys:()=>Array.from(r.keys()),getOwnPropertyDescriptor:()=>({enumerable:!0,configurable:!0}),has:(n,t)=>r.has(t),set:(n,t,e)=>(i(t,e),!0)}),c=(n,t)=>(s[n].push(t),()=>{((n,t)=>{const e=n.indexOf(t);e>=0&&(n[e]=n[n.length-1],n.length--)})(s[n],t)});return{state:l,get:o,set:i,on:c,onChange:(t,e)=>{const r=c("set",((n,r)=>{n===t&&e(r)})),s=c("reset",(()=>e(v(n)[t])));return()=>{r(),s()}},use:(...n)=>{const t=n.reduce(((n,t)=>(t.set&&n.push(c("set",t.set)),t.get&&n.push(c("get",t.get)),t.reset&&n.push(c("reset",t.reset)),t.dispose&&n.push(c("dispose",t.dispose)),n)),[]);return()=>t.forEach((n=>n()))},dispose:()=>{s.dispose.forEach((n=>n())),a()},reset:a,forceUpdate:n=>{const t=r.get(n);s.set.forEach((e=>e(n,t,t)))}}})(X,void 0);return n.use((()=>{if("function"!=typeof t)return{};const n=new Map;return{dispose:()=>n.clear(),get:e=>{const r=t();r&&((n,t,e)=>{const r=n.get(t);r?r.includes(e)||r.push(e):n.set(t,[e])})(n,e,r)},set:t=>{const r=n.get(t);r&&n.set(t,r.filter(e)),w(n)},reset:()=>{n.forEach((n=>n.forEach(e))),w(n)}}})()),n})(),W=new Map([["row",new Map],["column",new Map],["box",new Map]]),Y=["1","2","3","4","5","6","7","8","9"],Z=n=>{if(void 0!==n&&n.indx!=I.pick){const{isClue:t,indx:e,row:r,column:s,box:a}=n,o=((n,t,e,r)=>{const s=new Map([["row",t],["column",e],["box",r]]),a=new Set;return s.forEach(((t,e)=>{W.get(e).get(t).forEach((t=>{t!==n&&a.add(t)}))})),Array.from(a)})(e,r,s,a),i=t?[]:(n=>{const{list:t}=I,e=new Set;return n.map((n=>{const{key:r}=t[n];"."!=r&&e.add(r)})),Y.filter((n=>!e.has(n)))})(o);I.pick=e,I.keys=i,I.locs=o}else I.pick=void 0,I.keys=[],I.locs=[];G(I.pick)};let K;const V={local:"http://localhost:8080/api",netlify:"/.netlify/functions",vercel:"https://sudoku-rust-api.vercel.app/api"},F=n=>{d(n)},G=n=>{u(n)},Q=(n=!1)=>{I.list=[],I.keys=[],I.locs=[],I.loading=n,I.solved=!1,I.error=void 0,I.pick=void 0,I.data=void 0},nn=(n,t=!0)=>{const{puzzle:e,ref:r}=n;t&&(d([]),h(o,n)),(n=>{if(n){const{puzzle:t,ref:e}=n,r=t?[...t]:[],s=e?atob(e):void 0,a=s?[...s]:[],o=r.map(((n,t)=>{const e=a[t],r=n===e,s=Math.floor(t/9),o=t%9,i=((n,t)=>t<3?n<3?0:n<6?3:6:t<6?n<3?1:n<6?4:7:n<3?2:n<6?5:8)(s,o);return((n,t,e,r)=>{new Map([["row",t],["column",e],["box",r]]).forEach(((t,e)=>{const r=W.get(e);r.has(t)?r.get(t).add(n):r.set(t,new Set([n]))}))})(t,s,o,i),{key:n,isClue:r,value:e,indx:t,row:s,column:o,box:i}}));(n=>{f().forEach(((t,e)=>{const r=n[e],{isClue:s}=r;s||(r.key=t)}))})(o),I.data=n,I.list=o}else I.data=void 0,I.list=[]})({puzzle:e,ref:r})},tn=n=>{I.list=[...n],n.length=0},en={initApp:n=>{(n=>{const t=(n=>{const t=Object.keys(V).includes(n)?n:"vercel";return V[t]})(n);K=J.extend({hooks:{beforeRequest:[n=>{n.headers.set("X-Requested-With","ky"),n.headers.set("X-Custom-Header","foobar")}]},prefixUrl:t,timeout:1e4})})(n),Q();const t=c(o),e=p();if(t&&(nn(t,!1),e>=0)){const{list:n}=I;Z(n[e])}},refresh:async()=>{Q(!0),F([]),G(I.pick);try{const n=await K.get("puzzle").json();nn(n)}catch(n){const{message:t}=n;console.log("-- ",t),console.log(n),I.error=t}finally{I.loading=!1}},select:n=>{Z(n)},check:()=>{const{list:n}=I,t=[];let e=0,r=0,s=0;n.forEach((n=>{const{key:a,value:o,isClue:i}=n;i?s+=1:"."!==a&&(a!==o?(e+=1,n.key="."):r+=1),t.push(n.key)}));const a=s+r;F(r?t:[]),e>0?tn(n):81===a&&(I.solved=!0)},input:n=>{const{pick:t,list:e}=I;e[t].key=n,tn(e)}},rn=(...n)=>n.filter(Boolean).join(" "),sn=t=>{const e=t.hex||"currentColor",r=t.label||"loading...",s=t.size||24;return n("svg",{class:rn(t.class||"","animate-spin"),width:s,height:s,fill:"none",viewBox:"0 0 24 24",role:"img","aria-label":"title"},n("title",null,r),n("g",null,n("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:e,"stroke-width":"4"}),n("path",{class:"opacity-75",fill:e,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"})),n("path",{d:"M0 0h24v24H0z",fill:"none"}))},an=t=>{const{message:e,salute:r,spinner:a=!1}=t;return n("div",{class:"mt-5 flex h-24px flex-row items-center"},n(a?sn:s,{class:"mr-2"}),r?n("label",{class:"mr-1 font-bold"},r,":"):"",n("label",{class:"italic"},e))},on=()=>{const{solved:t,loading:e,error:r}=I;return n("div",{class:"flex flex-col"},e||r||t?"":n(an,{message:"Welcome, are you ready to play?..."}),e?n(an,{message:"Loading...",spinner:!0}):"",r?n(an,{message:r,salute:"ERROR"}):"",t?n(an,{message:"You solved the puzzle!!"}):"")},ln=t=>{const e=t.hex||"currentColor",r=t.size||24;return n("svg",{class:t.class,width:r,height:r,viewBox:"0 0 24 24",role:"img","aria-label":"title"},n("title",null,t.label||"fingerprint"),n("g",{fill:e},n("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"})),n("path",{d:"M0 0h24v24H0z",fill:"none"}))},cn="eswat2",hn=()=>n("a",{class:"absolute right-0 top-0 text-clrs-gray hover:text-clrs-navy",href:"https://eswat2.dev","aria-label":cn,target:"blank",title:cn},n(ln,{label:cn})),fn=(t,e)=>n("h1",{class:rn("text-center uppercase text-clrs-red","mb-11 ml-0 mr-0 mt-11","text-6xl font-thin")},e),dn=t=>{const{label:e,callback:r,matched:s=!1}=t;return n("button",{class:rn("rounded-md border border-solid border-clrs-slate4 font-bold",e===y?"mr-2 bg-clrs-yellow px-3 py-2 text-clrs-navy":e===g?"mr-2 bg-clrs-navy px-3 py-2 text-white":"x"===e?"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:r},e)},pn=()=>{const{keys:t,list:e,pick:r,solved:s}=I,a=n=>()=>{en.input(n)},o=s?[]:t,i=null!=r?e[r]:void 0;return n("div",{class:"mt-2 flex flex-row justify-end"},s||!i||i.isClue||"."==i.key?"":n(dn,{label:"x",callback:a(".")}),o.map((t=>n(dn,{label:t,callback:a(t),matched:i.key===t}))))},un=[2,5,11,14,20,23,29,32,38,41,47,50,56,59,65,68,74,77],yn=un.map((n=>n+1)),gn=[18,19,20,21,22,23,24,25,26,45,46,47,48,49,50,51,52,53],bn=gn.map((n=>n+9)),wn=t=>{const{cell:e,focus:r,selected:s,solved:a}=t,{key:o,isClue:i,indx:l}=e,c="."!=o?o:"";return n("label",{class:rn(`cell-${l}`,un.includes(l)?"border-xbr-clrs-navy":"",yn.includes(l)?"border-xbl-clrs-navy":"",gn.includes(l)?"border-xbb-clrs-navy":"",bn.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":r?"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:((n,t)=>()=>{t||en.select(n)})(e,a)},c)},vn=()=>{const{list:t,pick:e,locs:r,solved:s}=I;return n("div",{class:rn("flex flex-row flex-wrap","border border-solid border-clrs-navy","h-76p5 w-76p5 text-lg")},t.map(((t,a)=>{const o=!s&&a===e,i=!s&&r.includes(a);return n(wn,{cell:t,focus:i,selected:o,solved:s})})))},mn=()=>n("label",{class:"ml-auto align-top text-xs italic text-clrs-slate4"},"Tailwind ","4.0.0"),xn=n=>()=>{n.refresh()},Cn=n=>()=>{n.check()},kn=()=>{const{list:t,solved:e}=I;return n("div",{class:"flex flex-row"},n(dn,{label:g,callback:xn(en)}),81!==t.length||e?"":n(dn,{label:y,callback:Cn(en)}),n(mn,null))},Tn=class{constructor(n){r(this,n),this.tag="proto-sudoku",this.platform="vercel"}componentDidLoad(){en.initApp(this.platform)}render(){return n("div",{key:"9f50eec975c4da5f4984b80380067d5155dda0d1",id:"app",class:"ds1-main relative max-w-min p-0.5"},n(hn,{key:"e7bab7e257022a9920f8b43785d9dc33ab7fed65"}),n(fn,{key:"d8c32e6b9c20b9fe6c8ff2e9fc7a9900057a2679"},"Sudoku"),n(vn,{key:"8a028015ae4380aaa54a406ccf5cc908816ca6a4"}),n(pn,{key:"951b6d20ca7a99ced4c60aa39fe040af6e96dd46"}),n("hr",{key:"35ba2812a3b068b21b5252c5f07d0b5dc2f18527",class:"ml-0 mr-0"}),n(kn,{key:"114e7edd4bf3da82ae344f56cb7e856ce17a6da8"}),n(on,{key:"2c15eb0ba714d1e0c378882c62ce575c428adc2a"}))}};Tn.style="/*! tailwindcss v4.0.0 | MIT License | https://tailwindcss.com */\n@layer theme, base, components, utilities;\n@layer utilities {\n .absolute {\n position: absolute;\n }\n .relative {\n position: relative;\n }\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n .m-6 {\n margin: calc(var(--spacing) * 6);\n }\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n .mt-5 {\n margin-top: calc(var(--spacing) * 5);\n }\n .mt-11 {\n margin-top: calc(var(--spacing) * 11);\n }\n .mr-0 {\n margin-right: calc(var(--spacing) * 0);\n }\n .mr-1 {\n margin-right: calc(var(--spacing) * 1);\n }\n .mr-2 {\n margin-right: calc(var(--spacing) * 2);\n }\n .mb-11 {\n margin-bottom: calc(var(--spacing) * 11);\n }\n .ml-0 {\n margin-left: calc(var(--spacing) * 0);\n }\n .ml-auto {\n margin-left: auto;\n }\n .flex {\n display: flex;\n }\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n .h-24px {\n height: 24px;\n }\n .h-76p5 {\n height: 19.125rem;\n }\n .w-8 {\n width: calc(var(--spacing) * 8);\n }\n .w-76p5 {\n width: 19.125rem;\n }\n .max-w-min {\n max-width: min-content;\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .items-center {\n align-items: center;\n }\n .justify-end {\n justify-content: flex-end;\n }\n .rounded-md {\n border-radius: var(--radius-md);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .border-clrs-gray {\n border-color: var(--clrs-gray, #aaaaaa);\n }\n .border-clrs-navy {\n border-color: var(--clrs-navy, #001f3f);\n }\n .border-clrs-red {\n border-color: var(--clrs-red, #ff4136);\n }\n .border-clrs-slate4 {\n border-color: var(--clrs-slate4, #4e5964);\n }\n .bg-clrs-green-a50 {\n background-color: var(--clrs-green-a50, #2ecc4050);\n }\n .bg-clrs-navy {\n background-color: var(--clrs-navy, #001f3f);\n }\n .bg-clrs-red {\n background-color: var(--clrs-red, #ff4136);\n }\n .bg-clrs-red-a50 {\n background-color: var(--clrs-red-a50, #ff413650);\n }\n .bg-clrs-silver {\n background-color: var(--clrs-silver, #dddddd);\n }\n .bg-clrs-slate4 {\n background-color: var(--clrs-slate4, #4e5964);\n }\n .bg-clrs-yellow {\n background-color: var(--clrs-yellow, #ffdc00);\n }\n .bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n .p-0\\.5 {\n padding: calc(var(--spacing) * 0.5);\n }\n .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n .text-center {\n text-align: center;\n }\n .align-top {\n vertical-align: top;\n }\n .font-sans {\n font-family: var(--font-sans);\n }\n .text-6xl {\n font-size: var(--text-6xl);\n line-height: var(--tw-leading, var(--text-6xl--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .leading-8 {\n --tw-leading: calc(var(--spacing) * 8);\n line-height: calc(var(--spacing) * 8);\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-thin {\n --tw-font-weight: var(--font-weight-thin);\n font-weight: var(--font-weight-thin);\n }\n .text-clrs-gray {\n color: var(--clrs-gray, #aaaaaa);\n }\n .text-clrs-navy {\n color: var(--clrs-navy, #001f3f);\n }\n .text-clrs-red {\n color: var(--clrs-red, #ff4136);\n }\n .text-clrs-slate4 {\n color: var(--clrs-slate4, #4e5964);\n }\n .text-white {\n color: var(--color-white);\n }\n .uppercase {\n text-transform: uppercase;\n }\n .italic {\n font-style: italic;\n }\n .antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .opacity-25 {\n opacity: 25%;\n }\n .opacity-75 {\n opacity: 75%;\n }\n .shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)),\n 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .filter {\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,)\n var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,)\n var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .border-xbb-clrs-navy {\n border-bottom: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbl-clrs-navy {\n border-left: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbr-clrs-navy {\n border-right: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbt-clrs-navy {\n border-top: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .hover\\:text-clrs-navy {\n &:hover {\n @media (hover: hover) {\n color: var(--clrs-navy, #001f3f);\n }\n }\n }\n}\n@layer components {\n .ds1-main {\n margin: calc(var(--spacing) * 6);\n display: flex;\n flex-direction: column;\n font-family: var(--font-sans);\n color: var(--clrs-navy, #001f3f);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes ping {\n 75%,\n 100% {\n transform: scale(2);\n opacity: 0;\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@keyframes bounce {\n 0%,\n 100% {\n transform: translateY(-25%);\n animation-timing-function: cubic-bezier(0.8, 0, 1, 1);\n }\n 50% {\n transform: none;\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\n }\n}\n@property --tw-border-style {\n syntax: '*';\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: '*';\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: '*';\n inherits: false;\n}\n@property --tw-shadow {\n syntax: '*';\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: '*';\n inherits: false;\n}\n@property --tw-inset-shadow {\n syntax: '*';\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: '*';\n inherits: false;\n}\n@property --tw-ring-color {\n syntax: '*';\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: '*';\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: '*';\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: '*';\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: '*';\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: '<length>';\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: '*';\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: '*';\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-blur {\n syntax: '*';\n inherits: false;\n}\n@property --tw-brightness {\n syntax: '*';\n inherits: false;\n}\n@property --tw-contrast {\n syntax: '*';\n inherits: false;\n}\n@property --tw-grayscale {\n syntax: '*';\n inherits: false;\n}\n@property --tw-hue-rotate {\n syntax: '*';\n inherits: false;\n}\n@property --tw-invert {\n syntax: '*';\n inherits: false;\n}\n@property --tw-opacity {\n syntax: '*';\n inherits: false;\n}\n@property --tw-saturate {\n syntax: '*';\n inherits: false;\n}\n@property --tw-sepia {\n syntax: '*';\n inherits: false;\n}\n";export{Tn as proto_sudoku}
@@ -1 +1 @@
1
- import{p as o,b as t}from"./p-fcc04256.js";export{s as setNonce}from"./p-fcc04256.js";import{g as p}from"./p-e1255160.js";(()=>{const s=import.meta.url,t={};return""!==s&&(t.resourcesUrl=new URL(".",s).href),o(t)})().then((async o=>(await p(),t([["p-20bb2b8e",[[1,"proto-sudoku",{tag:[1],platform:[1]}]]]],o))));
1
+ import{p as o,b as t}from"./p-1922517b.js";export{s as setNonce}from"./p-1922517b.js";import{g as p}from"./p-e1255160.js";(()=>{const s=import.meta.url,t={};return""!==s&&(t.resourcesUrl=new URL(".",s).href),o(t)})().then((async o=>(await p(),t([["p-2305789d",[[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.922",
3
+ "version": "0.0.924",
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,7 +27,7 @@
27
27
  "format": "prettier --write src"
28
28
  },
29
29
  "dependencies": {
30
- "@stencil/core": "4.25.0",
30
+ "@stencil/core": "4.25.1",
31
31
  "@stencil/store": "2.0.16",
32
32
  "ky": "1.7.4"
33
33
  },
@@ -40,7 +40,7 @@
40
40
  "postcss": "8.5.1",
41
41
  "prettier": "3.4.2",
42
42
  "prettier-plugin-tailwindcss": "0.6.11",
43
- "proto-tailwindcss-clrs": "0.0.397",
43
+ "proto-tailwindcss-clrs": "0.0.398",
44
44
  "tailwindcss": "4.0.0",
45
45
  "typescript": "5.7.3",
46
46
  "workbox-build": "7.3.0"
@@ -1,2 +0,0 @@
1
- var t=Object.defineProperty,e=new WeakMap,n=t=>e.get(t),o=(t,n)=>{e.set(n.t=t,n)},l=(t,e)=>e in t,s=(t,e)=>(0,console.error)(t,e),i=new Map,r=new Map,c="slot-fb{display:contents}slot-fb[hidden]{display:none}",u="undefined"!=typeof window?window:{},f=u.document||{head:{}},a={o:0,l:"",jmp:t=>t(),raf:t=>requestAnimationFrame(t),ael:(t,e,n,o)=>t.addEventListener(e,n,o),rel:(t,e,n,o)=>t.removeEventListener(e,n,o),ce:(t,e)=>new CustomEvent(t,e)},h=t=>Promise.resolve(t),d=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(t){}return!1})(),p=!1,m=[],y=[],v=(t,e)=>n=>{t.push(n),p||(p=!0,e&&4&a.o?b($):a.raf($))},w=t=>{for(let e=0;e<t.length;e++)try{t[e](performance.now())}catch(t){s(t)}t.length=0},$=()=>{w(m),w(y),(p=m.length>0)&&a.raf($)},b=t=>h().then(t),g=v(y,!0),S=t=>"object"==(t=typeof t)||"function"===t;function j(t){var e,n,o;return null!=(o=null==(n=null==(e=t.head)?void 0:e.querySelector('meta[name="csp-nonce"]'))?void 0:n.getAttribute("content"))?o:void 0}((e,n)=>{for(var o in n)t(e,o,{get:n[o],enumerable:!0})})({},{err:()=>k,map:()=>E,ok:()=>O,unwrap:()=>M,unwrapErr:()=>x});var O=t=>({isOk:!0,isErr:!1,value:t}),k=t=>({isOk:!1,isErr:!0,value:t});function E(t,e){if(t.isOk){const n=e(t.value);return n instanceof Promise?n.then((t=>O(t))):O(n)}if(t.isErr)return k(t.value);throw"should never get here"}var C,M=t=>{if(t.isOk)return t.value;throw t.value},x=t=>{if(t.isErr)return t.value;throw t.value},P=(t,e,...n)=>{let o=null,l=null,s=!1,i=!1;const r=[],c=e=>{for(let n=0;n<e.length;n++)o=e[n],Array.isArray(o)?c(o):null!=o&&"boolean"!=typeof o&&((s="function"!=typeof t&&!S(o))&&(o+=""),s&&i?r[r.length-1].i+=o:r.push(s?A(null,o):o),i=s)};if(c(n),e){e.key&&(l=e.key);{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,r,H);const u=A(t,null);return u.u=e,r.length>0&&(u.h=r),u.p=l,u},A=(t,e)=>({o:0,m:t,i:e,v:null,h:null,u:null,p:null}),D={},H={forEach:(t,e)=>t.map(N).forEach(e),map:(t,e)=>t.map(N).map(e).map(R)},N=t=>({vattrs:t.u,vchildren:t.h,vkey:t.p,vname:t.$,vtag:t.m,vtext:t.i}),R=t=>{if("function"==typeof t.vtag){const e={...t.vattrs};return t.vkey&&(e.key=t.vkey),t.vname&&(e.name=t.vname),P(t.vtag,e,...t.vchildren||[])}const e=A(t.vtag,t.vtext);return e.u=t.vattrs,e.h=t.vchildren,e.p=t.vkey,e.$=t.vname,e},T=(t,e)=>null==t||S(t)?t:1&e?t+"":t,L=new WeakMap,U=t=>"sc-"+t.S,F=(t,e,n,o,s,i)=>{if(n!==o){let r=l(t,e),c=e.toLowerCase();if("class"===e){const e=t.classList,l=W(n);let s=W(o);t["s-si"]?(s.push(t["s-si"]),l.forEach((e=>{e.startsWith(t["s-si"])&&s.push(e)})),s=[...new Set(s)],e.add(...s),delete t["s-si"]):(e.remove(...l.filter((t=>t&&!s.includes(t)))),e.add(...s.filter((t=>t&&!l.includes(t)))))}else if("key"===e);else if(r||"o"!==e[0]||"n"!==e[1]){const l=S(o);if((r||l&&null!==o)&&!s)try{if(t.tagName.includes("-"))t[e]!==o&&(t[e]=o);else{const l=null==o?"":o;"list"===e?r=!1:null!=n&&t[e]==l||("function"==typeof t.__lookupSetter__(e)?t[e]=l:t.setAttribute(e,l))}}catch(t){}null==o||!1===o?!1===o&&""!==t.getAttribute(e)||t.removeAttribute(e):(!r||4&i||s)&&!l&&t.setAttribute(e,o=!0===o?"":o)}else if(e="-"===e[2]?e.slice(3):l(u,c)?c.slice(2):c[2]+e.slice(3),n||o){const l=e.endsWith(q);e=e.replace(G,""),n&&a.rel(t,e,n,l),o&&a.ael(t,e,o,l)}}},V=/\s/,W=t=>("object"==typeof t&&"baseVal"in t&&(t=t.baseVal),t?t.split(V):[]),q="Capture",G=RegExp(q+"$"),_=(t,e,n)=>{const o=11===e.v.nodeType&&e.v.host?e.v.host:e.v,l=t&&t.u||{},s=e.u||{};for(const t of z(Object.keys(l)))t in s||F(o,t,l[t],void 0,n,e.o);for(const t of z(Object.keys(s)))F(o,t,l[t],s[t],n,e.o)};function z(t){return t.includes("ref")?[...t.filter((t=>"ref"!==t)),"ref"]:t}var B=!1,I=(t,e,n)=>{const o=e.h[n];let l,s,i=0;if(null!==o.i)l=o.v=f.createTextNode(o.i);else{if(B||(B="svg"===o.m),l=o.v=f.createElementNS(B?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",o.m),B&&"foreignObject"===o.m&&(B=!1),_(null,o,B),o.h)for(i=0;i<o.h.length;++i)s=I(t,o,i),s&&l.appendChild(s);"svg"===o.m?B=!1:"foreignObject"===l.tagName&&(B=!0)}return l["s-hn"]=C,l},J=(t,e,n,o,l,s)=>{let i,r=t;for(r.shadowRoot&&r.tagName===C&&(r=r.shadowRoot);l<=s;++l)o[l]&&(i=I(null,n,l),i&&(o[l].v=i,Y(r,i,e)))},K=(t,e,n)=>{for(let o=e;o<=n;++o){const e=t[o];if(e){const t=e.v;t&&t.remove()}}},Q=(t,e,n=!1)=>t.m===e.m&&(n?(n&&!t.p&&e.p&&(t.p=e.p),!0):t.p===e.p),X=(t,e,n=!1)=>{const o=e.v=t.v,l=t.h,s=e.h,i=e.m,r=e.i;null===r?(_(t,e,B="svg"===i||"foreignObject"!==i&&B),null!==l&&null!==s?((t,e,n,o,l=!1)=>{let s,i,r=0,c=0,u=0,f=0,a=e.length-1,h=e[0],d=e[a],p=o.length-1,m=o[0],y=o[p];for(;r<=a&&c<=p;)if(null==h)h=e[++r];else if(null==d)d=e[--a];else if(null==m)m=o[++c];else if(null==y)y=o[--p];else if(Q(h,m,l))X(h,m,l),h=e[++r],m=o[++c];else if(Q(d,y,l))X(d,y,l),d=e[--a],y=o[--p];else if(Q(h,y,l))X(h,y,l),Y(t,h.v,d.v.nextSibling),h=e[++r],y=o[--p];else if(Q(d,m,l))X(d,m,l),Y(t,d.v,h.v),d=e[--a],m=o[++c];else{for(u=-1,f=r;f<=a;++f)if(e[f]&&null!==e[f].p&&e[f].p===m.p){u=f;break}u>=0?(i=e[u],i.m!==m.m?s=I(e&&e[c],n,u):(X(i,m,l),e[u]=void 0,s=i.v),m=o[++c]):(s=I(e&&e[c],n,c),m=o[++c]),s&&Y(h.v.parentNode,s,h.v)}r>a?J(t,null==o[p+1]?null:o[p+1].v,n,o,c,p):c>p&&K(e,r,a)})(o,l,e,s,n):null!==s?(null!==t.i&&(o.textContent=""),J(o,null,e,s,0,s.length-1)):!n&&null!==l&&K(l,0,l.length-1),B&&"svg"===i&&(B=!1)):t.i!==r&&(o.data=r)},Y=(t,e,n)=>null==t?void 0:t.insertBefore(e,n),Z=(t,e)=>{if(e&&!t.j&&e["s-p"]){const n=e["s-p"].push(new Promise((o=>t.j=()=>{e["s-p"].splice(n-1,1),o()})))}},tt=(t,e)=>{if(t.o|=16,!(4&t.o))return Z(t,t.O),g((()=>et(t,e)));t.o|=512},et=(t,e)=>{const n=t.t;if(!n)throw Error(`Can't render component <${t.$hostElement$.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \`externalRuntime: true\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`);return nt(void 0,(()=>lt(t,n,e)))},nt=(t,e)=>ot(t)?t.then(e).catch((t=>{console.error(t),e()})):e(),ot=t=>t instanceof Promise||t&&t.then&&"function"==typeof t.then,lt=async(t,e,n)=>{var o;const l=t.$hostElement$,s=l["s-rc"];n&&(t=>{const e=t.k,n=t.$hostElement$,o=e.o,l=((t,e)=>{var n;const o=U(e),l=r.get(o);if(t=11===t.nodeType?t:f,l)if("string"==typeof l){let s,i=L.get(t=t.head||t);if(i||L.set(t,i=new Set),!i.has(o)){{s=document.querySelector(`[sty-id="${o}"]`)||f.createElement("style"),s.innerHTML=l;const i=null!=(n=a.C)?n:j(f);if(null!=i&&s.setAttribute("nonce",i),!(1&e.o))if("HEAD"===t.nodeName){const e=t.querySelectorAll("link[rel=preconnect]"),n=e.length>0?e[e.length-1].nextSibling:t.querySelector("style");t.insertBefore(s,n)}else if("host"in t)if(d){const e=new CSSStyleSheet;e.replaceSync(l),t.adoptedStyleSheets=[e,...t.adoptedStyleSheets]}else{const e=t.querySelector("style");e?e.innerHTML=l+e.innerHTML:t.prepend(s)}else t.append(s);1&e.o&&"HEAD"!==t.nodeName&&t.insertBefore(s,null)}4&e.o&&(s.innerHTML+=c),i&&i.add(o)}}else t.adoptedStyleSheets.includes(l)||(t.adoptedStyleSheets=[...t.adoptedStyleSheets,l]);return o})(n.shadowRoot?n.shadowRoot:n.getRootNode(),e);10&o&&2&o&&(n["s-sc"]=l,n.classList.add(l+"-h"))})(t);it(t,e,l,n),s&&(s.map((t=>t())),l["s-rc"]=void 0);{const e=null!=(o=l["s-p"])?o:[],n=()=>ct(t);0===e.length?n():(Promise.all(e).then(n),t.o|=4,e.length=0)}},st=null,it=(t,e,n,o)=>{try{st=e,e=e.render(),t.o&=-17,t.o|=2,((t,e,n=!1)=>{const o=t.$hostElement$,l=t.k,s=t.M||A(null,null),i=(t=>t&&t.m===D)(e)?e:P(null,null,e);if(C=o.tagName,n&&i.u)for(const t of Object.keys(i.u))o.hasAttribute(t)&&!["key","ref","style","class"].includes(t)&&(i.u[t]=o[t]);i.m=null,i.o|=4,t.M=i,i.v=s.v=o.shadowRoot||o,X(s,i,n)})(t,e,o)}catch(e){s(e,t.$hostElement$)}return st=null,null},rt=()=>st,ct=t=>{const e=t.$hostElement$,n=t.t,o=t.O;64&t.o||(t.o|=64,ht(e),at(n,"componentDidLoad",void 0,e),t.P(e),o||ft()),t.j&&(t.j(),t.j=void 0),512&t.o&&b((()=>tt(t,!1))),t.o&=-517},ut=t=>{{const e=n(t),o=e.$hostElement$.isConnected;return o&&2==(18&e.o)&&tt(e,!1),o}},ft=()=>{ht(f.documentElement),b((()=>(t=>{const e=a.ce("appload",{detail:{namespace:"proto-sudoku-wc"}});return t.dispatchEvent(e),e})(u)))},at=(t,e,n,o)=>{if(t&&t[e])try{return t[e](n)}catch(t){s(t,o)}},ht=t=>t.classList.add("hydrated"),dt=(t,e,o,l)=>{const s=n(t);if(!s)throw Error(`Couldn't find host element for "${l.S}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/ionic-team/stencil/issues/5457).`);const i=s.A.get(e),r=s.o,c=s.t;o=T(o,l.D[e][0]),8&r&&void 0!==i||o===i||Number.isNaN(i)&&Number.isNaN(o)||(s.A.set(e,o),c&&2==(18&r)&&tt(s,!1))},pt=(t,e,o)=>{var l,s;const i=t.prototype;if(e.D){const r=Object.entries(null!=(l=e.D)?l:{});if(r.map((([t,[l]])=>{if(31&l||2&o&&32&l){const{get:s,set:r}=Object.getOwnPropertyDescriptor(i,t)||{};s&&(e.D[t][0]|=2048),r&&(e.D[t][0]|=4096),(1&o||!s)&&Object.defineProperty(i,t,{get(){{if(!(2048&e.D[t][0]))return((t,e)=>n(this).A.get(e))(0,t);const o=n(this),l=o?o.t:i;if(!l)return;return l[t]}},configurable:!0,enumerable:!0}),Object.defineProperty(i,t,{set(s){const i=n(this);if(r){const n=32&l?this[t]:i.$hostElement$[t];return void 0===n&&i.A.get(t)?s=i.A.get(t):!i.A.get(t)&&n&&i.A.set(t,n),r.call(this,T(s,l)),void dt(this,t,s=32&l?this[t]:i.$hostElement$[t],e)}{if(!(1&o&&4096&e.D[t][0]))return dt(this,t,s,e),void(1&o&&!i.t&&i.H.then((()=>{4096&e.D[t][0]&&i.t[t]!==i.A.get(t)&&(i.t[t]=s)})));const n=()=>{const n=i.t[t];!i.A.get(t)&&n&&i.A.set(t,n),i.t[t]=T(s,l),dt(this,t,i.t[t],e)};i.t?n():i.H.then((()=>n()))}}})}})),1&o){const o=new Map;i.attributeChangedCallback=function(t,l,s){a.jmp((()=>{var r;const c=o.get(t);if(this.hasOwnProperty(c))s=this[c],delete this[c];else{if(i.hasOwnProperty(c)&&"number"==typeof this[c]&&this[c]==s)return;if(null==c){const o=n(this),i=null==o?void 0:o.o;if(i&&!(8&i)&&128&i&&s!==l){const n=o.t,i=null==(r=e.N)?void 0:r[t];null==i||i.forEach((e=>{null!=n[e]&&n[e].call(n,s,l,t)}))}return}}const u=Object.getOwnPropertyDescriptor(i,c);(s=(null!==s||"boolean"!=typeof this[c])&&s)===this[c]||u.get&&!u.set||(this[c]=s)}))},t.observedAttributes=Array.from(new Set([...Object.keys(null!=(s=e.N)?s:{}),...r.filter((([t,e])=>15&e[0])).map((([t,e])=>{const n=e[1]||t;return o.set(n,t),n}))]))}}return t},mt=(t,o={})=>{var l;const h=[],p=o.exclude||[],m=u.customElements,y=f.head,v=y.querySelector("meta[charset]"),w=f.createElement("style"),$=[];let b,g=!0;Object.assign(a,o),a.l=new URL(o.resourcesUrl||"./",f.baseURI).href;let S=!1;if(t.map((t=>{t[1].map((o=>{const l={o:o[0],S:o[1],D:o[2],R:o[3]};4&l.o&&(S=!0),l.D=o[2];const c=l.S,u=class extends HTMLElement{constructor(t){if(super(t),this.hasRegisteredEventListeners=!1,((t,n)=>{const o={o:0,$hostElement$:t,k:n,A:new Map};o.H=new Promise((t=>o.P=t)),t["s-p"]=[],t["s-rc"]=[],e.set(t,o)})(t=this,l),1&l.o)if(t.shadowRoot){if("open"!==t.shadowRoot.mode)throw Error(`Unable to re-use existing shadow root for ${l.S}! Mode is set to ${t.shadowRoot.mode} but Stencil only supports open shadow roots.`)}else t.attachShadow({mode:"open"})}connectedCallback(){this.hasRegisteredEventListeners||(this.hasRegisteredEventListeners=!0),b&&(clearTimeout(b),b=null),g?$.push(this):a.jmp((()=>(t=>{if(!(1&a.o)){const e=n(t),o=e.k,l=()=>{};if(1&e.o)(null==e?void 0:e.t)||(null==e?void 0:e.H)&&e.H.then((()=>{}));else{e.o|=1;{let n=t;for(;n=n.parentNode||n.host;)if(n["s-p"]){Z(e,e.O=n);break}}o.D&&Object.entries(o.D).map((([e,[n]])=>{if(31&n&&t.hasOwnProperty(e)){const n=t[e];delete t[e],t[e]=n}})),(async(t,e,n)=>{let o;if(!(32&e.o)){e.o|=32;{const l=((t,e)=>{const n=t.S.replace(/-/g,"_"),o=t.T;if(!o)return;const l=i.get(o);return l?l[n]:import(`./${o}.entry.js`).then((t=>(i.set(o,t),t[n])),(t=>{s(t,e.$hostElement$)}))
2
- /*!__STENCIL_STATIC_IMPORT_SWITCH__*/})(n,e);if(l&&"then"in l){const t=()=>{};o=await l,t()}else o=l;if(!o)throw Error(`Constructor for "${n.S}#${e.L}" was not found`);o.isProxied||(pt(o,n,2),o.isProxied=!0);const r=()=>{};e.o|=8;try{new o(e)}catch(e){s(e,t)}e.o&=-9,r()}if(o&&o.style){let t;"string"==typeof o.style&&(t=o.style);const e=U(n);if(!r.has(e)){const o=()=>{};((t,e,n)=>{let o=r.get(t);d&&n?(o=o||new CSSStyleSheet,"string"==typeof o?o=e:o.replaceSync(e)):o=e,r.set(t,o)})(e,t,!!(1&n.o)),o()}}}const l=e.O,c=()=>tt(e,!0);l&&l["s-rc"]?l["s-rc"].push(c):c()})(t,e,o)}l()}})(this)))}disconnectedCallback(){a.jmp((()=>(async t=>{if(!(1&a.o)){const e=n(t);(null==e?void 0:e.t)||(null==e?void 0:e.H)&&e.H.then((()=>{}))}L.has(t)&&L.delete(t),t.shadowRoot&&L.has(t.shadowRoot)&&L.delete(t.shadowRoot)})(this))),a.raf((()=>{var t;const e=n(this);(null==(t=null==e?void 0:e.M)?void 0:t.v)instanceof Node&&!e.M.v.isConnected&&delete e.M.v}))}componentOnReady(){return n(this).H}};l.T=t[0],p.includes(c)||m.get(c)||(h.push(c),m.define(c,pt(u,l,1)))}))})),h.length>0&&(S&&(w.textContent+=c),w.textContent+=h.sort()+"{visibility:hidden}.hydrated{visibility:inherit}",w.innerHTML.length)){w.setAttribute("data-styles","");const t=null!=(l=a.C)?l:j(f);null!=t&&w.setAttribute("nonce",t),y.insertBefore(w,v?v.nextSibling:y.firstChild)}g=!1,$.length?$.map((t=>t.connectedCallback())):a.jmp((()=>b=setTimeout(ft,30)))},yt=t=>a.C=t;export{mt as b,ut as f,rt as g,P as h,h as p,o as r,yt as s}