proto-sudoku-wc 0.0.927 → 0.0.928
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/proto-sudoku.cjs.entry.js +1 -1
- package/dist/collection/props.css +104 -0
- package/dist/collection/styles/utils.css +1 -105
- package/dist/collection/tokens.css +3 -2
- package/dist/esm/proto-sudoku.entry.js +1 -1
- package/dist/proto-sudoku-wc/p-ea178939.entry.js +2 -0
- package/dist/proto-sudoku-wc/props.css +104 -0
- package/dist/proto-sudoku-wc/proto-sudoku-wc.esm.js +1 -1
- package/dist/proto-sudoku-wc/tokens.css +3 -2
- package/package.json +1 -1
- package/dist/proto-sudoku-wc/p-2305789d.entry.js +0 -2
@@ -1219,7 +1219,7 @@ const ToolBar = _props => {
|
|
1219
1219
|
index.h(TwLabel, null)));
|
1220
1220
|
};
|
1221
1221
|
|
1222
|
-
const utilsCss = "/*! tailwindcss v4.0.
|
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.
|
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.
|
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;
|
@@ -1215,7 +1215,7 @@ const ToolBar = _props => {
|
|
1215
1215
|
h(TwLabel, null)));
|
1216
1216
|
};
|
1217
1217
|
|
1218
|
-
const utilsCss = "/*! tailwindcss v4.0.
|
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.0"),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
|
1
|
+
import{p as o,b as t}from"./p-1922517b.js";export{s as setNonce}from"./p-1922517b.js";import{g as a}from"./p-e1255160.js";(()=>{const s=import.meta.url,t={};return""!==s&&(t.resourcesUrl=new URL(".",s).href),o(t)})().then((async o=>(await a(),t([["p-ea178939",[[1,"proto-sudoku",{tag:[1],platform:[1]}]]]],o))));
|
@@ -1,7 +1,8 @@
|
|
1
|
-
/*! tailwindcss v4.0.
|
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;
|
package/package.json
CHANGED
@@ -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}
|