proto-sudoku-wc 0.1.14 → 0.1.15

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, constructableCSS: true, cssAnnotations: true, devTools: 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.27.1 | MIT Licensed | https://stenciljs.com
27
+ Stencil Client Platform v4.27.2 | MIT Licensed | https://stenciljs.com
28
28
  */
29
29
  var __defProp = Object.defineProperty;
30
30
  var __export = (target, all) => {
@@ -961,7 +961,7 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
961
961
  const hostRef = getHostRef(ref);
962
962
  if (!hostRef) {
963
963
  throw new Error(
964
- `Couldn't find host element for "${cmpMeta.$tagName$}" 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).`
964
+ `Couldn't find host element for "${cmpMeta.$tagName$}" 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/stenciljs/core/issues/5457).`
965
965
  );
966
966
  }
967
967
  const oldVal = hostRef.$instanceValues$.get(propName);
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-ac2b1e11.js');
5
+ const index = require('./index-1645e7e6.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-ac2b1e11.js');
5
+ const index = require('./index-1645e7e6.js');
6
6
  const appGlobals = require('./app-globals-3a1e7e63.js');
7
7
 
8
8
  /*
9
- Stencil Client Patch Browser v4.27.1 | MIT Licensed | https://stenciljs.com
9
+ Stencil Client Patch Browser v4.27.2 | 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-ac2b1e11.js');
5
+ const index = require('./index-1645e7e6.js');
6
6
 
7
7
  const Alien = props => {
8
8
  const hex = props.hex || 'currentColor';
@@ -1062,7 +1062,7 @@ const actions = {
1062
1062
  };
1063
1063
 
1064
1064
  // WARNING: generated file...
1065
- const TW_VERSION = '4.0.9';
1065
+ const TW_VERSION = '4.0.11';
1066
1066
 
1067
1067
  const tw = (...classes) => {
1068
1068
  return classes.filter(Boolean).join(' ');
@@ -1218,7 +1218,7 @@ const ToolBar = _props => {
1218
1218
  index.h(TwLabel, null)));
1219
1219
  };
1220
1220
 
1221
- const shadowCss = "/*! tailwindcss v4.0.9 | MIT License | https://tailwindcss.com */\n@layer theme, base, components, utilities;\n@layer theme {\n :root,\n :host {\n --font-sans:\n ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',\n 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\n --color-gray-50: oklch(0.985 0.002 247.839);\n --color-white: #fff;\n --spacing: 0.25rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-6xl: 3.75rem;\n --text-6xl--line-height: 1;\n --font-weight-thin: 100;\n --font-weight-bold: 700;\n --radius-md: 0.375rem;\n --animate-spin: spin 1s linear infinite;\n }\n}\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:\n 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:\n 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";
1221
+ const shadowCss = "/*! tailwindcss v4.0.11 | MIT License | https://tailwindcss.com */\n@layer theme, base, components, utilities;\n@layer theme {\n :root,\n :host {\n --font-sans:\n ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',\n 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\n --color-gray-50: oklch(0.985 0.002 247.839);\n --color-white: #fff;\n --spacing: 0.25rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-6xl: 3.75rem;\n --text-6xl--line-height: 1;\n --font-weight-thin: 100;\n --font-weight-bold: 700;\n --radius-md: 0.375rem;\n --animate-spin: spin 1s linear infinite;\n }\n}\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 .opacity-25 {\n opacity: 25%;\n }\n .opacity-75 {\n opacity: 75%;\n }\n .shadow {\n --tw-shadow:\n 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:\n var(--tw-inset-shadow), var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-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";
1222
1222
  const ProtoSudokuStyle0 = shadowCss;
1223
1223
 
1224
1224
  const ProtoSudoku = class {
@@ -4,7 +4,7 @@
4
4
  ],
5
5
  "compiler": {
6
6
  "name": "@stencil/core",
7
- "version": "4.27.1",
7
+ "version": "4.27.2",
8
8
  "typescriptVersion": "5.5.4"
9
9
  },
10
10
  "collections": [],
@@ -66,43 +66,3 @@
66
66
  inherits: false;
67
67
  initial-value: 0 0 #0000;
68
68
  }
69
- @property --tw-blur {
70
- syntax: '*';
71
- inherits: false;
72
- }
73
- @property --tw-brightness {
74
- syntax: '*';
75
- inherits: false;
76
- }
77
- @property --tw-contrast {
78
- syntax: '*';
79
- inherits: false;
80
- }
81
- @property --tw-grayscale {
82
- syntax: '*';
83
- inherits: false;
84
- }
85
- @property --tw-hue-rotate {
86
- syntax: '*';
87
- inherits: false;
88
- }
89
- @property --tw-invert {
90
- syntax: '*';
91
- inherits: false;
92
- }
93
- @property --tw-opacity {
94
- syntax: '*';
95
- inherits: false;
96
- }
97
- @property --tw-saturate {
98
- syntax: '*';
99
- inherits: false;
100
- }
101
- @property --tw-sepia {
102
- syntax: '*';
103
- inherits: false;
104
- }
105
- @property --tw-drop-shadow {
106
- syntax: '*';
107
- inherits: false;
108
- }
@@ -1,4 +1,4 @@
1
- /*! tailwindcss v4.0.9 | MIT License | https://tailwindcss.com */
1
+ /*! tailwindcss v4.0.11 | MIT License | https://tailwindcss.com */
2
2
  @layer theme, base, components, utilities;
3
3
  @layer theme {
4
4
  :root,
@@ -219,10 +219,6 @@
219
219
  .italic {
220
220
  font-style: italic;
221
221
  }
222
- .antialiased {
223
- -webkit-font-smoothing: antialiased;
224
- -moz-osx-font-smoothing: grayscale;
225
- }
226
222
  .opacity-25 {
227
223
  opacity: 25%;
228
224
  }
@@ -237,11 +233,6 @@
237
233
  var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
238
234
  var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
239
235
  }
240
- .filter {
241
- filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,)
242
- var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,)
243
- var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
244
- }
245
236
  .border-xbb-clrs-navy {
246
237
  border-bottom: 1px solid var(--clrs-navy, #001f3f) !important;
247
238
  }
@@ -1,4 +1,4 @@
1
- /*! tailwindcss v4.0.9 | MIT License | https://tailwindcss.com */
1
+ /*! tailwindcss v4.0.11 | MIT License | https://tailwindcss.com */
2
2
  @layer theme, base, components, utilities;
3
3
  @layer theme {
4
4
  :root,
@@ -1,4 +1,4 @@
1
1
  // WARNING: generated file...
2
- const TW_VERSION = '4.0.9';
2
+ const TW_VERSION = '4.0.11';
3
3
  export { TW_VERSION };
4
4
  export default TW_VERSION;
@@ -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, constructableCSS: true, cssAnnotations: true, devTools: 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.27.1 | MIT Licensed | https://stenciljs.com
5
+ Stencil Client Platform v4.27.2 | MIT Licensed | https://stenciljs.com
6
6
  */
7
7
  var __defProp = Object.defineProperty;
8
8
  var __export = (target, all) => {
@@ -939,7 +939,7 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
939
939
  const hostRef = getHostRef(ref);
940
940
  if (!hostRef) {
941
941
  throw new Error(
942
- `Couldn't find host element for "${cmpMeta.$tagName$}" 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).`
942
+ `Couldn't find host element for "${cmpMeta.$tagName$}" 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/stenciljs/core/issues/5457).`
943
943
  );
944
944
  }
945
945
  const oldVal = hostRef.$instanceValues$.get(propName);
@@ -1,5 +1,5 @@
1
- import { b as bootstrapLazy } from './index-a15dd90b.js';
2
- export { s as setNonce } from './index-a15dd90b.js';
1
+ import { b as bootstrapLazy } from './index-9cf613f0.js';
2
+ export { s as setNonce } from './index-9cf613f0.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-a15dd90b.js';
2
- export { s as setNonce } from './index-a15dd90b.js';
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-9cf613f0.js';
2
+ export { s as setNonce } from './index-9cf613f0.js';
3
3
  import { g as globalScripts } from './app-globals-0f993ce5.js';
4
4
 
5
5
  /*
6
- Stencil Client Patch Browser v4.27.1 | MIT Licensed | https://stenciljs.com
6
+ Stencil Client Patch Browser v4.27.2 | 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-a15dd90b.js';
1
+ import { h, g as getRenderingRef, f as forceUpdate, r as registerInstance } from './index-9cf613f0.js';
2
2
 
3
3
  const Alien = props => {
4
4
  const hex = props.hex || 'currentColor';
@@ -1058,7 +1058,7 @@ const actions = {
1058
1058
  };
1059
1059
 
1060
1060
  // WARNING: generated file...
1061
- const TW_VERSION = '4.0.9';
1061
+ const TW_VERSION = '4.0.11';
1062
1062
 
1063
1063
  const tw = (...classes) => {
1064
1064
  return classes.filter(Boolean).join(' ');
@@ -1214,7 +1214,7 @@ const ToolBar = _props => {
1214
1214
  h(TwLabel, null)));
1215
1215
  };
1216
1216
 
1217
- const shadowCss = "/*! tailwindcss v4.0.9 | MIT License | https://tailwindcss.com */\n@layer theme, base, components, utilities;\n@layer theme {\n :root,\n :host {\n --font-sans:\n ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',\n 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\n --color-gray-50: oklch(0.985 0.002 247.839);\n --color-white: #fff;\n --spacing: 0.25rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-6xl: 3.75rem;\n --text-6xl--line-height: 1;\n --font-weight-thin: 100;\n --font-weight-bold: 700;\n --radius-md: 0.375rem;\n --animate-spin: spin 1s linear infinite;\n }\n}\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:\n 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:\n 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";
1217
+ const shadowCss = "/*! tailwindcss v4.0.11 | MIT License | https://tailwindcss.com */\n@layer theme, base, components, utilities;\n@layer theme {\n :root,\n :host {\n --font-sans:\n ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',\n 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\n --color-gray-50: oklch(0.985 0.002 247.839);\n --color-white: #fff;\n --spacing: 0.25rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-6xl: 3.75rem;\n --text-6xl--line-height: 1;\n --font-weight-thin: 100;\n --font-weight-bold: 700;\n --radius-md: 0.375rem;\n --animate-spin: spin 1s linear infinite;\n }\n}\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 .opacity-25 {\n opacity: 25%;\n }\n .opacity-75 {\n opacity: 75%;\n }\n .shadow {\n --tw-shadow:\n 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:\n var(--tw-inset-shadow), var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-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";
1218
1218
  const ProtoSudokuStyle0 = shadowCss;
1219
1219
 
1220
1220
  const ProtoSudoku = class {
@@ -0,0 +1,2 @@
1
+ import{h as t,g as e,f as n,r}from"./p-d7c50bc1.js";const o=e=>{const n=e.hex||"currentColor",r=e.size||24;return t("svg",{class:e.class,width:r,height:r,viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,e.label||"alien"),t("g",{fill:n},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"}))},s="proto-sudoku",a=`${s}::data`,i=`${s}::inputs`,l=`${s}::pick`,c=t=>{const e=localStorage.getItem(t);return e?JSON.parse(e):void 0},d=(t,e)=>{const n=JSON.stringify(e);localStorage.setItem(t,n)},h=()=>[...c(i)],f=t=>{d(i,t.join(""))},p=()=>{const t=c(l);return null!==t?t:void 0},u=t=>{d(l,t>=0&&t<81?t:null)},g="Check ?",b="New Puzzle",y=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(y))})(...e)}),2e3)}})(),w=t=>"function"==typeof t?t():t;class v extends Error{response;request;options;constructor(t,e,n){const r=`${t.status||0===t.status?t.status:""} ${t.statusText||""}`.trim();super(`Request failed with ${r?`status code ${r}`:"an unknown error"}: ${e.method} ${e.url}`),this.name="HTTPError",this.response=t,this.request=e,this.options=n}}class x extends Error{request;constructor(t){super(`Request timed out: ${t.method} ${t.url}`),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 E({},...t)},T=(t={},e={})=>{const n=new globalThis.Headers(t),r=e instanceof globalThis.Headers,o=new globalThis.Headers(e);for(const[t,e]of o.entries())r&&"undefined"===e||void 0===e?n.delete(t):n.set(t,e);return n};function R(t,e,n){return Object.hasOwn(e,n)&&void 0===e[n]?[]:E(t[n]??[],e[n]??[])}const M=(t={},e={})=>({beforeRequest:R(t,e,"beforeRequest"),beforeRetry:R(t,e,"beforeRetry"),afterResponse:R(t,e,"afterResponse"),beforeError:R(t,e,"beforeError")}),E=(...t)=>{let e={},n={},r={};for(const o of t)if(Array.isArray(o))Array.isArray(e)||(e=[]),e=[...e,...o];else if(C(o)){for(let[t,n]of Object.entries(o))C(n)&&t in e&&(n=E(e[t],n)),e={...e,[t]:n};C(o.hooks)&&(r=M(r,o.hooks),e.hooks=r),C(o.headers)&&(n=T(n,o.headers),e.headers=n)}return e},z=(()=>{let t=!1,e=!1;const n="function"==typeof globalThis.ReadableStream,r="function"==typeof globalThis.Request;if(n&&r)try{e=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type")}catch(t){if(t instanceof Error&&"unsupported BodyInit type"===t.message)return!1;throw t}return t&&!e})(),j="function"==typeof globalThis.AbortController,S="function"==typeof globalThis.ReadableStream,A="function"==typeof globalThis.FormData,P=["get","post","put","patch","head","delete"],q={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},U=2147483647,$=Symbol("stop"),B={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},O={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},L=t=>P.includes(t)?t.toUpperCase():t,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:t=>.3*2**(t-1)*1e3},N=(t={})=>{if("number"==typeof t)return{...D,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{...D,...t}};class _{static create(t,e){const n=new _(t,e),r=async()=>{if("number"==typeof n._options.timeout&&n._options.timeout>U)throw new RangeError("The `timeout` option cannot be greater than 2147483647");await Promise.resolve();let t=await n._fetch();for(const e of n._options.hooks.afterResponse){const r=await e(n.request,n._options,n._decorateResponse(t.clone()));r instanceof globalThis.Response&&(t=r)}if(n._decorateResponse(t),!t.ok&&n._options.throwHttpErrors){let e=new v(t,n.request,n._options);for(const t of n._options.hooks.beforeError)e=await t(e);throw e}if(n._options.onDownloadProgress){if("function"!=typeof n._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 n._stream(t.clone(),n._options.onDownloadProgress)}return t},o=n._options.retry.methods.includes(n.request.method.toLowerCase())?n._retry(r):r();for(const[t,r]of Object.entries(q))o[t]=async()=>{n.request.headers.set("accept",n.request.headers.get("accept")||r);const s=await o;if("json"===t){if(204===s.status)return"";if(0===(await s.clone().arrayBuffer()).byteLength)return"";if(e.parseJson)return e.parseJson(await s.text())}return s[t]()};return o}request;abortController;_retryCount=0;_input;_options;constructor(t,e={}){if(this._input=t,this._options={...e,headers:T(this._input.headers,e.headers),hooks:M({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},e.hooks),method:L(e.method??this._input.method??"GET"),prefixUrl:String(e.prefixUrl||""),retry:N(e.retry),throwHttpErrors:!1!==e.throwHttpErrors,timeout:e.timeout??1e4,fetch:e.fetch??globalThis.fetch.bind(globalThis)},"string"!=typeof this._input&&!(this._input instanceof URL||this._input instanceof globalThis.Request))throw new TypeError("`input` must be a string, URL, or Request");if(this._options.prefixUrl&&"string"==typeof this._input){if(this._input.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");this._options.prefixUrl.endsWith("/")||(this._options.prefixUrl+="/"),this._input=this._options.prefixUrl+this._input}if(j){this.abortController=new globalThis.AbortController;const t=this._options.signal??this._input.signal;t?.aborted&&this.abortController.abort(t?.reason),t?.addEventListener("abort",(()=>{this.abortController.abort(t.reason)})),this._options.signal=this.abortController.signal}if(z&&(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 t="string"==typeof this._options.searchParams?this._options.searchParams.replace(/^\?/,""):new URLSearchParams(this._options.searchParams).toString(),e=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,"?"+t);!(A&&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)}}_calculateRetryDelay(t){if(this._retryCount++,this._retryCount>this._options.retry.limit||t instanceof x)throw t;if(t instanceof v){if(!this._options.retry.statusCodes.includes(t.response.status))throw t;const e=t.response.headers.get("Retry-After")??t.response.headers.get("RateLimit-Reset")??t.response.headers.get("X-RateLimit-Reset")??t.response.headers.get("X-Rate-Limit-Reset");if(e&&this._options.retry.afterStatusCodes.includes(t.response.status)){let t=1e3*Number(e);Number.isNaN(t)?t=Date.parse(e)-Date.now():t>=Date.parse("2024-01-01")&&(t-=Date.now());const n=this._options.retry.maxRetryAfter??t;return t<n?t:n}if(413===t.response.status)throw t}const e=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,e)}_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 n=Math.min(this._calculateRetryDelay(e),U);if(this._retryCount<1)throw e;await async function(t,{signal:e}){return new Promise(((n,r)=>{function o(){clearTimeout(s),r(e.reason)}e&&(e.throwIfAborted(),e.addEventListener("abort",o,{once:!0}));const s=setTimeout((()=>{e?.removeEventListener("abort",o),n()}),t)}))}(n,{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})===$)return;return this._retry(t)}}async _fetch(){for(const t of this._options.hooks.beforeRequest){const e=await t(this.request,this._options);if(e instanceof Request){this.request=e;break}if(e instanceof Response)return e}const t=((t,e)=>{const n={};for(const r in e)r in O||r in B||r in t||(n[r]=e[r]);return n})(this.request,this._options),e=this.request;return this.request=e.clone(),!1===this._options.timeout?this._options.fetch(e,t):async function(t,e,n,r){return new Promise(((o,s)=>{const a=setTimeout((()=>{n&&n.abort(),s(new x(t))}),r.timeout);r.fetch(t,e).then(o).catch(s).then((()=>{clearTimeout(a)}))}))}(e,t,this.abortController,this._options)}_stream(t,e){const n=Number(t.headers.get("content-length"))||0;let r=0;return 204===t.status?(e&&e({percent:1,totalBytes:n,transferredBytes:r},new Uint8Array),new globalThis.Response(null,{status:t.status,statusText:t.statusText,headers:t.headers})):new globalThis.Response(new globalThis.ReadableStream({async start(o){const s=t.body.getReader();e&&e({percent:0,transferredBytes:0,totalBytes:n},new Uint8Array),await async function t(){const{done:a,value:i}=await s.read();a?o.close():(e&&(r+=i.byteLength,e({percent:0===n?0:r/n,transferredBytes:r,totalBytes:n},i)),o.enqueue(i),await t())}()}}),{status:t.status,statusText:t.statusText,headers:t.headers})}}
2
+ /*! MIT License © Sindre Sorhus */const H=t=>{const e=(e,n)=>_.create(e,k(t,n));for(const n of P)e[n]=(e,r)=>_.create(e,k(t,r,{method:n}));return e.create=t=>H(k(t)),e.extend=e=>("function"==typeof e&&(e=e(t??{})),H(k(t,e))),e.stop=$,e},J=H(),I={list:[],keys:[],locs:[],loading:!1,solved:!1,error:void 0,pick:void 0,data:void 0},{state:X}=(()=>{const t=((t,e=((t,e)=>t!==e))=>{const n=w(t);let r=new Map(Object.entries(n??{}));const o={dispose:[],get:[],set:[],reset:[]},s=()=>{r=new Map(Object.entries(w(t)??{})),o.reset.forEach((t=>t()))},a=t=>(o.get.forEach((e=>e(t))),r.get(t)),i=(t,n)=>{const s=r.get(t);e(n,s,t)&&(r.set(t,n),o.set.forEach((e=>e(t,n,s))))},l="undefined"==typeof Proxy?{}:new Proxy(n,{get:(t,e)=>a(e),ownKeys:()=>Array.from(r.keys()),getOwnPropertyDescriptor:()=>({enumerable:!0,configurable:!0}),has:(t,e)=>r.has(e),set:(t,e,n)=>(i(e,n),!0)}),c=(t,e)=>(o[t].push(e),()=>{((t,e)=>{const n=t.indexOf(e);n>=0&&(t[n]=t[t.length-1],t.length--)})(o[t],e)});return{state:l,get:a,set:i,on:c,onChange:(e,n)=>{const r=c("set",((t,r)=>{t===e&&n(r)})),o=c("reset",(()=>n(w(t)[e])));return()=>{r(),o()}},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:()=>{o.dispose.forEach((t=>t())),s()},reset:s,forceUpdate:t=>{const e=r.get(t);o.set.forEach((n=>n(t,e,e)))}}})(I,void 0);return t.use((()=>{if("function"!=typeof e)return{};const t=new Map;return{dispose:()=>t.clear(),get:n=>{const r=e();r&&((t,e,n)=>{const r=t.get(e);r?r.includes(n)||r.push(n):t.set(e,[n])})(t,n,r)},set:e=>{const r=t.get(e);r&&t.set(e,r.filter(n)),m(t)},reset:()=>{t.forEach((t=>t.forEach(n))),m(t)}}})()),t})(),W=new Map([["row",new Map],["column",new Map],["box",new Map]]),Z=["1","2","3","4","5","6","7","8","9"],G=t=>{if(void 0!==t&&t.indx!=X.pick){const{isClue:e,indx:n,row:r,column:o,box:s}=t,a=((t,e,n,r)=>{const o=new Map([["row",e],["column",n],["box",r]]),s=new Set;return o.forEach(((e,n)=>{W.get(n).get(e).forEach((e=>{e!==t&&s.add(e)}))})),Array.from(s)})(n,r,o,s),i=e?[]:(t=>{const{list:e}=X,n=new Set;return t.map((t=>{const{key:r}=e[t];"."!=r&&n.add(r)})),Z.filter((t=>!n.has(t)))})(a);X.pick=n,X.keys=i,X.locs=a}else X.pick=void 0,X.keys=[],X.locs=[];F(X.pick)};let K;const V={local:"http://localhost:8080/api",netlify:"/.netlify/functions",vercel:"https://sudoku-rust-api.vercel.app/api"},Y=t=>{f(t)},F=t=>{u(t)},Q=(t=!1)=>{X.list=[],X.keys=[],X.locs=[],X.loading=t,X.solved=!1,X.error=void 0,X.pick=void 0,X.data=void 0},tt=(t,e=!0)=>{const{puzzle:n,ref:r}=t;e&&(f([]),d(a,t)),(t=>{if(t){const{puzzle:e,ref:n}=t,r=e?[...e]:[],o=n?atob(n):void 0,s=o?[...o]:[],a=r.map(((t,e)=>{const n=s[e],r=t===n,o=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)(o,a);return((t,e,n,r)=>{new Map([["row",e],["column",n],["box",r]]).forEach(((e,n)=>{const r=W.get(n);r.has(e)?r.get(e).add(t):r.set(e,new Set([t]))}))})(e,o,a,i),{key:t,isClue:r,value:n,indx:e,row:o,column:a,box:i}}));(t=>{h().forEach(((e,n)=>{const r=t[n],{isClue:o}=r;o||(r.key=e)}))})(a),X.data=t,X.list=a}else X.data=void 0,X.list=[]})({puzzle:n,ref:r})},et=t=>{X.list=[...t],t.length=0},nt={initApp:t=>{(t=>{const e=(t=>{const e=Object.keys(V).includes(t)?t:"vercel";return V[e]})(t);K=J.extend({hooks:{beforeRequest:[t=>{t.headers.set("X-Requested-With","ky"),t.headers.set("X-Custom-Header","foobar")}]},prefixUrl:e,timeout:1e4})})(t),Q();const e=c(a),n=p();if(e&&(tt(e,!1),n>=0)){const{list:t}=X;G(t[n])}},refresh:async()=>{Q(!0),Y([]),F(X.pick);try{const t=await K.get("puzzle").json();tt(t)}catch(t){const{message:e}=t;console.log("-- ",e),console.log(t),X.error=e}finally{X.loading=!1}},select:t=>{G(t)},check:()=>{const{list:t}=X,e=[];let n=0,r=0,o=0;t.forEach((t=>{const{key:s,value:a,isClue:i}=t;i?o+=1:"."!==s&&(s!==a?(n+=1,t.key="."):r+=1),e.push(t.key)}));const s=o+r;Y(r?e:[]),n>0?et(t):81===s&&(X.solved=!0)},input:t=>{const{pick:e,list:n}=X;n[e].key=t,et(n)}},rt=(...t)=>t.filter(Boolean).join(" "),ot=e=>{const n=e.hex||"currentColor",r=e.label||"loading...",o=e.size||24;return t("svg",{class:rt(e.class||"","animate-spin"),width:o,height:o,fill:"none",viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,r),t("g",null,t("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:n,"stroke-width":"4"}),t("path",{class:"opacity-75",fill:n,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:n,salute:r,spinner:s=!1}=e;return t("div",{class:"mt-5 flex h-24px flex-row items-center"},t(s?ot:o,{class:"mr-2"}),r?t("label",{class:"mr-1 font-bold"},r,":"):"",t("label",{class:"italic"},n))},at=()=>{const{solved:e,loading:n,error:r}=X;return t("div",{class:"flex flex-col"},n||r||e?"":t(st,{message:"Welcome, are you ready to play?..."}),n?t(st,{message:"Loading...",spinner:!0}):"",r?t(st,{message:r,salute:"ERROR"}):"",e?t(st,{message:"You solved the puzzle!!"}):"")},it=e=>{const n=e.hex||"currentColor",r=e.size||24;return t("svg",{class:e.class,width:r,height:r,viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,e.label||"fingerprint"),t("g",{fill:n},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"}))},lt="eswat2",ct=()=>t("a",{class:"absolute right-0 top-0 text-clrs-gray hover:text-clrs-navy",href:"https://eswat2.dev","aria-label":lt,target:"blank",title:lt},t(it,{label:lt})),dt=(e,n)=>t("h1",{class:rt("text-center uppercase text-clrs-red","mb-11 ml-0 mr-0 mt-11","text-6xl font-thin")},n),ht=e=>{const{label:n,callback:r,matched:o=!1}=e;return t("button",{class:rt("rounded-md border border-solid border-clrs-slate4 font-bold",n===g?"mr-2 bg-clrs-yellow px-3 py-2 text-clrs-navy":n===b?"mr-2 bg-clrs-navy px-3 py-2 text-white":"x"===n?"mr-1 bg-clrs-red px-2 py-1 text-white":o?"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},n)},ft=()=>{const{keys:e,list:n,pick:r,solved:o}=X,s=t=>()=>{nt.input(t)},a=o?[]:e,i=null!=r?n[r]:void 0;return t("div",{class:"mt-2 flex flex-row justify-end"},o||!i||i.isClue||"."==i.key?"":t(ht,{label:"x",callback:s(".")}),a.map((e=>t(ht,{label:e,callback:s(e),matched:i.key===e}))))},pt=[2,5,11,14,20,23,29,32,38,41,47,50,56,59,65,68,74,77],ut=pt.map((t=>t+1)),gt=[18,19,20,21,22,23,24,25,26,45,46,47,48,49,50,51,52,53],bt=gt.map((t=>t+9)),yt=e=>{const{cell:n,focus:r,selected:o,solved:s}=e,{key:a,isClue:i,indx:l}=n,c="."!=a?a:"";return t("label",{class:rt(`cell-${l}`,pt.includes(l)?"border-xbr-clrs-navy":"",ut.includes(l)?"border-xbl-clrs-navy":"",gt.includes(l)?"border-xbb-clrs-navy":"",bt.includes(l)?"border-xbt-clrs-navy":"","h-8 w-8 border border-solid text-center leading-8",o?"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:((t,e)=>()=>{e||nt.select(t)})(n,s)},c)},mt=()=>{const{list:e,pick:n,locs:r,solved:o}=X;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,s)=>{const a=!o&&s===n,i=!o&&r.includes(s);return t(yt,{cell:e,focus:i,selected:a,solved:o})})))},wt=()=>t("label",{class:"ml-auto align-top text-xs italic text-clrs-slate4"},"Tailwind ","4.0.11"),vt=t=>()=>{t.refresh()},xt=t=>()=>{t.check()},Ct=()=>{const{list:e,solved:n}=X;return t("div",{class:"flex flex-row"},t(ht,{label:b,callback:vt(nt)}),81!==e.length||n?"":t(ht,{label:g,callback:xt(nt)}),t(wt,null))},kt=class{constructor(t){r(this,t),this.tag="proto-sudoku",this.platform="vercel"}componentDidLoad(){nt.initApp(this.platform)}render(){return t("div",{key:"9f50eec975c4da5f4984b80380067d5155dda0d1",id:"app",class:"ds1-main relative max-w-min p-0.5"},t(ct,{key:"e7bab7e257022a9920f8b43785d9dc33ab7fed65"}),t(dt,{key:"d8c32e6b9c20b9fe6c8ff2e9fc7a9900057a2679"},"Sudoku"),t(mt,{key:"8a028015ae4380aaa54a406ccf5cc908816ca6a4"}),t(ft,{key:"951b6d20ca7a99ced4c60aa39fe040af6e96dd46"}),t("hr",{key:"35ba2812a3b068b21b5252c5f07d0b5dc2f18527",class:"ml-0 mr-0"}),t(Ct,{key:"114e7edd4bf3da82ae344f56cb7e856ce17a6da8"}),t(at,{key:"2c15eb0ba714d1e0c378882c62ce575c428adc2a"}))}};kt.style="/*! tailwindcss v4.0.11 | MIT License | https://tailwindcss.com */\n@layer theme, base, components, utilities;\n@layer theme {\n :root,\n :host {\n --font-sans:\n ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',\n 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\n --color-gray-50: oklch(0.985 0.002 247.839);\n --color-white: #fff;\n --spacing: 0.25rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-6xl: 3.75rem;\n --text-6xl--line-height: 1;\n --font-weight-thin: 100;\n --font-weight-bold: 700;\n --radius-md: 0.375rem;\n --animate-spin: spin 1s linear infinite;\n }\n}\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 .opacity-25 {\n opacity: 25%;\n }\n .opacity-75 {\n opacity: 75%;\n }\n .shadow {\n --tw-shadow:\n 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:\n var(--tw-inset-shadow), var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-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";export{kt as proto_sudoku}
@@ -1,2 +1,2 @@
1
- var t=Object.defineProperty,e=t=>{if(t.__stencil__getHostRef)return t.__stencil__getHostRef()},n=(t,e)=>{t.__stencil__getHostRef=()=>e,e.t=t},o=(t,e)=>e in t,l=(t,e)=>(0,console.error)(t,e),i=new Map,s=new Map,r="slot-fb{display:contents}slot-fb[hidden]{display:none}",c="undefined"!=typeof window?window:{},u={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)},a=t=>Promise.resolve(t),f=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(t){}return!1})(),d=!1,h=[],p=[],m=(t,e)=>n=>{t.push(n),d||(d=!0,e&&4&u.o?w(y):u.raf(y))},v=t=>{for(let e=0;e<t.length;e++)try{t[e](performance.now())}catch(t){l(t)}t.length=0},y=()=>{v(h),v(p),(d=h.length>0)&&u.raf(y)},w=t=>a().then(t),b=m(p,!0),$=t=>"object"==(t=typeof t)||"function"===t;function g(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:()=>j,map:()=>k,ok:()=>S,unwrap:()=>E,unwrapErr:()=>C});var S=t=>({isOk:!0,isErr:!1,value:t}),j=t=>({isOk:!1,isErr:!0,value:t});function k(t,e){if(t.isOk){const n=e(t.value);return n instanceof Promise?n.then((t=>S(t))):S(n)}if(t.isErr)return j(t.value);throw"should never get here"}var O,E=t=>{if(t.isOk)return t.value;throw t.value},C=t=>{if(t.isErr)return t.value;throw t.value},M=(t,e,...n)=>{let o=null,l=null,i=!1,s=!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&&((i="function"!=typeof t&&!$(o))&&(o+=""),i&&s?r[r.length-1].i+=o:r.push(i?x(null,o):o),s=i)};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,D);const u=x(t,null);return u.u=e,r.length>0&&(u.h=r),u.p=l,u},x=(t,e)=>({o:0,m:t,i:e,v:null,h:null,u:null,p:null}),P={},D={forEach:(t,e)=>t.map(R).forEach(e),map:(t,e)=>t.map(R).map(e).map(U)},R=t=>({vattrs:t.u,vchildren:t.h,vkey:t.p,vname:t.$,vtag:t.m,vtext:t.i}),U=t=>{if("function"==typeof t.vtag){const e={...t.vattrs};return t.vkey&&(e.key=t.vkey),t.vname&&(e.name=t.vname),M(t.vtag,e,...t.vchildren||[])}const e=x(t.vtag,t.vtext);return e.u=t.vattrs,e.h=t.vchildren,e.p=t.vkey,e.$=t.vname,e},W=(t,e)=>null==t||$(t)?t:1&e?t+"":t,A=new WeakMap,N=t=>"sc-"+t.S,L=(t,e,n,l,i,s)=>{if(n===l)return;let r=o(t,e),a=e.toLowerCase();if("class"===e){const e=t.classList,o=H(n);let i=H(l);e.remove(...o.filter((t=>t&&!i.includes(t)))),e.add(...i.filter((t=>t&&!o.includes(t))))}else if("key"===e);else if(r||"o"!==e[0]||"n"!==e[1]){const o=$(l);if((r||o&&null!==l)&&!i)try{if(t.tagName.includes("-"))t[e]!==l&&(t[e]=l);else{const o=null==l?"":l;"list"===e?r=!1:null!=n&&t[e]==o||("function"==typeof t.__lookupSetter__(e)?t[e]=o:t.setAttribute(e,o))}}catch(t){}null==l||!1===l?!1===l&&""!==t.getAttribute(e)||t.removeAttribute(e):(!r||4&s||i)&&!o&&1===t.nodeType&&t.setAttribute(e,l=!0===l?"":l)}else if(e="-"===e[2]?e.slice(3):o(c,a)?a.slice(2):a[2]+e.slice(3),n||l){const o=e.endsWith(z);e=e.replace(F,""),n&&u.rel(t,e,n,o),l&&u.ael(t,e,l,o)}},T=/\s/,H=t=>("object"==typeof t&&t&&"baseVal"in t&&(t=t.baseVal),t&&"string"==typeof t?t.split(T):[]),z="Capture",F=RegExp(z+"$"),V=(t,e,n)=>{const o=11===e.v.nodeType&&e.v.host?e.v.host:e.v,l=t&&t.u||{},i=e.u||{};for(const t of q(Object.keys(l)))t in i||L(o,t,l[t],void 0,n,e.o);for(const t of q(Object.keys(i)))L(o,t,l[t],i[t],n,e.o)};function q(t){return t.includes("ref")?[...t.filter((t=>"ref"!==t)),"ref"]:t}var G=!1,I=(t,e,n)=>{const o=e.h[n];let l,i,s=0;if(null!==o.i)l=o.v=c.document.createTextNode(o.i);else{if(G||(G="svg"===o.m),!c.document)throw Error("You are trying to render a Stencil component in an environment that doesn't support the DOM. Make sure to populate the [`window`](https://developer.mozilla.org/en-US/docs/Web/API/Window/window) object before rendering a component.");if(l=o.v=c.document.createElementNS(G?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",o.m),G&&"foreignObject"===o.m&&(G=!1),V(null,o,G),o.h)for(s=0;s<o.h.length;++s)i=I(t,o,s),i&&l.appendChild(i);"svg"===o.m?G=!1:"foreignObject"===l.tagName&&(G=!0)}return l["s-hn"]=O,l},Y=(t,e,n,o,l,i)=>{let s,r=t;for(r.shadowRoot&&r.tagName===O&&(r=r.shadowRoot);l<=i;++l)o[l]&&(s=I(null,n,l),s&&(o[l].v=s,K(r,s,e)))},_=(t,e,n)=>{for(let o=e;o<=n;++o){const e=t[o];if(e){const t=e.v;t&&t.remove()}}},B=(t,e,n=!1)=>t.m===e.m&&(n?(n&&!t.p&&e.p&&(t.p=e.p),!0):t.p===e.p),J=(t,e,n=!1)=>{const o=e.v=t.v,l=t.h,i=e.h,s=e.m,r=e.i;null===r?(V(t,e,G="svg"===s||"foreignObject"!==s&&G),null!==l&&null!==i?((t,e,n,o,l=!1)=>{let i,s,r=0,c=0,u=0,a=0,f=e.length-1,d=e[0],h=e[f],p=o.length-1,m=o[0],v=o[p];for(;r<=f&&c<=p;)if(null==d)d=e[++r];else if(null==h)h=e[--f];else if(null==m)m=o[++c];else if(null==v)v=o[--p];else if(B(d,m,l))J(d,m,l),d=e[++r],m=o[++c];else if(B(h,v,l))J(h,v,l),h=e[--f],v=o[--p];else if(B(d,v,l))J(d,v,l),K(t,d.v,h.v.nextSibling),d=e[++r],v=o[--p];else if(B(h,m,l))J(h,m,l),K(t,h.v,d.v),h=e[--f],m=o[++c];else{for(u=-1,a=r;a<=f;++a)if(e[a]&&null!==e[a].p&&e[a].p===m.p){u=a;break}u>=0?(s=e[u],s.m!==m.m?i=I(e&&e[c],n,u):(J(s,m,l),e[u]=void 0,i=s.v),m=o[++c]):(i=I(e&&e[c],n,c),m=o[++c]),i&&K(d.v.parentNode,i,d.v)}r>f?Y(t,null==o[p+1]?null:o[p+1].v,n,o,c,p):c>p&&_(e,r,f)})(o,l,e,i,n):null!==i?(null!==t.i&&(o.textContent=""),Y(o,null,e,i,0,i.length-1)):!n&&null!==l&&_(l,0,l.length-1),G&&"svg"===s&&(G=!1)):t.i!==r&&(o.data=r)},K=(t,e,n)=>null==t?void 0:t.insertBefore(e,n),Q=(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()})))}},X=(t,e)=>{if(t.o|=16,!(4&t.o))return Q(t,t.k),b((()=>Z(t,e)));t.o|=512},Z=(t,e)=>{const n=t.$hostElement$,o=t.t;if(!o)throw Error(`Can't render component <${n.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`);let l;return l=ut(o,e?"componentWillLoad":"componentWillUpdate",void 0,n),l=tt(l,(()=>ut(o,"componentWillRender",void 0,n))),tt(l,(()=>nt(t,o,e)))},tt=(t,e)=>et(t)?t.then(e).catch((t=>{console.error(t),e()})):e(),et=t=>t instanceof Promise||t&&t.then&&"function"==typeof t.then,nt=async(t,e,n)=>{var o;const l=t.$hostElement$,i=l["s-rc"];n&&(t=>{const e=t.O,n=t.$hostElement$,o=e.o,l=((t,e)=>{var n;const o=N(e),l=s.get(o);if(!c.document)return o;if(t=11===t.nodeType?t:c.document,l)if("string"==typeof l){let i,s=A.get(t=t.head||t);if(s||A.set(t,s=new Set),!s.has(o)){{i=document.querySelector(`[sty-id="${o}"]`)||c.document.createElement("style"),i.innerHTML=l;const s=null!=(n=u.C)?n:g(c.document);if(null!=s&&i.setAttribute("nonce",s),!(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(i,(null==n?void 0:n.parentNode)===t?n:null)}else if("host"in t)if(f){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(i)}else t.append(i);1&e.o&&t.insertBefore(i,null)}4&e.o&&(i.innerHTML+=r),s&&s.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||128&o)&&(n["s-sc"]=l,n.classList.add(l+"-h"))})(t);lt(t,e,l,n),i&&(i.map((t=>t())),l["s-rc"]=void 0);{const e=null!=(o=l["s-p"])?o:[],n=()=>st(t);0===e.length?n():(Promise.all(e).then(n),t.o|=4,e.length=0)}},ot=null,lt=(t,e,n,o)=>{try{ot=e,e=e.render(),t.o&=-17,t.o|=2,((t,e,n=!1)=>{const o=t.$hostElement$,l=t.O,i=t.M||x(null,null),s=(t=>t&&t.m===P)(e)?e:M(null,null,e);if(O=o.tagName,n&&s.u)for(const t of Object.keys(s.u))o.hasAttribute(t)&&!["key","ref","style","class"].includes(t)&&(s.u[t]=o[t]);s.m=null,s.o|=4,t.M=s,s.v=i.v=o.shadowRoot||o,J(i,s,n)})(t,e,o)}catch(e){l(e,t.$hostElement$)}return ot=null,null},it=()=>ot,st=t=>{const e=t.$hostElement$,n=t.t,o=t.k;ut(n,"componentDidRender",void 0,e),64&t.o?ut(n,"componentDidUpdate",void 0,e):(t.o|=64,at(e),ut(n,"componentDidLoad",void 0,e),t.P(e),o||ct()),t.j&&(t.j(),t.j=void 0),512&t.o&&w((()=>X(t,!1))),t.o&=-517},rt=t=>{{const n=e(t),o=n.$hostElement$.isConnected;return o&&2==(18&n.o)&&X(n,!1),o}},ct=()=>{w((()=>(t=>{const e=u.ce("appload",{detail:{namespace:"proto-sudoku-wc"}});return t.dispatchEvent(e),e})(c)))},ut=(t,e,n,o)=>{if(t&&t[e])try{return t[e](n)}catch(t){l(t,o)}},at=t=>t.classList.add("hydrated"),ft=(t,n,o,l)=>{const i=e(t);if(!i)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 s=i.D.get(n),r=i.o,c=i.t;if(o=W(o,l.R[n][0]),(!(8&r)||void 0===s)&&o!==s&&(!Number.isNaN(s)||!Number.isNaN(o))&&(i.D.set(n,o),c&&2==(18&r))){if(c.componentShouldUpdate&&!1===c.componentShouldUpdate(o,s,n))return;X(i,!1)}},dt=(t,n,o)=>{var l,i;const s=t.prototype;if(n.R){const r=Object.entries(null!=(l=n.R)?l:{});if(r.map((([t,[l]])=>{if(31&l||2&o&&32&l){const{get:i,set:r}=Object.getOwnPropertyDescriptor(s,t)||{};i&&(n.R[t][0]|=2048),r&&(n.R[t][0]|=4096),(1&o||!i)&&Object.defineProperty(s,t,{get(){{if(!(2048&n.R[t][0]))return((t,n)=>e(this).D.get(n))(0,t);const o=e(this),l=o?o.t:s;if(!l)return;return l[t]}},configurable:!0,enumerable:!0}),Object.defineProperty(s,t,{set(i){const s=e(this);if(r){const e=32&l?this[t]:s.$hostElement$[t];return void 0===e&&s.D.get(t)?i=s.D.get(t):!s.D.get(t)&&e&&s.D.set(t,e),r.call(this,W(i,l)),void ft(this,t,i=32&l?this[t]:s.$hostElement$[t],n)}{if(!(1&o&&4096&n.R[t][0]))return ft(this,t,i,n),void(1&o&&!s.t&&s.U.then((()=>{4096&n.R[t][0]&&s.t[t]!==s.D.get(t)&&(s.t[t]=i)})));const e=()=>{const e=s.t[t];!s.D.get(t)&&e&&s.D.set(t,e),s.t[t]=W(i,l),ft(this,t,s.t[t],n)};s.t?e():s.U.then((()=>e()))}}})}})),1&o){const o=new Map;s.attributeChangedCallback=function(t,l,i){u.jmp((()=>{var r;const c=o.get(t);if(this.hasOwnProperty(c))i=this[c],delete this[c];else{if(s.hasOwnProperty(c)&&"number"==typeof this[c]&&this[c]==i)return;if(null==c){const o=e(this),s=null==o?void 0:o.o;if(s&&!(8&s)&&128&s&&i!==l){const e=o.t,s=null==(r=n.W)?void 0:r[t];null==s||s.forEach((n=>{null!=e[n]&&e[n].call(e,i,l,t)}))}return}}const u=Object.getOwnPropertyDescriptor(s,c);(i=(null!==i||"boolean"!=typeof this[c])&&i)===this[c]||u.get&&!u.set||(this[c]=i)}))},t.observedAttributes=Array.from(new Set([...Object.keys(null!=(i=n.W)?i:{}),...r.filter((([t,e])=>15&e[0])).map((([t,e])=>{const n=e[1]||t;return o.set(n,t),n}))]))}}return t},ht=(t,e)=>{ut(t,"connectedCallback",void 0,e)},pt=(t,e)=>{ut(t,"disconnectedCallback",void 0,e||t)},mt=(t,n={})=>{var o;if(!c.document)return void console.warn("Stencil: No document found. Skipping bootstrapping lazy components.");const a=[],d=n.exclude||[],h=c.customElements,p=c.document.head,m=p.querySelector("meta[charset]"),v=c.document.createElement("style"),y=[];let w,b=!0;Object.assign(u,n),u.l=new URL(n.resourcesUrl||"./",c.document.baseURI).href;let $=!1;if(t.map((t=>{t[1].map((n=>{const o={o:n[0],S:n[1],R:n[2],A:n[3]};4&o.o&&($=!0),o.R=n[2];const r=o.S,c=class extends HTMLElement{constructor(t){if(super(t),this.hasRegisteredEventListeners=!1,((t,e)=>{const n={o:0,$hostElement$:t,O:e,D:new Map};n.U=new Promise((t=>n.P=t)),t["s-p"]=[],t["s-rc"]=[];const o=n;t.__stencil__getHostRef=()=>o})(t=this,o),1&o.o)if(t.shadowRoot){if("open"!==t.shadowRoot.mode)throw Error(`Unable to re-use existing shadow root for ${o.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),w&&(clearTimeout(w),w=null),b?y.push(this):u.jmp((()=>(t=>{if(!(1&u.o)){const n=e(t),o=n.O,r=()=>{};if(1&n.o)(null==n?void 0:n.t)?ht(n.t,t):(null==n?void 0:n.U)&&n.U.then((()=>ht(n.t,t)));else{n.o|=1;{let e=t;for(;e=e.parentNode||e.host;)if(e["s-p"]){Q(n,n.k=e);break}}o.R&&Object.entries(o.R).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)){if(e.o|=32,n.N){const s=((t,e)=>{const n=t.S.replace(/-/g,"_"),o=t.N;if(!o)return;const s=i.get(o);return s?s[n]:import(`./${o}.entry.js`).then((t=>(i.set(o,t),t[n])),(t=>{l(t,e.$hostElement$)}))
2
- /*!__STENCIL_STATIC_IMPORT_SWITCH__*/})(n,e);if(s&&"then"in s){const t=()=>{};o=await s,t()}else o=s;if(!o)throw Error(`Constructor for "${n.S}#${e.L}" was not found`);o.isProxied||(dt(o,n,2),o.isProxied=!0);const r=()=>{};e.o|=8;try{new o(e)}catch(e){l(e,t)}e.o&=-9,r(),ht(e.t,t)}else o=t.constructor,customElements.whenDefined(t.localName).then((()=>e.o|=128));if(o&&o.style){let t;"string"==typeof o.style&&(t=o.style);const e=N(n);if(!s.has(e)){const o=()=>{};((t,e,n)=>{let o=s.get(t);f&&n?(o=o||new CSSStyleSheet,"string"==typeof o?o=e:o.replaceSync(e)):o=e,s.set(t,o)})(e,t,!!(1&n.o)),o()}}}const r=e.k,c=()=>X(e,!0);r&&r["s-rc"]?r["s-rc"].push(c):c()})(t,n,o)}r()}})(this)))}disconnectedCallback(){u.jmp((()=>(async t=>{if(!(1&u.o)){const n=e(t);(null==n?void 0:n.t)?pt(n.t,t):(null==n?void 0:n.U)&&n.U.then((()=>pt(n.t,t)))}A.has(t)&&A.delete(t),t.shadowRoot&&A.has(t.shadowRoot)&&A.delete(t.shadowRoot)})(this))),u.raf((()=>{var t;const n=e(this),o=y.findIndex((t=>t===this));o>-1&&y.splice(o,1),(null==(t=null==n?void 0:n.M)?void 0:t.v)instanceof Node&&!n.M.v.isConnected&&delete n.M.v}))}componentOnReady(){return e(this).U}};o.N=t[0],d.includes(r)||h.get(r)||(a.push(r),h.define(r,dt(c,o,1)))}))})),a.length>0&&($&&(v.textContent+=r),v.textContent+=a.sort()+"{visibility:hidden}.hydrated{visibility:inherit}",v.innerHTML.length)){v.setAttribute("data-styles","");const t=null!=(o=u.C)?o:g(c.document);null!=t&&v.setAttribute("nonce",t),p.insertBefore(v,m?m.nextSibling:p.firstChild)}b=!1,y.length?y.map((t=>t.connectedCallback())):u.jmp((()=>w=setTimeout(ct,30)))},vt=t=>u.C=t;export{mt as b,rt as f,it as g,M as h,a as p,n as r,vt as s}
1
+ var t=Object.defineProperty,e=t=>{if(t.__stencil__getHostRef)return t.__stencil__getHostRef()},n=(t,e)=>{t.__stencil__getHostRef=()=>e,e.t=t},o=(t,e)=>e in t,l=(t,e)=>(0,console.error)(t,e),i=new Map,s=new Map,r="slot-fb{display:contents}slot-fb[hidden]{display:none}",c="undefined"!=typeof window?window:{},u={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)},f=t=>Promise.resolve(t),a=(()=>{try{return new CSSStyleSheet,"function"==typeof(new CSSStyleSheet).replaceSync}catch(t){}return!1})(),d=!1,h=[],p=[],m=(t,e)=>n=>{t.push(n),d||(d=!0,e&&4&u.o?w(y):u.raf(y))},v=t=>{for(let e=0;e<t.length;e++)try{t[e](performance.now())}catch(t){l(t)}t.length=0},y=()=>{v(h),v(p),(d=h.length>0)&&u.raf(y)},w=t=>f().then(t),b=m(p,!0),$=t=>"object"==(t=typeof t)||"function"===t;function g(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:()=>j,map:()=>k,ok:()=>S,unwrap:()=>E,unwrapErr:()=>C});var S=t=>({isOk:!0,isErr:!1,value:t}),j=t=>({isOk:!1,isErr:!0,value:t});function k(t,e){if(t.isOk){const n=e(t.value);return n instanceof Promise?n.then((t=>S(t))):S(n)}if(t.isErr)return j(t.value);throw"should never get here"}var O,E=t=>{if(t.isOk)return t.value;throw t.value},C=t=>{if(t.isErr)return t.value;throw t.value},M=(t,e,...n)=>{let o=null,l=null,i=!1,s=!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&&((i="function"!=typeof t&&!$(o))&&(o+=""),i&&s?r[r.length-1].i+=o:r.push(i?x(null,o):o),s=i)};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,D);const u=x(t,null);return u.u=e,r.length>0&&(u.h=r),u.p=l,u},x=(t,e)=>({o:0,m:t,i:e,v:null,h:null,u:null,p:null}),P={},D={forEach:(t,e)=>t.map(R).forEach(e),map:(t,e)=>t.map(R).map(e).map(U)},R=t=>({vattrs:t.u,vchildren:t.h,vkey:t.p,vname:t.$,vtag:t.m,vtext:t.i}),U=t=>{if("function"==typeof t.vtag){const e={...t.vattrs};return t.vkey&&(e.key=t.vkey),t.vname&&(e.name=t.vname),M(t.vtag,e,...t.vchildren||[])}const e=x(t.vtag,t.vtext);return e.u=t.vattrs,e.h=t.vchildren,e.p=t.vkey,e.$=t.vname,e},W=(t,e)=>null==t||$(t)?t:1&e?t+"":t,A=new WeakMap,N=t=>"sc-"+t.S,L=(t,e,n,l,i,s)=>{if(n===l)return;let r=o(t,e),f=e.toLowerCase();if("class"===e){const e=t.classList,o=H(n);let i=H(l);e.remove(...o.filter((t=>t&&!i.includes(t)))),e.add(...i.filter((t=>t&&!o.includes(t))))}else if("key"===e);else if(r||"o"!==e[0]||"n"!==e[1]){const o=$(l);if((r||o&&null!==l)&&!i)try{if(t.tagName.includes("-"))t[e]!==l&&(t[e]=l);else{const o=null==l?"":l;"list"===e?r=!1:null!=n&&t[e]==o||("function"==typeof t.__lookupSetter__(e)?t[e]=o:t.setAttribute(e,o))}}catch(t){}null==l||!1===l?!1===l&&""!==t.getAttribute(e)||t.removeAttribute(e):(!r||4&s||i)&&!o&&1===t.nodeType&&t.setAttribute(e,l=!0===l?"":l)}else if(e="-"===e[2]?e.slice(3):o(c,f)?f.slice(2):f[2]+e.slice(3),n||l){const o=e.endsWith(z);e=e.replace(F,""),n&&u.rel(t,e,n,o),l&&u.ael(t,e,l,o)}},T=/\s/,H=t=>("object"==typeof t&&t&&"baseVal"in t&&(t=t.baseVal),t&&"string"==typeof t?t.split(T):[]),z="Capture",F=RegExp(z+"$"),V=(t,e,n)=>{const o=11===e.v.nodeType&&e.v.host?e.v.host:e.v,l=t&&t.u||{},i=e.u||{};for(const t of q(Object.keys(l)))t in i||L(o,t,l[t],void 0,n,e.o);for(const t of q(Object.keys(i)))L(o,t,l[t],i[t],n,e.o)};function q(t){return t.includes("ref")?[...t.filter((t=>"ref"!==t)),"ref"]:t}var G=!1,I=(t,e,n)=>{const o=e.h[n];let l,i,s=0;if(null!==o.i)l=o.v=c.document.createTextNode(o.i);else{if(G||(G="svg"===o.m),!c.document)throw Error("You are trying to render a Stencil component in an environment that doesn't support the DOM. Make sure to populate the [`window`](https://developer.mozilla.org/en-US/docs/Web/API/Window/window) object before rendering a component.");if(l=o.v=c.document.createElementNS(G?"http://www.w3.org/2000/svg":"http://www.w3.org/1999/xhtml",o.m),G&&"foreignObject"===o.m&&(G=!1),V(null,o,G),o.h)for(s=0;s<o.h.length;++s)i=I(t,o,s),i&&l.appendChild(i);"svg"===o.m?G=!1:"foreignObject"===l.tagName&&(G=!0)}return l["s-hn"]=O,l},Y=(t,e,n,o,l,i)=>{let s,r=t;for(r.shadowRoot&&r.tagName===O&&(r=r.shadowRoot);l<=i;++l)o[l]&&(s=I(null,n,l),s&&(o[l].v=s,K(r,s,e)))},_=(t,e,n)=>{for(let o=e;o<=n;++o){const e=t[o];if(e){const t=e.v;t&&t.remove()}}},B=(t,e,n=!1)=>t.m===e.m&&(n?(n&&!t.p&&e.p&&(t.p=e.p),!0):t.p===e.p),J=(t,e,n=!1)=>{const o=e.v=t.v,l=t.h,i=e.h,s=e.m,r=e.i;null===r?(V(t,e,G="svg"===s||"foreignObject"!==s&&G),null!==l&&null!==i?((t,e,n,o,l=!1)=>{let i,s,r=0,c=0,u=0,f=0,a=e.length-1,d=e[0],h=e[a],p=o.length-1,m=o[0],v=o[p];for(;r<=a&&c<=p;)if(null==d)d=e[++r];else if(null==h)h=e[--a];else if(null==m)m=o[++c];else if(null==v)v=o[--p];else if(B(d,m,l))J(d,m,l),d=e[++r],m=o[++c];else if(B(h,v,l))J(h,v,l),h=e[--a],v=o[--p];else if(B(d,v,l))J(d,v,l),K(t,d.v,h.v.nextSibling),d=e[++r],v=o[--p];else if(B(h,m,l))J(h,m,l),K(t,h.v,d.v),h=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?(s=e[u],s.m!==m.m?i=I(e&&e[c],n,u):(J(s,m,l),e[u]=void 0,i=s.v),m=o[++c]):(i=I(e&&e[c],n,c),m=o[++c]),i&&K(d.v.parentNode,i,d.v)}r>a?Y(t,null==o[p+1]?null:o[p+1].v,n,o,c,p):c>p&&_(e,r,a)})(o,l,e,i,n):null!==i?(null!==t.i&&(o.textContent=""),Y(o,null,e,i,0,i.length-1)):!n&&null!==l&&_(l,0,l.length-1),G&&"svg"===s&&(G=!1)):t.i!==r&&(o.data=r)},K=(t,e,n)=>null==t?void 0:t.insertBefore(e,n),Q=(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()})))}},X=(t,e)=>{if(t.o|=16,!(4&t.o))return Q(t,t.k),b((()=>Z(t,e)));t.o|=512},Z=(t,e)=>{const n=t.$hostElement$,o=t.t;if(!o)throw Error(`Can't render component <${n.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`);let l;return l=ut(o,e?"componentWillLoad":"componentWillUpdate",void 0,n),l=tt(l,(()=>ut(o,"componentWillRender",void 0,n))),tt(l,(()=>nt(t,o,e)))},tt=(t,e)=>et(t)?t.then(e).catch((t=>{console.error(t),e()})):e(),et=t=>t instanceof Promise||t&&t.then&&"function"==typeof t.then,nt=async(t,e,n)=>{var o;const l=t.$hostElement$,i=l["s-rc"];n&&(t=>{const e=t.O,n=t.$hostElement$,o=e.o,l=((t,e)=>{var n;const o=N(e),l=s.get(o);if(!c.document)return o;if(t=11===t.nodeType?t:c.document,l)if("string"==typeof l){let i,s=A.get(t=t.head||t);if(s||A.set(t,s=new Set),!s.has(o)){{i=document.querySelector(`[sty-id="${o}"]`)||c.document.createElement("style"),i.innerHTML=l;const s=null!=(n=u.C)?n:g(c.document);if(null!=s&&i.setAttribute("nonce",s),!(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(i,(null==n?void 0:n.parentNode)===t?n:null)}else if("host"in t)if(a){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(i)}else t.append(i);1&e.o&&t.insertBefore(i,null)}4&e.o&&(i.innerHTML+=r),s&&s.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||128&o)&&(n["s-sc"]=l,n.classList.add(l+"-h"))})(t);lt(t,e,l,n),i&&(i.map((t=>t())),l["s-rc"]=void 0);{const e=null!=(o=l["s-p"])?o:[],n=()=>st(t);0===e.length?n():(Promise.all(e).then(n),t.o|=4,e.length=0)}},ot=null,lt=(t,e,n,o)=>{try{ot=e,e=e.render(),t.o&=-17,t.o|=2,((t,e,n=!1)=>{const o=t.$hostElement$,l=t.O,i=t.M||x(null,null),s=(t=>t&&t.m===P)(e)?e:M(null,null,e);if(O=o.tagName,n&&s.u)for(const t of Object.keys(s.u))o.hasAttribute(t)&&!["key","ref","style","class"].includes(t)&&(s.u[t]=o[t]);s.m=null,s.o|=4,t.M=s,s.v=i.v=o.shadowRoot||o,J(i,s,n)})(t,e,o)}catch(e){l(e,t.$hostElement$)}return ot=null,null},it=()=>ot,st=t=>{const e=t.$hostElement$,n=t.t,o=t.k;ut(n,"componentDidRender",void 0,e),64&t.o?ut(n,"componentDidUpdate",void 0,e):(t.o|=64,ft(e),ut(n,"componentDidLoad",void 0,e),t.P(e),o||ct()),t.j&&(t.j(),t.j=void 0),512&t.o&&w((()=>X(t,!1))),t.o&=-517},rt=t=>{{const n=e(t),o=n.$hostElement$.isConnected;return o&&2==(18&n.o)&&X(n,!1),o}},ct=()=>{w((()=>(t=>{const e=u.ce("appload",{detail:{namespace:"proto-sudoku-wc"}});return t.dispatchEvent(e),e})(c)))},ut=(t,e,n,o)=>{if(t&&t[e])try{return t[e](n)}catch(t){l(t,o)}},ft=t=>t.classList.add("hydrated"),at=(t,n,o,l)=>{const i=e(t);if(!i)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/stenciljs/core/issues/5457).`);const s=i.D.get(n),r=i.o,c=i.t;if(o=W(o,l.R[n][0]),(!(8&r)||void 0===s)&&o!==s&&(!Number.isNaN(s)||!Number.isNaN(o))&&(i.D.set(n,o),c&&2==(18&r))){if(c.componentShouldUpdate&&!1===c.componentShouldUpdate(o,s,n))return;X(i,!1)}},dt=(t,n,o)=>{var l,i;const s=t.prototype;if(n.R){const r=Object.entries(null!=(l=n.R)?l:{});if(r.map((([t,[l]])=>{if(31&l||2&o&&32&l){const{get:i,set:r}=Object.getOwnPropertyDescriptor(s,t)||{};i&&(n.R[t][0]|=2048),r&&(n.R[t][0]|=4096),(1&o||!i)&&Object.defineProperty(s,t,{get(){{if(!(2048&n.R[t][0]))return((t,n)=>e(this).D.get(n))(0,t);const o=e(this),l=o?o.t:s;if(!l)return;return l[t]}},configurable:!0,enumerable:!0}),Object.defineProperty(s,t,{set(i){const s=e(this);if(r){const e=32&l?this[t]:s.$hostElement$[t];return void 0===e&&s.D.get(t)?i=s.D.get(t):!s.D.get(t)&&e&&s.D.set(t,e),r.call(this,W(i,l)),void at(this,t,i=32&l?this[t]:s.$hostElement$[t],n)}{if(!(1&o&&4096&n.R[t][0]))return at(this,t,i,n),void(1&o&&!s.t&&s.U.then((()=>{4096&n.R[t][0]&&s.t[t]!==s.D.get(t)&&(s.t[t]=i)})));const e=()=>{const e=s.t[t];!s.D.get(t)&&e&&s.D.set(t,e),s.t[t]=W(i,l),at(this,t,s.t[t],n)};s.t?e():s.U.then((()=>e()))}}})}})),1&o){const o=new Map;s.attributeChangedCallback=function(t,l,i){u.jmp((()=>{var r;const c=o.get(t);if(this.hasOwnProperty(c))i=this[c],delete this[c];else{if(s.hasOwnProperty(c)&&"number"==typeof this[c]&&this[c]==i)return;if(null==c){const o=e(this),s=null==o?void 0:o.o;if(s&&!(8&s)&&128&s&&i!==l){const e=o.t,s=null==(r=n.W)?void 0:r[t];null==s||s.forEach((n=>{null!=e[n]&&e[n].call(e,i,l,t)}))}return}}const u=Object.getOwnPropertyDescriptor(s,c);(i=(null!==i||"boolean"!=typeof this[c])&&i)===this[c]||u.get&&!u.set||(this[c]=i)}))},t.observedAttributes=Array.from(new Set([...Object.keys(null!=(i=n.W)?i:{}),...r.filter((([t,e])=>15&e[0])).map((([t,e])=>{const n=e[1]||t;return o.set(n,t),n}))]))}}return t},ht=(t,e)=>{ut(t,"connectedCallback",void 0,e)},pt=(t,e)=>{ut(t,"disconnectedCallback",void 0,e||t)},mt=(t,n={})=>{var o;if(!c.document)return void console.warn("Stencil: No document found. Skipping bootstrapping lazy components.");const f=[],d=n.exclude||[],h=c.customElements,p=c.document.head,m=p.querySelector("meta[charset]"),v=c.document.createElement("style"),y=[];let w,b=!0;Object.assign(u,n),u.l=new URL(n.resourcesUrl||"./",c.document.baseURI).href;let $=!1;if(t.map((t=>{t[1].map((n=>{const o={o:n[0],S:n[1],R:n[2],A:n[3]};4&o.o&&($=!0),o.R=n[2];const r=o.S,c=class extends HTMLElement{constructor(t){if(super(t),this.hasRegisteredEventListeners=!1,((t,e)=>{const n={o:0,$hostElement$:t,O:e,D:new Map};n.U=new Promise((t=>n.P=t)),t["s-p"]=[],t["s-rc"]=[];const o=n;t.__stencil__getHostRef=()=>o})(t=this,o),1&o.o)if(t.shadowRoot){if("open"!==t.shadowRoot.mode)throw Error(`Unable to re-use existing shadow root for ${o.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),w&&(clearTimeout(w),w=null),b?y.push(this):u.jmp((()=>(t=>{if(!(1&u.o)){const n=e(t),o=n.O,r=()=>{};if(1&n.o)(null==n?void 0:n.t)?ht(n.t,t):(null==n?void 0:n.U)&&n.U.then((()=>ht(n.t,t)));else{n.o|=1;{let e=t;for(;e=e.parentNode||e.host;)if(e["s-p"]){Q(n,n.k=e);break}}o.R&&Object.entries(o.R).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)){if(e.o|=32,n.N){const s=((t,e)=>{const n=t.S.replace(/-/g,"_"),o=t.N;if(!o)return;const s=i.get(o);return s?s[n]:import(`./${o}.entry.js`).then((t=>(i.set(o,t),t[n])),(t=>{l(t,e.$hostElement$)}))
2
+ /*!__STENCIL_STATIC_IMPORT_SWITCH__*/})(n,e);if(s&&"then"in s){const t=()=>{};o=await s,t()}else o=s;if(!o)throw Error(`Constructor for "${n.S}#${e.L}" was not found`);o.isProxied||(dt(o,n,2),o.isProxied=!0);const r=()=>{};e.o|=8;try{new o(e)}catch(e){l(e,t)}e.o&=-9,r(),ht(e.t,t)}else o=t.constructor,customElements.whenDefined(t.localName).then((()=>e.o|=128));if(o&&o.style){let t;"string"==typeof o.style&&(t=o.style);const e=N(n);if(!s.has(e)){const o=()=>{};((t,e,n)=>{let o=s.get(t);a&&n?(o=o||new CSSStyleSheet,"string"==typeof o?o=e:o.replaceSync(e)):o=e,s.set(t,o)})(e,t,!!(1&n.o)),o()}}}const r=e.k,c=()=>X(e,!0);r&&r["s-rc"]?r["s-rc"].push(c):c()})(t,n,o)}r()}})(this)))}disconnectedCallback(){u.jmp((()=>(async t=>{if(!(1&u.o)){const n=e(t);(null==n?void 0:n.t)?pt(n.t,t):(null==n?void 0:n.U)&&n.U.then((()=>pt(n.t,t)))}A.has(t)&&A.delete(t),t.shadowRoot&&A.has(t.shadowRoot)&&A.delete(t.shadowRoot)})(this))),u.raf((()=>{var t;const n=e(this),o=y.findIndex((t=>t===this));o>-1&&y.splice(o,1),(null==(t=null==n?void 0:n.M)?void 0:t.v)instanceof Node&&!n.M.v.isConnected&&delete n.M.v}))}componentOnReady(){return e(this).U}};o.N=t[0],d.includes(r)||h.get(r)||(f.push(r),h.define(r,dt(c,o,1)))}))})),f.length>0&&($&&(v.textContent+=r),v.textContent+=f.sort()+"{visibility:hidden}.hydrated{visibility:inherit}",v.innerHTML.length)){v.setAttribute("data-styles","");const t=null!=(o=u.C)?o:g(c.document);null!=t&&v.setAttribute("nonce",t),p.insertBefore(v,m?m.nextSibling:p.firstChild)}b=!1,y.length?y.map((t=>t.connectedCallback())):u.jmp((()=>w=setTimeout(ct,30)))},vt=t=>u.C=t;export{mt as b,rt as f,it as g,M as h,f as p,n as r,vt as s}
@@ -66,43 +66,3 @@
66
66
  inherits: false;
67
67
  initial-value: 0 0 #0000;
68
68
  }
69
- @property --tw-blur {
70
- syntax: '*';
71
- inherits: false;
72
- }
73
- @property --tw-brightness {
74
- syntax: '*';
75
- inherits: false;
76
- }
77
- @property --tw-contrast {
78
- syntax: '*';
79
- inherits: false;
80
- }
81
- @property --tw-grayscale {
82
- syntax: '*';
83
- inherits: false;
84
- }
85
- @property --tw-hue-rotate {
86
- syntax: '*';
87
- inherits: false;
88
- }
89
- @property --tw-invert {
90
- syntax: '*';
91
- inherits: false;
92
- }
93
- @property --tw-opacity {
94
- syntax: '*';
95
- inherits: false;
96
- }
97
- @property --tw-saturate {
98
- syntax: '*';
99
- inherits: false;
100
- }
101
- @property --tw-sepia {
102
- syntax: '*';
103
- inherits: false;
104
- }
105
- @property --tw-drop-shadow {
106
- syntax: '*';
107
- inherits: false;
108
- }
@@ -1 +1 @@
1
- import{p as o,b as t}from"./p-293685c4.js";export{s as setNonce}from"./p-293685c4.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-024cb17d",[[1,"proto-sudoku",{tag:[1],platform:[1]}]]]],o))));
1
+ import{p as o,b as t}from"./p-d7c50bc1.js";export{s as setNonce}from"./p-d7c50bc1.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-952d215f",[[1,"proto-sudoku",{tag:[1],platform:[1]}]]]],o))));
@@ -1,4 +1,4 @@
1
- /*! tailwindcss v4.0.9 | MIT License | https://tailwindcss.com */
1
+ /*! tailwindcss v4.0.11 | MIT License | https://tailwindcss.com */
2
2
  @layer theme, base, components, utilities;
3
3
  @layer theme {
4
4
  :root,
@@ -1,3 +1,3 @@
1
- declare const TW_VERSION = "4.0.9";
1
+ declare const TW_VERSION = "4.0.11";
2
2
  export { TW_VERSION };
3
3
  export default TW_VERSION;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "proto-sudoku-wc",
3
- "version": "0.1.14",
3
+ "version": "0.1.15",
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.27.1",
30
+ "@stencil/core": "4.27.2",
31
31
  "@stencil/store": "2.1.2",
32
32
  "ky": "1.7.5"
33
33
  },
@@ -38,10 +38,10 @@
38
38
  "cssnano": "7.0.6",
39
39
  "eslint": "9.21.0",
40
40
  "postcss": "8.5.3",
41
- "prettier": "3.5.2",
41
+ "prettier": "3.5.3",
42
42
  "prettier-plugin-tailwindcss": "0.6.11",
43
43
  "proto-tailwindcss-clrs": "0.0.411",
44
- "tailwindcss": "4.0.9",
44
+ "tailwindcss": "4.0.11",
45
45
  "typescript": "5.8.2",
46
46
  "workbox-build": "7.3.0"
47
47
  },
@@ -1,2 +0,0 @@
1
- import{h as t,g as n,f as e,r}from"./p-293685c4.js";const o=n=>{const e=n.hex||"currentColor",r=n.size||24;return t("svg",{class:n.class,width:r,height:r,viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,n.label||"alien"),t("g",{fill:e},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"}))},s="proto-sudoku",a=`${s}::data`,i=`${s}::inputs`,l=`${s}::pick`,c=t=>{const n=localStorage.getItem(t);return n?JSON.parse(n):void 0},h=(t,n)=>{const e=JSON.stringify(n);localStorage.setItem(t,e)},d=()=>[...c(i)],f=t=>{h(i,t.join(""))},p=()=>{const t=c(l);return null!==t?t:void 0},u=t=>{h(l,t>=0&&t<81?t:null)},g="Check ?",b="New Puzzle",y=t=>!("isConnected"in t)||t.isConnected,w=(()=>{let t;return(...n)=>{t&&clearTimeout(t),t=setTimeout((()=>{t=0,(t=>{for(let n of t.keys())t.set(n,t.get(n).filter(y))})(...n)}),2e3)}})(),m=t=>"function"==typeof t?t():t;class v extends Error{response;request;options;constructor(t,n,e){const r=`${t.status||0===t.status?t.status:""} ${t.statusText||""}`.trim();super(`Request failed with ${r?`status code ${r}`:"an unknown error"}: ${n.method} ${n.url}`),this.name="HTTPError",this.response=t,this.request=n,this.options=e}}class x extends Error{request;constructor(t){super(`Request timed out: ${t.method} ${t.url}`),this.name="TimeoutError",this.request=t}}const C=t=>null!==t&&"object"==typeof t,k=(...t)=>{for(const n of t)if((!C(n)||Array.isArray(n))&&void 0!==n)throw new TypeError("The `options` argument must be an object");return E({},...t)},T=(t={},n={})=>{const e=new globalThis.Headers(t),r=n instanceof globalThis.Headers,o=new globalThis.Headers(n);for(const[t,n]of o.entries())r&&"undefined"===n||void 0===n?e.delete(t):e.set(t,n);return e};function R(t,n,e){return Object.hasOwn(n,e)&&void 0===n[e]?[]:E(t[e]??[],n[e]??[])}const M=(t={},n={})=>({beforeRequest:R(t,n,"beforeRequest"),beforeRetry:R(t,n,"beforeRetry"),afterResponse:R(t,n,"afterResponse"),beforeError:R(t,n,"beforeError")}),E=(...t)=>{let n={},e={},r={};for(const o of t)if(Array.isArray(o))Array.isArray(n)||(n=[]),n=[...n,...o];else if(C(o)){for(let[t,e]of Object.entries(o))C(e)&&t in n&&(e=E(n[t],e)),n={...n,[t]:e};C(o.hooks)&&(r=M(r,o.hooks),n.hooks=r),C(o.headers)&&(e=T(e,o.headers),n.headers=e)}return n},z=(()=>{let t=!1,n=!1;const e="function"==typeof globalThis.ReadableStream,r="function"==typeof globalThis.Request;if(e&&r)try{n=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return t=!0,"half"}}).headers.has("Content-Type")}catch(t){if(t instanceof Error&&"unsupported BodyInit type"===t.message)return!1;throw t}return t&&!n})(),j="function"==typeof globalThis.AbortController,S="function"==typeof globalThis.ReadableStream,A="function"==typeof globalThis.FormData,P=["get","post","put","patch","head","delete"],q={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},U=2147483647,$=Symbol("stop"),B={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},O={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},L=t=>P.includes(t)?t.toUpperCase():t,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:t=>.3*2**(t-1)*1e3},N=(t={})=>{if("number"==typeof t)return{...D,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{...D,...t}};class _{static create(t,n){const e=new _(t,n),r=async()=>{if("number"==typeof e._options.timeout&&e._options.timeout>U)throw new RangeError("The `timeout` option cannot be greater than 2147483647");await Promise.resolve();let t=await e._fetch();for(const n of e._options.hooks.afterResponse){const r=await n(e.request,e._options,e._decorateResponse(t.clone()));r instanceof globalThis.Response&&(t=r)}if(e._decorateResponse(t),!t.ok&&e._options.throwHttpErrors){let n=new v(t,e.request,e._options);for(const t of e._options.hooks.beforeError)n=await t(n);throw n}if(e._options.onDownloadProgress){if("function"!=typeof e._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 e._stream(t.clone(),e._options.onDownloadProgress)}return t},o=e._options.retry.methods.includes(e.request.method.toLowerCase())?e._retry(r):r();for(const[t,r]of Object.entries(q))o[t]=async()=>{e.request.headers.set("accept",e.request.headers.get("accept")||r);const s=await o;if("json"===t){if(204===s.status)return"";if(0===(await s.clone().arrayBuffer()).byteLength)return"";if(n.parseJson)return n.parseJson(await s.text())}return s[t]()};return o}request;abortController;_retryCount=0;_input;_options;constructor(t,n={}){if(this._input=t,this._options={...n,headers:T(this._input.headers,n.headers),hooks:M({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},n.hooks),method:L(n.method??this._input.method??"GET"),prefixUrl:String(n.prefixUrl||""),retry:N(n.retry),throwHttpErrors:!1!==n.throwHttpErrors,timeout:n.timeout??1e4,fetch:n.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 t=this._options.signal??this._input.signal;t?.aborted&&this.abortController.abort(t?.reason),t?.addEventListener("abort",(()=>{this.abortController.abort(t.reason)})),this._options.signal=this.abortController.signal}if(z&&(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 t="string"==typeof this._options.searchParams?this._options.searchParams.replace(/^\?/,""):new URLSearchParams(this._options.searchParams).toString(),n=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,"?"+t);!(A&&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(n,{...this.request}),this._options)}}_calculateRetryDelay(t){if(this._retryCount++,this._retryCount>this._options.retry.limit||t instanceof x)throw t;if(t instanceof v){if(!this._options.retry.statusCodes.includes(t.response.status))throw t;const n=t.response.headers.get("Retry-After")??t.response.headers.get("RateLimit-Reset")??t.response.headers.get("X-RateLimit-Reset")??t.response.headers.get("X-Rate-Limit-Reset");if(n&&this._options.retry.afterStatusCodes.includes(t.response.status)){let t=1e3*Number(n);Number.isNaN(t)?t=Date.parse(n)-Date.now():t>=Date.parse("2024-01-01")&&(t-=Date.now());const e=this._options.retry.maxRetryAfter??t;return t<e?t:e}if(413===t.response.status)throw t}const n=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,n)}_decorateResponse(t){return this._options.parseJson&&(t.json=async()=>this._options.parseJson(await t.text())),t}async _retry(t){try{return await t()}catch(n){const e=Math.min(this._calculateRetryDelay(n),U);if(this._retryCount<1)throw n;await async function(t,{signal:n}){return new Promise(((e,r)=>{function o(){clearTimeout(s),r(n.reason)}n&&(n.throwIfAborted(),n.addEventListener("abort",o,{once:!0}));const s=setTimeout((()=>{n?.removeEventListener("abort",o),e()}),t)}))}(e,{signal:this._options.signal});for(const t of this._options.hooks.beforeRetry)if(await t({request:this.request,options:this._options,error:n,retryCount:this._retryCount})===$)return;return this._retry(t)}}async _fetch(){for(const t of this._options.hooks.beforeRequest){const n=await t(this.request,this._options);if(n instanceof Request){this.request=n;break}if(n instanceof Response)return n}const t=((t,n)=>{const e={};for(const r in n)r in O||r in B||r in t||(e[r]=n[r]);return e})(this.request,this._options),n=this.request;return this.request=n.clone(),!1===this._options.timeout?this._options.fetch(n,t):async function(t,n,e,r){return new Promise(((o,s)=>{const a=setTimeout((()=>{e&&e.abort(),s(new x(t))}),r.timeout);r.fetch(t,n).then(o).catch(s).then((()=>{clearTimeout(a)}))}))}(n,t,this.abortController,this._options)}_stream(t,n){const e=Number(t.headers.get("content-length"))||0;let r=0;return 204===t.status?(n&&n({percent:1,totalBytes:e,transferredBytes:r},new Uint8Array),new globalThis.Response(null,{status:t.status,statusText:t.statusText,headers:t.headers})):new globalThis.Response(new globalThis.ReadableStream({async start(o){const s=t.body.getReader();n&&n({percent:0,transferredBytes:0,totalBytes:e},new Uint8Array),await async function t(){const{done:a,value:i}=await s.read();a?o.close():(n&&(r+=i.byteLength,n({percent:0===e?0:r/e,transferredBytes:r,totalBytes:e},i)),o.enqueue(i),await t())}()}}),{status:t.status,statusText:t.statusText,headers:t.headers})}}
2
- /*! MIT License © Sindre Sorhus */const H=t=>{const n=(n,e)=>_.create(n,k(t,e));for(const e of P)n[e]=(n,r)=>_.create(n,k(t,r,{method:e}));return n.create=t=>H(k(t)),n.extend=n=>("function"==typeof n&&(n=n(t??{})),H(k(t,n))),n.stop=$,n},J=H(),I={list:[],keys:[],locs:[],loading:!1,solved:!1,error:void 0,pick:void 0,data:void 0},{state:X}=(()=>{const t=((t,n=((t,n)=>t!==n))=>{const e=m(t);let r=new Map(Object.entries(e??{}));const o={dispose:[],get:[],set:[],reset:[]},s=()=>{r=new Map(Object.entries(m(t)??{})),o.reset.forEach((t=>t()))},a=t=>(o.get.forEach((n=>n(t))),r.get(t)),i=(t,e)=>{const s=r.get(t);n(e,s,t)&&(r.set(t,e),o.set.forEach((n=>n(t,e,s))))},l="undefined"==typeof Proxy?{}:new Proxy(e,{get:(t,n)=>a(n),ownKeys:()=>Array.from(r.keys()),getOwnPropertyDescriptor:()=>({enumerable:!0,configurable:!0}),has:(t,n)=>r.has(n),set:(t,n,e)=>(i(n,e),!0)}),c=(t,n)=>(o[t].push(n),()=>{((t,n)=>{const e=t.indexOf(n);e>=0&&(t[e]=t[t.length-1],t.length--)})(o[t],n)});return{state:l,get:a,set:i,on:c,onChange:(n,e)=>{const r=c("set",((t,r)=>{t===n&&e(r)})),o=c("reset",(()=>e(m(t)[n])));return()=>{r(),o()}},use:(...t)=>{const n=t.reduce(((t,n)=>(n.set&&t.push(c("set",n.set)),n.get&&t.push(c("get",n.get)),n.reset&&t.push(c("reset",n.reset)),n.dispose&&t.push(c("dispose",n.dispose)),t)),[]);return()=>n.forEach((t=>t()))},dispose:()=>{o.dispose.forEach((t=>t())),s()},reset:s,forceUpdate:t=>{const n=r.get(t);o.set.forEach((e=>e(t,n,n)))}}})(I,void 0);return t.use((()=>{if("function"!=typeof n)return{};const t=new Map;return{dispose:()=>t.clear(),get:e=>{const r=n();r&&((t,n,e)=>{const r=t.get(n);r?r.includes(e)||r.push(e):t.set(n,[e])})(t,e,r)},set:n=>{const r=t.get(n);r&&t.set(n,r.filter(e)),w(t)},reset:()=>{t.forEach((t=>t.forEach(e))),w(t)}}})()),t})(),W=new Map([["row",new Map],["column",new Map],["box",new Map]]),Z=["1","2","3","4","5","6","7","8","9"],G=t=>{if(void 0!==t&&t.indx!=X.pick){const{isClue:n,indx:e,row:r,column:o,box:s}=t,a=((t,n,e,r)=>{const o=new Map([["row",n],["column",e],["box",r]]),s=new Set;return o.forEach(((n,e)=>{W.get(e).get(n).forEach((n=>{n!==t&&s.add(n)}))})),Array.from(s)})(e,r,o,s),i=n?[]:(t=>{const{list:n}=X,e=new Set;return t.map((t=>{const{key:r}=n[t];"."!=r&&e.add(r)})),Z.filter((t=>!e.has(t)))})(a);X.pick=e,X.keys=i,X.locs=a}else X.pick=void 0,X.keys=[],X.locs=[];F(X.pick)};let K;const V={local:"http://localhost:8080/api",netlify:"/.netlify/functions",vercel:"https://sudoku-rust-api.vercel.app/api"},Y=t=>{f(t)},F=t=>{u(t)},Q=(t=!1)=>{X.list=[],X.keys=[],X.locs=[],X.loading=t,X.solved=!1,X.error=void 0,X.pick=void 0,X.data=void 0},tt=(t,n=!0)=>{const{puzzle:e,ref:r}=t;n&&(f([]),h(a,t)),(t=>{if(t){const{puzzle:n,ref:e}=t,r=n?[...n]:[],o=e?atob(e):void 0,s=o?[...o]:[],a=r.map(((t,n)=>{const e=s[n],r=t===e,o=Math.floor(n/9),a=n%9,i=((t,n)=>n<3?t<3?0:t<6?3:6:n<6?t<3?1:t<6?4:7:t<3?2:t<6?5:8)(o,a);return((t,n,e,r)=>{new Map([["row",n],["column",e],["box",r]]).forEach(((n,e)=>{const r=W.get(e);r.has(n)?r.get(n).add(t):r.set(n,new Set([t]))}))})(n,o,a,i),{key:t,isClue:r,value:e,indx:n,row:o,column:a,box:i}}));(t=>{d().forEach(((n,e)=>{const r=t[e],{isClue:o}=r;o||(r.key=n)}))})(a),X.data=t,X.list=a}else X.data=void 0,X.list=[]})({puzzle:e,ref:r})},nt=t=>{X.list=[...t],t.length=0},et={initApp:t=>{(t=>{const n=(t=>{const n=Object.keys(V).includes(t)?t:"vercel";return V[n]})(t);K=J.extend({hooks:{beforeRequest:[t=>{t.headers.set("X-Requested-With","ky"),t.headers.set("X-Custom-Header","foobar")}]},prefixUrl:n,timeout:1e4})})(t),Q();const n=c(a),e=p();if(n&&(tt(n,!1),e>=0)){const{list:t}=X;G(t[e])}},refresh:async()=>{Q(!0),Y([]),F(X.pick);try{const t=await K.get("puzzle").json();tt(t)}catch(t){const{message:n}=t;console.log("-- ",n),console.log(t),X.error=n}finally{X.loading=!1}},select:t=>{G(t)},check:()=>{const{list:t}=X,n=[];let e=0,r=0,o=0;t.forEach((t=>{const{key:s,value:a,isClue:i}=t;i?o+=1:"."!==s&&(s!==a?(e+=1,t.key="."):r+=1),n.push(t.key)}));const s=o+r;Y(r?n:[]),e>0?nt(t):81===s&&(X.solved=!0)},input:t=>{const{pick:n,list:e}=X;e[n].key=t,nt(e)}},rt=(...t)=>t.filter(Boolean).join(" "),ot=n=>{const e=n.hex||"currentColor",r=n.label||"loading...",o=n.size||24;return t("svg",{class:rt(n.class||"","animate-spin"),width:o,height:o,fill:"none",viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,r),t("g",null,t("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:e,"stroke-width":"4"}),t("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"})),t("path",{d:"M0 0h24v24H0z",fill:"none"}))},st=n=>{const{message:e,salute:r,spinner:s=!1}=n;return t("div",{class:"mt-5 flex h-24px flex-row items-center"},t(s?ot:o,{class:"mr-2"}),r?t("label",{class:"mr-1 font-bold"},r,":"):"",t("label",{class:"italic"},e))},at=()=>{const{solved:n,loading:e,error:r}=X;return t("div",{class:"flex flex-col"},e||r||n?"":t(st,{message:"Welcome, are you ready to play?..."}),e?t(st,{message:"Loading...",spinner:!0}):"",r?t(st,{message:r,salute:"ERROR"}):"",n?t(st,{message:"You solved the puzzle!!"}):"")},it=n=>{const e=n.hex||"currentColor",r=n.size||24;return t("svg",{class:n.class,width:r,height:r,viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,n.label||"fingerprint"),t("g",{fill:e},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"}))},lt="eswat2",ct=()=>t("a",{class:"absolute right-0 top-0 text-clrs-gray hover:text-clrs-navy",href:"https://eswat2.dev","aria-label":lt,target:"blank",title:lt},t(it,{label:lt})),ht=(n,e)=>t("h1",{class:rt("text-center uppercase text-clrs-red","mb-11 ml-0 mr-0 mt-11","text-6xl font-thin")},e),dt=n=>{const{label:e,callback:r,matched:o=!1}=n;return t("button",{class:rt("rounded-md border border-solid border-clrs-slate4 font-bold",e===g?"mr-2 bg-clrs-yellow px-3 py-2 text-clrs-navy":e===b?"mr-2 bg-clrs-navy px-3 py-2 text-white":"x"===e?"mr-1 bg-clrs-red px-2 py-1 text-white":o?"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)},ft=()=>{const{keys:n,list:e,pick:r,solved:o}=X,s=t=>()=>{et.input(t)},a=o?[]:n,i=null!=r?e[r]:void 0;return t("div",{class:"mt-2 flex flex-row justify-end"},o||!i||i.isClue||"."==i.key?"":t(dt,{label:"x",callback:s(".")}),a.map((n=>t(dt,{label:n,callback:s(n),matched:i.key===n}))))},pt=[2,5,11,14,20,23,29,32,38,41,47,50,56,59,65,68,74,77],ut=pt.map((t=>t+1)),gt=[18,19,20,21,22,23,24,25,26,45,46,47,48,49,50,51,52,53],bt=gt.map((t=>t+9)),yt=n=>{const{cell:e,focus:r,selected:o,solved:s}=n,{key:a,isClue:i,indx:l}=e,c="."!=a?a:"";return t("label",{class:rt(`cell-${l}`,pt.includes(l)?"border-xbr-clrs-navy":"",ut.includes(l)?"border-xbl-clrs-navy":"",gt.includes(l)?"border-xbb-clrs-navy":"",bt.includes(l)?"border-xbt-clrs-navy":"","h-8 w-8 border border-solid text-center leading-8",o?"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:((t,n)=>()=>{n||et.select(t)})(e,s)},c)},wt=()=>{const{list:n,pick:e,locs:r,solved:o}=X;return t("div",{class:rt("flex flex-row flex-wrap","border border-solid border-clrs-navy","h-76p5 w-76p5 text-lg")},n.map(((n,s)=>{const a=!o&&s===e,i=!o&&r.includes(s);return t(yt,{cell:n,focus:i,selected:a,solved:o})})))},mt=()=>t("label",{class:"ml-auto align-top text-xs italic text-clrs-slate4"},"Tailwind ","4.0.9"),vt=t=>()=>{t.refresh()},xt=t=>()=>{t.check()},Ct=()=>{const{list:n,solved:e}=X;return t("div",{class:"flex flex-row"},t(dt,{label:b,callback:vt(et)}),81!==n.length||e?"":t(dt,{label:g,callback:xt(et)}),t(mt,null))},kt=class{constructor(t){r(this,t),this.tag="proto-sudoku",this.platform="vercel"}componentDidLoad(){et.initApp(this.platform)}render(){return t("div",{key:"9f50eec975c4da5f4984b80380067d5155dda0d1",id:"app",class:"ds1-main relative max-w-min p-0.5"},t(ct,{key:"e7bab7e257022a9920f8b43785d9dc33ab7fed65"}),t(ht,{key:"d8c32e6b9c20b9fe6c8ff2e9fc7a9900057a2679"},"Sudoku"),t(wt,{key:"8a028015ae4380aaa54a406ccf5cc908816ca6a4"}),t(ft,{key:"951b6d20ca7a99ced4c60aa39fe040af6e96dd46"}),t("hr",{key:"35ba2812a3b068b21b5252c5f07d0b5dc2f18527",class:"ml-0 mr-0"}),t(Ct,{key:"114e7edd4bf3da82ae344f56cb7e856ce17a6da8"}),t(at,{key:"2c15eb0ba714d1e0c378882c62ce575c428adc2a"}))}};kt.style="/*! tailwindcss v4.0.9 | MIT License | https://tailwindcss.com */\n@layer theme, base, components, utilities;\n@layer theme {\n :root,\n :host {\n --font-sans:\n ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',\n 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\n --color-gray-50: oklch(0.985 0.002 247.839);\n --color-white: #fff;\n --spacing: 0.25rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-6xl: 3.75rem;\n --text-6xl--line-height: 1;\n --font-weight-thin: 100;\n --font-weight-bold: 700;\n --radius-md: 0.375rem;\n --animate-spin: spin 1s linear infinite;\n }\n}\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:\n 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:\n 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";export{kt as proto_sudoku}