proto-sudoku-wc 0.0.939 → 0.0.941

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.4';
1066
+ const TW_VERSION = '4.0.5';
1067
1067
 
1068
1068
  const tw = (...classes) => {
1069
1069
  return classes.filter(Boolean).join(' ');
@@ -1219,8 +1219,8 @@ const ToolBar = _props => {
1219
1219
  index.h(TwLabel, null)));
1220
1220
  };
1221
1221
 
1222
- const utilsCss = "/*! tailwindcss v4.0.4 | 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
- const ProtoSudokuStyle0 = utilsCss;
1222
+ const shadowCss = "/*! tailwindcss v4.0.5 | MIT License | https://tailwindcss.com */\n@layer theme, base, components, utilities;\n@layer theme {\n :root,\n :host {\n --font-sans:\n ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',\n 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\n --font-mono:\n ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono',\n 'Courier New', monospace;\n --color-gray-50: oklch(0.985 0.002 247.839);\n --color-white: #fff;\n --spacing: 0.25rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-6xl: 3.75rem;\n --text-6xl--line-height: 1;\n --font-weight-thin: 100;\n --font-weight-bold: 700;\n --radius-md: 0.375rem;\n --animate-spin: spin 1s linear infinite;\n }\n}\n@layer utilities {\n .absolute {\n position: absolute;\n }\n .relative {\n position: relative;\n }\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n .m-6 {\n margin: calc(var(--spacing) * 6);\n }\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n .mt-5 {\n margin-top: calc(var(--spacing) * 5);\n }\n .mt-11 {\n margin-top: calc(var(--spacing) * 11);\n }\n .mr-0 {\n margin-right: calc(var(--spacing) * 0);\n }\n .mr-1 {\n margin-right: calc(var(--spacing) * 1);\n }\n .mr-2 {\n margin-right: calc(var(--spacing) * 2);\n }\n .mb-11 {\n margin-bottom: calc(var(--spacing) * 11);\n }\n .ml-0 {\n margin-left: calc(var(--spacing) * 0);\n }\n .ml-auto {\n margin-left: auto;\n }\n .flex {\n display: flex;\n }\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n .h-24px {\n height: 24px;\n }\n .h-76p5 {\n height: 19.125rem;\n }\n .w-8 {\n width: calc(var(--spacing) * 8);\n }\n .w-76p5 {\n width: 19.125rem;\n }\n .max-w-min {\n max-width: min-content;\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .items-center {\n align-items: center;\n }\n .justify-end {\n justify-content: flex-end;\n }\n .rounded-md {\n border-radius: var(--radius-md);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .border-clrs-gray {\n border-color: var(--clrs-gray, #aaaaaa);\n }\n .border-clrs-navy {\n border-color: var(--clrs-navy, #001f3f);\n }\n .border-clrs-red {\n border-color: var(--clrs-red, #ff4136);\n }\n .border-clrs-slate4 {\n border-color: var(--clrs-slate4, #4e5964);\n }\n .bg-clrs-green-a50 {\n background-color: var(--clrs-green-a50, #2ecc4050);\n }\n .bg-clrs-navy {\n background-color: var(--clrs-navy, #001f3f);\n }\n .bg-clrs-red {\n background-color: var(--clrs-red, #ff4136);\n }\n .bg-clrs-red-a50 {\n background-color: var(--clrs-red-a50, #ff413650);\n }\n .bg-clrs-silver {\n background-color: var(--clrs-silver, #dddddd);\n }\n .bg-clrs-slate4 {\n background-color: var(--clrs-slate4, #4e5964);\n }\n .bg-clrs-yellow {\n background-color: var(--clrs-yellow, #ffdc00);\n }\n .bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n .p-0\\.5 {\n padding: calc(var(--spacing) * 0.5);\n }\n .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n .text-center {\n text-align: center;\n }\n .align-top {\n vertical-align: top;\n }\n .font-sans {\n font-family: var(--font-sans);\n }\n .text-6xl {\n font-size: var(--text-6xl);\n line-height: var(--tw-leading, var(--text-6xl--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .leading-8 {\n --tw-leading: calc(var(--spacing) * 8);\n line-height: calc(var(--spacing) * 8);\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-thin {\n --tw-font-weight: var(--font-weight-thin);\n font-weight: var(--font-weight-thin);\n }\n .text-clrs-gray {\n color: var(--clrs-gray, #aaaaaa);\n }\n .text-clrs-navy {\n color: var(--clrs-navy, #001f3f);\n }\n .text-clrs-red {\n color: var(--clrs-red, #ff4136);\n }\n .text-clrs-slate4 {\n color: var(--clrs-slate4, #4e5964);\n }\n .text-white {\n color: var(--color-white);\n }\n .uppercase {\n text-transform: uppercase;\n }\n .italic {\n font-style: italic;\n }\n .antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .opacity-25 {\n opacity: 25%;\n }\n .opacity-75 {\n opacity: 75%;\n }\n .shadow {\n --tw-shadow:\n 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)),\n 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow:\n var(--tw-inset-shadow), var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .filter {\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,)\n var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,)\n var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .border-xbb-clrs-navy {\n border-bottom: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbl-clrs-navy {\n border-left: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbr-clrs-navy {\n border-right: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbt-clrs-navy {\n border-top: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .hover\\:text-clrs-navy {\n &:hover {\n @media (hover: hover) {\n color: var(--clrs-navy, #001f3f);\n }\n }\n }\n}\n@layer components {\n .ds1-main {\n margin: calc(var(--spacing) * 6);\n display: flex;\n flex-direction: column;\n font-family: var(--font-sans);\n color: var(--clrs-navy, #001f3f);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n";
1223
+ const ProtoSudokuStyle0 = shadowCss;
1224
1224
 
1225
1225
  const ProtoSudoku = class {
1226
1226
  constructor(hostRef) {
@@ -1,5 +1,29 @@
1
- /*! tailwindcss v4.0.4 | MIT License | https://tailwindcss.com */
1
+ /*! tailwindcss v4.0.5 | MIT License | https://tailwindcss.com */
2
2
  @layer theme, base, components, utilities;
3
+ @layer theme {
4
+ :root,
5
+ :host {
6
+ --font-sans:
7
+ ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',
8
+ 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
9
+ --font-mono:
10
+ ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono',
11
+ 'Courier New', monospace;
12
+ --color-gray-50: oklch(0.985 0.002 247.839);
13
+ --color-white: #fff;
14
+ --spacing: 0.25rem;
15
+ --text-xs: 0.75rem;
16
+ --text-xs--line-height: calc(1 / 0.75);
17
+ --text-lg: 1.125rem;
18
+ --text-lg--line-height: calc(1.75 / 1.125);
19
+ --text-6xl: 3.75rem;
20
+ --text-6xl--line-height: 1;
21
+ --font-weight-thin: 100;
22
+ --font-weight-bold: 700;
23
+ --radius-md: 0.375rem;
24
+ --animate-spin: spin 1s linear infinite;
25
+ }
26
+ }
3
27
  @layer utilities {
4
28
  .absolute {
5
29
  position: absolute;
@@ -209,9 +233,11 @@
209
233
  opacity: 75%;
210
234
  }
211
235
  .shadow {
212
- --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)),
236
+ --tw-shadow:
237
+ 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)),
213
238
  0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
214
- box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
239
+ box-shadow:
240
+ var(--tw-inset-shadow), var(--tw-inset-ring-shadow),
215
241
  var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
216
242
  }
217
243
  .filter {
@@ -255,26 +281,3 @@
255
281
  transform: rotate(360deg);
256
282
  }
257
283
  }
258
- @keyframes ping {
259
- 75%,
260
- 100% {
261
- transform: scale(2);
262
- opacity: 0;
263
- }
264
- }
265
- @keyframes pulse {
266
- 50% {
267
- opacity: 0.5;
268
- }
269
- }
270
- @keyframes bounce {
271
- 0%,
272
- 100% {
273
- transform: translateY(-25%);
274
- animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
275
- }
276
- 50% {
277
- transform: none;
278
- animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
279
- }
280
- }
@@ -1,382 +1,26 @@
1
- /*! tailwindcss v4.0.4 | MIT License | https://tailwindcss.com */
1
+ /*! tailwindcss v4.0.5 | MIT License | https://tailwindcss.com */
2
2
  @layer theme, base, components, utilities;
3
3
  @layer theme {
4
4
  :root,
5
5
  :host {
6
- --font-sans: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',
6
+ --font-sans:
7
+ ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',
7
8
  'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
8
- --font-serif: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
9
- --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
10
- 'Liberation Mono', 'Courier New', monospace;
11
- --color-red-50: oklch(0.971 0.013 17.38);
12
- --color-red-100: oklch(0.936 0.032 17.717);
13
- --color-red-200: oklch(0.885 0.062 18.334);
14
- --color-red-300: oklch(0.808 0.114 19.571);
15
- --color-red-400: oklch(0.704 0.191 22.216);
16
- --color-red-500: oklch(0.637 0.237 25.331);
17
- --color-red-600: oklch(0.577 0.245 27.325);
18
- --color-red-700: oklch(0.505 0.213 27.518);
19
- --color-red-800: oklch(0.444 0.177 26.899);
20
- --color-red-900: oklch(0.396 0.141 25.723);
21
- --color-red-950: oklch(0.258 0.092 26.042);
22
- --color-orange-50: oklch(0.98 0.016 73.684);
23
- --color-orange-100: oklch(0.954 0.038 75.164);
24
- --color-orange-200: oklch(0.901 0.076 70.697);
25
- --color-orange-300: oklch(0.837 0.128 66.29);
26
- --color-orange-400: oklch(0.75 0.183 55.934);
27
- --color-orange-500: oklch(0.705 0.213 47.604);
28
- --color-orange-600: oklch(0.646 0.222 41.116);
29
- --color-orange-700: oklch(0.553 0.195 38.402);
30
- --color-orange-800: oklch(0.47 0.157 37.304);
31
- --color-orange-900: oklch(0.408 0.123 38.172);
32
- --color-orange-950: oklch(0.266 0.079 36.259);
33
- --color-amber-50: oklch(0.987 0.022 95.277);
34
- --color-amber-100: oklch(0.962 0.059 95.617);
35
- --color-amber-200: oklch(0.924 0.12 95.746);
36
- --color-amber-300: oklch(0.879 0.169 91.605);
37
- --color-amber-400: oklch(0.828 0.189 84.429);
38
- --color-amber-500: oklch(0.769 0.188 70.08);
39
- --color-amber-600: oklch(0.666 0.179 58.318);
40
- --color-amber-700: oklch(0.555 0.163 48.998);
41
- --color-amber-800: oklch(0.473 0.137 46.201);
42
- --color-amber-900: oklch(0.414 0.112 45.904);
43
- --color-amber-950: oklch(0.279 0.077 45.635);
44
- --color-yellow-50: oklch(0.987 0.026 102.212);
45
- --color-yellow-100: oklch(0.973 0.071 103.193);
46
- --color-yellow-200: oklch(0.945 0.129 101.54);
47
- --color-yellow-300: oklch(0.905 0.182 98.111);
48
- --color-yellow-400: oklch(0.852 0.199 91.936);
49
- --color-yellow-500: oklch(0.795 0.184 86.047);
50
- --color-yellow-600: oklch(0.681 0.162 75.834);
51
- --color-yellow-700: oklch(0.554 0.135 66.442);
52
- --color-yellow-800: oklch(0.476 0.114 61.907);
53
- --color-yellow-900: oklch(0.421 0.095 57.708);
54
- --color-yellow-950: oklch(0.286 0.066 53.813);
55
- --color-lime-50: oklch(0.986 0.031 120.757);
56
- --color-lime-100: oklch(0.967 0.067 122.328);
57
- --color-lime-200: oklch(0.938 0.127 124.321);
58
- --color-lime-300: oklch(0.897 0.196 126.665);
59
- --color-lime-400: oklch(0.841 0.238 128.85);
60
- --color-lime-500: oklch(0.768 0.233 130.85);
61
- --color-lime-600: oklch(0.648 0.2 131.684);
62
- --color-lime-700: oklch(0.532 0.157 131.589);
63
- --color-lime-800: oklch(0.453 0.124 130.933);
64
- --color-lime-900: oklch(0.405 0.101 131.063);
65
- --color-lime-950: oklch(0.274 0.072 132.109);
66
- --color-green-50: oklch(0.982 0.018 155.826);
67
- --color-green-100: oklch(0.962 0.044 156.743);
68
- --color-green-200: oklch(0.925 0.084 155.995);
69
- --color-green-300: oklch(0.871 0.15 154.449);
70
- --color-green-400: oklch(0.792 0.209 151.711);
71
- --color-green-500: oklch(0.723 0.219 149.579);
72
- --color-green-600: oklch(0.627 0.194 149.214);
73
- --color-green-700: oklch(0.527 0.154 150.069);
74
- --color-green-800: oklch(0.448 0.119 151.328);
75
- --color-green-900: oklch(0.393 0.095 152.535);
76
- --color-green-950: oklch(0.266 0.065 152.934);
77
- --color-emerald-50: oklch(0.979 0.021 166.113);
78
- --color-emerald-100: oklch(0.95 0.052 163.051);
79
- --color-emerald-200: oklch(0.905 0.093 164.15);
80
- --color-emerald-300: oklch(0.845 0.143 164.978);
81
- --color-emerald-400: oklch(0.765 0.177 163.223);
82
- --color-emerald-500: oklch(0.696 0.17 162.48);
83
- --color-emerald-600: oklch(0.596 0.145 163.225);
84
- --color-emerald-700: oklch(0.508 0.118 165.612);
85
- --color-emerald-800: oklch(0.432 0.095 166.913);
86
- --color-emerald-900: oklch(0.378 0.077 168.94);
87
- --color-emerald-950: oklch(0.262 0.051 172.552);
88
- --color-teal-50: oklch(0.984 0.014 180.72);
89
- --color-teal-100: oklch(0.953 0.051 180.801);
90
- --color-teal-200: oklch(0.91 0.096 180.426);
91
- --color-teal-300: oklch(0.855 0.138 181.071);
92
- --color-teal-400: oklch(0.777 0.152 181.912);
93
- --color-teal-500: oklch(0.704 0.14 182.503);
94
- --color-teal-600: oklch(0.6 0.118 184.704);
95
- --color-teal-700: oklch(0.511 0.096 186.391);
96
- --color-teal-800: oklch(0.437 0.078 188.216);
97
- --color-teal-900: oklch(0.386 0.063 188.416);
98
- --color-teal-950: oklch(0.277 0.046 192.524);
99
- --color-cyan-50: oklch(0.984 0.019 200.873);
100
- --color-cyan-100: oklch(0.956 0.045 203.388);
101
- --color-cyan-200: oklch(0.917 0.08 205.041);
102
- --color-cyan-300: oklch(0.865 0.127 207.078);
103
- --color-cyan-400: oklch(0.789 0.154 211.53);
104
- --color-cyan-500: oklch(0.715 0.143 215.221);
105
- --color-cyan-600: oklch(0.609 0.126 221.723);
106
- --color-cyan-700: oklch(0.52 0.105 223.128);
107
- --color-cyan-800: oklch(0.45 0.085 224.283);
108
- --color-cyan-900: oklch(0.398 0.07 227.392);
109
- --color-cyan-950: oklch(0.302 0.056 229.695);
110
- --color-sky-50: oklch(0.977 0.013 236.62);
111
- --color-sky-100: oklch(0.951 0.026 236.824);
112
- --color-sky-200: oklch(0.901 0.058 230.902);
113
- --color-sky-300: oklch(0.828 0.111 230.318);
114
- --color-sky-400: oklch(0.746 0.16 232.661);
115
- --color-sky-500: oklch(0.685 0.169 237.323);
116
- --color-sky-600: oklch(0.588 0.158 241.966);
117
- --color-sky-700: oklch(0.5 0.134 242.749);
118
- --color-sky-800: oklch(0.443 0.11 240.79);
119
- --color-sky-900: oklch(0.391 0.09 240.876);
120
- --color-sky-950: oklch(0.293 0.066 243.157);
121
- --color-blue-50: oklch(0.97 0.014 254.604);
122
- --color-blue-100: oklch(0.932 0.032 255.585);
123
- --color-blue-200: oklch(0.882 0.059 254.128);
124
- --color-blue-300: oklch(0.809 0.105 251.813);
125
- --color-blue-400: oklch(0.707 0.165 254.624);
126
- --color-blue-500: oklch(0.623 0.214 259.815);
127
- --color-blue-600: oklch(0.546 0.245 262.881);
128
- --color-blue-700: oklch(0.488 0.243 264.376);
129
- --color-blue-800: oklch(0.424 0.199 265.638);
130
- --color-blue-900: oklch(0.379 0.146 265.522);
131
- --color-blue-950: oklch(0.282 0.091 267.935);
132
- --color-indigo-50: oklch(0.962 0.018 272.314);
133
- --color-indigo-100: oklch(0.93 0.034 272.788);
134
- --color-indigo-200: oklch(0.87 0.065 274.039);
135
- --color-indigo-300: oklch(0.785 0.115 274.713);
136
- --color-indigo-400: oklch(0.673 0.182 276.935);
137
- --color-indigo-500: oklch(0.585 0.233 277.117);
138
- --color-indigo-600: oklch(0.511 0.262 276.966);
139
- --color-indigo-700: oklch(0.457 0.24 277.023);
140
- --color-indigo-800: oklch(0.398 0.195 277.366);
141
- --color-indigo-900: oklch(0.359 0.144 278.697);
142
- --color-indigo-950: oklch(0.257 0.09 281.288);
143
- --color-violet-50: oklch(0.969 0.016 293.756);
144
- --color-violet-100: oklch(0.943 0.029 294.588);
145
- --color-violet-200: oklch(0.894 0.057 293.283);
146
- --color-violet-300: oklch(0.811 0.111 293.571);
147
- --color-violet-400: oklch(0.702 0.183 293.541);
148
- --color-violet-500: oklch(0.606 0.25 292.717);
149
- --color-violet-600: oklch(0.541 0.281 293.009);
150
- --color-violet-700: oklch(0.491 0.27 292.581);
151
- --color-violet-800: oklch(0.432 0.232 292.759);
152
- --color-violet-900: oklch(0.38 0.189 293.745);
153
- --color-violet-950: oklch(0.283 0.141 291.089);
154
- --color-purple-50: oklch(0.977 0.014 308.299);
155
- --color-purple-100: oklch(0.946 0.033 307.174);
156
- --color-purple-200: oklch(0.902 0.063 306.703);
157
- --color-purple-300: oklch(0.827 0.119 306.383);
158
- --color-purple-400: oklch(0.714 0.203 305.504);
159
- --color-purple-500: oklch(0.627 0.265 303.9);
160
- --color-purple-600: oklch(0.558 0.288 302.321);
161
- --color-purple-700: oklch(0.496 0.265 301.924);
162
- --color-purple-800: oklch(0.438 0.218 303.724);
163
- --color-purple-900: oklch(0.381 0.176 304.987);
164
- --color-purple-950: oklch(0.291 0.149 302.717);
165
- --color-fuchsia-50: oklch(0.977 0.017 320.058);
166
- --color-fuchsia-100: oklch(0.952 0.037 318.852);
167
- --color-fuchsia-200: oklch(0.903 0.076 319.62);
168
- --color-fuchsia-300: oklch(0.833 0.145 321.434);
169
- --color-fuchsia-400: oklch(0.74 0.238 322.16);
170
- --color-fuchsia-500: oklch(0.667 0.295 322.15);
171
- --color-fuchsia-600: oklch(0.591 0.293 322.896);
172
- --color-fuchsia-700: oklch(0.518 0.253 323.949);
173
- --color-fuchsia-800: oklch(0.452 0.211 324.591);
174
- --color-fuchsia-900: oklch(0.401 0.17 325.612);
175
- --color-fuchsia-950: oklch(0.293 0.136 325.661);
176
- --color-pink-50: oklch(0.971 0.014 343.198);
177
- --color-pink-100: oklch(0.948 0.028 342.258);
178
- --color-pink-200: oklch(0.899 0.061 343.231);
179
- --color-pink-300: oklch(0.823 0.12 346.018);
180
- --color-pink-400: oklch(0.718 0.202 349.761);
181
- --color-pink-500: oklch(0.656 0.241 354.308);
182
- --color-pink-600: oklch(0.592 0.249 0.584);
183
- --color-pink-700: oklch(0.525 0.223 3.958);
184
- --color-pink-800: oklch(0.459 0.187 3.815);
185
- --color-pink-900: oklch(0.408 0.153 2.432);
186
- --color-pink-950: oklch(0.284 0.109 3.907);
187
- --color-rose-50: oklch(0.969 0.015 12.422);
188
- --color-rose-100: oklch(0.941 0.03 12.58);
189
- --color-rose-200: oklch(0.892 0.058 10.001);
190
- --color-rose-300: oklch(0.81 0.117 11.638);
191
- --color-rose-400: oklch(0.712 0.194 13.428);
192
- --color-rose-500: oklch(0.645 0.246 16.439);
193
- --color-rose-600: oklch(0.586 0.253 17.585);
194
- --color-rose-700: oklch(0.514 0.222 16.935);
195
- --color-rose-800: oklch(0.455 0.188 13.697);
196
- --color-rose-900: oklch(0.41 0.159 10.272);
197
- --color-rose-950: oklch(0.271 0.105 12.094);
198
- --color-slate-50: oklch(0.984 0.003 247.858);
199
- --color-slate-100: oklch(0.968 0.007 247.896);
200
- --color-slate-200: oklch(0.929 0.013 255.508);
201
- --color-slate-300: oklch(0.869 0.022 252.894);
202
- --color-slate-400: oklch(0.704 0.04 256.788);
203
- --color-slate-500: oklch(0.554 0.046 257.417);
204
- --color-slate-600: oklch(0.446 0.043 257.281);
205
- --color-slate-700: oklch(0.372 0.044 257.287);
206
- --color-slate-800: oklch(0.279 0.041 260.031);
207
- --color-slate-900: oklch(0.208 0.042 265.755);
208
- --color-slate-950: oklch(0.129 0.042 264.695);
9
+ --font-mono:
10
+ ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono',
11
+ 'Courier New', monospace;
209
12
  --color-gray-50: oklch(0.985 0.002 247.839);
210
- --color-gray-100: oklch(0.967 0.003 264.542);
211
- --color-gray-200: oklch(0.928 0.006 264.531);
212
- --color-gray-300: oklch(0.872 0.01 258.338);
213
- --color-gray-400: oklch(0.707 0.022 261.325);
214
- --color-gray-500: oklch(0.551 0.027 264.364);
215
- --color-gray-600: oklch(0.446 0.03 256.802);
216
- --color-gray-700: oklch(0.373 0.034 259.733);
217
- --color-gray-800: oklch(0.278 0.033 256.848);
218
- --color-gray-900: oklch(0.21 0.034 264.665);
219
- --color-gray-950: oklch(0.13 0.028 261.692);
220
- --color-zinc-50: oklch(0.985 0 0);
221
- --color-zinc-100: oklch(0.967 0.001 286.375);
222
- --color-zinc-200: oklch(0.92 0.004 286.32);
223
- --color-zinc-300: oklch(0.871 0.006 286.286);
224
- --color-zinc-400: oklch(0.705 0.015 286.067);
225
- --color-zinc-500: oklch(0.552 0.016 285.938);
226
- --color-zinc-600: oklch(0.442 0.017 285.786);
227
- --color-zinc-700: oklch(0.37 0.013 285.805);
228
- --color-zinc-800: oklch(0.274 0.006 286.033);
229
- --color-zinc-900: oklch(0.21 0.006 285.885);
230
- --color-zinc-950: oklch(0.141 0.005 285.823);
231
- --color-neutral-50: oklch(0.985 0 0);
232
- --color-neutral-100: oklch(0.97 0 0);
233
- --color-neutral-200: oklch(0.922 0 0);
234
- --color-neutral-300: oklch(0.87 0 0);
235
- --color-neutral-400: oklch(0.708 0 0);
236
- --color-neutral-500: oklch(0.556 0 0);
237
- --color-neutral-600: oklch(0.439 0 0);
238
- --color-neutral-700: oklch(0.371 0 0);
239
- --color-neutral-800: oklch(0.269 0 0);
240
- --color-neutral-900: oklch(0.205 0 0);
241
- --color-neutral-950: oklch(0.145 0 0);
242
- --color-stone-50: oklch(0.985 0.001 106.423);
243
- --color-stone-100: oklch(0.97 0.001 106.424);
244
- --color-stone-200: oklch(0.923 0.003 48.717);
245
- --color-stone-300: oklch(0.869 0.005 56.366);
246
- --color-stone-400: oklch(0.709 0.01 56.259);
247
- --color-stone-500: oklch(0.553 0.013 58.071);
248
- --color-stone-600: oklch(0.444 0.011 73.639);
249
- --color-stone-700: oklch(0.374 0.01 67.558);
250
- --color-stone-800: oklch(0.268 0.007 34.298);
251
- --color-stone-900: oklch(0.216 0.006 56.043);
252
- --color-stone-950: oklch(0.147 0.004 49.25);
253
- --color-black: #000;
254
13
  --color-white: #fff;
255
14
  --spacing: 0.25rem;
256
- --breakpoint-sm: 40rem;
257
- --breakpoint-md: 48rem;
258
- --breakpoint-lg: 64rem;
259
- --breakpoint-xl: 80rem;
260
- --breakpoint-2xl: 96rem;
261
- --container-3xs: 16rem;
262
- --container-2xs: 18rem;
263
- --container-xs: 20rem;
264
- --container-sm: 24rem;
265
- --container-md: 28rem;
266
- --container-lg: 32rem;
267
- --container-xl: 36rem;
268
- --container-2xl: 42rem;
269
- --container-3xl: 48rem;
270
- --container-4xl: 56rem;
271
- --container-5xl: 64rem;
272
- --container-6xl: 72rem;
273
- --container-7xl: 80rem;
274
15
  --text-xs: 0.75rem;
275
16
  --text-xs--line-height: calc(1 / 0.75);
276
- --text-sm: 0.875rem;
277
- --text-sm--line-height: calc(1.25 / 0.875);
278
- --text-base: 1rem;
279
- --text-base--line-height: calc(1.5 / 1);
280
17
  --text-lg: 1.125rem;
281
18
  --text-lg--line-height: calc(1.75 / 1.125);
282
- --text-xl: 1.25rem;
283
- --text-xl--line-height: calc(1.75 / 1.25);
284
- --text-2xl: 1.5rem;
285
- --text-2xl--line-height: calc(2 / 1.5);
286
- --text-3xl: 1.875rem;
287
- --text-3xl--line-height: calc(2.25 / 1.875);
288
- --text-4xl: 2.25rem;
289
- --text-4xl--line-height: calc(2.5 / 2.25);
290
- --text-5xl: 3rem;
291
- --text-5xl--line-height: 1;
292
19
  --text-6xl: 3.75rem;
293
20
  --text-6xl--line-height: 1;
294
- --text-7xl: 4.5rem;
295
- --text-7xl--line-height: 1;
296
- --text-8xl: 6rem;
297
- --text-8xl--line-height: 1;
298
- --text-9xl: 8rem;
299
- --text-9xl--line-height: 1;
300
21
  --font-weight-thin: 100;
301
- --font-weight-extralight: 200;
302
- --font-weight-light: 300;
303
- --font-weight-normal: 400;
304
- --font-weight-medium: 500;
305
- --font-weight-semibold: 600;
306
22
  --font-weight-bold: 700;
307
- --font-weight-extrabold: 800;
308
- --font-weight-black: 900;
309
- --tracking-tighter: -0.05em;
310
- --tracking-tight: -0.025em;
311
- --tracking-normal: 0em;
312
- --tracking-wide: 0.025em;
313
- --tracking-wider: 0.05em;
314
- --tracking-widest: 0.1em;
315
- --leading-tight: 1.25;
316
- --leading-snug: 1.375;
317
- --leading-normal: 1.5;
318
- --leading-relaxed: 1.625;
319
- --leading-loose: 2;
320
- --radius-xs: 0.125rem;
321
- --radius-sm: 0.25rem;
322
23
  --radius-md: 0.375rem;
323
- --radius-lg: 0.5rem;
324
- --radius-xl: 0.75rem;
325
- --radius-2xl: 1rem;
326
- --radius-3xl: 1.5rem;
327
- --radius-4xl: 2rem;
328
- --shadow-2xs: 0 1px rgb(0 0 0 / 0.05);
329
- --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);
330
- --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
331
- --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1),
332
- 0 2px 4px -2px rgb(0 0 0 / 0.1);
333
- --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1),
334
- 0 4px 6px -4px rgb(0 0 0 / 0.1);
335
- --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1),
336
- 0 8px 10px -6px rgb(0 0 0 / 0.1);
337
- --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
338
- --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / 0.05);
339
- --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / 0.05);
340
- --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / 0.05);
341
- --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / 0.05);
342
- --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / 0.15);
343
- --drop-shadow-md: 0 3px 3px rgb(0 0 0 / 0.12);
344
- --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / 0.15);
345
- --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / 0.1);
346
- --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / 0.15);
347
- --ease-in: cubic-bezier(0.4, 0, 1, 1);
348
- --ease-out: cubic-bezier(0, 0, 0.2, 1);
349
- --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
350
24
  --animate-spin: spin 1s linear infinite;
351
- --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
352
- --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
353
- --animate-bounce: bounce 1s infinite;
354
- --blur-xs: 4px;
355
- --blur-sm: 8px;
356
- --blur-md: 12px;
357
- --blur-lg: 16px;
358
- --blur-xl: 24px;
359
- --blur-2xl: 40px;
360
- --blur-3xl: 64px;
361
- --perspective-dramatic: 100px;
362
- --perspective-near: 300px;
363
- --perspective-normal: 500px;
364
- --perspective-midrange: 800px;
365
- --perspective-distant: 1200px;
366
- --aspect-video: 16 / 9;
367
- --default-transition-duration: 150ms;
368
- --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
369
- --default-font-family: var(--font-sans);
370
- --default-font-feature-settings: var(--font-sans--font-feature-settings);
371
- --default-font-variation-settings: var(
372
- --font-sans--font-variation-settings
373
- );
374
- --default-mono-font-family: var(--font-mono);
375
- --default-mono-font-feature-settings: var(
376
- --font-mono--font-feature-settings
377
- );
378
- --default-mono-font-variation-settings: var(
379
- --font-mono--font-variation-settings
380
- );
381
25
  }
382
26
  }
@@ -1,4 +1,4 @@
1
1
  // WARNING: generated file...
2
- const TW_VERSION = '4.0.4';
2
+ const TW_VERSION = '4.0.5';
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.4';
1062
+ const TW_VERSION = '4.0.5';
1063
1063
 
1064
1064
  const tw = (...classes) => {
1065
1065
  return classes.filter(Boolean).join(' ');
@@ -1215,8 +1215,8 @@ const ToolBar = _props => {
1215
1215
  h(TwLabel, null)));
1216
1216
  };
1217
1217
 
1218
- const utilsCss = "/*! tailwindcss v4.0.4 | 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
- const ProtoSudokuStyle0 = utilsCss;
1218
+ const shadowCss = "/*! tailwindcss v4.0.5 | MIT License | https://tailwindcss.com */\n@layer theme, base, components, utilities;\n@layer theme {\n :root,\n :host {\n --font-sans:\n ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',\n 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\n --font-mono:\n ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono',\n 'Courier New', monospace;\n --color-gray-50: oklch(0.985 0.002 247.839);\n --color-white: #fff;\n --spacing: 0.25rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-6xl: 3.75rem;\n --text-6xl--line-height: 1;\n --font-weight-thin: 100;\n --font-weight-bold: 700;\n --radius-md: 0.375rem;\n --animate-spin: spin 1s linear infinite;\n }\n}\n@layer utilities {\n .absolute {\n position: absolute;\n }\n .relative {\n position: relative;\n }\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n .m-6 {\n margin: calc(var(--spacing) * 6);\n }\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n .mt-5 {\n margin-top: calc(var(--spacing) * 5);\n }\n .mt-11 {\n margin-top: calc(var(--spacing) * 11);\n }\n .mr-0 {\n margin-right: calc(var(--spacing) * 0);\n }\n .mr-1 {\n margin-right: calc(var(--spacing) * 1);\n }\n .mr-2 {\n margin-right: calc(var(--spacing) * 2);\n }\n .mb-11 {\n margin-bottom: calc(var(--spacing) * 11);\n }\n .ml-0 {\n margin-left: calc(var(--spacing) * 0);\n }\n .ml-auto {\n margin-left: auto;\n }\n .flex {\n display: flex;\n }\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n .h-24px {\n height: 24px;\n }\n .h-76p5 {\n height: 19.125rem;\n }\n .w-8 {\n width: calc(var(--spacing) * 8);\n }\n .w-76p5 {\n width: 19.125rem;\n }\n .max-w-min {\n max-width: min-content;\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .items-center {\n align-items: center;\n }\n .justify-end {\n justify-content: flex-end;\n }\n .rounded-md {\n border-radius: var(--radius-md);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .border-clrs-gray {\n border-color: var(--clrs-gray, #aaaaaa);\n }\n .border-clrs-navy {\n border-color: var(--clrs-navy, #001f3f);\n }\n .border-clrs-red {\n border-color: var(--clrs-red, #ff4136);\n }\n .border-clrs-slate4 {\n border-color: var(--clrs-slate4, #4e5964);\n }\n .bg-clrs-green-a50 {\n background-color: var(--clrs-green-a50, #2ecc4050);\n }\n .bg-clrs-navy {\n background-color: var(--clrs-navy, #001f3f);\n }\n .bg-clrs-red {\n background-color: var(--clrs-red, #ff4136);\n }\n .bg-clrs-red-a50 {\n background-color: var(--clrs-red-a50, #ff413650);\n }\n .bg-clrs-silver {\n background-color: var(--clrs-silver, #dddddd);\n }\n .bg-clrs-slate4 {\n background-color: var(--clrs-slate4, #4e5964);\n }\n .bg-clrs-yellow {\n background-color: var(--clrs-yellow, #ffdc00);\n }\n .bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n .p-0\\.5 {\n padding: calc(var(--spacing) * 0.5);\n }\n .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n .text-center {\n text-align: center;\n }\n .align-top {\n vertical-align: top;\n }\n .font-sans {\n font-family: var(--font-sans);\n }\n .text-6xl {\n font-size: var(--text-6xl);\n line-height: var(--tw-leading, var(--text-6xl--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .leading-8 {\n --tw-leading: calc(var(--spacing) * 8);\n line-height: calc(var(--spacing) * 8);\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-thin {\n --tw-font-weight: var(--font-weight-thin);\n font-weight: var(--font-weight-thin);\n }\n .text-clrs-gray {\n color: var(--clrs-gray, #aaaaaa);\n }\n .text-clrs-navy {\n color: var(--clrs-navy, #001f3f);\n }\n .text-clrs-red {\n color: var(--clrs-red, #ff4136);\n }\n .text-clrs-slate4 {\n color: var(--clrs-slate4, #4e5964);\n }\n .text-white {\n color: var(--color-white);\n }\n .uppercase {\n text-transform: uppercase;\n }\n .italic {\n font-style: italic;\n }\n .antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .opacity-25 {\n opacity: 25%;\n }\n .opacity-75 {\n opacity: 75%;\n }\n .shadow {\n --tw-shadow:\n 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)),\n 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow:\n var(--tw-inset-shadow), var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .filter {\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,)\n var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,)\n var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .border-xbb-clrs-navy {\n border-bottom: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbl-clrs-navy {\n border-left: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbr-clrs-navy {\n border-right: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbt-clrs-navy {\n border-top: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .hover\\:text-clrs-navy {\n &:hover {\n @media (hover: hover) {\n color: var(--clrs-navy, #001f3f);\n }\n }\n }\n}\n@layer components {\n .ds1-main {\n margin: calc(var(--spacing) * 6);\n display: flex;\n flex-direction: column;\n font-family: var(--font-sans);\n color: var(--clrs-navy, #001f3f);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n";
1219
+ const ProtoSudokuStyle0 = shadowCss;
1220
1220
 
1221
1221
  const ProtoSudoku = class {
1222
1222
  constructor(hostRef) {
@@ -1,2 +1,2 @@
1
- import{h as t,g as n,f as e,r}from"./p-4814c850.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.4"),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.4 | 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}
1
+ import{h as t,g as n,f as e,r}from"./p-4814c850.js";const o=n=>{const e=n.hex||"currentColor",r=n.size||24;return t("svg",{class:n.class,width:r,height:r,viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,n.label||"alien"),t("g",{fill:e},t("path",{d:"M10.31 10.93C11.33 12.57 11.18 14.5 9.96 15.28C8.74 16.04 6.92 15.33\n 5.89 13.69C4.87 12.05 5.03 10.1 6.25 9.34C7.47 8.58 9.29 9.29 10.31\n 10.93M12 17.75C14 17.75 14.5 17 14.5 17C14.5 17 14 19 12 19C10 19 9.5\n 17.03 9.5 17C9.5 17 10 17.75 12 17.75M17.75 9.34C18.97 10.1 19.13 12.05\n 18.11 13.69C17.08 15.33 15.26 16.04 14.04 15.28C12.82 14.5 12.67 12.57\n 13.69 10.93C14.71 9.29 16.53 8.58 17.75 9.34M12 20C14.5 20 20 14.86 20\n 11C20 7.14 16.41 4 12 4C7.59 4 4 7.14 4 11C4 14.86 9.5 20 12 20M12 2C17.5\n 2 22 6.04 22 11C22 15.08 16.32 22 12 22C7.68 22 2 15.08 2 11C2 6.04 6.5 2\n 12 2Z"})),t("path",{d:"M0 0h24v24H0z",fill:"none"}))},s="proto-sudoku",a=`${s}::data`,i=`${s}::inputs`,l=`${s}::pick`,c=t=>{const n=localStorage.getItem(t);return n?JSON.parse(n):void 0},h=(t,n)=>{const e=JSON.stringify(n);localStorage.setItem(t,e)},d=()=>[...c(i)],f=t=>{h(i,t.join(""))},p=()=>{const t=c(l);return null!==t?t:void 0},u=t=>{h(l,t>=0&&t<81?t:null)},g="Check ?",b="New Puzzle",y=t=>!("isConnected"in t)||t.isConnected,w=(()=>{let t;return(...n)=>{t&&clearTimeout(t),t=setTimeout((()=>{t=0,(t=>{for(let n of t.keys())t.set(n,t.get(n).filter(y))})(...n)}),2e3)}})(),m=t=>"function"==typeof t?t():t;class v extends Error{response;request;options;constructor(t,n,e){const r=`${t.status||0===t.status?t.status:""} ${t.statusText||""}`.trim();super(`Request failed with ${r?`status code ${r}`:"an unknown error"}: ${n.method} ${n.url}`),this.name="HTTPError",this.response=t,this.request=n,this.options=e}}class x extends Error{request;constructor(t){super(`Request timed out: ${t.method} ${t.url}`),this.name="TimeoutError",this.request=t}}const C=t=>null!==t&&"object"==typeof t,k=(...t)=>{for(const n of t)if((!C(n)||Array.isArray(n))&&void 0!==n)throw new TypeError("The `options` argument must be an object");return 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})(),S="function"==typeof globalThis.AbortController,j="function"==typeof globalThis.ReadableStream,A="function"==typeof globalThis.FormData,P=["get","post","put","patch","head","delete"],q={json:"application/json",text:"text/*",formData:"multipart/form-data",arrayBuffer:"*/*",blob:"*/*"},U=2147483647,$=Symbol("stop"),B={json:!0,parseJson:!0,stringifyJson:!0,searchParams:!0,prefixUrl:!0,retry:!0,timeout:!0,hooks:!0,throwHttpErrors:!0,onDownloadProgress:!0,fetch:!0},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},O=t=>P.includes(t)?t.toUpperCase():t,N={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},D=(t={})=>{if("number"==typeof t)return{...N,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{...N,...t}};class _{static create(t,n){const e=new _(t,n),r=async()=>{if("number"==typeof e._options.timeout&&e._options.timeout>U)throw new RangeError("The `timeout` option cannot be greater than 2147483647");await Promise.resolve();let t=await e._fetch();for(const n of e._options.hooks.afterResponse){const r=await n(e.request,e._options,e._decorateResponse(t.clone()));r instanceof globalThis.Response&&(t=r)}if(e._decorateResponse(t),!t.ok&&e._options.throwHttpErrors){let n=new v(t,e.request,e._options);for(const t of e._options.hooks.beforeError)n=await t(n);throw n}if(e._options.onDownloadProgress){if("function"!=typeof e._options.onDownloadProgress)throw new TypeError("The `onDownloadProgress` option must be a function");if(!j)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:O(n.method??this._input.method),prefixUrl:String(n.prefixUrl||""),retry:D(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(S){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);!(A&&this._options.body instanceof globalThis.FormData||this._options.body instanceof URLSearchParams)||this._options.headers&&this._options.headers["content-type"]||this.request.headers.delete("content-type"),this.request=new globalThis.Request(new globalThis.Request(n,{...this.request}),this._options)}}_calculateRetryDelay(t){if(this._retryCount++,this._retryCount>this._options.retry.limit||t instanceof x)throw t;if(t instanceof v){if(!this._options.retry.statusCodes.includes(t.response.status))throw t;const n=t.response.headers.get("Retry-After")??t.response.headers.get("RateLimit-Reset")??t.response.headers.get("X-RateLimit-Reset")??t.response.headers.get("X-Rate-Limit-Reset");if(n&&this._options.retry.afterStatusCodes.includes(t.response.status)){let t=1e3*Number(n);Number.isNaN(t)?t=Date.parse(n)-Date.now():t>=Date.parse("2024-01-01")&&(t-=Date.now());const e=this._options.retry.maxRetryAfter??t;return t<e?t:e}if(413===t.response.status)throw t}const n=this._options.retry.delay(this._retryCount);return Math.min(this._options.retry.backoffLimit,n)}_decorateResponse(t){return this._options.parseJson&&(t.json=async()=>this._options.parseJson(await t.text())),t}async _retry(t){try{return await t()}catch(n){const e=Math.min(this._calculateRetryDelay(n),U);if(this._retryCount<1)throw n;await async function(t,{signal:n}){return new Promise(((e,r)=>{function o(){clearTimeout(s),r(n.reason)}n&&(n.throwIfAborted(),n.addEventListener("abort",o,{once:!0}));const s=setTimeout((()=>{n?.removeEventListener("abort",o),e()}),t)}))}(e,{signal:this._options.signal});for(const t of this._options.hooks.beforeRetry)if(await t({request:this.request,options:this._options,error:n,retryCount:this._retryCount})===$)return;return this._retry(t)}}async _fetch(){for(const t of this._options.hooks.beforeRequest){const n=await t(this.request,this._options);if(n instanceof Request){this.request=n;break}if(n instanceof Response)return n}const t=((t,n)=>{const e={};for(const r in n)r in L||r in B||r in t||(e[r]=n[r]);return e})(this.request,this._options),n=this.request;return this.request=n.clone(),!1===this._options.timeout?this._options.fetch(n,t):async function(t,n,e,r){return new Promise(((o,s)=>{const a=setTimeout((()=>{e&&e.abort(),s(new x(t))}),r.timeout);r.fetch(t,n).then(o).catch(s).then((()=>{clearTimeout(a)}))}))}(n,t,this.abortController,this._options)}_stream(t,n){const e=Number(t.headers.get("content-length"))||0;let r=0;return 204===t.status?(n&&n({percent:1,totalBytes:e,transferredBytes:r},new Uint8Array),new globalThis.Response(null,{status:t.status,statusText:t.statusText,headers:t.headers})):new globalThis.Response(new globalThis.ReadableStream({async start(o){const s=t.body.getReader();n&&n({percent:0,transferredBytes:0,totalBytes:e},new Uint8Array),await async function t(){const{done:a,value:i}=await s.read();a?o.close():(n&&(r+=i.byteLength,n({percent:0===e?0:r/e,transferredBytes:r,totalBytes:e},i)),o.enqueue(i),await t())}()}}),{status:t.status,statusText:t.statusText,headers:t.headers})}}
2
+ /*! MIT License © Sindre Sorhus */const H=t=>{const n=(n,e)=>_.create(n,k(t,e));for(const e of P)n[e]=(n,r)=>_.create(n,k(t,r,{method:e}));return n.create=t=>H(k(t)),n.extend=n=>("function"==typeof n&&(n=n(t??{})),H(k(t,n))),n.stop=$,n},J=H(),I={list:[],keys:[],locs:[],loading:!1,solved:!1,error:void 0,pick:void 0,data:void 0},{state:X}=(()=>{const t=((t,n=((t,n)=>t!==n))=>{const e=m(t);let r=new Map(Object.entries(null!=e?e:{}));const o={dispose:[],get:[],set:[],reset:[]},s=()=>{var n;r=new Map(Object.entries(null!==(n=m(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(m(t)[n])));return()=>{r(),o()}},use:(...t)=>{const n=t.reduce(((t,n)=>(n.set&&t.push(c("set",n.set)),n.get&&t.push(c("get",n.get)),n.reset&&t.push(c("reset",n.reset)),n.dispose&&t.push(c("dispose",n.dispose)),t)),[]);return()=>n.forEach((t=>t()))},dispose:()=>{o.dispose.forEach((t=>t())),s()},reset:s,forceUpdate:t=>{const n=r.get(t);o.set.forEach((e=>e(t,n,n)))}}})(I,void 0);return t.use((()=>{if("function"!=typeof n)return{};const t=new Map;return{dispose:()=>t.clear(),get:e=>{const r=n();r&&((t,n,e)=>{const r=t.get(n);r?r.includes(e)||r.push(e):t.set(n,[e])})(t,e,r)},set:n=>{const r=t.get(n);r&&t.set(n,r.filter(e)),w(t)},reset:()=>{t.forEach((t=>t.forEach(e))),w(t)}}})()),t})(),W=new Map([["row",new Map],["column",new Map],["box",new Map]]),Z=["1","2","3","4","5","6","7","8","9"],F=t=>{if(void 0!==t&&t.indx!=X.pick){const{isClue:n,indx:e,row:r,column:o,box:s}=t,a=((t,n,e,r)=>{const o=new Map([["row",n],["column",e],["box",r]]),s=new Set;return o.forEach(((n,e)=>{W.get(e).get(n).forEach((n=>{n!==t&&s.add(n)}))})),Array.from(s)})(e,r,o,s),i=n?[]:(t=>{const{list:n}=X,e=new Set;return t.map((t=>{const{key:r}=n[t];"."!=r&&e.add(r)})),Z.filter((t=>!e.has(t)))})(a);X.pick=e,X.keys=i,X.locs=a}else X.pick=void 0,X.keys=[],X.locs=[];G(X.pick)};let K;const V={local:"http://localhost:8080/api",netlify:"/.netlify/functions",vercel:"https://sudoku-rust-api.vercel.app/api"},Y=t=>{f(t)},G=t=>{u(t)},Q=(t=!1)=>{X.list=[],X.keys=[],X.locs=[],X.loading=t,X.solved=!1,X.error=void 0,X.pick=void 0,X.data=void 0},tt=(t,n=!0)=>{const{puzzle:e,ref:r}=t;n&&(f([]),h(a,t)),(t=>{if(t){const{puzzle:n,ref:e}=t,r=n?[...n]:[],o=e?atob(e):void 0,s=o?[...o]:[],a=r.map(((t,n)=>{const e=s[n],r=t===e,o=Math.floor(n/9),a=n%9,i=((t,n)=>n<3?t<3?0:t<6?3:6:n<6?t<3?1:t<6?4:7:t<3?2:t<6?5:8)(o,a);return((t,n,e,r)=>{new Map([["row",n],["column",e],["box",r]]).forEach(((n,e)=>{const r=W.get(e);r.has(n)?r.get(n).add(t):r.set(n,new Set([t]))}))})(n,o,a,i),{key:t,isClue:r,value:e,indx:n,row:o,column:a,box:i}}));(t=>{d().forEach(((n,e)=>{const r=t[e],{isClue:o}=r;o||(r.key=n)}))})(a),X.data=t,X.list=a}else X.data=void 0,X.list=[]})({puzzle:e,ref:r})},nt=t=>{X.list=[...t],t.length=0},et={initApp:t=>{(t=>{const n=(t=>{const n=Object.keys(V).includes(t)?t:"vercel";return V[n]})(t);K=J.extend({hooks:{beforeRequest:[t=>{t.headers.set("X-Requested-With","ky"),t.headers.set("X-Custom-Header","foobar")}]},prefixUrl:n,timeout:1e4})})(t),Q();const n=c(a),e=p();if(n&&(tt(n,!1),e>=0)){const{list:t}=X;F(t[e])}},refresh:async()=>{Q(!0),Y([]),G(X.pick);try{const t=await K.get("puzzle").json();tt(t)}catch(t){const{message:n}=t;console.log("-- ",n),console.log(t),X.error=n}finally{X.loading=!1}},select:t=>{F(t)},check:()=>{const{list:t}=X,n=[];let e=0,r=0,o=0;t.forEach((t=>{const{key:s,value:a,isClue:i}=t;i?o+=1:"."!==s&&(s!==a?(e+=1,t.key="."):r+=1),n.push(t.key)}));const s=o+r;Y(r?n:[]),e>0?nt(t):81===s&&(X.solved=!0)},input:t=>{const{pick:n,list:e}=X;e[n].key=t,nt(e)}},rt=(...t)=>t.filter(Boolean).join(" "),ot=n=>{const e=n.hex||"currentColor",r=n.label||"loading...",o=n.size||24;return t("svg",{class:rt(n.class||"","animate-spin"),width:o,height:o,fill:"none",viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,r),t("g",null,t("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:e,"stroke-width":"4"}),t("path",{class:"opacity-75",fill:e,d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})),t("path",{d:"M0 0h24v24H0z",fill:"none"}))},st=n=>{const{message:e,salute:r,spinner:s=!1}=n;return t("div",{class:"mt-5 flex h-24px flex-row items-center"},t(s?ot:o,{class:"mr-2"}),r?t("label",{class:"mr-1 font-bold"},r,":"):"",t("label",{class:"italic"},e))},at=()=>{const{solved:n,loading:e,error:r}=X;return t("div",{class:"flex flex-col"},e||r||n?"":t(st,{message:"Welcome, are you ready to play?..."}),e?t(st,{message:"Loading...",spinner:!0}):"",r?t(st,{message:r,salute:"ERROR"}):"",n?t(st,{message:"You solved the puzzle!!"}):"")},it=n=>{const e=n.hex||"currentColor",r=n.size||24;return t("svg",{class:n.class,width:r,height:r,viewBox:"0 0 24 24",role:"img","aria-label":"title"},t("title",null,n.label||"fingerprint"),t("g",{fill:e},t("path",{d:"M17.81,4.47C17.73,4.47 17.65,4.45 17.58,4.41C15.66,3.42 14,3\n 12,3C10.03,3 8.15,3.47 6.44,4.41C6.2,4.54 5.9,4.45 5.76,4.21C5.63,3.97\n 5.72,3.66 5.96,3.53C7.82,2.5 9.86,2 12,2C14.14,2 16,2.47\n 18.04,3.5C18.29,3.65 18.38,3.95 18.25,4.19C18.16,4.37 18,4.47\n 17.81,4.47M3.5,9.72C3.4,9.72 3.3,9.69 3.21,9.63C3,9.47 2.93,9.16\n 3.09,8.93C4.08,7.53 5.34,6.43 6.84,5.66C10,4.04 14,4.03\n 17.15,5.65C18.65,6.42 19.91,7.5 20.9,8.9C21.06,9.12 21,9.44\n 20.78,9.6C20.55,9.76 20.24,9.71 20.08,9.5C19.18,8.22 18.04,7.23\n 16.69,6.54C13.82,5.07 10.15,5.07 7.29,6.55C5.93,7.25 4.79,8.25\n 3.89,9.5C3.81,9.65 3.66,9.72 3.5,9.72M9.75,21.79C9.62,21.79 9.5,21.74\n 9.4,21.64C8.53,20.77 8.06,20.21 7.39,19C6.7,17.77 6.34,16.27\n 6.34,14.66C6.34,11.69 8.88,9.27 12,9.27C15.12,9.27 17.66,11.69\n 17.66,14.66A0.5,0.5 0 0,1 17.16,15.16A0.5,0.5 0 0,1\n 16.66,14.66C16.66,12.24 14.57,10.27 12,10.27C9.43,10.27 7.34,12.24\n 7.34,14.66C7.34,16.1 7.66,17.43 8.27,18.5C8.91,19.66 9.35,20.15\n 10.12,20.93C10.31,21.13 10.31,21.44 10.12,21.64C10,21.74 9.88,21.79\n 9.75,21.79M16.92,19.94C15.73,19.94 14.68,19.64 13.82,19.05C12.33,18.04\n 11.44,16.4 11.44,14.66A0.5,0.5 0 0,1 11.94,14.16A0.5,0.5 0 0,1\n 12.44,14.66C12.44,16.07 13.16,17.4 14.38,18.22C15.09,18.7 15.92,18.93\n 16.92,18.93C17.16,18.93 17.56,18.9 17.96,18.83C18.23,18.78 18.5,18.96\n 18.54,19.24C18.59,19.5 18.41,19.77 18.13,19.82C17.56,19.93 17.06,19.94\n 16.92,19.94M14.91,22C14.87,22 14.82,22 14.78,22C13.19,21.54 12.15,20.95\n 11.06,19.88C9.66,18.5 8.89,16.64 8.89,14.66C8.89,13.04 10.27,11.72\n 11.97,11.72C13.67,11.72 15.05,13.04 15.05,14.66C15.05,15.73 16,16.6\n 17.13,16.6C18.28,16.6 19.21,15.73 19.21,14.66C19.21,10.89 15.96,7.83\n 11.96,7.83C9.12,7.83 6.5,9.41 5.35,11.86C4.96,12.67 4.76,13.62\n 4.76,14.66C4.76,15.44 4.83,16.67 5.43,18.27C5.53,18.53 5.4,18.82\n 5.14,18.91C4.88,19 4.59,18.87 4.5,18.62C4,17.31 3.77,16\n 3.77,14.66C3.77,13.46 4,12.37 4.45,11.42C5.78,8.63 8.73,6.82\n 11.96,6.82C16.5,6.82 20.21,10.33 20.21,14.65C20.21,16.27 18.83,17.59\n 17.13,17.59C15.43,17.59 14.05,16.27 14.05,14.65C14.05,13.58 13.12,12.71\n 11.97,12.71C10.82,12.71 9.89,13.58 9.89,14.65C9.89,16.36 10.55,17.96\n 11.76,19.16C12.71,20.1 13.62,20.62 15.03,21C15.3,21.08 15.45,21.36\n 15.38,21.62C15.33,21.85 15.12,22 14.91,22Z"})),t("path",{d:"M0 0h24v24H0z",fill:"none"}))},lt="eswat2",ct=()=>t("a",{class:"absolute right-0 top-0 text-clrs-gray hover:text-clrs-navy",href:"https://eswat2.dev","aria-label":lt,target:"blank",title:lt},t(it,{label:lt})),ht=(n,e)=>t("h1",{class:rt("text-center uppercase text-clrs-red","mb-11 ml-0 mr-0 mt-11","text-6xl font-thin")},e),dt=n=>{const{label:e,callback:r,matched:o=!1}=n;return t("button",{class:rt("rounded-md border border-solid border-clrs-slate4 font-bold",e===g?"mr-2 bg-clrs-yellow px-3 py-2 text-clrs-navy":e===b?"mr-2 bg-clrs-navy px-3 py-2 text-white":"x"===e?"mr-1 bg-clrs-red px-2 py-1 text-white":o?"mr-1 bg-clrs-slate4 px-2 py-1 text-white":"mr-1 bg-gray-50 px-2 py-1 text-clrs-navy"),onClick:r},e)},ft=()=>{const{keys:n,list:e,pick:r,solved:o}=X,s=t=>()=>{et.input(t)},a=o?[]:n,i=null!=r?e[r]:void 0;return t("div",{class:"mt-2 flex flex-row justify-end"},o||!i||i.isClue||"."==i.key?"":t(dt,{label:"x",callback:s(".")}),a.map((n=>t(dt,{label:n,callback:s(n),matched:i.key===n}))))},pt=[2,5,11,14,20,23,29,32,38,41,47,50,56,59,65,68,74,77],ut=pt.map((t=>t+1)),gt=[18,19,20,21,22,23,24,25,26,45,46,47,48,49,50,51,52,53],bt=gt.map((t=>t+9)),yt=n=>{const{cell:e,focus:r,selected:o,solved:s}=n,{key:a,isClue:i,indx:l}=e,c="."!=a?a:"";return t("label",{class:rt(`cell-${l}`,pt.includes(l)?"border-xbr-clrs-navy":"",ut.includes(l)?"border-xbl-clrs-navy":"",gt.includes(l)?"border-xbb-clrs-navy":"",bt.includes(l)?"border-xbt-clrs-navy":"","h-8 w-8 border border-solid text-center leading-8",o?"border-clrs-red bg-clrs-red-a50 text-clrs-red":r?"border-clrs-gray bg-clrs-green-a50 font-bold":i?"border-clrs-gray bg-clrs-silver":""!==c?"border-clrs-gray text-clrs-red":"border-clrs-gray"),onClick:((t,n)=>()=>{n||et.select(t)})(e,s)},c)},wt=()=>{const{list:n,pick:e,locs:r,solved:o}=X;return t("div",{class:rt("flex flex-row flex-wrap","border border-solid border-clrs-navy","h-76p5 w-76p5 text-lg")},n.map(((n,s)=>{const a=!o&&s===e,i=!o&&r.includes(s);return t(yt,{cell:n,focus:i,selected:a,solved:o})})))},mt=()=>t("label",{class:"ml-auto align-top text-xs italic text-clrs-slate4"},"Tailwind ","4.0.5"),vt=t=>()=>{t.refresh()},xt=t=>()=>{t.check()},Ct=()=>{const{list:n,solved:e}=X;return t("div",{class:"flex flex-row"},t(dt,{label:b,callback:vt(et)}),81!==n.length||e?"":t(dt,{label:g,callback:xt(et)}),t(mt,null))},kt=class{constructor(t){r(this,t),this.tag="proto-sudoku",this.platform="vercel"}componentDidLoad(){et.initApp(this.platform)}render(){return t("div",{key:"9f50eec975c4da5f4984b80380067d5155dda0d1",id:"app",class:"ds1-main relative max-w-min p-0.5"},t(ct,{key:"e7bab7e257022a9920f8b43785d9dc33ab7fed65"}),t(ht,{key:"d8c32e6b9c20b9fe6c8ff2e9fc7a9900057a2679"},"Sudoku"),t(wt,{key:"8a028015ae4380aaa54a406ccf5cc908816ca6a4"}),t(ft,{key:"951b6d20ca7a99ced4c60aa39fe040af6e96dd46"}),t("hr",{key:"35ba2812a3b068b21b5252c5f07d0b5dc2f18527",class:"ml-0 mr-0"}),t(Ct,{key:"114e7edd4bf3da82ae344f56cb7e856ce17a6da8"}),t(at,{key:"2c15eb0ba714d1e0c378882c62ce575c428adc2a"}))}};kt.style="/*! tailwindcss v4.0.5 | MIT License | https://tailwindcss.com */\n@layer theme, base, components, utilities;\n@layer theme {\n :root,\n :host {\n --font-sans:\n ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',\n 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\n --font-mono:\n ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono',\n 'Courier New', monospace;\n --color-gray-50: oklch(0.985 0.002 247.839);\n --color-white: #fff;\n --spacing: 0.25rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-6xl: 3.75rem;\n --text-6xl--line-height: 1;\n --font-weight-thin: 100;\n --font-weight-bold: 700;\n --radius-md: 0.375rem;\n --animate-spin: spin 1s linear infinite;\n }\n}\n@layer utilities {\n .absolute {\n position: absolute;\n }\n .relative {\n position: relative;\n }\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n .m-6 {\n margin: calc(var(--spacing) * 6);\n }\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n .mt-5 {\n margin-top: calc(var(--spacing) * 5);\n }\n .mt-11 {\n margin-top: calc(var(--spacing) * 11);\n }\n .mr-0 {\n margin-right: calc(var(--spacing) * 0);\n }\n .mr-1 {\n margin-right: calc(var(--spacing) * 1);\n }\n .mr-2 {\n margin-right: calc(var(--spacing) * 2);\n }\n .mb-11 {\n margin-bottom: calc(var(--spacing) * 11);\n }\n .ml-0 {\n margin-left: calc(var(--spacing) * 0);\n }\n .ml-auto {\n margin-left: auto;\n }\n .flex {\n display: flex;\n }\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n .h-24px {\n height: 24px;\n }\n .h-76p5 {\n height: 19.125rem;\n }\n .w-8 {\n width: calc(var(--spacing) * 8);\n }\n .w-76p5 {\n width: 19.125rem;\n }\n .max-w-min {\n max-width: min-content;\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .items-center {\n align-items: center;\n }\n .justify-end {\n justify-content: flex-end;\n }\n .rounded-md {\n border-radius: var(--radius-md);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .border-clrs-gray {\n border-color: var(--clrs-gray, #aaaaaa);\n }\n .border-clrs-navy {\n border-color: var(--clrs-navy, #001f3f);\n }\n .border-clrs-red {\n border-color: var(--clrs-red, #ff4136);\n }\n .border-clrs-slate4 {\n border-color: var(--clrs-slate4, #4e5964);\n }\n .bg-clrs-green-a50 {\n background-color: var(--clrs-green-a50, #2ecc4050);\n }\n .bg-clrs-navy {\n background-color: var(--clrs-navy, #001f3f);\n }\n .bg-clrs-red {\n background-color: var(--clrs-red, #ff4136);\n }\n .bg-clrs-red-a50 {\n background-color: var(--clrs-red-a50, #ff413650);\n }\n .bg-clrs-silver {\n background-color: var(--clrs-silver, #dddddd);\n }\n .bg-clrs-slate4 {\n background-color: var(--clrs-slate4, #4e5964);\n }\n .bg-clrs-yellow {\n background-color: var(--clrs-yellow, #ffdc00);\n }\n .bg-gray-50 {\n background-color: var(--color-gray-50);\n }\n .p-0\\.5 {\n padding: calc(var(--spacing) * 0.5);\n }\n .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n .px-3 {\n padding-inline: calc(var(--spacing) * 3);\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .py-2 {\n padding-block: calc(var(--spacing) * 2);\n }\n .text-center {\n text-align: center;\n }\n .align-top {\n vertical-align: top;\n }\n .font-sans {\n font-family: var(--font-sans);\n }\n .text-6xl {\n font-size: var(--text-6xl);\n line-height: var(--tw-leading, var(--text-6xl--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .leading-8 {\n --tw-leading: calc(var(--spacing) * 8);\n line-height: calc(var(--spacing) * 8);\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-thin {\n --tw-font-weight: var(--font-weight-thin);\n font-weight: var(--font-weight-thin);\n }\n .text-clrs-gray {\n color: var(--clrs-gray, #aaaaaa);\n }\n .text-clrs-navy {\n color: var(--clrs-navy, #001f3f);\n }\n .text-clrs-red {\n color: var(--clrs-red, #ff4136);\n }\n .text-clrs-slate4 {\n color: var(--clrs-slate4, #4e5964);\n }\n .text-white {\n color: var(--color-white);\n }\n .uppercase {\n text-transform: uppercase;\n }\n .italic {\n font-style: italic;\n }\n .antialiased {\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n .opacity-25 {\n opacity: 25%;\n }\n .opacity-75 {\n opacity: 75%;\n }\n .shadow {\n --tw-shadow:\n 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)),\n 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow:\n var(--tw-inset-shadow), var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .filter {\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,)\n var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,)\n var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .border-xbb-clrs-navy {\n border-bottom: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbl-clrs-navy {\n border-left: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbr-clrs-navy {\n border-right: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .border-xbt-clrs-navy {\n border-top: 1px solid var(--clrs-navy, #001f3f) !important;\n }\n .hover\\:text-clrs-navy {\n &:hover {\n @media (hover: hover) {\n color: var(--clrs-navy, #001f3f);\n }\n }\n }\n}\n@layer components {\n .ds1-main {\n margin: calc(var(--spacing) * 6);\n display: flex;\n flex-direction: column;\n font-family: var(--font-sans);\n color: var(--clrs-navy, #001f3f);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n";export{kt as proto_sudoku}
@@ -1 +1 @@
1
- import{p as o,b as t}from"./p-4814c850.js";export{s as setNonce}from"./p-4814c850.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-41c6610b",[[1,"proto-sudoku",{tag:[1],platform:[1]}]]]],o))));
1
+ import{p as o,b as t}from"./p-4814c850.js";export{s as setNonce}from"./p-4814c850.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-c5d4d002",[[1,"proto-sudoku",{tag:[1],platform:[1]}]]]],o))));
@@ -1,382 +1,26 @@
1
- /*! tailwindcss v4.0.4 | MIT License | https://tailwindcss.com */
1
+ /*! tailwindcss v4.0.5 | MIT License | https://tailwindcss.com */
2
2
  @layer theme, base, components, utilities;
3
3
  @layer theme {
4
4
  :root,
5
5
  :host {
6
- --font-sans: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',
6
+ --font-sans:
7
+ ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',
7
8
  'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
8
- --font-serif: ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
9
- --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
10
- 'Liberation Mono', 'Courier New', monospace;
11
- --color-red-50: oklch(0.971 0.013 17.38);
12
- --color-red-100: oklch(0.936 0.032 17.717);
13
- --color-red-200: oklch(0.885 0.062 18.334);
14
- --color-red-300: oklch(0.808 0.114 19.571);
15
- --color-red-400: oklch(0.704 0.191 22.216);
16
- --color-red-500: oklch(0.637 0.237 25.331);
17
- --color-red-600: oklch(0.577 0.245 27.325);
18
- --color-red-700: oklch(0.505 0.213 27.518);
19
- --color-red-800: oklch(0.444 0.177 26.899);
20
- --color-red-900: oklch(0.396 0.141 25.723);
21
- --color-red-950: oklch(0.258 0.092 26.042);
22
- --color-orange-50: oklch(0.98 0.016 73.684);
23
- --color-orange-100: oklch(0.954 0.038 75.164);
24
- --color-orange-200: oklch(0.901 0.076 70.697);
25
- --color-orange-300: oklch(0.837 0.128 66.29);
26
- --color-orange-400: oklch(0.75 0.183 55.934);
27
- --color-orange-500: oklch(0.705 0.213 47.604);
28
- --color-orange-600: oklch(0.646 0.222 41.116);
29
- --color-orange-700: oklch(0.553 0.195 38.402);
30
- --color-orange-800: oklch(0.47 0.157 37.304);
31
- --color-orange-900: oklch(0.408 0.123 38.172);
32
- --color-orange-950: oklch(0.266 0.079 36.259);
33
- --color-amber-50: oklch(0.987 0.022 95.277);
34
- --color-amber-100: oklch(0.962 0.059 95.617);
35
- --color-amber-200: oklch(0.924 0.12 95.746);
36
- --color-amber-300: oklch(0.879 0.169 91.605);
37
- --color-amber-400: oklch(0.828 0.189 84.429);
38
- --color-amber-500: oklch(0.769 0.188 70.08);
39
- --color-amber-600: oklch(0.666 0.179 58.318);
40
- --color-amber-700: oklch(0.555 0.163 48.998);
41
- --color-amber-800: oklch(0.473 0.137 46.201);
42
- --color-amber-900: oklch(0.414 0.112 45.904);
43
- --color-amber-950: oklch(0.279 0.077 45.635);
44
- --color-yellow-50: oklch(0.987 0.026 102.212);
45
- --color-yellow-100: oklch(0.973 0.071 103.193);
46
- --color-yellow-200: oklch(0.945 0.129 101.54);
47
- --color-yellow-300: oklch(0.905 0.182 98.111);
48
- --color-yellow-400: oklch(0.852 0.199 91.936);
49
- --color-yellow-500: oklch(0.795 0.184 86.047);
50
- --color-yellow-600: oklch(0.681 0.162 75.834);
51
- --color-yellow-700: oklch(0.554 0.135 66.442);
52
- --color-yellow-800: oklch(0.476 0.114 61.907);
53
- --color-yellow-900: oklch(0.421 0.095 57.708);
54
- --color-yellow-950: oklch(0.286 0.066 53.813);
55
- --color-lime-50: oklch(0.986 0.031 120.757);
56
- --color-lime-100: oklch(0.967 0.067 122.328);
57
- --color-lime-200: oklch(0.938 0.127 124.321);
58
- --color-lime-300: oklch(0.897 0.196 126.665);
59
- --color-lime-400: oklch(0.841 0.238 128.85);
60
- --color-lime-500: oklch(0.768 0.233 130.85);
61
- --color-lime-600: oklch(0.648 0.2 131.684);
62
- --color-lime-700: oklch(0.532 0.157 131.589);
63
- --color-lime-800: oklch(0.453 0.124 130.933);
64
- --color-lime-900: oklch(0.405 0.101 131.063);
65
- --color-lime-950: oklch(0.274 0.072 132.109);
66
- --color-green-50: oklch(0.982 0.018 155.826);
67
- --color-green-100: oklch(0.962 0.044 156.743);
68
- --color-green-200: oklch(0.925 0.084 155.995);
69
- --color-green-300: oklch(0.871 0.15 154.449);
70
- --color-green-400: oklch(0.792 0.209 151.711);
71
- --color-green-500: oklch(0.723 0.219 149.579);
72
- --color-green-600: oklch(0.627 0.194 149.214);
73
- --color-green-700: oklch(0.527 0.154 150.069);
74
- --color-green-800: oklch(0.448 0.119 151.328);
75
- --color-green-900: oklch(0.393 0.095 152.535);
76
- --color-green-950: oklch(0.266 0.065 152.934);
77
- --color-emerald-50: oklch(0.979 0.021 166.113);
78
- --color-emerald-100: oklch(0.95 0.052 163.051);
79
- --color-emerald-200: oklch(0.905 0.093 164.15);
80
- --color-emerald-300: oklch(0.845 0.143 164.978);
81
- --color-emerald-400: oklch(0.765 0.177 163.223);
82
- --color-emerald-500: oklch(0.696 0.17 162.48);
83
- --color-emerald-600: oklch(0.596 0.145 163.225);
84
- --color-emerald-700: oklch(0.508 0.118 165.612);
85
- --color-emerald-800: oklch(0.432 0.095 166.913);
86
- --color-emerald-900: oklch(0.378 0.077 168.94);
87
- --color-emerald-950: oklch(0.262 0.051 172.552);
88
- --color-teal-50: oklch(0.984 0.014 180.72);
89
- --color-teal-100: oklch(0.953 0.051 180.801);
90
- --color-teal-200: oklch(0.91 0.096 180.426);
91
- --color-teal-300: oklch(0.855 0.138 181.071);
92
- --color-teal-400: oklch(0.777 0.152 181.912);
93
- --color-teal-500: oklch(0.704 0.14 182.503);
94
- --color-teal-600: oklch(0.6 0.118 184.704);
95
- --color-teal-700: oklch(0.511 0.096 186.391);
96
- --color-teal-800: oklch(0.437 0.078 188.216);
97
- --color-teal-900: oklch(0.386 0.063 188.416);
98
- --color-teal-950: oklch(0.277 0.046 192.524);
99
- --color-cyan-50: oklch(0.984 0.019 200.873);
100
- --color-cyan-100: oklch(0.956 0.045 203.388);
101
- --color-cyan-200: oklch(0.917 0.08 205.041);
102
- --color-cyan-300: oklch(0.865 0.127 207.078);
103
- --color-cyan-400: oklch(0.789 0.154 211.53);
104
- --color-cyan-500: oklch(0.715 0.143 215.221);
105
- --color-cyan-600: oklch(0.609 0.126 221.723);
106
- --color-cyan-700: oklch(0.52 0.105 223.128);
107
- --color-cyan-800: oklch(0.45 0.085 224.283);
108
- --color-cyan-900: oklch(0.398 0.07 227.392);
109
- --color-cyan-950: oklch(0.302 0.056 229.695);
110
- --color-sky-50: oklch(0.977 0.013 236.62);
111
- --color-sky-100: oklch(0.951 0.026 236.824);
112
- --color-sky-200: oklch(0.901 0.058 230.902);
113
- --color-sky-300: oklch(0.828 0.111 230.318);
114
- --color-sky-400: oklch(0.746 0.16 232.661);
115
- --color-sky-500: oklch(0.685 0.169 237.323);
116
- --color-sky-600: oklch(0.588 0.158 241.966);
117
- --color-sky-700: oklch(0.5 0.134 242.749);
118
- --color-sky-800: oklch(0.443 0.11 240.79);
119
- --color-sky-900: oklch(0.391 0.09 240.876);
120
- --color-sky-950: oklch(0.293 0.066 243.157);
121
- --color-blue-50: oklch(0.97 0.014 254.604);
122
- --color-blue-100: oklch(0.932 0.032 255.585);
123
- --color-blue-200: oklch(0.882 0.059 254.128);
124
- --color-blue-300: oklch(0.809 0.105 251.813);
125
- --color-blue-400: oklch(0.707 0.165 254.624);
126
- --color-blue-500: oklch(0.623 0.214 259.815);
127
- --color-blue-600: oklch(0.546 0.245 262.881);
128
- --color-blue-700: oklch(0.488 0.243 264.376);
129
- --color-blue-800: oklch(0.424 0.199 265.638);
130
- --color-blue-900: oklch(0.379 0.146 265.522);
131
- --color-blue-950: oklch(0.282 0.091 267.935);
132
- --color-indigo-50: oklch(0.962 0.018 272.314);
133
- --color-indigo-100: oklch(0.93 0.034 272.788);
134
- --color-indigo-200: oklch(0.87 0.065 274.039);
135
- --color-indigo-300: oklch(0.785 0.115 274.713);
136
- --color-indigo-400: oklch(0.673 0.182 276.935);
137
- --color-indigo-500: oklch(0.585 0.233 277.117);
138
- --color-indigo-600: oklch(0.511 0.262 276.966);
139
- --color-indigo-700: oklch(0.457 0.24 277.023);
140
- --color-indigo-800: oklch(0.398 0.195 277.366);
141
- --color-indigo-900: oklch(0.359 0.144 278.697);
142
- --color-indigo-950: oklch(0.257 0.09 281.288);
143
- --color-violet-50: oklch(0.969 0.016 293.756);
144
- --color-violet-100: oklch(0.943 0.029 294.588);
145
- --color-violet-200: oklch(0.894 0.057 293.283);
146
- --color-violet-300: oklch(0.811 0.111 293.571);
147
- --color-violet-400: oklch(0.702 0.183 293.541);
148
- --color-violet-500: oklch(0.606 0.25 292.717);
149
- --color-violet-600: oklch(0.541 0.281 293.009);
150
- --color-violet-700: oklch(0.491 0.27 292.581);
151
- --color-violet-800: oklch(0.432 0.232 292.759);
152
- --color-violet-900: oklch(0.38 0.189 293.745);
153
- --color-violet-950: oklch(0.283 0.141 291.089);
154
- --color-purple-50: oklch(0.977 0.014 308.299);
155
- --color-purple-100: oklch(0.946 0.033 307.174);
156
- --color-purple-200: oklch(0.902 0.063 306.703);
157
- --color-purple-300: oklch(0.827 0.119 306.383);
158
- --color-purple-400: oklch(0.714 0.203 305.504);
159
- --color-purple-500: oklch(0.627 0.265 303.9);
160
- --color-purple-600: oklch(0.558 0.288 302.321);
161
- --color-purple-700: oklch(0.496 0.265 301.924);
162
- --color-purple-800: oklch(0.438 0.218 303.724);
163
- --color-purple-900: oklch(0.381 0.176 304.987);
164
- --color-purple-950: oklch(0.291 0.149 302.717);
165
- --color-fuchsia-50: oklch(0.977 0.017 320.058);
166
- --color-fuchsia-100: oklch(0.952 0.037 318.852);
167
- --color-fuchsia-200: oklch(0.903 0.076 319.62);
168
- --color-fuchsia-300: oklch(0.833 0.145 321.434);
169
- --color-fuchsia-400: oklch(0.74 0.238 322.16);
170
- --color-fuchsia-500: oklch(0.667 0.295 322.15);
171
- --color-fuchsia-600: oklch(0.591 0.293 322.896);
172
- --color-fuchsia-700: oklch(0.518 0.253 323.949);
173
- --color-fuchsia-800: oklch(0.452 0.211 324.591);
174
- --color-fuchsia-900: oklch(0.401 0.17 325.612);
175
- --color-fuchsia-950: oklch(0.293 0.136 325.661);
176
- --color-pink-50: oklch(0.971 0.014 343.198);
177
- --color-pink-100: oklch(0.948 0.028 342.258);
178
- --color-pink-200: oklch(0.899 0.061 343.231);
179
- --color-pink-300: oklch(0.823 0.12 346.018);
180
- --color-pink-400: oklch(0.718 0.202 349.761);
181
- --color-pink-500: oklch(0.656 0.241 354.308);
182
- --color-pink-600: oklch(0.592 0.249 0.584);
183
- --color-pink-700: oklch(0.525 0.223 3.958);
184
- --color-pink-800: oklch(0.459 0.187 3.815);
185
- --color-pink-900: oklch(0.408 0.153 2.432);
186
- --color-pink-950: oklch(0.284 0.109 3.907);
187
- --color-rose-50: oklch(0.969 0.015 12.422);
188
- --color-rose-100: oklch(0.941 0.03 12.58);
189
- --color-rose-200: oklch(0.892 0.058 10.001);
190
- --color-rose-300: oklch(0.81 0.117 11.638);
191
- --color-rose-400: oklch(0.712 0.194 13.428);
192
- --color-rose-500: oklch(0.645 0.246 16.439);
193
- --color-rose-600: oklch(0.586 0.253 17.585);
194
- --color-rose-700: oklch(0.514 0.222 16.935);
195
- --color-rose-800: oklch(0.455 0.188 13.697);
196
- --color-rose-900: oklch(0.41 0.159 10.272);
197
- --color-rose-950: oklch(0.271 0.105 12.094);
198
- --color-slate-50: oklch(0.984 0.003 247.858);
199
- --color-slate-100: oklch(0.968 0.007 247.896);
200
- --color-slate-200: oklch(0.929 0.013 255.508);
201
- --color-slate-300: oklch(0.869 0.022 252.894);
202
- --color-slate-400: oklch(0.704 0.04 256.788);
203
- --color-slate-500: oklch(0.554 0.046 257.417);
204
- --color-slate-600: oklch(0.446 0.043 257.281);
205
- --color-slate-700: oklch(0.372 0.044 257.287);
206
- --color-slate-800: oklch(0.279 0.041 260.031);
207
- --color-slate-900: oklch(0.208 0.042 265.755);
208
- --color-slate-950: oklch(0.129 0.042 264.695);
9
+ --font-mono:
10
+ ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono',
11
+ 'Courier New', monospace;
209
12
  --color-gray-50: oklch(0.985 0.002 247.839);
210
- --color-gray-100: oklch(0.967 0.003 264.542);
211
- --color-gray-200: oklch(0.928 0.006 264.531);
212
- --color-gray-300: oklch(0.872 0.01 258.338);
213
- --color-gray-400: oklch(0.707 0.022 261.325);
214
- --color-gray-500: oklch(0.551 0.027 264.364);
215
- --color-gray-600: oklch(0.446 0.03 256.802);
216
- --color-gray-700: oklch(0.373 0.034 259.733);
217
- --color-gray-800: oklch(0.278 0.033 256.848);
218
- --color-gray-900: oklch(0.21 0.034 264.665);
219
- --color-gray-950: oklch(0.13 0.028 261.692);
220
- --color-zinc-50: oklch(0.985 0 0);
221
- --color-zinc-100: oklch(0.967 0.001 286.375);
222
- --color-zinc-200: oklch(0.92 0.004 286.32);
223
- --color-zinc-300: oklch(0.871 0.006 286.286);
224
- --color-zinc-400: oklch(0.705 0.015 286.067);
225
- --color-zinc-500: oklch(0.552 0.016 285.938);
226
- --color-zinc-600: oklch(0.442 0.017 285.786);
227
- --color-zinc-700: oklch(0.37 0.013 285.805);
228
- --color-zinc-800: oklch(0.274 0.006 286.033);
229
- --color-zinc-900: oklch(0.21 0.006 285.885);
230
- --color-zinc-950: oklch(0.141 0.005 285.823);
231
- --color-neutral-50: oklch(0.985 0 0);
232
- --color-neutral-100: oklch(0.97 0 0);
233
- --color-neutral-200: oklch(0.922 0 0);
234
- --color-neutral-300: oklch(0.87 0 0);
235
- --color-neutral-400: oklch(0.708 0 0);
236
- --color-neutral-500: oklch(0.556 0 0);
237
- --color-neutral-600: oklch(0.439 0 0);
238
- --color-neutral-700: oklch(0.371 0 0);
239
- --color-neutral-800: oklch(0.269 0 0);
240
- --color-neutral-900: oklch(0.205 0 0);
241
- --color-neutral-950: oklch(0.145 0 0);
242
- --color-stone-50: oklch(0.985 0.001 106.423);
243
- --color-stone-100: oklch(0.97 0.001 106.424);
244
- --color-stone-200: oklch(0.923 0.003 48.717);
245
- --color-stone-300: oklch(0.869 0.005 56.366);
246
- --color-stone-400: oklch(0.709 0.01 56.259);
247
- --color-stone-500: oklch(0.553 0.013 58.071);
248
- --color-stone-600: oklch(0.444 0.011 73.639);
249
- --color-stone-700: oklch(0.374 0.01 67.558);
250
- --color-stone-800: oklch(0.268 0.007 34.298);
251
- --color-stone-900: oklch(0.216 0.006 56.043);
252
- --color-stone-950: oklch(0.147 0.004 49.25);
253
- --color-black: #000;
254
13
  --color-white: #fff;
255
14
  --spacing: 0.25rem;
256
- --breakpoint-sm: 40rem;
257
- --breakpoint-md: 48rem;
258
- --breakpoint-lg: 64rem;
259
- --breakpoint-xl: 80rem;
260
- --breakpoint-2xl: 96rem;
261
- --container-3xs: 16rem;
262
- --container-2xs: 18rem;
263
- --container-xs: 20rem;
264
- --container-sm: 24rem;
265
- --container-md: 28rem;
266
- --container-lg: 32rem;
267
- --container-xl: 36rem;
268
- --container-2xl: 42rem;
269
- --container-3xl: 48rem;
270
- --container-4xl: 56rem;
271
- --container-5xl: 64rem;
272
- --container-6xl: 72rem;
273
- --container-7xl: 80rem;
274
15
  --text-xs: 0.75rem;
275
16
  --text-xs--line-height: calc(1 / 0.75);
276
- --text-sm: 0.875rem;
277
- --text-sm--line-height: calc(1.25 / 0.875);
278
- --text-base: 1rem;
279
- --text-base--line-height: calc(1.5 / 1);
280
17
  --text-lg: 1.125rem;
281
18
  --text-lg--line-height: calc(1.75 / 1.125);
282
- --text-xl: 1.25rem;
283
- --text-xl--line-height: calc(1.75 / 1.25);
284
- --text-2xl: 1.5rem;
285
- --text-2xl--line-height: calc(2 / 1.5);
286
- --text-3xl: 1.875rem;
287
- --text-3xl--line-height: calc(2.25 / 1.875);
288
- --text-4xl: 2.25rem;
289
- --text-4xl--line-height: calc(2.5 / 2.25);
290
- --text-5xl: 3rem;
291
- --text-5xl--line-height: 1;
292
19
  --text-6xl: 3.75rem;
293
20
  --text-6xl--line-height: 1;
294
- --text-7xl: 4.5rem;
295
- --text-7xl--line-height: 1;
296
- --text-8xl: 6rem;
297
- --text-8xl--line-height: 1;
298
- --text-9xl: 8rem;
299
- --text-9xl--line-height: 1;
300
21
  --font-weight-thin: 100;
301
- --font-weight-extralight: 200;
302
- --font-weight-light: 300;
303
- --font-weight-normal: 400;
304
- --font-weight-medium: 500;
305
- --font-weight-semibold: 600;
306
22
  --font-weight-bold: 700;
307
- --font-weight-extrabold: 800;
308
- --font-weight-black: 900;
309
- --tracking-tighter: -0.05em;
310
- --tracking-tight: -0.025em;
311
- --tracking-normal: 0em;
312
- --tracking-wide: 0.025em;
313
- --tracking-wider: 0.05em;
314
- --tracking-widest: 0.1em;
315
- --leading-tight: 1.25;
316
- --leading-snug: 1.375;
317
- --leading-normal: 1.5;
318
- --leading-relaxed: 1.625;
319
- --leading-loose: 2;
320
- --radius-xs: 0.125rem;
321
- --radius-sm: 0.25rem;
322
23
  --radius-md: 0.375rem;
323
- --radius-lg: 0.5rem;
324
- --radius-xl: 0.75rem;
325
- --radius-2xl: 1rem;
326
- --radius-3xl: 1.5rem;
327
- --radius-4xl: 2rem;
328
- --shadow-2xs: 0 1px rgb(0 0 0 / 0.05);
329
- --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / 0.05);
330
- --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
331
- --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1),
332
- 0 2px 4px -2px rgb(0 0 0 / 0.1);
333
- --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1),
334
- 0 4px 6px -4px rgb(0 0 0 / 0.1);
335
- --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1),
336
- 0 8px 10px -6px rgb(0 0 0 / 0.1);
337
- --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
338
- --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / 0.05);
339
- --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / 0.05);
340
- --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / 0.05);
341
- --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / 0.05);
342
- --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / 0.15);
343
- --drop-shadow-md: 0 3px 3px rgb(0 0 0 / 0.12);
344
- --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / 0.15);
345
- --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / 0.1);
346
- --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / 0.15);
347
- --ease-in: cubic-bezier(0.4, 0, 1, 1);
348
- --ease-out: cubic-bezier(0, 0, 0.2, 1);
349
- --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
350
24
  --animate-spin: spin 1s linear infinite;
351
- --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
352
- --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
353
- --animate-bounce: bounce 1s infinite;
354
- --blur-xs: 4px;
355
- --blur-sm: 8px;
356
- --blur-md: 12px;
357
- --blur-lg: 16px;
358
- --blur-xl: 24px;
359
- --blur-2xl: 40px;
360
- --blur-3xl: 64px;
361
- --perspective-dramatic: 100px;
362
- --perspective-near: 300px;
363
- --perspective-normal: 500px;
364
- --perspective-midrange: 800px;
365
- --perspective-distant: 1200px;
366
- --aspect-video: 16 / 9;
367
- --default-transition-duration: 150ms;
368
- --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
369
- --default-font-family: var(--font-sans);
370
- --default-font-feature-settings: var(--font-sans--font-feature-settings);
371
- --default-font-variation-settings: var(
372
- --font-sans--font-variation-settings
373
- );
374
- --default-mono-font-family: var(--font-mono);
375
- --default-mono-font-feature-settings: var(
376
- --font-mono--font-feature-settings
377
- );
378
- --default-mono-font-variation-settings: var(
379
- --font-mono--font-variation-settings
380
- );
381
25
  }
382
26
  }
@@ -1,3 +1,3 @@
1
- declare const TW_VERSION = "4.0.4";
1
+ declare const TW_VERSION = "4.0.5";
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.939",
3
+ "version": "0.0.941",
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",
@@ -36,12 +36,12 @@
36
36
  "concurrently": "9.1.2",
37
37
  "cspell": "8.17.3",
38
38
  "cssnano": "7.0.6",
39
- "eslint": "9.19.0",
39
+ "eslint": "9.20.0",
40
40
  "postcss": "8.5.1",
41
- "prettier": "3.4.2",
41
+ "prettier": "3.5.0",
42
42
  "prettier-plugin-tailwindcss": "0.6.11",
43
- "proto-tailwindcss-clrs": "0.0.405",
44
- "tailwindcss": "4.0.4",
43
+ "proto-tailwindcss-clrs": "0.0.406",
44
+ "tailwindcss": "4.0.5",
45
45
  "typescript": "5.7.3",
46
46
  "workbox-build": "7.3.0"
47
47
  },