@drjoshcsimmons/scl 0.1.4 → 0.1.6

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.
Files changed (108) hide show
  1. package/dist/globals.css +300 -0
  2. package/dist/index100.js +3 -14
  3. package/dist/index101.js +15 -9
  4. package/dist/index102.js +30 -50
  5. package/dist/index103.js +167 -205
  6. package/dist/index104.js +647 -27
  7. package/dist/index105.js +12 -6
  8. package/dist/index106.js +206 -21
  9. package/dist/index107.js +22 -9
  10. package/dist/index108.js +400 -38
  11. package/dist/index109.js +6 -18
  12. package/dist/index11.js +2 -2
  13. package/dist/index110.js +21 -12
  14. package/dist/index111.js +9 -206
  15. package/dist/index112.js +37 -21
  16. package/dist/index113.js +17 -399
  17. package/dist/index114.js +25 -2
  18. package/dist/index115.js +29 -53
  19. package/dist/index116.js +5 -65
  20. package/dist/index117.js +2 -2
  21. package/dist/index118.js +53 -2
  22. package/dist/index119.js +63 -23
  23. package/dist/index12.js +1 -1
  24. package/dist/index120.js +2 -29
  25. package/dist/index121.js +2 -5
  26. package/dist/index125.js +1 -1
  27. package/dist/index126.js +1 -1
  28. package/dist/index13.js +2 -2
  29. package/dist/index130.js +1 -1
  30. package/dist/index14.js +2 -2
  31. package/dist/index15.js +2 -2
  32. package/dist/index17.js +4 -4
  33. package/dist/index18.js +2 -2
  34. package/dist/index20.js +2 -2
  35. package/dist/index21.js +1 -1
  36. package/dist/index22.js +1 -1
  37. package/dist/index23.js +2 -2
  38. package/dist/index24.js +1 -1
  39. package/dist/index25.js +4 -4
  40. package/dist/index26.js +1 -1
  41. package/dist/index27.js +3 -3
  42. package/dist/index29.js +1 -1
  43. package/dist/index31.js +1 -1
  44. package/dist/index33.js +1 -1
  45. package/dist/index36.js +2 -2
  46. package/dist/index37.js +1 -1
  47. package/dist/index4.js +2 -2
  48. package/dist/index45.js +33 -237
  49. package/dist/index46.js +241 -11
  50. package/dist/index47.js +216 -402
  51. package/dist/index48.js +9 -161
  52. package/dist/index49.js +12 -310
  53. package/dist/index5.js +1 -1
  54. package/dist/index50.js +260 -12
  55. package/dist/index51.js +12 -33
  56. package/dist/index52.js +62 -107
  57. package/dist/index53.js +226 -62
  58. package/dist/index54.js +4 -5
  59. package/dist/index55.js +530 -9
  60. package/dist/index56.js +112 -236
  61. package/dist/index57.js +307 -57
  62. package/dist/index58.js +12 -225
  63. package/dist/index59.js +435 -11
  64. package/dist/index6.js +1 -1
  65. package/dist/index60.js +60 -11
  66. package/dist/index61.js +250 -121
  67. package/dist/index62.js +115 -245
  68. package/dist/index63.js +82 -12
  69. package/dist/index64.js +21 -81
  70. package/dist/index65.js +31 -236
  71. package/dist/index66.js +18 -530
  72. package/dist/index67.js +235 -21
  73. package/dist/index68.js +11 -860
  74. package/dist/index69.js +161 -9
  75. package/dist/index7.js +1 -1
  76. package/dist/index70.js +323 -241
  77. package/dist/index71.js +219 -25
  78. package/dist/index72.js +11 -336
  79. package/dist/index73.js +823 -204
  80. package/dist/index74.js +9 -18
  81. package/dist/index75.js +105 -117
  82. package/dist/index76.js +5 -66
  83. package/dist/index77.js +25 -44
  84. package/dist/index78.js +64 -23
  85. package/dist/index79.js +123 -5
  86. package/dist/index8.js +1 -1
  87. package/dist/index80.js +13 -50
  88. package/dist/index81.js +133 -32
  89. package/dist/index82.js +1 -1
  90. package/dist/index83.js +218 -7
  91. package/dist/index84.js +14 -4
  92. package/dist/index85.js +68 -5
  93. package/dist/index86.js +33 -24
  94. package/dist/index87.js +49 -176
  95. package/dist/index88.js +48 -65
  96. package/dist/index89.js +50 -15
  97. package/dist/index9.js +2 -2
  98. package/dist/index90.js +9 -30
  99. package/dist/index91.js +5 -54
  100. package/dist/index92.js +24 -10
  101. package/dist/index93.js +55 -4
  102. package/dist/index94.js +10 -12
  103. package/dist/index95.js +4 -54
  104. package/dist/index96.js +30 -650
  105. package/dist/index97.js +11 -123
  106. package/dist/index98.js +41 -130
  107. package/dist/index99.js +8 -14
  108. package/package.json +19 -11
@@ -0,0 +1,300 @@
1
+ @tailwind base;
2
+ @tailwind components;
3
+ @tailwind utilities;
4
+
5
+ @font-face {
6
+ font-family: 'BigBlueTerm437';
7
+ src: url('/fonts/BigBlueTerm437.ttf') format('truetype');
8
+ }
9
+
10
+ @layer base {
11
+ :root {
12
+ /* Color palette */
13
+ --color-green: 120 100% 50%;
14
+ --color-hotpink: 300 100% 50%;
15
+ --color-yellow: 60 100% 50%;
16
+ --color-blue: 240 100% 50%;
17
+ --color-cyan: 180 100% 50%;
18
+ --color-white: 0 0% 100%;
19
+ --color-amber: 45 100% 50%;
20
+ --color-red: 0 100% 50%;
21
+
22
+ /* Statusline colors (vim powerline style) */
23
+ --statusline-bg: 210 100% 35%;
24
+ --statusline-fg: 60 100% 50%;
25
+
26
+ /* Semantic colors (swappable) */
27
+ --primary: var(--color-green);
28
+ --primary-foreground: 0 0% 0%;
29
+ --secondary: var(--color-hotpink);
30
+ --secondary-foreground: 0 0% 0%;
31
+
32
+ /* Core UI (derived from primary) */
33
+ --background: 0 0% 0%;
34
+ --foreground: var(--primary);
35
+ --border: var(--primary);
36
+ --input: 0 0% 0%;
37
+ --ring: var(--primary);
38
+
39
+ /* Card/popover */
40
+ --card: 0 0% 0%;
41
+ --card-foreground: var(--primary);
42
+ --popover: 0 0% 0%;
43
+ --popover-foreground: var(--primary);
44
+
45
+ /* Muted */
46
+ --muted: 0 0% 8%;
47
+ --muted-foreground: var(--primary);
48
+
49
+ /* Accent (secondary) */
50
+ --accent: var(--secondary);
51
+ --accent-foreground: var(--secondary-foreground);
52
+
53
+ /* Destructive (always red) */
54
+ --destructive: var(--color-red);
55
+ --destructive-foreground: 0 0% 0%;
56
+
57
+ /* Chart colors */
58
+ --chart-1: var(--color-green);
59
+ --chart-2: var(--color-yellow);
60
+ --chart-3: var(--color-hotpink);
61
+ --chart-4: var(--color-blue);
62
+ --chart-5: var(--color-amber);
63
+
64
+ /* Sidebar */
65
+ --sidebar-background: 0 0% 0%;
66
+ --sidebar-foreground: var(--primary);
67
+ --sidebar-primary: var(--primary);
68
+ --sidebar-primary-foreground: var(--primary-foreground);
69
+ --sidebar-accent: var(--secondary);
70
+ --sidebar-accent-foreground: var(--secondary-foreground);
71
+ --sidebar-border: var(--primary);
72
+ --sidebar-ring: var(--primary);
73
+
74
+ --radius: 0px;
75
+ }
76
+
77
+ /* Theme utility classes for per-section color swapping */
78
+ .theme-yellow {
79
+ --primary: 60 100% 50%;
80
+ }
81
+ .theme-blue {
82
+ --primary: 240 100% 50%;
83
+ --primary-foreground: 0 0% 100%;
84
+ }
85
+ .theme-white {
86
+ --primary: 0 0% 100%;
87
+ }
88
+ .theme-amber {
89
+ --primary: 45 100% 50%;
90
+ }
91
+ .theme-hotpink {
92
+ --primary: 300 100% 50%;
93
+ }
94
+ .theme-cyan {
95
+ --primary: 180 100% 50%;
96
+ }
97
+ .theme-secondary {
98
+ --primary: 300 100% 50%;
99
+ --primary-foreground: 0 0% 0%;
100
+ }
101
+ }
102
+
103
+ @layer base {
104
+ * {
105
+ border-color: hsl(var(--border));
106
+ }
107
+
108
+ html {
109
+ background-color: #000000;
110
+ }
111
+
112
+ body {
113
+ background-color: hsl(var(--background));
114
+ color: hsl(var(--primary));
115
+ font-family: 'BigBlueTerm437', monospace;
116
+ }
117
+
118
+ /* Kill all shadows globally */
119
+ *,
120
+ *::before,
121
+ *::after {
122
+ box-shadow: none !important;
123
+ text-shadow: none !important;
124
+ }
125
+
126
+ /* Kill all border radius globally */
127
+ *,
128
+ *::before,
129
+ *::after {
130
+ border-radius: 0 !important;
131
+ }
132
+ }
133
+
134
+ /* Win95 style scrollbar from original app */
135
+ @layer components {
136
+ .win95-scroll {
137
+ scrollbar-width: auto;
138
+ scrollbar-color: #bcbcbc #d4d0c8;
139
+ }
140
+
141
+ .win95-scroll::-webkit-scrollbar {
142
+ width: 16px;
143
+ background-color: #d4d0c8;
144
+ }
145
+
146
+ .win95-scroll::-webkit-scrollbar-track {
147
+ background: linear-gradient(180deg, #f5f5f5 0%, #d4d0c8 100%);
148
+ border: 1px solid #808080;
149
+ }
150
+
151
+ .win95-scroll::-webkit-scrollbar-thumb {
152
+ background-color: #bcbcbc;
153
+ border: 1px solid #808080;
154
+ }
155
+
156
+ .win95-scroll::-webkit-scrollbar-thumb:hover {
157
+ background-color: #d6d6d6;
158
+ }
159
+
160
+ .win95-scroll::-webkit-scrollbar-button {
161
+ height: 16px;
162
+ background-color: #d4d0c8;
163
+ border: 1px solid #808080;
164
+ }
165
+
166
+ /* Terminal header styles */
167
+ .header-title {
168
+ background: hsl(var(--primary));
169
+ color: hsl(var(--primary-foreground));
170
+ font-weight: bold;
171
+ line-height: 1;
172
+ display: inline-block;
173
+ position: relative;
174
+ }
175
+
176
+ .header-title::after {
177
+ content: '';
178
+ position: absolute;
179
+ top: 50%;
180
+ transform: translateY(-50%);
181
+ border-left-color: hsl(var(--primary));
182
+ border-top-color: transparent;
183
+ border-bottom-color: transparent;
184
+ border-style: solid;
185
+ border-top-width: 10px;
186
+ border-bottom-width: 10px;
187
+ border-left-width: 6px;
188
+ right: -6px;
189
+ }
190
+
191
+ .header-button {
192
+ position: absolute;
193
+ right: 0;
194
+ top: 0;
195
+ bottom: 0;
196
+ background: hsl(var(--background));
197
+ padding-left: 0.5rem;
198
+ padding-right: 0.5rem;
199
+ font-weight: 600;
200
+ text-transform: uppercase;
201
+ letter-spacing: 0.05em;
202
+ color: hsl(var(--primary));
203
+ transition: background-color 0.2s;
204
+ display: flex;
205
+ align-items: center;
206
+ }
207
+
208
+ .header-button:hover {
209
+ background: hsl(var(--muted));
210
+ }
211
+
212
+ .header-button:focus {
213
+ outline: 1px solid hsl(var(--primary));
214
+ }
215
+
216
+ .terminal-glow {
217
+ box-shadow: 0 0 8px hsl(var(--primary) / 0.6) !important;
218
+ }
219
+ }
220
+
221
+ /* Custom color utilities - workaround for Tailwind JIT not generating these */
222
+ @layer utilities {
223
+ .bg-primary {
224
+ background-color: hsl(var(--primary));
225
+ }
226
+ .bg-secondary {
227
+ background-color: hsl(var(--secondary));
228
+ }
229
+ .bg-destructive {
230
+ background-color: hsl(var(--destructive));
231
+ }
232
+ .bg-muted {
233
+ background-color: hsl(var(--muted));
234
+ }
235
+ .bg-accent {
236
+ background-color: hsl(var(--accent));
237
+ }
238
+ .bg-card {
239
+ background-color: hsl(var(--card));
240
+ }
241
+ .bg-popover {
242
+ background-color: hsl(var(--popover));
243
+ }
244
+ .bg-background {
245
+ background-color: hsl(var(--background));
246
+ }
247
+ .text-primary {
248
+ color: hsl(var(--primary));
249
+ }
250
+ .text-secondary {
251
+ color: hsl(var(--secondary));
252
+ }
253
+ .text-destructive {
254
+ color: hsl(var(--destructive));
255
+ }
256
+ .text-primary-foreground {
257
+ color: hsl(var(--primary-foreground));
258
+ }
259
+ .text-secondary-foreground {
260
+ color: hsl(var(--secondary-foreground));
261
+ }
262
+ .text-destructive-foreground {
263
+ color: hsl(var(--destructive-foreground));
264
+ }
265
+ .text-muted-foreground {
266
+ color: hsl(var(--muted-foreground));
267
+ }
268
+ .text-card-foreground {
269
+ color: hsl(var(--card-foreground));
270
+ }
271
+ .text-popover-foreground {
272
+ color: hsl(var(--popover-foreground));
273
+ }
274
+ .border-primary {
275
+ border-color: hsl(var(--primary));
276
+ }
277
+ .border-secondary {
278
+ border-color: hsl(var(--secondary));
279
+ }
280
+ .border-destructive {
281
+ border-color: hsl(var(--destructive));
282
+ }
283
+ .ring-primary {
284
+ --tw-ring-color: hsl(var(--primary));
285
+ }
286
+
287
+ /* Blink animation utility - only blinks the fill, not the border */
288
+ .animate-blink {
289
+ animation: blink 0.25s step-end infinite;
290
+ }
291
+
292
+ @keyframes blink {
293
+ 0%, 100% {
294
+ background-color: hsl(var(--primary));
295
+ }
296
+ 50% {
297
+ background-color: transparent;
298
+ }
299
+ }
300
+ }
package/dist/index100.js CHANGED
@@ -1,17 +1,6 @@
1
- import * as r from "react";
2
- var t = 0;
3
- function a() {
4
- r.useEffect(() => {
5
- const e = document.querySelectorAll("[data-radix-focus-guard]");
6
- return document.body.insertAdjacentElement("afterbegin", e[0] ?? n()), document.body.insertAdjacentElement("beforeend", e[1] ?? n()), t++, () => {
7
- t === 1 && document.querySelectorAll("[data-radix-focus-guard]").forEach((o) => o.remove()), t--;
8
- };
9
- }, []);
10
- }
11
- function n() {
12
- const e = document.createElement("span");
13
- return e.setAttribute("data-radix-focus-guard", ""), e.tabIndex = 0, e.style.outline = "none", e.style.opacity = "0", e.style.position = "fixed", e.style.pointerEvents = "none", e;
1
+ function m(t, [a, n]) {
2
+ return Math.min(n, Math.max(a, t));
14
3
  }
15
4
  export {
16
- a as useFocusGuards
5
+ m as clamp
17
6
  };
package/dist/index101.js CHANGED
@@ -1,11 +1,17 @@
1
- import { __assign as m } from "./index119.js";
2
- import * as r from "react";
3
- import { RemoveScroll as e } from "./index120.js";
4
- import t from "./index121.js";
5
- var s = r.forwardRef(function(a, o) {
6
- return r.createElement(e, m({}, a, { ref: o, sideCar: t }));
7
- });
8
- s.classNames = e.classNames;
1
+ var m = 1, j = 0.9, k = 0.8, B = 0.17, v = 0.1, w = 0.999, D = 0.9999, G = 0.99, H = /[\\\/_+.#"@\[\(\{&]/, J = /[\\\/_+.#"@\[\(\{&]/g, K = /[\s-]/, A = /[\s-]/g;
2
+ function $(t, o, e, i, n, h, u) {
3
+ if (h === o.length) return n === t.length ? m : G;
4
+ var s = `${n},${h}`;
5
+ if (u[s] !== void 0) return u[s];
6
+ for (var d = i.charAt(h), a = e.indexOf(d, n), l = 0, r, g, c, p; a >= 0; ) r = $(t, o, e, i, a + 1, h + 1, u), r > l && (a === n ? r *= m : H.test(t.charAt(a - 1)) ? (r *= k, c = t.slice(n, a - 1).match(J), c && n > 0 && (r *= Math.pow(w, c.length))) : K.test(t.charAt(a - 1)) ? (r *= j, p = t.slice(n, a - 1).match(A), p && n > 0 && (r *= Math.pow(w, p.length))) : (r *= B, n > 0 && (r *= Math.pow(w, a - n))), t.charAt(a) !== o.charAt(h) && (r *= D)), (r < v && e.charAt(a - 1) === i.charAt(h + 1) || i.charAt(h + 1) === i.charAt(h) && e.charAt(a - 1) !== i.charAt(h)) && (g = $(t, o, e, i, a + 1, h + 2, u), g * v > r && (r = g * v)), r > l && (l = r), a = e.indexOf(d, a + 1);
7
+ return u[s] = l, l;
8
+ }
9
+ function x(t) {
10
+ return t.toLowerCase().replace(A, " ");
11
+ }
12
+ function M(t, o, e) {
13
+ return t = e && e.length > 0 ? `${t + " " + e.join(" ")}` : t, $(t, o, x(t), x(o), 0, 0, {});
14
+ }
9
15
  export {
10
- s as default
16
+ M as a
11
17
  };
package/dist/index102.js CHANGED
@@ -1,52 +1,32 @@
1
- var S = function(r) {
2
- if (typeof document > "u")
3
- return null;
4
- var u = Array.isArray(r) ? r[0] : r;
5
- return u.ownerDocument.body;
6
- }, f = /* @__PURE__ */ new WeakMap(), v = /* @__PURE__ */ new WeakMap(), p = {}, h = 0, W = function(r) {
7
- return r && (r.host || W(r.parentNode));
8
- }, D = function(r, u) {
9
- return u.map(function(e) {
10
- if (r.contains(e))
11
- return e;
12
- var n = W(e);
13
- return n && r.contains(n) ? n : (console.error("aria-hidden", e, "in not contained inside", r, ". Doing nothing"), null);
14
- }).filter(function(e) {
15
- return !!e;
16
- });
17
- }, E = function(r, u, e, n) {
18
- var i = D(u, Array.isArray(r) ? r : [r]);
19
- p[e] || (p[e] = /* @__PURE__ */ new WeakMap());
20
- var s = p[e], l = [], o = /* @__PURE__ */ new Set(), b = new Set(i), y = function(t) {
21
- !t || o.has(t) || (o.add(t), y(t.parentNode));
22
- };
23
- i.forEach(y);
24
- var A = function(t) {
25
- !t || b.has(t) || Array.prototype.forEach.call(t.children, function(a) {
26
- if (o.has(a))
27
- A(a);
28
- else
29
- try {
30
- var c = a.getAttribute(n), w = c !== null && c !== "false", d = (f.get(a) || 0) + 1, M = (s.get(a) || 0) + 1;
31
- f.set(a, d), s.set(a, M), l.push(a), d === 1 && w && v.set(a, !0), M === 1 && a.setAttribute(e, "true"), w || a.setAttribute(n, "true");
32
- } catch (k) {
33
- console.error("aria-hidden: cannot operate on ", a, k);
34
- }
35
- });
36
- };
37
- return A(u), o.clear(), h++, function() {
38
- l.forEach(function(t) {
39
- var a = f.get(t) - 1, c = s.get(t) - 1;
40
- f.set(t, a), s.set(t, c), a || (v.has(t) || t.removeAttribute(n), v.delete(t)), c || t.removeAttribute(e);
41
- }), h--, h || (f = /* @__PURE__ */ new WeakMap(), f = /* @__PURE__ */ new WeakMap(), v = /* @__PURE__ */ new WeakMap(), p = {});
42
- };
43
- }, C = function(r, u, e) {
44
- e === void 0 && (e = "data-aria-hidden");
45
- var n = Array.from(Array.isArray(r) ? r : [r]), i = S(r);
46
- return i ? (n.push.apply(n, Array.from(i.querySelectorAll("[aria-live], script"))), E(n, i, e, "aria-hidden")) : function() {
47
- return null;
48
- };
49
- };
1
+ import * as a from "react";
2
+ import { Primitive as o } from "./index86.js";
3
+ import { jsx as t } from "react/jsx-runtime";
4
+ var d = Object.freeze({
5
+ // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss
6
+ position: "absolute",
7
+ border: 0,
8
+ width: 1,
9
+ height: 1,
10
+ padding: 0,
11
+ margin: -1,
12
+ overflow: "hidden",
13
+ clip: "rect(0, 0, 0, 0)",
14
+ whiteSpace: "nowrap",
15
+ wordWrap: "normal"
16
+ }), l = "VisuallyHidden", e = a.forwardRef(
17
+ (r, i) => /* @__PURE__ */ t(
18
+ o.span,
19
+ {
20
+ ...r,
21
+ ref: i,
22
+ style: { ...d, ...r.style }
23
+ }
24
+ )
25
+ );
26
+ e.displayName = l;
27
+ var p = e;
50
28
  export {
51
- C as hideOthers
29
+ p as Root,
30
+ d as VISUALLY_HIDDEN_STYLES,
31
+ e as VisuallyHidden
52
32
  };