@drjoshcsimmons/scl 0.1.1 → 0.1.3

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 (83) hide show
  1. package/README.md +202 -13
  2. package/dist/index100.js +50 -9
  3. package/dist/index101.js +9 -50
  4. package/dist/index102.js +627 -196
  5. package/dist/index103.js +180 -3
  6. package/dist/index104.js +15 -30
  7. package/dist/index11.js +2 -2
  8. package/dist/index110.js +1 -1
  9. package/dist/index12.js +1 -1
  10. package/dist/index13.js +2 -2
  11. package/dist/index14.js +2 -2
  12. package/dist/index15.js +2 -2
  13. package/dist/index17.js +3 -3
  14. package/dist/index18.js +2 -2
  15. package/dist/index20.js +2 -2
  16. package/dist/index21.js +1 -1
  17. package/dist/index22.js +1 -1
  18. package/dist/index23.js +2 -2
  19. package/dist/index24.js +1 -1
  20. package/dist/index25.js +4 -4
  21. package/dist/index26.js +1 -1
  22. package/dist/index27.js +3 -3
  23. package/dist/index29.js +1 -1
  24. package/dist/index31.js +1 -1
  25. package/dist/index33.js +1 -1
  26. package/dist/index36.js +2 -2
  27. package/dist/index37.js +1 -1
  28. package/dist/index4.js +2 -2
  29. package/dist/index45.js +124 -32
  30. package/dist/index46.js +32 -124
  31. package/dist/index47.js +100 -219
  32. package/dist/index48.js +73 -11
  33. package/dist/index49.js +244 -55
  34. package/dist/index5.js +1 -1
  35. package/dist/index50.js +9 -249
  36. package/dist/index51.js +237 -9
  37. package/dist/index52.js +11 -73
  38. package/dist/index53.js +16 -234
  39. package/dist/index54.js +860 -11
  40. package/dist/index55.js +9 -310
  41. package/dist/index56.js +225 -12
  42. package/dist/index57.js +11 -225
  43. package/dist/index59.js +58 -29
  44. package/dist/index6.js +1 -1
  45. package/dist/index60.js +248 -254
  46. package/dist/index61.js +530 -12
  47. package/dist/index62.js +224 -101
  48. package/dist/index63.js +260 -12
  49. package/dist/index64.js +12 -22
  50. package/dist/index65.js +12 -18
  51. package/dist/index66.js +407 -213
  52. package/dist/index67.js +143 -112
  53. package/dist/index68.js +317 -142
  54. package/dist/index69.js +76 -248
  55. package/dist/index7.js +1 -1
  56. package/dist/index70.js +299 -71
  57. package/dist/index71.js +12 -530
  58. package/dist/index72.js +20 -433
  59. package/dist/index73.js +216 -316
  60. package/dist/index74.js +105 -835
  61. package/dist/index75.js +31 -9
  62. package/dist/index8.js +1 -1
  63. package/dist/index80.js +50 -44
  64. package/dist/index81.js +4 -52
  65. package/dist/index83.js +68 -10
  66. package/dist/index84.js +10 -7
  67. package/dist/index85.js +54 -5
  68. package/dist/index86.js +10 -24
  69. package/dist/index87.js +29 -68
  70. package/dist/index88.js +10 -52
  71. package/dist/index89.js +5 -10
  72. package/dist/index9.js +2 -2
  73. package/dist/index90.js +25 -4
  74. package/dist/index91.js +46 -30
  75. package/dist/index92.js +7 -12
  76. package/dist/index93.js +3 -180
  77. package/dist/index94.js +122 -12
  78. package/dist/index95.js +11 -646
  79. package/dist/index96.js +125 -115
  80. package/dist/index97.js +212 -128
  81. package/dist/index98.js +1 -1
  82. package/dist/index99.js +30 -15
  83. package/package.json +3 -2
package/README.md CHANGED
@@ -1,17 +1,74 @@
1
+ ```
2
+ _____ __________
3
+ / ___// ____/ __ \
4
+ \__ \/ / / / / /
5
+ ___/ / /___/ /_/ /
6
+ /____/\____/_____/
7
+
8
+ SIMSIES COMPONENT LIBRARY
9
+ "because copy-pasting is for normies"
10
+ ```
11
+
1
12
  # SCL - Simsies Component Library
2
13
 
14
+ [![Storybook](https://img.shields.io/badge/Storybook-ff4785?logo=storybook&logoColor=white)](https://jcpsimmons.github.io/scl/)
15
+ [![npm](https://img.shields.io/npm/v/@drjoshcsimmons/scl)](https://www.npmjs.com/package/@drjoshcsimmons/scl)
16
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
17
+
3
18
  A BASED React component library that doesn't suck. Built on [shadcn/ui](https://ui.shadcn.com/), Radix primitives, and Tailwind CSS because I'm not a masochist who writes CSS from scratch anymore.
4
19
 
5
- [![Storybook](https://img.shields.io/badge/Storybook-ff4785?logo=storybook&logoColor=white)](https://jcpsimmons.github.io/scl/)
20
+ ```
21
+ ╔══════════════════════════════════════════════════════════════╗
22
+ ║ ║
23
+ ║ > npm install @drjoshcsimmons/scl ║
24
+ ║ ║
25
+ ║ [████████████████████████████████████████] 100% ║
26
+ ║ ║
27
+ ║ ✓ installed 1 package ║
28
+ ║ ✓ your code now has TASTE ║
29
+ ║ ✓ maidens acquired ║
30
+ ║ ║
31
+ ╚══════════════════════════════════════════════════════════════╝
32
+ ```
6
33
 
7
34
  ## What the hell is this?
8
35
 
9
- It's my personal component library. I got tired of copy-pasting the same damn components between projects, so I made this. Now I just `npm install` and get on with my life.
36
+ It's my personal component library. I got tired of copy-pasting the same damn components between projects, so I made this. Now I just `npm install` and get on with my life like a functional adult.
37
+
38
+ ```
39
+ ┌─────────────────────┐
40
+ │ VIRGIN DEVS: │
41
+ │ "Let me just │
42
+ │ copy this file │
43
+ │ real quick..." │
44
+ └─────────┬───────────┘
45
+
46
+
47
+ ┌─────────────────────┐
48
+ │ *3 hours later* │
49
+ │ "Why doesn't this │
50
+ │ work anymore" │
51
+ └─────────────────────┘
52
+
53
+ vs.
54
+
55
+ ┌─────────────────────┐
56
+ │ CHAD SCL USERS: │
57
+ │ npm install │
58
+ │ *ships product* │
59
+ │ *goes outside* │
60
+ └─────────────────────┘
61
+ ```
10
62
 
11
63
  ## Installation
12
64
 
13
65
  ```bash
14
66
  npm install @drjoshcsimmons/scl
67
+ # or
68
+ pnpm add @drjoshcsimmons/scl
69
+ # or
70
+ yarn add @drjoshcsimmons/scl
71
+ # (we don't discriminate against package managers here)
15
72
  ```
16
73
 
17
74
  ## Usage
@@ -32,17 +89,36 @@ function App() {
32
89
 
33
90
  ## Components
34
91
 
35
- All the boring-but-necessary UI shit:
36
-
37
- **Layout** - Accordion, Card, Collapsible, Scroll Area, Separator, Sheet, Tabs
38
-
39
- **Forms** - Button, Checkbox, Input, Label, Radio Group, Select, Slider, Switch, Textarea, Toggle
40
-
41
- **Data Display** - Avatar, Badge, Progress, Skeleton, Table, Tooltip
42
-
43
- **Feedback** - Alert, Alert Dialog, Dialog, Popover, Dropdown Menu
44
-
45
- **Weird Custom Shit** - Dithered Image, Statusline, Terminal Textarea
92
+ ```
93
+ ┌──────────────────────────────────────────────────────────────────┐
94
+ │ COMPONENT ARSENAL │
95
+ ├──────────────────────────────────────────────────────────────────┤
96
+ │ │
97
+ │ ┌─ LAYOUT ─────────────────────────────────────────────────┐ │
98
+ │ │ Accordion Card Collapsible Scroll Area │ │
99
+ │ │ Separator • Sheet • Tabs • Resizable │ │
100
+ │ └──────────────────────────────────────────────────────────┘ │
101
+ │ │
102
+ │ ┌─ FORMS ──────────────────────────────────────────────────┐ │
103
+ │ │ Button • Checkbox • Input • Label • Radio Group │ │
104
+ │ │ Select • Slider • Switch • Textarea • Toggle │ │
105
+ │ └──────────────────────────────────────────────────────────┘ │
106
+ │ │
107
+ │ ┌─ DATA DISPLAY ───────────────────────────────────────────┐ │
108
+ │ │ Avatar • Badge • Progress • Skeleton • Table • Tooltip │ │
109
+ │ └──────────────────────────────────────────────────────────┘ │
110
+ │ │
111
+ │ ┌─ FEEDBACK ───────────────────────────────────────────────┐ │
112
+ │ │ Alert • Alert Dialog • Dialog • Popover • Dropdown Menu │ │
113
+ │ └──────────────────────────────────────────────────────────┘ │
114
+ │ │
115
+ │ ┌─ WEIRD CUSTOM SHIT ──────────────────────────────────────┐ │
116
+ │ │ Dithered Image • Statusline • Terminal Textarea │ │
117
+ │ │ Code Editor (with VIM MODE because we're not animals) │ │
118
+ │ └──────────────────────────────────────────────────────────┘ │
119
+ │ │
120
+ └──────────────────────────────────────────────────────────────────┘
121
+ ```
46
122
 
47
123
  ## Development
48
124
 
@@ -58,16 +134,129 @@ pnpm test
58
134
 
59
135
  # Build the library
60
136
  pnpm build
137
+
138
+ # Type check (for the paranoid)
139
+ pnpm typecheck
61
140
  ```
62
141
 
63
142
  ## Storybook
64
143
 
65
144
  Check out the components at [jcpsimmons.github.io/scl](https://jcpsimmons.github.io/scl/)
66
145
 
146
+ ```
147
+ ┌─────────────────────────────────────┐
148
+ │ │
149
+ │ STORYBOOK PREVIEW: │
150
+ │ │
151
+ │ ┌─────────────────────────────┐ │
152
+ │ │ [=========] Button │ │
153
+ │ │ [ ● ] Toggle │ │
154
+ │ │ [████░░░░░] Progress │ │
155
+ │ │ ┌─────────┐ Card │ │
156
+ │ │ │ Content │ │ │
157
+ │ │ └─────────┘ │ │
158
+ │ └─────────────────────────────┘ │
159
+ │ │
160
+ │ (but cooler because retro theme) │
161
+ │ │
162
+ └─────────────────────────────────────┘
163
+ ```
164
+
165
+ ## The Aesthetic
166
+
167
+ ```
168
+ ╔════════════════════════════════════════════════════════════════════╗
169
+ ║ ║
170
+ ║ This library has a RETRO TERMINAL AESTHETIC because: ║
171
+ ║ ║
172
+ ║ • No border-radius (corners are for cowards) ║
173
+ ║ • No shadows (we live in FLATLAND) ║
174
+ ║ • BigBlueTerm437 monospace font (embrace the CRT vibes) ║
175
+ ║ • CSS variables for theming (HSL colors because we're not ║
176
+ ║ savages who use hex in 2024) ║
177
+ ║ • Dark mode (obviously) ║
178
+ ║ ║
179
+ ║ If you want rounded corners and drop shadows, Material UI is ║
180
+ ║ ──────────────────────────────────────────────> that way ║
181
+ ║ ║
182
+ ╚════════════════════════════════════════════════════════════════════╝
183
+ ```
184
+
67
185
  ## Why "Simsies"?
68
186
 
69
187
  It's my name. Well, part of it. Don't overthink it.
70
188
 
189
+ ```
190
+ ___________________
191
+ < Simmons -> Simsies >
192
+ -------------------
193
+ \ ^__^
194
+ \ (oo)\_______
195
+ (__)\ )\/\
196
+ ||----w |
197
+ || ||
198
+ ```
199
+
200
+ ## Tech Stack
201
+
202
+ ```
203
+ ┌────────────────────────────────────────────────────────┐
204
+ │ │
205
+ │ React ──────────────► Because it's 2024 │
206
+ │ │ │
207
+ │ ▼ │
208
+ │ Radix UI ──────────► Accessibility handled │
209
+ │ │ │
210
+ │ ▼ │
211
+ │ Tailwind CSS ──────► Utility classes go brrrr │
212
+ │ │ │
213
+ │ ▼ │
214
+ │ CVA ────────────────► Variants without the pain │
215
+ │ │ │
216
+ │ ▼ │
217
+ │ TypeScript ─────────► Red squiggles save lives │
218
+ │ │ │
219
+ │ ▼ │
220
+ │ Vite ───────────────► Fast AF builds │
221
+ │ │ │
222
+ │ ▼ │
223
+ │ Vitest ─────────────► Tests that don't take forever │
224
+ │ │
225
+ └────────────────────────────────────────────────────────┘
226
+ ```
227
+
228
+ ## Contributing
229
+
230
+ ```
231
+ ┌───────────────────────────────────────────────┐
232
+ │ │
233
+ │ 1. Fork the repo │
234
+ │ 2. Make your changes │
235
+ │ 3. Write tests (non-negotiable) │
236
+ │ 4. Open a PR │
237
+ │ 5. ??? │
238
+ │ 6. Profit │
239
+ │ │
240
+ └───────────────────────────────────────────────┘
241
+ ```
242
+
71
243
  ## License
72
244
 
73
245
  MIT - Do whatever the fuck you want with it.
246
+
247
+ ```
248
+ ████████████████████████████████████████████████████████████
249
+ █ █
250
+ █ "I used to copy-paste components like a peasant. █
251
+ █ Now I npm install SCL and actually touch grass." █
252
+ █ █
253
+ █ - Some developer, probably █
254
+ █ █
255
+ ████████████████████████████████████████████████████████████
256
+ ```
257
+
258
+ ---
259
+
260
+ <p align="center">
261
+ <sub>Made with ☕ and mass quantities of mass quantities by <a href="https://github.com/jcpsimmons">@jcpsimmons</a></sub>
262
+ </p>
package/dist/index100.js CHANGED
@@ -1,11 +1,52 @@
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 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
+ };
9
50
  export {
10
- s as default
51
+ C as hideOthers
11
52
  };
package/dist/index101.js CHANGED
@@ -1,52 +1,11 @@
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 { __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;
50
9
  export {
51
- C as hideOthers
10
+ s as default
52
11
  };