proto-sudoku-wc 0.0.927 → 0.0.929

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.
@@ -1063,7 +1063,7 @@ const actions = {
1063
1063
  };
1064
1064
 
1065
1065
  // WARNING: generated file...
1066
- const TW_VERSION = '4.0.0';
1066
+ const TW_VERSION = '4.0.1';
1067
1067
 
1068
1068
  const tw = (...classes) => {
1069
1069
  return classes.filter(Boolean).join(' ');
@@ -1219,7 +1219,7 @@ const ToolBar = _props => {
1219
1219
  index.h(TwLabel, null)));
1220
1220
  };
1221
1221
 
1222
- const utilsCss = "/*! tailwindcss v4.0.0 | MIT License | https://tailwindcss.com */\n@layer theme, base, components, utilities;\n@layer utilities {\n .absolute {\n position: absolute;\n }\n .relative {\n position: relative;\n }\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n .m-6 {\n margin: calc(var(--spacing) * 6);\n }\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n .mt-5 {\n margin-top: calc(var(--spacing) * 5);\n }\n .mt-11 {\n margin-top: calc(var(--spacing) * 11);\n }\n .mr-0 {\n margin-right: calc(var(--spacing) * 0);\n }\n .mr-1 {\n margin-right: calc(var(--spacing) * 1);\n }\n .mr-2 {\n margin-right: calc(var(--spacing) * 2);\n }\n .mb-11 {\n margin-bottom: calc(var(--spacing) * 11);\n }\n .ml-0 {\n margin-left: calc(var(--spacing) * 0);\n }\n .ml-auto {\n margin-left: auto;\n }\n .flex {\n display: flex;\n }\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n .h-24px {\n height: 24px;\n }\n .h-76p5 {\n height: 19.125rem;\n }\n .w-8 {\n width: calc(var(--spacing) * 8);\n }\n .w-76p5 {\n width: 19.125rem;\n }\n .max-w-min {\n max-width: min-content;\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .items-center {\n align-items: center;\n }\n .justify-end {\n justify-content: flex-end;\n }\n .rounded-md {\n border-radius: var(--radius-md);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .border-clrs-gray {\n border-color: var(--clrs-gray, #aaaaaa);\n }\n .border-clrs-navy {\n border-color: var(--clrs-navy, #001f3f);\n }\n .border-clrs-red {\n border-color: var(--clrs-red, #ff4136);\n }\n .border-clrs-slate4 {\n border-color: var(--clrs-slate4, #4e5964);\n }\n .bg-clrs-green-a50 {\n background-color: var(--clrs-green-a50, #2ecc4050);\n }\n .bg-clrs-navy {\n background-color: var(--clrs-navy, #001f3f);\n }\n .bg-clrs-red {\n background-color: var(--clrs-red, #ff4136);\n }\n .bg-clrs-red-a50 {\n background-color: var(--clrs-red-a50, #ff413650);\n }\n .bg-clrs-silver {\n background-color: var(--clrs-silver, #dddddd);\n }\n .bg-clrs-slate4 {\n background-color: var(--clrs-slate4, #4e5964);\n }\n .bg-clrs-yellow {\n background-color: var(--clrs-yellow, #ffdc00);\n }\n .bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n .p-0\\.5 {\n padding: calc(var(--spacing) * 0.5);\n }\n .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n .text-center {\n text-align: center;\n }\n .align-top {\n vertical-align: top;\n }\n .font-sans {\n font-family: var(--font-sans);\n }\n .text-6xl {\n font-size: var(--text-6xl);\n line-height: var(--tw-leading, var(--text-6xl--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .leading-8 {\n --tw-leading: calc(var(--spacing) * 8);\n line-height: calc(var(--spacing) * 8);\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-thin {\n --tw-font-weight: var(--font-weight-thin);\n font-weight: var(--font-weight-thin);\n }\n .text-clrs-gray {\n color: var(--clrs-gray, #aaaaaa);\n }\n .text-clrs-navy {\n color: var(--clrs-navy, #001f3f);\n }\n .text-clrs-red {\n color: var(--clrs-red, #ff4136);\n }\n .text-clrs-slate4 {\n color: var(--clrs-slate4, #4e5964);\n }\n .text-white {\n color: var(--color-white);\n }\n .uppercase {\n text-transform: uppercase;\n }\n .italic {\n font-style: italic;\n }\n .antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .opacity-25 {\n opacity: 25%;\n }\n .opacity-75 {\n opacity: 75%;\n }\n .shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)),\n 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .filter {\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,)\n var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,)\n var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .border-xbb-clrs-navy {\n border-bottom: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbl-clrs-navy {\n border-left: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbr-clrs-navy {\n border-right: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbt-clrs-navy {\n border-top: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .hover\\:text-clrs-navy {\n &:hover {\n @media (hover: hover) {\n color: var(--clrs-navy, #001f3f);\n }\n }\n }\n}\n@layer components {\n .ds1-main {\n margin: calc(var(--spacing) * 6);\n display: flex;\n flex-direction: column;\n font-family: var(--font-sans);\n color: var(--clrs-navy, #001f3f);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes ping {\n 75%,\n 100% {\n transform: scale(2);\n opacity: 0;\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@keyframes bounce {\n 0%,\n 100% {\n transform: translateY(-25%);\n animation-timing-function: cubic-bezier(0.8, 0, 1, 1);\n }\n 50% {\n transform: none;\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\n }\n}\n@property --tw-border-style {\n syntax: '*';\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: '*';\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: '*';\n inherits: false;\n}\n@property --tw-shadow {\n syntax: '*';\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: '*';\n inherits: false;\n}\n@property --tw-inset-shadow {\n syntax: '*';\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: '*';\n inherits: false;\n}\n@property --tw-ring-color {\n syntax: '*';\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: '*';\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: '*';\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: '*';\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: '*';\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: '<length>';\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: '*';\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: '*';\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-blur {\n syntax: '*';\n inherits: false;\n}\n@property --tw-brightness {\n syntax: '*';\n inherits: false;\n}\n@property --tw-contrast {\n syntax: '*';\n inherits: false;\n}\n@property --tw-grayscale {\n syntax: '*';\n inherits: false;\n}\n@property --tw-hue-rotate {\n syntax: '*';\n inherits: false;\n}\n@property --tw-invert {\n syntax: '*';\n inherits: false;\n}\n@property --tw-opacity {\n syntax: '*';\n inherits: false;\n}\n@property --tw-saturate {\n syntax: '*';\n inherits: false;\n}\n@property --tw-sepia {\n syntax: '*';\n inherits: false;\n}\n";
1222
+ const utilsCss = "/*! tailwindcss v4.0.1 | MIT License | https://tailwindcss.com */\n@layer theme, base, components, utilities;\n@layer utilities {\n .absolute {\n position: absolute;\n }\n .relative {\n position: relative;\n }\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n .m-6 {\n margin: calc(var(--spacing) * 6);\n }\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n .mt-5 {\n margin-top: calc(var(--spacing) * 5);\n }\n .mt-11 {\n margin-top: calc(var(--spacing) * 11);\n }\n .mr-0 {\n margin-right: calc(var(--spacing) * 0);\n }\n .mr-1 {\n margin-right: calc(var(--spacing) * 1);\n }\n .mr-2 {\n margin-right: calc(var(--spacing) * 2);\n }\n .mb-11 {\n margin-bottom: calc(var(--spacing) * 11);\n }\n .ml-0 {\n margin-left: calc(var(--spacing) * 0);\n }\n .ml-auto {\n margin-left: auto;\n }\n .flex {\n display: flex;\n }\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n .h-24px {\n height: 24px;\n }\n .h-76p5 {\n height: 19.125rem;\n }\n .w-8 {\n width: calc(var(--spacing) * 8);\n }\n .w-76p5 {\n width: 19.125rem;\n }\n .max-w-min {\n max-width: min-content;\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .items-center {\n align-items: center;\n }\n .justify-end {\n justify-content: flex-end;\n }\n .rounded-md {\n border-radius: var(--radius-md);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .border-clrs-gray {\n border-color: var(--clrs-gray, #aaaaaa);\n }\n .border-clrs-navy {\n border-color: var(--clrs-navy, #001f3f);\n }\n .border-clrs-red {\n border-color: var(--clrs-red, #ff4136);\n }\n .border-clrs-slate4 {\n border-color: var(--clrs-slate4, #4e5964);\n }\n .bg-clrs-green-a50 {\n background-color: var(--clrs-green-a50, #2ecc4050);\n }\n .bg-clrs-navy {\n background-color: var(--clrs-navy, #001f3f);\n }\n .bg-clrs-red {\n background-color: var(--clrs-red, #ff4136);\n }\n .bg-clrs-red-a50 {\n background-color: var(--clrs-red-a50, #ff413650);\n }\n .bg-clrs-silver {\n background-color: var(--clrs-silver, #dddddd);\n }\n .bg-clrs-slate4 {\n background-color: var(--clrs-slate4, #4e5964);\n }\n .bg-clrs-yellow {\n background-color: var(--clrs-yellow, #ffdc00);\n }\n .bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n .p-0\\.5 {\n padding: calc(var(--spacing) * 0.5);\n }\n .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n .text-center {\n text-align: center;\n }\n .align-top {\n vertical-align: top;\n }\n .font-sans {\n font-family: var(--font-sans);\n }\n .text-6xl {\n font-size: var(--text-6xl);\n line-height: var(--tw-leading, var(--text-6xl--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .leading-8 {\n --tw-leading: calc(var(--spacing) * 8);\n line-height: calc(var(--spacing) * 8);\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-thin {\n --tw-font-weight: var(--font-weight-thin);\n font-weight: var(--font-weight-thin);\n }\n .text-clrs-gray {\n color: var(--clrs-gray, #aaaaaa);\n }\n .text-clrs-navy {\n color: var(--clrs-navy, #001f3f);\n }\n .text-clrs-red {\n color: var(--clrs-red, #ff4136);\n }\n .text-clrs-slate4 {\n color: var(--clrs-slate4, #4e5964);\n }\n .text-white {\n color: var(--color-white);\n }\n .uppercase {\n text-transform: uppercase;\n }\n .italic {\n font-style: italic;\n }\n .antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .opacity-25 {\n opacity: 25%;\n }\n .opacity-75 {\n opacity: 75%;\n }\n .shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)),\n 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .filter {\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,)\n var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,)\n var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .border-xbb-clrs-navy {\n border-bottom: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbl-clrs-navy {\n border-left: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbr-clrs-navy {\n border-right: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbt-clrs-navy {\n border-top: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .hover\\:text-clrs-navy {\n &:hover {\n @media (hover: hover) {\n color: var(--clrs-navy, #001f3f);\n }\n }\n }\n}\n@layer components {\n .ds1-main {\n margin: calc(var(--spacing) * 6);\n display: flex;\n flex-direction: column;\n font-family: var(--font-sans);\n color: var(--clrs-navy, #001f3f);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes ping {\n 75%,\n 100% {\n transform: scale(2);\n opacity: 0;\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@keyframes bounce {\n 0%,\n 100% {\n transform: translateY(-25%);\n animation-timing-function: cubic-bezier(0.8, 0, 1, 1);\n }\n 50% {\n transform: none;\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\n }\n}\n";
1223
1223
  const ProtoSudokuStyle0 = utilsCss;
1224
1224
 
1225
1225
  const ProtoSudoku = class {
@@ -0,0 +1,104 @@
1
+ @property --tw-border-style {
2
+ syntax: '*';
3
+ inherits: false;
4
+ initial-value: solid;
5
+ }
6
+ @property --tw-leading {
7
+ syntax: '*';
8
+ inherits: false;
9
+ }
10
+ @property --tw-font-weight {
11
+ syntax: '*';
12
+ inherits: false;
13
+ }
14
+ @property --tw-shadow {
15
+ syntax: '*';
16
+ inherits: false;
17
+ initial-value: 0 0 #0000;
18
+ }
19
+ @property --tw-shadow-color {
20
+ syntax: '*';
21
+ inherits: false;
22
+ }
23
+ @property --tw-inset-shadow {
24
+ syntax: '*';
25
+ inherits: false;
26
+ initial-value: 0 0 #0000;
27
+ }
28
+ @property --tw-inset-shadow-color {
29
+ syntax: '*';
30
+ inherits: false;
31
+ }
32
+ @property --tw-ring-color {
33
+ syntax: '*';
34
+ inherits: false;
35
+ }
36
+ @property --tw-ring-shadow {
37
+ syntax: '*';
38
+ inherits: false;
39
+ initial-value: 0 0 #0000;
40
+ }
41
+ @property --tw-inset-ring-color {
42
+ syntax: '*';
43
+ inherits: false;
44
+ }
45
+ @property --tw-inset-ring-shadow {
46
+ syntax: '*';
47
+ inherits: false;
48
+ initial-value: 0 0 #0000;
49
+ }
50
+ @property --tw-ring-inset {
51
+ syntax: '*';
52
+ inherits: false;
53
+ }
54
+ @property --tw-ring-offset-width {
55
+ syntax: '<length>';
56
+ inherits: false;
57
+ initial-value: 0px;
58
+ }
59
+ @property --tw-ring-offset-color {
60
+ syntax: '*';
61
+ inherits: false;
62
+ initial-value: #fff;
63
+ }
64
+ @property --tw-ring-offset-shadow {
65
+ syntax: '*';
66
+ inherits: false;
67
+ initial-value: 0 0 #0000;
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
+ }
@@ -1,4 +1,4 @@
1
- /*! tailwindcss v4.0.0 | MIT License | https://tailwindcss.com */
1
+ /*! tailwindcss v4.0.1 | MIT License | https://tailwindcss.com */
2
2
  @layer theme, base, components, utilities;
3
3
  @layer utilities {
4
4
  .absolute {
@@ -278,107 +278,3 @@
278
278
  animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
279
279
  }
280
280
  }
281
- @property --tw-border-style {
282
- syntax: '*';
283
- inherits: false;
284
- initial-value: solid;
285
- }
286
- @property --tw-leading {
287
- syntax: '*';
288
- inherits: false;
289
- }
290
- @property --tw-font-weight {
291
- syntax: '*';
292
- inherits: false;
293
- }
294
- @property --tw-shadow {
295
- syntax: '*';
296
- inherits: false;
297
- initial-value: 0 0 #0000;
298
- }
299
- @property --tw-shadow-color {
300
- syntax: '*';
301
- inherits: false;
302
- }
303
- @property --tw-inset-shadow {
304
- syntax: '*';
305
- inherits: false;
306
- initial-value: 0 0 #0000;
307
- }
308
- @property --tw-inset-shadow-color {
309
- syntax: '*';
310
- inherits: false;
311
- }
312
- @property --tw-ring-color {
313
- syntax: '*';
314
- inherits: false;
315
- }
316
- @property --tw-ring-shadow {
317
- syntax: '*';
318
- inherits: false;
319
- initial-value: 0 0 #0000;
320
- }
321
- @property --tw-inset-ring-color {
322
- syntax: '*';
323
- inherits: false;
324
- }
325
- @property --tw-inset-ring-shadow {
326
- syntax: '*';
327
- inherits: false;
328
- initial-value: 0 0 #0000;
329
- }
330
- @property --tw-ring-inset {
331
- syntax: '*';
332
- inherits: false;
333
- }
334
- @property --tw-ring-offset-width {
335
- syntax: '<length>';
336
- inherits: false;
337
- initial-value: 0px;
338
- }
339
- @property --tw-ring-offset-color {
340
- syntax: '*';
341
- inherits: false;
342
- initial-value: #fff;
343
- }
344
- @property --tw-ring-offset-shadow {
345
- syntax: '*';
346
- inherits: false;
347
- initial-value: 0 0 #0000;
348
- }
349
- @property --tw-blur {
350
- syntax: '*';
351
- inherits: false;
352
- }
353
- @property --tw-brightness {
354
- syntax: '*';
355
- inherits: false;
356
- }
357
- @property --tw-contrast {
358
- syntax: '*';
359
- inherits: false;
360
- }
361
- @property --tw-grayscale {
362
- syntax: '*';
363
- inherits: false;
364
- }
365
- @property --tw-hue-rotate {
366
- syntax: '*';
367
- inherits: false;
368
- }
369
- @property --tw-invert {
370
- syntax: '*';
371
- inherits: false;
372
- }
373
- @property --tw-opacity {
374
- syntax: '*';
375
- inherits: false;
376
- }
377
- @property --tw-saturate {
378
- syntax: '*';
379
- inherits: false;
380
- }
381
- @property --tw-sepia {
382
- syntax: '*';
383
- inherits: false;
384
- }
@@ -1,7 +1,8 @@
1
- /*! tailwindcss v4.0.0 | MIT License | https://tailwindcss.com */
1
+ /*! tailwindcss v4.0.1 | MIT License | https://tailwindcss.com */
2
2
  @layer theme, base, components, utilities;
3
3
  @layer theme {
4
- :root {
4
+ :root,
5
+ :host {
5
6
  --font-sans: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',
6
7
  'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
7
8
  --font-serif: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
@@ -1,4 +1,4 @@
1
1
  // WARNING: generated file...
2
- const TW_VERSION = '4.0.0';
2
+ const TW_VERSION = '4.0.1';
3
3
  export { TW_VERSION };
4
4
  export default TW_VERSION;
@@ -1059,7 +1059,7 @@ const actions = {
1059
1059
  };
1060
1060
 
1061
1061
  // WARNING: generated file...
1062
- const TW_VERSION = '4.0.0';
1062
+ const TW_VERSION = '4.0.1';
1063
1063
 
1064
1064
  const tw = (...classes) => {
1065
1065
  return classes.filter(Boolean).join(' ');
@@ -1215,7 +1215,7 @@ const ToolBar = _props => {
1215
1215
  h(TwLabel, null)));
1216
1216
  };
1217
1217
 
1218
- const utilsCss = "/*! tailwindcss v4.0.0 | MIT License | https://tailwindcss.com */\n@layer theme, base, components, utilities;\n@layer utilities {\n .absolute {\n position: absolute;\n }\n .relative {\n position: relative;\n }\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n .m-6 {\n margin: calc(var(--spacing) * 6);\n }\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n .mt-5 {\n margin-top: calc(var(--spacing) * 5);\n }\n .mt-11 {\n margin-top: calc(var(--spacing) * 11);\n }\n .mr-0 {\n margin-right: calc(var(--spacing) * 0);\n }\n .mr-1 {\n margin-right: calc(var(--spacing) * 1);\n }\n .mr-2 {\n margin-right: calc(var(--spacing) * 2);\n }\n .mb-11 {\n margin-bottom: calc(var(--spacing) * 11);\n }\n .ml-0 {\n margin-left: calc(var(--spacing) * 0);\n }\n .ml-auto {\n margin-left: auto;\n }\n .flex {\n display: flex;\n }\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n .h-24px {\n height: 24px;\n }\n .h-76p5 {\n height: 19.125rem;\n }\n .w-8 {\n width: calc(var(--spacing) * 8);\n }\n .w-76p5 {\n width: 19.125rem;\n }\n .max-w-min {\n max-width: min-content;\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .items-center {\n align-items: center;\n }\n .justify-end {\n justify-content: flex-end;\n }\n .rounded-md {\n border-radius: var(--radius-md);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .border-clrs-gray {\n border-color: var(--clrs-gray, #aaaaaa);\n }\n .border-clrs-navy {\n border-color: var(--clrs-navy, #001f3f);\n }\n .border-clrs-red {\n border-color: var(--clrs-red, #ff4136);\n }\n .border-clrs-slate4 {\n border-color: var(--clrs-slate4, #4e5964);\n }\n .bg-clrs-green-a50 {\n background-color: var(--clrs-green-a50, #2ecc4050);\n }\n .bg-clrs-navy {\n background-color: var(--clrs-navy, #001f3f);\n }\n .bg-clrs-red {\n background-color: var(--clrs-red, #ff4136);\n }\n .bg-clrs-red-a50 {\n background-color: var(--clrs-red-a50, #ff413650);\n }\n .bg-clrs-silver {\n background-color: var(--clrs-silver, #dddddd);\n }\n .bg-clrs-slate4 {\n background-color: var(--clrs-slate4, #4e5964);\n }\n .bg-clrs-yellow {\n background-color: var(--clrs-yellow, #ffdc00);\n }\n .bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n .p-0\\.5 {\n padding: calc(var(--spacing) * 0.5);\n }\n .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n .text-center {\n text-align: center;\n }\n .align-top {\n vertical-align: top;\n }\n .font-sans {\n font-family: var(--font-sans);\n }\n .text-6xl {\n font-size: var(--text-6xl);\n line-height: var(--tw-leading, var(--text-6xl--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .leading-8 {\n --tw-leading: calc(var(--spacing) * 8);\n line-height: calc(var(--spacing) * 8);\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-thin {\n --tw-font-weight: var(--font-weight-thin);\n font-weight: var(--font-weight-thin);\n }\n .text-clrs-gray {\n color: var(--clrs-gray, #aaaaaa);\n }\n .text-clrs-navy {\n color: var(--clrs-navy, #001f3f);\n }\n .text-clrs-red {\n color: var(--clrs-red, #ff4136);\n }\n .text-clrs-slate4 {\n color: var(--clrs-slate4, #4e5964);\n }\n .text-white {\n color: var(--color-white);\n }\n .uppercase {\n text-transform: uppercase;\n }\n .italic {\n font-style: italic;\n }\n .antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .opacity-25 {\n opacity: 25%;\n }\n .opacity-75 {\n opacity: 75%;\n }\n .shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)),\n 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .filter {\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,)\n var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,)\n var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .border-xbb-clrs-navy {\n border-bottom: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbl-clrs-navy {\n border-left: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbr-clrs-navy {\n border-right: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbt-clrs-navy {\n border-top: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .hover\\:text-clrs-navy {\n &:hover {\n @media (hover: hover) {\n color: var(--clrs-navy, #001f3f);\n }\n }\n }\n}\n@layer components {\n .ds1-main {\n margin: calc(var(--spacing) * 6);\n display: flex;\n flex-direction: column;\n font-family: var(--font-sans);\n color: var(--clrs-navy, #001f3f);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes ping {\n 75%,\n 100% {\n transform: scale(2);\n opacity: 0;\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@keyframes bounce {\n 0%,\n 100% {\n transform: translateY(-25%);\n animation-timing-function: cubic-bezier(0.8, 0, 1, 1);\n }\n 50% {\n transform: none;\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\n }\n}\n@property --tw-border-style {\n syntax: '*';\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: '*';\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: '*';\n inherits: false;\n}\n@property --tw-shadow {\n syntax: '*';\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: '*';\n inherits: false;\n}\n@property --tw-inset-shadow {\n syntax: '*';\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: '*';\n inherits: false;\n}\n@property --tw-ring-color {\n syntax: '*';\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: '*';\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: '*';\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: '*';\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: '*';\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: '<length>';\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: '*';\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: '*';\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-blur {\n syntax: '*';\n inherits: false;\n}\n@property --tw-brightness {\n syntax: '*';\n inherits: false;\n}\n@property --tw-contrast {\n syntax: '*';\n inherits: false;\n}\n@property --tw-grayscale {\n syntax: '*';\n inherits: false;\n}\n@property --tw-hue-rotate {\n syntax: '*';\n inherits: false;\n}\n@property --tw-invert {\n syntax: '*';\n inherits: false;\n}\n@property --tw-opacity {\n syntax: '*';\n inherits: false;\n}\n@property --tw-saturate {\n syntax: '*';\n inherits: false;\n}\n@property --tw-sepia {\n syntax: '*';\n inherits: false;\n}\n";
1218
+ const utilsCss = "/*! tailwindcss v4.0.1 | MIT License | https://tailwindcss.com */\n@layer theme, base, components, utilities;\n@layer utilities {\n .absolute {\n position: absolute;\n }\n .relative {\n position: relative;\n }\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n .m-6 {\n margin: calc(var(--spacing) * 6);\n }\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n .mt-5 {\n margin-top: calc(var(--spacing) * 5);\n }\n .mt-11 {\n margin-top: calc(var(--spacing) * 11);\n }\n .mr-0 {\n margin-right: calc(var(--spacing) * 0);\n }\n .mr-1 {\n margin-right: calc(var(--spacing) * 1);\n }\n .mr-2 {\n margin-right: calc(var(--spacing) * 2);\n }\n .mb-11 {\n margin-bottom: calc(var(--spacing) * 11);\n }\n .ml-0 {\n margin-left: calc(var(--spacing) * 0);\n }\n .ml-auto {\n margin-left: auto;\n }\n .flex {\n display: flex;\n }\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n .h-24px {\n height: 24px;\n }\n .h-76p5 {\n height: 19.125rem;\n }\n .w-8 {\n width: calc(var(--spacing) * 8);\n }\n .w-76p5 {\n width: 19.125rem;\n }\n .max-w-min {\n max-width: min-content;\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .items-center {\n align-items: center;\n }\n .justify-end {\n justify-content: flex-end;\n }\n .rounded-md {\n border-radius: var(--radius-md);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .border-clrs-gray {\n border-color: var(--clrs-gray, #aaaaaa);\n }\n .border-clrs-navy {\n border-color: var(--clrs-navy, #001f3f);\n }\n .border-clrs-red {\n border-color: var(--clrs-red, #ff4136);\n }\n .border-clrs-slate4 {\n border-color: var(--clrs-slate4, #4e5964);\n }\n .bg-clrs-green-a50 {\n background-color: var(--clrs-green-a50, #2ecc4050);\n }\n .bg-clrs-navy {\n background-color: var(--clrs-navy, #001f3f);\n }\n .bg-clrs-red {\n background-color: var(--clrs-red, #ff4136);\n }\n .bg-clrs-red-a50 {\n background-color: var(--clrs-red-a50, #ff413650);\n }\n .bg-clrs-silver {\n background-color: var(--clrs-silver, #dddddd);\n }\n .bg-clrs-slate4 {\n background-color: var(--clrs-slate4, #4e5964);\n }\n .bg-clrs-yellow {\n background-color: var(--clrs-yellow, #ffdc00);\n }\n .bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n .p-0\\.5 {\n padding: calc(var(--spacing) * 0.5);\n }\n .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n .text-center {\n text-align: center;\n }\n .align-top {\n vertical-align: top;\n }\n .font-sans {\n font-family: var(--font-sans);\n }\n .text-6xl {\n font-size: var(--text-6xl);\n line-height: var(--tw-leading, var(--text-6xl--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .leading-8 {\n --tw-leading: calc(var(--spacing) * 8);\n line-height: calc(var(--spacing) * 8);\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-thin {\n --tw-font-weight: var(--font-weight-thin);\n font-weight: var(--font-weight-thin);\n }\n .text-clrs-gray {\n color: var(--clrs-gray, #aaaaaa);\n }\n .text-clrs-navy {\n color: var(--clrs-navy, #001f3f);\n }\n .text-clrs-red {\n color: var(--clrs-red, #ff4136);\n }\n .text-clrs-slate4 {\n color: var(--clrs-slate4, #4e5964);\n }\n .text-white {\n color: var(--color-white);\n }\n .uppercase {\n text-transform: uppercase;\n }\n .italic {\n font-style: italic;\n }\n .antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .opacity-25 {\n opacity: 25%;\n }\n .opacity-75 {\n opacity: 75%;\n }\n .shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)),\n 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .filter {\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,)\n var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,)\n var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .border-xbb-clrs-navy {\n border-bottom: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbl-clrs-navy {\n border-left: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbr-clrs-navy {\n border-right: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbt-clrs-navy {\n border-top: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .hover\\:text-clrs-navy {\n &:hover {\n @media (hover: hover) {\n color: var(--clrs-navy, #001f3f);\n }\n }\n }\n}\n@layer components {\n .ds1-main {\n margin: calc(var(--spacing) * 6);\n display: flex;\n flex-direction: column;\n font-family: var(--font-sans);\n color: var(--clrs-navy, #001f3f);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes ping {\n 75%,\n 100% {\n transform: scale(2);\n opacity: 0;\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@keyframes bounce {\n 0%,\n 100% {\n transform: translateY(-25%);\n animation-timing-function: cubic-bezier(0.8, 0, 1, 1);\n }\n 50% {\n transform: none;\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\n }\n}\n";
1219
1219
  const ProtoSudokuStyle0 = utilsCss;
1220
1220
 
1221
1221
  const ProtoSudoku = class {
@@ -0,0 +1,2 @@
1
+ import{h as t,g as n,f as e,r}from"./p-1922517b.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},d=(t,n)=>{const e=JSON.stringify(n);localStorage.setItem(t,e)},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)},b="Check ?",g="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)}})(),v=t=>"function"==typeof t?t():t;class m 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 z({},...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]?[]:z(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")}),z=(...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=z(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},E=(()=>{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,A="function"==typeof globalThis.ReadableStream,S="function"==typeof globalThis.FormData,P=["get","post","put","patch","head","delete"],q={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},$=2147483647,B=Symbol("stop"),O={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},L={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,dispatcher:!0,duplex:!0,priority:!0},U=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>$)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 m(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(!A)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:U(n.method??this._input.method),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(E&&(this._options.duplex="half"),void 0!==this._options.json&&(this._options.body=this._options.stringifyJson?.(this._options.json)??JSON.stringify(this._options.json),this._options.headers.set("content-type",this._options.headers.get("content-type")??"application/json")),this.request=new globalThis.Request(this._input,this._options),this._options.searchParams){const t="string"==typeof this._options.searchParams?this._options.searchParams.replace(/^\?/,""):new URLSearchParams(this._options.searchParams).toString(),n=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,"?"+t);!(S&&this._options.body instanceof globalThis.FormData||this._options.body instanceof URLSearchParams)||this._options.headers&&this._options.headers["content-type"]||this.request.headers.delete("content-type"),this.request=new globalThis.Request(new globalThis.Request(n,{...this.request}),this._options)}}_calculateRetryDelay(t){if(this._retryCount++,this._retryCount>this._options.retry.limit||t instanceof x)throw t;if(t instanceof m){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),$);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})===B)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 L||r in O||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=B,n},J=H(),X={list:[],keys:[],locs:[],loading:!1,solved:!1,error:void 0,pick:void 0,data:void 0},{state:I}=(()=>{const t=((t,n=((t,n)=>t!==n))=>{const e=v(t);let r=new Map(Object.entries(null!=e?e:{}));const o={dispose:[],get:[],set:[],reset:[]},s=()=>{var n;r=new Map(Object.entries(null!==(n=v(t))&&void 0!==n?n:{})),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(v(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)))}}})(X,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]]),Y=["1","2","3","4","5","6","7","8","9"],Z=t=>{if(void 0!==t&&t.indx!=I.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}=I,e=new Set;return t.map((t=>{const{key:r}=n[t];"."!=r&&e.add(r)})),Y.filter((t=>!e.has(t)))})(a);I.pick=e,I.keys=i,I.locs=a}else I.pick=void 0,I.keys=[],I.locs=[];G(I.pick)};let K;const V={local:"http://localhost:8080/api",netlify:"/.netlify/functions",vercel:"https://sudoku-rust-api.vercel.app/api"},F=t=>{f(t)},G=t=>{u(t)},Q=(t=!1)=>{I.list=[],I.keys=[],I.locs=[],I.loading=t,I.solved=!1,I.error=void 0,I.pick=void 0,I.data=void 0},tt=(t,n=!0)=>{const{puzzle:e,ref:r}=t;n&&(f([]),d(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=>{h().forEach(((n,e)=>{const r=t[e],{isClue:o}=r;o||(r.key=n)}))})(a),I.data=t,I.list=a}else I.data=void 0,I.list=[]})({puzzle:e,ref:r})},nt=t=>{I.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}=I;Z(t[e])}},refresh:async()=>{Q(!0),F([]),G(I.pick);try{const t=await K.get("puzzle").json();tt(t)}catch(t){const{message:n}=t;console.log("-- ",n),console.log(t),I.error=n}finally{I.loading=!1}},select:t=>{Z(t)},check:()=>{const{list:t}=I,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;F(r?n:[]),e>0?nt(t):81===s&&(I.solved=!0)},input:t=>{const{pick:n,list:e}=I;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}=I;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})),dt=(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),ht=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===b?"mr-2 bg-clrs-yellow px-3 py-2 text-clrs-navy":e===g?"mr-2 bg-clrs-navy px-3 py-2 text-white":"x"===e?"mr-1 bg-clrs-red px-2 py-1 text-white":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}=I,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(ht,{label:"x",callback:s(".")}),a.map((n=>t(ht,{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)),bt=[18,19,20,21,22,23,24,25,26,45,46,47,48,49,50,51,52,53],gt=bt.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":"",bt.includes(l)?"border-xbb-clrs-navy":"",gt.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}=I;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})})))},vt=()=>t("label",{class:"ml-auto align-top text-xs italic text-clrs-slate4"},"Tailwind ","4.0.1"),mt=t=>()=>{t.refresh()},xt=t=>()=>{t.check()},Ct=()=>{const{list:n,solved:e}=I;return t("div",{class:"flex flex-row"},t(ht,{label:g,callback:mt(et)}),81!==n.length||e?"":t(ht,{label:b,callback:xt(et)}),t(vt,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(dt,{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.1 | MIT License | https://tailwindcss.com */\n@layer theme, base, components, utilities;\n@layer utilities {\n .absolute {\n position: absolute;\n }\n .relative {\n position: relative;\n }\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n .m-6 {\n margin: calc(var(--spacing) * 6);\n }\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n .mt-5 {\n margin-top: calc(var(--spacing) * 5);\n }\n .mt-11 {\n margin-top: calc(var(--spacing) * 11);\n }\n .mr-0 {\n margin-right: calc(var(--spacing) * 0);\n }\n .mr-1 {\n margin-right: calc(var(--spacing) * 1);\n }\n .mr-2 {\n margin-right: calc(var(--spacing) * 2);\n }\n .mb-11 {\n margin-bottom: calc(var(--spacing) * 11);\n }\n .ml-0 {\n margin-left: calc(var(--spacing) * 0);\n }\n .ml-auto {\n margin-left: auto;\n }\n .flex {\n display: flex;\n }\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n .h-24px {\n height: 24px;\n }\n .h-76p5 {\n height: 19.125rem;\n }\n .w-8 {\n width: calc(var(--spacing) * 8);\n }\n .w-76p5 {\n width: 19.125rem;\n }\n .max-w-min {\n max-width: min-content;\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .items-center {\n align-items: center;\n }\n .justify-end {\n justify-content: flex-end;\n }\n .rounded-md {\n border-radius: var(--radius-md);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .border-clrs-gray {\n border-color: var(--clrs-gray, #aaaaaa);\n }\n .border-clrs-navy {\n border-color: var(--clrs-navy, #001f3f);\n }\n .border-clrs-red {\n border-color: var(--clrs-red, #ff4136);\n }\n .border-clrs-slate4 {\n border-color: var(--clrs-slate4, #4e5964);\n }\n .bg-clrs-green-a50 {\n background-color: var(--clrs-green-a50, #2ecc4050);\n }\n .bg-clrs-navy {\n background-color: var(--clrs-navy, #001f3f);\n }\n .bg-clrs-red {\n background-color: var(--clrs-red, #ff4136);\n }\n .bg-clrs-red-a50 {\n background-color: var(--clrs-red-a50, #ff413650);\n }\n .bg-clrs-silver {\n background-color: var(--clrs-silver, #dddddd);\n }\n .bg-clrs-slate4 {\n background-color: var(--clrs-slate4, #4e5964);\n }\n .bg-clrs-yellow {\n background-color: var(--clrs-yellow, #ffdc00);\n }\n .bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n .p-0\\.5 {\n padding: calc(var(--spacing) * 0.5);\n }\n .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n .text-center {\n text-align: center;\n }\n .align-top {\n vertical-align: top;\n }\n .font-sans {\n font-family: var(--font-sans);\n }\n .text-6xl {\n font-size: var(--text-6xl);\n line-height: var(--tw-leading, var(--text-6xl--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .leading-8 {\n --tw-leading: calc(var(--spacing) * 8);\n line-height: calc(var(--spacing) * 8);\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-thin {\n --tw-font-weight: var(--font-weight-thin);\n font-weight: var(--font-weight-thin);\n }\n .text-clrs-gray {\n color: var(--clrs-gray, #aaaaaa);\n }\n .text-clrs-navy {\n color: var(--clrs-navy, #001f3f);\n }\n .text-clrs-red {\n color: var(--clrs-red, #ff4136);\n }\n .text-clrs-slate4 {\n color: var(--clrs-slate4, #4e5964);\n }\n .text-white {\n color: var(--color-white);\n }\n .uppercase {\n text-transform: uppercase;\n }\n .italic {\n font-style: italic;\n }\n .antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .opacity-25 {\n opacity: 25%;\n }\n .opacity-75 {\n opacity: 75%;\n }\n .shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)),\n 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .filter {\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,)\n var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,)\n var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .border-xbb-clrs-navy {\n border-bottom: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbl-clrs-navy {\n border-left: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbr-clrs-navy {\n border-right: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbt-clrs-navy {\n border-top: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .hover\\:text-clrs-navy {\n &:hover {\n @media (hover: hover) {\n color: var(--clrs-navy, #001f3f);\n }\n }\n }\n}\n@layer components {\n .ds1-main {\n margin: calc(var(--spacing) * 6);\n display: flex;\n flex-direction: column;\n font-family: var(--font-sans);\n color: var(--clrs-navy, #001f3f);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes ping {\n 75%,\n 100% {\n transform: scale(2);\n opacity: 0;\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@keyframes bounce {\n 0%,\n 100% {\n transform: translateY(-25%);\n animation-timing-function: cubic-bezier(0.8, 0, 1, 1);\n }\n 50% {\n transform: none;\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\n }\n}\n";export{kt as proto_sudoku}
@@ -0,0 +1,104 @@
1
+ @property --tw-border-style {
2
+ syntax: '*';
3
+ inherits: false;
4
+ initial-value: solid;
5
+ }
6
+ @property --tw-leading {
7
+ syntax: '*';
8
+ inherits: false;
9
+ }
10
+ @property --tw-font-weight {
11
+ syntax: '*';
12
+ inherits: false;
13
+ }
14
+ @property --tw-shadow {
15
+ syntax: '*';
16
+ inherits: false;
17
+ initial-value: 0 0 #0000;
18
+ }
19
+ @property --tw-shadow-color {
20
+ syntax: '*';
21
+ inherits: false;
22
+ }
23
+ @property --tw-inset-shadow {
24
+ syntax: '*';
25
+ inherits: false;
26
+ initial-value: 0 0 #0000;
27
+ }
28
+ @property --tw-inset-shadow-color {
29
+ syntax: '*';
30
+ inherits: false;
31
+ }
32
+ @property --tw-ring-color {
33
+ syntax: '*';
34
+ inherits: false;
35
+ }
36
+ @property --tw-ring-shadow {
37
+ syntax: '*';
38
+ inherits: false;
39
+ initial-value: 0 0 #0000;
40
+ }
41
+ @property --tw-inset-ring-color {
42
+ syntax: '*';
43
+ inherits: false;
44
+ }
45
+ @property --tw-inset-ring-shadow {
46
+ syntax: '*';
47
+ inherits: false;
48
+ initial-value: 0 0 #0000;
49
+ }
50
+ @property --tw-ring-inset {
51
+ syntax: '*';
52
+ inherits: false;
53
+ }
54
+ @property --tw-ring-offset-width {
55
+ syntax: '<length>';
56
+ inherits: false;
57
+ initial-value: 0px;
58
+ }
59
+ @property --tw-ring-offset-color {
60
+ syntax: '*';
61
+ inherits: false;
62
+ initial-value: #fff;
63
+ }
64
+ @property --tw-ring-offset-shadow {
65
+ syntax: '*';
66
+ inherits: false;
67
+ initial-value: 0 0 #0000;
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
+ }
@@ -1 +1 @@
1
- import{p as o,b as t}from"./p-1922517b.js";export{s as setNonce}from"./p-1922517b.js";import{g as p}from"./p-e1255160.js";(()=>{const s=import.meta.url,t={};return""!==s&&(t.resourcesUrl=new URL(".",s).href),o(t)})().then((async o=>(await p(),t([["p-2305789d",[[1,"proto-sudoku",{tag:[1],platform:[1]}]]]],o))));
1
+ import{p as o,b as t}from"./p-1922517b.js";export{s as setNonce}from"./p-1922517b.js";import{g as p}from"./p-e1255160.js";(()=>{const s=import.meta.url,t={};return""!==s&&(t.resourcesUrl=new URL(".",s).href),o(t)})().then((async o=>(await p(),t([["p-3e0bbe95",[[1,"proto-sudoku",{tag:[1],platform:[1]}]]]],o))));
@@ -1,7 +1,8 @@
1
- /*! tailwindcss v4.0.0 | MIT License | https://tailwindcss.com */
1
+ /*! tailwindcss v4.0.1 | MIT License | https://tailwindcss.com */
2
2
  @layer theme, base, components, utilities;
3
3
  @layer theme {
4
- :root {
4
+ :root,
5
+ :host {
5
6
  --font-sans: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',
6
7
  'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
7
8
  --font-serif: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
@@ -1,3 +1,3 @@
1
- declare const TW_VERSION = "4.0.0";
1
+ declare const TW_VERSION = "4.0.1";
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.0.927",
3
+ "version": "0.0.929",
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",
@@ -41,7 +41,7 @@
41
41
  "prettier": "3.4.2",
42
42
  "prettier-plugin-tailwindcss": "0.6.11",
43
43
  "proto-tailwindcss-clrs": "0.0.399",
44
- "tailwindcss": "4.0.0",
44
+ "tailwindcss": "4.0.1",
45
45
  "typescript": "5.7.3",
46
46
  "workbox-build": "7.3.0"
47
47
  },
@@ -1,2 +0,0 @@
1
- import{h as n,g as t,f as e,r}from"./p-1922517b.js";const s=t=>{const e=t.hex||"currentColor",r=t.size||24;return n("svg",{class:t.class,width:r,height:r,viewBox:"0 0 24 24",role:"img","aria-label":"title"},n("title",null,t.label||"alien"),n("g",{fill:e},n("path",{d:"M10.31 10.93C11.33 12.57 11.18 14.5 9.96 15.28C8.74 16.04 6.92 15.33\n 5.89 13.69C4.87 12.05 5.03 10.1 6.25 9.34C7.47 8.58 9.29 9.29 10.31\n 10.93M12 17.75C14 17.75 14.5 17 14.5 17C14.5 17 14 19 12 19C10 19 9.5\n 17.03 9.5 17C9.5 17 10 17.75 12 17.75M17.75 9.34C18.97 10.1 19.13 12.05\n 18.11 13.69C17.08 15.33 15.26 16.04 14.04 15.28C12.82 14.5 12.67 12.57\n 13.69 10.93C14.71 9.29 16.53 8.58 17.75 9.34M12 20C14.5 20 20 14.86 20\n 11C20 7.14 16.41 4 12 4C7.59 4 4 7.14 4 11C4 14.86 9.5 20 12 20M12 2C17.5\n 2 22 6.04 22 11C22 15.08 16.32 22 12 22C7.68 22 2 15.08 2 11C2 6.04 6.5 2\n 12 2Z"})),n("path",{d:"M0 0h24v24H0z",fill:"none"}))},a="proto-sudoku",o=`${a}::data`,i=`${a}::inputs`,l=`${a}::pick`,c=n=>{const t=localStorage.getItem(n);return t?JSON.parse(t):void 0},h=(n,t)=>{const e=JSON.stringify(t);localStorage.setItem(n,e)},f=()=>[...c(i)],d=n=>{h(i,n.join(""))},p=()=>{const n=c(l);return null!==n?n:void 0},u=n=>{h(l,n>=0&&n<81?n:null)},y="Check ?",g="New Puzzle",b=n=>!("isConnected"in n)||n.isConnected,w=(()=>{let n;return(...t)=>{n&&clearTimeout(n),n=setTimeout((()=>{n=0,(n=>{for(let t of n.keys())n.set(t,n.get(t).filter(b))})(...t)}),2e3)}})(),v=n=>"function"==typeof n?n():n;class m extends Error{response;request;options;constructor(n,t,e){const r=`${n.status||0===n.status?n.status:""} ${n.statusText||""}`.trim();super(`Request failed with ${r?`status code ${r}`:"an unknown error"}: ${t.method} ${t.url}`),this.name="HTTPError",this.response=n,this.request=t,this.options=e}}class x extends Error{request;constructor(n){super(`Request timed out: ${n.method} ${n.url}`),this.name="TimeoutError",this.request=n}}const C=n=>null!==n&&"object"==typeof n,k=(...n)=>{for(const t of n)if((!C(t)||Array.isArray(t))&&void 0!==t)throw new TypeError("The `options` argument must be an object");return z({},...n)},T=(n={},t={})=>{const e=new globalThis.Headers(n),r=t instanceof globalThis.Headers,s=new globalThis.Headers(t);for(const[n,t]of s.entries())r&&"undefined"===t||void 0===t?e.delete(n):e.set(n,t);return e};function R(n,t,e){return Object.hasOwn(t,e)&&void 0===t[e]?[]:z(n[e]??[],t[e]??[])}const M=(n={},t={})=>({beforeRequest:R(n,t,"beforeRequest"),beforeRetry:R(n,t,"beforeRetry"),afterResponse:R(n,t,"afterResponse"),beforeError:R(n,t,"beforeError")}),z=(...n)=>{let t={},e={},r={};for(const s of n)if(Array.isArray(s))Array.isArray(t)||(t=[]),t=[...t,...s];else if(C(s)){for(let[n,e]of Object.entries(s))C(e)&&n in t&&(e=z(t[n],e)),t={...t,[n]:e};C(s.hooks)&&(r=M(r,s.hooks),t.hooks=r),C(s.headers)&&(e=T(e,s.headers),t.headers=e)}return t},E=(()=>{let n=!1,t=!1;const e="function"==typeof globalThis.ReadableStream,r="function"==typeof globalThis.Request;if(e&&r)try{t=new globalThis.Request("https://empty.invalid",{body:new globalThis.ReadableStream,method:"POST",get duplex(){return n=!0,"half"}}).headers.has("Content-Type")}catch(n){if(n instanceof Error&&"unsupported BodyInit type"===n.message)return!1;throw n}return n&&!t})(),j="function"==typeof globalThis.AbortController,A="function"==typeof globalThis.ReadableStream,S="function"==typeof globalThis.FormData,P=["get","post","put","patch","head","delete"],q={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},$=2147483647,B=Symbol("stop"),O={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},L={method:!0,headers:!0,body:!0,mode:!0,credentials:!0,cache:!0,redirect:!0,referrer:!0,referrerPolicy:!0,integrity:!0,keepalive:!0,signal:!0,window:!0,dispatcher:!0,duplex:!0,priority:!0},U=n=>P.includes(n)?n.toUpperCase():n,D={limit:2,methods:["get","put","head","delete","options","trace"],statusCodes:[408,413,429,500,502,503,504],afterStatusCodes:[413,429,503],maxRetryAfter:Number.POSITIVE_INFINITY,backoffLimit:Number.POSITIVE_INFINITY,delay:n=>.3*2**(n-1)*1e3},N=(n={})=>{if("number"==typeof n)return{...D,limit:n};if(n.methods&&!Array.isArray(n.methods))throw new Error("retry.methods must be an array");if(n.statusCodes&&!Array.isArray(n.statusCodes))throw new Error("retry.statusCodes must be an array");return{...D,...n}};class _{static create(n,t){const e=new _(n,t),r=async()=>{if("number"==typeof e._options.timeout&&e._options.timeout>$)throw new RangeError("The `timeout` option cannot be greater than 2147483647");await Promise.resolve();let n=await e._fetch();for(const t of e._options.hooks.afterResponse){const r=await t(e.request,e._options,e._decorateResponse(n.clone()));r instanceof globalThis.Response&&(n=r)}if(e._decorateResponse(n),!n.ok&&e._options.throwHttpErrors){let t=new m(n,e.request,e._options);for(const n of e._options.hooks.beforeError)t=await n(t);throw t}if(e._options.onDownloadProgress){if("function"!=typeof e._options.onDownloadProgress)throw new TypeError("The `onDownloadProgress` option must be a function");if(!A)throw new Error("Streams are not supported in your environment. `ReadableStream` is missing.");return e._stream(n.clone(),e._options.onDownloadProgress)}return n},s=e._options.retry.methods.includes(e.request.method.toLowerCase())?e._retry(r):r();for(const[n,r]of Object.entries(q))s[n]=async()=>{e.request.headers.set("accept",e.request.headers.get("accept")||r);const a=await s;if("json"===n){if(204===a.status)return"";if(0===(await a.clone().arrayBuffer()).byteLength)return"";if(t.parseJson)return t.parseJson(await a.text())}return a[n]()};return s}request;abortController;_retryCount=0;_input;_options;constructor(n,t={}){if(this._input=n,this._options={...t,headers:T(this._input.headers,t.headers),hooks:M({beforeRequest:[],beforeRetry:[],beforeError:[],afterResponse:[]},t.hooks),method:U(t.method??this._input.method),prefixUrl:String(t.prefixUrl||""),retry:N(t.retry),throwHttpErrors:!1!==t.throwHttpErrors,timeout:t.timeout??1e4,fetch:t.fetch??globalThis.fetch.bind(globalThis)},"string"!=typeof this._input&&!(this._input instanceof URL||this._input instanceof globalThis.Request))throw new TypeError("`input` must be a string, URL, or Request");if(this._options.prefixUrl&&"string"==typeof this._input){if(this._input.startsWith("/"))throw new Error("`input` must not begin with a slash when using `prefixUrl`");this._options.prefixUrl.endsWith("/")||(this._options.prefixUrl+="/"),this._input=this._options.prefixUrl+this._input}if(j){this.abortController=new globalThis.AbortController;const n=this._options.signal??this._input.signal;n?.aborted&&this.abortController.abort(n?.reason),n?.addEventListener("abort",(()=>{this.abortController.abort(n.reason)})),this._options.signal=this.abortController.signal}if(E&&(this._options.duplex="half"),void 0!==this._options.json&&(this._options.body=this._options.stringifyJson?.(this._options.json)??JSON.stringify(this._options.json),this._options.headers.set("content-type",this._options.headers.get("content-type")??"application/json")),this.request=new globalThis.Request(this._input,this._options),this._options.searchParams){const n="string"==typeof this._options.searchParams?this._options.searchParams.replace(/^\?/,""):new URLSearchParams(this._options.searchParams).toString(),t=this.request.url.replace(/(?:\?.*?)?(?=#|$)/,"?"+n);!(S&&this._options.body instanceof globalThis.FormData||this._options.body instanceof URLSearchParams)||this._options.headers&&this._options.headers["content-type"]||this.request.headers.delete("content-type"),this.request=new globalThis.Request(new globalThis.Request(t,{...this.request}),this._options)}}_calculateRetryDelay(n){if(this._retryCount++,this._retryCount>this._options.retry.limit||n instanceof x)throw n;if(n instanceof m){if(!this._options.retry.statusCodes.includes(n.response.status))throw n;const t=n.response.headers.get("Retry-After")??n.response.headers.get("RateLimit-Reset")??n.response.headers.get("X-RateLimit-Reset")??n.response.headers.get("X-Rate-Limit-Reset");if(t&&this._options.retry.afterStatusCodes.includes(n.response.status)){let n=1e3*Number(t);Number.isNaN(n)?n=Date.parse(t)-Date.now():n>=Date.parse("2024-01-01")&&(n-=Date.now());const e=this._options.retry.maxRetryAfter??n;return n<e?n:e}if(413===n.response.status)throw n}const t=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,t)}_decorateResponse(n){return this._options.parseJson&&(n.json=async()=>this._options.parseJson(await n.text())),n}async _retry(n){try{return await n()}catch(t){const e=Math.min(this._calculateRetryDelay(t),$);if(this._retryCount<1)throw t;await async function(n,{signal:t}){return new Promise(((e,r)=>{function s(){clearTimeout(a),r(t.reason)}t&&(t.throwIfAborted(),t.addEventListener("abort",s,{once:!0}));const a=setTimeout((()=>{t?.removeEventListener("abort",s),e()}),n)}))}(e,{signal:this._options.signal});for(const n of this._options.hooks.beforeRetry)if(await n({request:this.request,options:this._options,error:t,retryCount:this._retryCount})===B)return;return this._retry(n)}}async _fetch(){for(const n of this._options.hooks.beforeRequest){const t=await n(this.request,this._options);if(t instanceof Request){this.request=t;break}if(t instanceof Response)return t}const n=((n,t)=>{const e={};for(const r in t)r in L||r in O||r in n||(e[r]=t[r]);return e})(this.request,this._options),t=this.request;return this.request=t.clone(),!1===this._options.timeout?this._options.fetch(t,n):async function(n,t,e,r){return new Promise(((s,a)=>{const o=setTimeout((()=>{e&&e.abort(),a(new x(n))}),r.timeout);r.fetch(n,t).then(s).catch(a).then((()=>{clearTimeout(o)}))}))}(t,n,this.abortController,this._options)}_stream(n,t){const e=Number(n.headers.get("content-length"))||0;let r=0;return 204===n.status?(t&&t({percent:1,totalBytes:e,transferredBytes:r},new Uint8Array),new globalThis.Response(null,{status:n.status,statusText:n.statusText,headers:n.headers})):new globalThis.Response(new globalThis.ReadableStream({async start(s){const a=n.body.getReader();t&&t({percent:0,transferredBytes:0,totalBytes:e},new Uint8Array),await async function n(){const{done:o,value:i}=await a.read();o?s.close():(t&&(r+=i.byteLength,t({percent:0===e?0:r/e,transferredBytes:r,totalBytes:e},i)),s.enqueue(i),await n())}()}}),{status:n.status,statusText:n.statusText,headers:n.headers})}}
2
- /*! MIT License © Sindre Sorhus */const H=n=>{const t=(t,e)=>_.create(t,k(n,e));for(const e of P)t[e]=(t,r)=>_.create(t,k(n,r,{method:e}));return t.create=n=>H(k(n)),t.extend=t=>("function"==typeof t&&(t=t(n??{})),H(k(n,t))),t.stop=B,t},J=H(),X={list:[],keys:[],locs:[],loading:!1,solved:!1,error:void 0,pick:void 0,data:void 0},{state:I}=(()=>{const n=((n,t=((n,t)=>n!==t))=>{const e=v(n);let r=new Map(Object.entries(null!=e?e:{}));const s={dispose:[],get:[],set:[],reset:[]},a=()=>{var t;r=new Map(Object.entries(null!==(t=v(n))&&void 0!==t?t:{})),s.reset.forEach((n=>n()))},o=n=>(s.get.forEach((t=>t(n))),r.get(n)),i=(n,e)=>{const a=r.get(n);t(e,a,n)&&(r.set(n,e),s.set.forEach((t=>t(n,e,a))))},l="undefined"==typeof Proxy?{}:new Proxy(e,{get:(n,t)=>o(t),ownKeys:()=>Array.from(r.keys()),getOwnPropertyDescriptor:()=>({enumerable:!0,configurable:!0}),has:(n,t)=>r.has(t),set:(n,t,e)=>(i(t,e),!0)}),c=(n,t)=>(s[n].push(t),()=>{((n,t)=>{const e=n.indexOf(t);e>=0&&(n[e]=n[n.length-1],n.length--)})(s[n],t)});return{state:l,get:o,set:i,on:c,onChange:(t,e)=>{const r=c("set",((n,r)=>{n===t&&e(r)})),s=c("reset",(()=>e(v(n)[t])));return()=>{r(),s()}},use:(...n)=>{const t=n.reduce(((n,t)=>(t.set&&n.push(c("set",t.set)),t.get&&n.push(c("get",t.get)),t.reset&&n.push(c("reset",t.reset)),t.dispose&&n.push(c("dispose",t.dispose)),n)),[]);return()=>t.forEach((n=>n()))},dispose:()=>{s.dispose.forEach((n=>n())),a()},reset:a,forceUpdate:n=>{const t=r.get(n);s.set.forEach((e=>e(n,t,t)))}}})(X,void 0);return n.use((()=>{if("function"!=typeof t)return{};const n=new Map;return{dispose:()=>n.clear(),get:e=>{const r=t();r&&((n,t,e)=>{const r=n.get(t);r?r.includes(e)||r.push(e):n.set(t,[e])})(n,e,r)},set:t=>{const r=n.get(t);r&&n.set(t,r.filter(e)),w(n)},reset:()=>{n.forEach((n=>n.forEach(e))),w(n)}}})()),n})(),W=new Map([["row",new Map],["column",new Map],["box",new Map]]),Y=["1","2","3","4","5","6","7","8","9"],Z=n=>{if(void 0!==n&&n.indx!=I.pick){const{isClue:t,indx:e,row:r,column:s,box:a}=n,o=((n,t,e,r)=>{const s=new Map([["row",t],["column",e],["box",r]]),a=new Set;return s.forEach(((t,e)=>{W.get(e).get(t).forEach((t=>{t!==n&&a.add(t)}))})),Array.from(a)})(e,r,s,a),i=t?[]:(n=>{const{list:t}=I,e=new Set;return n.map((n=>{const{key:r}=t[n];"."!=r&&e.add(r)})),Y.filter((n=>!e.has(n)))})(o);I.pick=e,I.keys=i,I.locs=o}else I.pick=void 0,I.keys=[],I.locs=[];G(I.pick)};let K;const V={local:"http://localhost:8080/api",netlify:"/.netlify/functions",vercel:"https://sudoku-rust-api.vercel.app/api"},F=n=>{d(n)},G=n=>{u(n)},Q=(n=!1)=>{I.list=[],I.keys=[],I.locs=[],I.loading=n,I.solved=!1,I.error=void 0,I.pick=void 0,I.data=void 0},nn=(n,t=!0)=>{const{puzzle:e,ref:r}=n;t&&(d([]),h(o,n)),(n=>{if(n){const{puzzle:t,ref:e}=n,r=t?[...t]:[],s=e?atob(e):void 0,a=s?[...s]:[],o=r.map(((n,t)=>{const e=a[t],r=n===e,s=Math.floor(t/9),o=t%9,i=((n,t)=>t<3?n<3?0:n<6?3:6:t<6?n<3?1:n<6?4:7:n<3?2:n<6?5:8)(s,o);return((n,t,e,r)=>{new Map([["row",t],["column",e],["box",r]]).forEach(((t,e)=>{const r=W.get(e);r.has(t)?r.get(t).add(n):r.set(t,new Set([n]))}))})(t,s,o,i),{key:n,isClue:r,value:e,indx:t,row:s,column:o,box:i}}));(n=>{f().forEach(((t,e)=>{const r=n[e],{isClue:s}=r;s||(r.key=t)}))})(o),I.data=n,I.list=o}else I.data=void 0,I.list=[]})({puzzle:e,ref:r})},tn=n=>{I.list=[...n],n.length=0},en={initApp:n=>{(n=>{const t=(n=>{const t=Object.keys(V).includes(n)?n:"vercel";return V[t]})(n);K=J.extend({hooks:{beforeRequest:[n=>{n.headers.set("X-Requested-With","ky"),n.headers.set("X-Custom-Header","foobar")}]},prefixUrl:t,timeout:1e4})})(n),Q();const t=c(o),e=p();if(t&&(nn(t,!1),e>=0)){const{list:n}=I;Z(n[e])}},refresh:async()=>{Q(!0),F([]),G(I.pick);try{const n=await K.get("puzzle").json();nn(n)}catch(n){const{message:t}=n;console.log("-- ",t),console.log(n),I.error=t}finally{I.loading=!1}},select:n=>{Z(n)},check:()=>{const{list:n}=I,t=[];let e=0,r=0,s=0;n.forEach((n=>{const{key:a,value:o,isClue:i}=n;i?s+=1:"."!==a&&(a!==o?(e+=1,n.key="."):r+=1),t.push(n.key)}));const a=s+r;F(r?t:[]),e>0?tn(n):81===a&&(I.solved=!0)},input:n=>{const{pick:t,list:e}=I;e[t].key=n,tn(e)}},rn=(...n)=>n.filter(Boolean).join(" "),sn=t=>{const e=t.hex||"currentColor",r=t.label||"loading...",s=t.size||24;return n("svg",{class:rn(t.class||"","animate-spin"),width:s,height:s,fill:"none",viewBox:"0 0 24 24",role:"img","aria-label":"title"},n("title",null,r),n("g",null,n("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:e,"stroke-width":"4"}),n("path",{class:"opacity-75",fill:e,d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})),n("path",{d:"M0 0h24v24H0z",fill:"none"}))},an=t=>{const{message:e,salute:r,spinner:a=!1}=t;return n("div",{class:"mt-5 flex h-24px flex-row items-center"},n(a?sn:s,{class:"mr-2"}),r?n("label",{class:"mr-1 font-bold"},r,":"):"",n("label",{class:"italic"},e))},on=()=>{const{solved:t,loading:e,error:r}=I;return n("div",{class:"flex flex-col"},e||r||t?"":n(an,{message:"Welcome, are you ready to play?..."}),e?n(an,{message:"Loading...",spinner:!0}):"",r?n(an,{message:r,salute:"ERROR"}):"",t?n(an,{message:"You solved the puzzle!!"}):"")},ln=t=>{const e=t.hex||"currentColor",r=t.size||24;return n("svg",{class:t.class,width:r,height:r,viewBox:"0 0 24 24",role:"img","aria-label":"title"},n("title",null,t.label||"fingerprint"),n("g",{fill:e},n("path",{d:"M17.81,4.47C17.73,4.47 17.65,4.45 17.58,4.41C15.66,3.42 14,3\n 12,3C10.03,3 8.15,3.47 6.44,4.41C6.2,4.54 5.9,4.45 5.76,4.21C5.63,3.97\n 5.72,3.66 5.96,3.53C7.82,2.5 9.86,2 12,2C14.14,2 16,2.47\n 18.04,3.5C18.29,3.65 18.38,3.95 18.25,4.19C18.16,4.37 18,4.47\n 17.81,4.47M3.5,9.72C3.4,9.72 3.3,9.69 3.21,9.63C3,9.47 2.93,9.16\n 3.09,8.93C4.08,7.53 5.34,6.43 6.84,5.66C10,4.04 14,4.03\n 17.15,5.65C18.65,6.42 19.91,7.5 20.9,8.9C21.06,9.12 21,9.44\n 20.78,9.6C20.55,9.76 20.24,9.71 20.08,9.5C19.18,8.22 18.04,7.23\n 16.69,6.54C13.82,5.07 10.15,5.07 7.29,6.55C5.93,7.25 4.79,8.25\n 3.89,9.5C3.81,9.65 3.66,9.72 3.5,9.72M9.75,21.79C9.62,21.79 9.5,21.74\n 9.4,21.64C8.53,20.77 8.06,20.21 7.39,19C6.7,17.77 6.34,16.27\n 6.34,14.66C6.34,11.69 8.88,9.27 12,9.27C15.12,9.27 17.66,11.69\n 17.66,14.66A0.5,0.5 0 0,1 17.16,15.16A0.5,0.5 0 0,1\n 16.66,14.66C16.66,12.24 14.57,10.27 12,10.27C9.43,10.27 7.34,12.24\n 7.34,14.66C7.34,16.1 7.66,17.43 8.27,18.5C8.91,19.66 9.35,20.15\n 10.12,20.93C10.31,21.13 10.31,21.44 10.12,21.64C10,21.74 9.88,21.79\n 9.75,21.79M16.92,19.94C15.73,19.94 14.68,19.64 13.82,19.05C12.33,18.04\n 11.44,16.4 11.44,14.66A0.5,0.5 0 0,1 11.94,14.16A0.5,0.5 0 0,1\n 12.44,14.66C12.44,16.07 13.16,17.4 14.38,18.22C15.09,18.7 15.92,18.93\n 16.92,18.93C17.16,18.93 17.56,18.9 17.96,18.83C18.23,18.78 18.5,18.96\n 18.54,19.24C18.59,19.5 18.41,19.77 18.13,19.82C17.56,19.93 17.06,19.94\n 16.92,19.94M14.91,22C14.87,22 14.82,22 14.78,22C13.19,21.54 12.15,20.95\n 11.06,19.88C9.66,18.5 8.89,16.64 8.89,14.66C8.89,13.04 10.27,11.72\n 11.97,11.72C13.67,11.72 15.05,13.04 15.05,14.66C15.05,15.73 16,16.6\n 17.13,16.6C18.28,16.6 19.21,15.73 19.21,14.66C19.21,10.89 15.96,7.83\n 11.96,7.83C9.12,7.83 6.5,9.41 5.35,11.86C4.96,12.67 4.76,13.62\n 4.76,14.66C4.76,15.44 4.83,16.67 5.43,18.27C5.53,18.53 5.4,18.82\n 5.14,18.91C4.88,19 4.59,18.87 4.5,18.62C4,17.31 3.77,16\n 3.77,14.66C3.77,13.46 4,12.37 4.45,11.42C5.78,8.63 8.73,6.82\n 11.96,6.82C16.5,6.82 20.21,10.33 20.21,14.65C20.21,16.27 18.83,17.59\n 17.13,17.59C15.43,17.59 14.05,16.27 14.05,14.65C14.05,13.58 13.12,12.71\n 11.97,12.71C10.82,12.71 9.89,13.58 9.89,14.65C9.89,16.36 10.55,17.96\n 11.76,19.16C12.71,20.1 13.62,20.62 15.03,21C15.3,21.08 15.45,21.36\n 15.38,21.62C15.33,21.85 15.12,22 14.91,22Z"})),n("path",{d:"M0 0h24v24H0z",fill:"none"}))},cn="eswat2",hn=()=>n("a",{class:"absolute right-0 top-0 text-clrs-gray hover:text-clrs-navy",href:"https://eswat2.dev","aria-label":cn,target:"blank",title:cn},n(ln,{label:cn})),fn=(t,e)=>n("h1",{class:rn("text-center uppercase text-clrs-red","mb-11 ml-0 mr-0 mt-11","text-6xl font-thin")},e),dn=t=>{const{label:e,callback:r,matched:s=!1}=t;return n("button",{class:rn("rounded-md border border-solid border-clrs-slate4 font-bold",e===y?"mr-2 bg-clrs-yellow px-3 py-2 text-clrs-navy":e===g?"mr-2 bg-clrs-navy px-3 py-2 text-white":"x"===e?"mr-1 bg-clrs-red px-2 py-1 text-white":s?"mr-1 bg-clrs-slate4 px-2 py-1 text-white":"mr-1 bg-gray-50 px-2 py-1 text-clrs-navy"),onClick:r},e)},pn=()=>{const{keys:t,list:e,pick:r,solved:s}=I,a=n=>()=>{en.input(n)},o=s?[]:t,i=null!=r?e[r]:void 0;return n("div",{class:"mt-2 flex flex-row justify-end"},s||!i||i.isClue||"."==i.key?"":n(dn,{label:"x",callback:a(".")}),o.map((t=>n(dn,{label:t,callback:a(t),matched:i.key===t}))))},un=[2,5,11,14,20,23,29,32,38,41,47,50,56,59,65,68,74,77],yn=un.map((n=>n+1)),gn=[18,19,20,21,22,23,24,25,26,45,46,47,48,49,50,51,52,53],bn=gn.map((n=>n+9)),wn=t=>{const{cell:e,focus:r,selected:s,solved:a}=t,{key:o,isClue:i,indx:l}=e,c="."!=o?o:"";return n("label",{class:rn(`cell-${l}`,un.includes(l)?"border-xbr-clrs-navy":"",yn.includes(l)?"border-xbl-clrs-navy":"",gn.includes(l)?"border-xbb-clrs-navy":"",bn.includes(l)?"border-xbt-clrs-navy":"","h-8 w-8 border border-solid text-center leading-8",s?"border-clrs-red bg-clrs-red-a50 text-clrs-red":r?"border-clrs-gray bg-clrs-green-a50 font-bold":i?"border-clrs-gray bg-clrs-silver":""!==c?"border-clrs-gray text-clrs-red":"border-clrs-gray"),onClick:((n,t)=>()=>{t||en.select(n)})(e,a)},c)},vn=()=>{const{list:t,pick:e,locs:r,solved:s}=I;return n("div",{class:rn("flex flex-row flex-wrap","border border-solid border-clrs-navy","h-76p5 w-76p5 text-lg")},t.map(((t,a)=>{const o=!s&&a===e,i=!s&&r.includes(a);return n(wn,{cell:t,focus:i,selected:o,solved:s})})))},mn=()=>n("label",{class:"ml-auto align-top text-xs italic text-clrs-slate4"},"Tailwind ","4.0.0"),xn=n=>()=>{n.refresh()},Cn=n=>()=>{n.check()},kn=()=>{const{list:t,solved:e}=I;return n("div",{class:"flex flex-row"},n(dn,{label:g,callback:xn(en)}),81!==t.length||e?"":n(dn,{label:y,callback:Cn(en)}),n(mn,null))},Tn=class{constructor(n){r(this,n),this.tag="proto-sudoku",this.platform="vercel"}componentDidLoad(){en.initApp(this.platform)}render(){return n("div",{key:"9f50eec975c4da5f4984b80380067d5155dda0d1",id:"app",class:"ds1-main relative max-w-min p-0.5"},n(hn,{key:"e7bab7e257022a9920f8b43785d9dc33ab7fed65"}),n(fn,{key:"d8c32e6b9c20b9fe6c8ff2e9fc7a9900057a2679"},"Sudoku"),n(vn,{key:"8a028015ae4380aaa54a406ccf5cc908816ca6a4"}),n(pn,{key:"951b6d20ca7a99ced4c60aa39fe040af6e96dd46"}),n("hr",{key:"35ba2812a3b068b21b5252c5f07d0b5dc2f18527",class:"ml-0 mr-0"}),n(kn,{key:"114e7edd4bf3da82ae344f56cb7e856ce17a6da8"}),n(on,{key:"2c15eb0ba714d1e0c378882c62ce575c428adc2a"}))}};Tn.style="/*! tailwindcss v4.0.0 | MIT License | https://tailwindcss.com */\n@layer theme, base, components, utilities;\n@layer utilities {\n .absolute {\n position: absolute;\n }\n .relative {\n position: relative;\n }\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n .m-6 {\n margin: calc(var(--spacing) * 6);\n }\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n .mt-5 {\n margin-top: calc(var(--spacing) * 5);\n }\n .mt-11 {\n margin-top: calc(var(--spacing) * 11);\n }\n .mr-0 {\n margin-right: calc(var(--spacing) * 0);\n }\n .mr-1 {\n margin-right: calc(var(--spacing) * 1);\n }\n .mr-2 {\n margin-right: calc(var(--spacing) * 2);\n }\n .mb-11 {\n margin-bottom: calc(var(--spacing) * 11);\n }\n .ml-0 {\n margin-left: calc(var(--spacing) * 0);\n }\n .ml-auto {\n margin-left: auto;\n }\n .flex {\n display: flex;\n }\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n .h-24px {\n height: 24px;\n }\n .h-76p5 {\n height: 19.125rem;\n }\n .w-8 {\n width: calc(var(--spacing) * 8);\n }\n .w-76p5 {\n width: 19.125rem;\n }\n .max-w-min {\n max-width: min-content;\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .items-center {\n align-items: center;\n }\n .justify-end {\n justify-content: flex-end;\n }\n .rounded-md {\n border-radius: var(--radius-md);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .border-clrs-gray {\n border-color: var(--clrs-gray, #aaaaaa);\n }\n .border-clrs-navy {\n border-color: var(--clrs-navy, #001f3f);\n }\n .border-clrs-red {\n border-color: var(--clrs-red, #ff4136);\n }\n .border-clrs-slate4 {\n border-color: var(--clrs-slate4, #4e5964);\n }\n .bg-clrs-green-a50 {\n background-color: var(--clrs-green-a50, #2ecc4050);\n }\n .bg-clrs-navy {\n background-color: var(--clrs-navy, #001f3f);\n }\n .bg-clrs-red {\n background-color: var(--clrs-red, #ff4136);\n }\n .bg-clrs-red-a50 {\n background-color: var(--clrs-red-a50, #ff413650);\n }\n .bg-clrs-silver {\n background-color: var(--clrs-silver, #dddddd);\n }\n .bg-clrs-slate4 {\n background-color: var(--clrs-slate4, #4e5964);\n }\n .bg-clrs-yellow {\n background-color: var(--clrs-yellow, #ffdc00);\n }\n .bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n .p-0\\.5 {\n padding: calc(var(--spacing) * 0.5);\n }\n .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n .text-center {\n text-align: center;\n }\n .align-top {\n vertical-align: top;\n }\n .font-sans {\n font-family: var(--font-sans);\n }\n .text-6xl {\n font-size: var(--text-6xl);\n line-height: var(--tw-leading, var(--text-6xl--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .leading-8 {\n --tw-leading: calc(var(--spacing) * 8);\n line-height: calc(var(--spacing) * 8);\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-thin {\n --tw-font-weight: var(--font-weight-thin);\n font-weight: var(--font-weight-thin);\n }\n .text-clrs-gray {\n color: var(--clrs-gray, #aaaaaa);\n }\n .text-clrs-navy {\n color: var(--clrs-navy, #001f3f);\n }\n .text-clrs-red {\n color: var(--clrs-red, #ff4136);\n }\n .text-clrs-slate4 {\n color: var(--clrs-slate4, #4e5964);\n }\n .text-white {\n color: var(--color-white);\n }\n .uppercase {\n text-transform: uppercase;\n }\n .italic {\n font-style: italic;\n }\n .antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .opacity-25 {\n opacity: 25%;\n }\n .opacity-75 {\n opacity: 75%;\n }\n .shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)),\n 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .filter {\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,)\n var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,)\n var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .border-xbb-clrs-navy {\n border-bottom: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbl-clrs-navy {\n border-left: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbr-clrs-navy {\n border-right: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbt-clrs-navy {\n border-top: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .hover\\:text-clrs-navy {\n &:hover {\n @media (hover: hover) {\n color: var(--clrs-navy, #001f3f);\n }\n }\n }\n}\n@layer components {\n .ds1-main {\n margin: calc(var(--spacing) * 6);\n display: flex;\n flex-direction: column;\n font-family: var(--font-sans);\n color: var(--clrs-navy, #001f3f);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes ping {\n 75%,\n 100% {\n transform: scale(2);\n opacity: 0;\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@keyframes bounce {\n 0%,\n 100% {\n transform: translateY(-25%);\n animation-timing-function: cubic-bezier(0.8, 0, 1, 1);\n }\n 50% {\n transform: none;\n animation-timing-function: cubic-bezier(0, 0, 0.2, 1);\n }\n}\n@property --tw-border-style {\n syntax: '*';\n inherits: false;\n initial-value: solid;\n}\n@property --tw-leading {\n syntax: '*';\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: '*';\n inherits: false;\n}\n@property --tw-shadow {\n syntax: '*';\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: '*';\n inherits: false;\n}\n@property --tw-inset-shadow {\n syntax: '*';\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: '*';\n inherits: false;\n}\n@property --tw-ring-color {\n syntax: '*';\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: '*';\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: '*';\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: '*';\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: '*';\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: '<length>';\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: '*';\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: '*';\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-blur {\n syntax: '*';\n inherits: false;\n}\n@property --tw-brightness {\n syntax: '*';\n inherits: false;\n}\n@property --tw-contrast {\n syntax: '*';\n inherits: false;\n}\n@property --tw-grayscale {\n syntax: '*';\n inherits: false;\n}\n@property --tw-hue-rotate {\n syntax: '*';\n inherits: false;\n}\n@property --tw-invert {\n syntax: '*';\n inherits: false;\n}\n@property --tw-opacity {\n syntax: '*';\n inherits: false;\n}\n@property --tw-saturate {\n syntax: '*';\n inherits: false;\n}\n@property --tw-sepia {\n syntax: '*';\n inherits: false;\n}\n";export{Tn as proto_sudoku}