@yo-yo.art/ui 0.0.0-stage → 0.1.0

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 (153) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +52 -2
  3. package/dist/components/Badge/Badge.cjs +13 -0
  4. package/dist/components/Badge/Badge.cjs.map +1 -0
  5. package/dist/components/Badge/Badge.d.cts +8 -0
  6. package/dist/components/Badge/Badge.d.mts +8 -0
  7. package/dist/components/Badge/Badge.mjs +13 -0
  8. package/dist/components/Badge/Badge.mjs.map +1 -0
  9. package/dist/components/Badge/badge-classes.cjs +12 -0
  10. package/dist/components/Badge/badge-classes.cjs.map +1 -0
  11. package/dist/components/Badge/badge-classes.d.cts +7 -0
  12. package/dist/components/Badge/badge-classes.d.mts +7 -0
  13. package/dist/components/Badge/badge-classes.mjs +12 -0
  14. package/dist/components/Badge/badge-classes.mjs.map +1 -0
  15. package/dist/components/Badge/index.cjs +4 -0
  16. package/dist/components/Badge/index.d.cts +3 -0
  17. package/dist/components/Badge/index.d.mts +3 -0
  18. package/dist/components/Badge/index.mjs +3 -0
  19. package/dist/components/Button/Button.cjs +15 -0
  20. package/dist/components/Button/Button.cjs.map +1 -0
  21. package/dist/components/Button/Button.d.cts +9 -0
  22. package/dist/components/Button/Button.d.mts +9 -0
  23. package/dist/components/Button/Button.mjs +15 -0
  24. package/dist/components/Button/Button.mjs.map +1 -0
  25. package/dist/components/Button/ButtonLink.cjs +15 -0
  26. package/dist/components/Button/ButtonLink.cjs.map +1 -0
  27. package/dist/components/Button/ButtonLink.d.cts +10 -0
  28. package/dist/components/Button/ButtonLink.d.mts +10 -0
  29. package/dist/components/Button/ButtonLink.mjs +15 -0
  30. package/dist/components/Button/ButtonLink.mjs.map +1 -0
  31. package/dist/components/Button/button-classes.cjs +16 -0
  32. package/dist/components/Button/button-classes.cjs.map +1 -0
  33. package/dist/components/Button/button-classes.d.cts +9 -0
  34. package/dist/components/Button/button-classes.d.mts +9 -0
  35. package/dist/components/Button/button-classes.mjs +16 -0
  36. package/dist/components/Button/button-classes.mjs.map +1 -0
  37. package/dist/components/Button/index.cjs +6 -0
  38. package/dist/components/Button/index.d.cts +4 -0
  39. package/dist/components/Button/index.d.mts +4 -0
  40. package/dist/components/Button/index.mjs +4 -0
  41. package/dist/components/Eyebrow/Eyebrow.cjs +10 -0
  42. package/dist/components/Eyebrow/Eyebrow.cjs.map +1 -0
  43. package/dist/components/Eyebrow/Eyebrow.d.cts +5 -0
  44. package/dist/components/Eyebrow/Eyebrow.d.mts +5 -0
  45. package/dist/components/Eyebrow/Eyebrow.mjs +10 -0
  46. package/dist/components/Eyebrow/Eyebrow.mjs.map +1 -0
  47. package/dist/components/Eyebrow/index.cjs +2 -0
  48. package/dist/components/Eyebrow/index.d.cts +2 -0
  49. package/dist/components/Eyebrow/index.d.mts +2 -0
  50. package/dist/components/Eyebrow/index.mjs +1 -0
  51. package/dist/components/IconButton/IconButton.cjs +17 -0
  52. package/dist/components/IconButton/IconButton.cjs.map +1 -0
  53. package/dist/components/IconButton/IconButton.d.cts +11 -0
  54. package/dist/components/IconButton/IconButton.d.mts +11 -0
  55. package/dist/components/IconButton/IconButton.mjs +17 -0
  56. package/dist/components/IconButton/IconButton.mjs.map +1 -0
  57. package/dist/components/IconButton/icon-button-classes.cjs +16 -0
  58. package/dist/components/IconButton/icon-button-classes.cjs.map +1 -0
  59. package/dist/components/IconButton/icon-button-classes.d.cts +9 -0
  60. package/dist/components/IconButton/icon-button-classes.d.mts +9 -0
  61. package/dist/components/IconButton/icon-button-classes.mjs +16 -0
  62. package/dist/components/IconButton/icon-button-classes.mjs.map +1 -0
  63. package/dist/components/IconButton/index.cjs +4 -0
  64. package/dist/components/IconButton/index.d.cts +3 -0
  65. package/dist/components/IconButton/index.d.mts +3 -0
  66. package/dist/components/IconButton/index.mjs +3 -0
  67. package/dist/components/Link/Link.cjs +27 -0
  68. package/dist/components/Link/Link.cjs.map +1 -0
  69. package/dist/components/Link/Link.d.cts +16 -0
  70. package/dist/components/Link/Link.d.mts +16 -0
  71. package/dist/components/Link/Link.mjs +27 -0
  72. package/dist/components/Link/Link.mjs.map +1 -0
  73. package/dist/components/Link/index.cjs +4 -0
  74. package/dist/components/Link/index.d.cts +3 -0
  75. package/dist/components/Link/index.d.mts +3 -0
  76. package/dist/components/Link/index.mjs +3 -0
  77. package/dist/components/Link/link-classes.cjs +11 -0
  78. package/dist/components/Link/link-classes.cjs.map +1 -0
  79. package/dist/components/Link/link-classes.d.cts +7 -0
  80. package/dist/components/Link/link-classes.d.mts +7 -0
  81. package/dist/components/Link/link-classes.mjs +11 -0
  82. package/dist/components/Link/link-classes.mjs.map +1 -0
  83. package/dist/components/Logo/Logo.cjs +25 -0
  84. package/dist/components/Logo/Logo.cjs.map +1 -0
  85. package/dist/components/Logo/Logo.d.cts +12 -0
  86. package/dist/components/Logo/Logo.d.mts +12 -0
  87. package/dist/components/Logo/Logo.mjs +25 -0
  88. package/dist/components/Logo/Logo.mjs.map +1 -0
  89. package/dist/components/Logo/index.cjs +2 -0
  90. package/dist/components/Logo/index.mjs +1 -0
  91. package/dist/components/Panel/Panel.cjs +14 -0
  92. package/dist/components/Panel/Panel.cjs.map +1 -0
  93. package/dist/components/Panel/Panel.d.cts +9 -0
  94. package/dist/components/Panel/Panel.d.mts +9 -0
  95. package/dist/components/Panel/Panel.mjs +14 -0
  96. package/dist/components/Panel/Panel.mjs.map +1 -0
  97. package/dist/components/Panel/index.cjs +4 -0
  98. package/dist/components/Panel/index.d.cts +3 -0
  99. package/dist/components/Panel/index.d.mts +3 -0
  100. package/dist/components/Panel/index.mjs +3 -0
  101. package/dist/components/Panel/panel-classes.cjs +16 -0
  102. package/dist/components/Panel/panel-classes.cjs.map +1 -0
  103. package/dist/components/Panel/panel-classes.d.cts +9 -0
  104. package/dist/components/Panel/panel-classes.d.mts +9 -0
  105. package/dist/components/Panel/panel-classes.mjs +16 -0
  106. package/dist/components/Panel/panel-classes.mjs.map +1 -0
  107. package/dist/components/ThemeToggle/ThemeToggle.cjs +34 -0
  108. package/dist/components/ThemeToggle/ThemeToggle.cjs.map +1 -0
  109. package/dist/components/ThemeToggle/ThemeToggle.d.cts +6 -0
  110. package/dist/components/ThemeToggle/ThemeToggle.d.mts +6 -0
  111. package/dist/components/ThemeToggle/ThemeToggle.mjs +34 -0
  112. package/dist/components/ThemeToggle/ThemeToggle.mjs.map +1 -0
  113. package/dist/components/ThemeToggle/index.cjs +2 -0
  114. package/dist/components/ThemeToggle/index.mjs +1 -0
  115. package/dist/gallery/HomeButton/HomeButton.cjs +15 -0
  116. package/dist/gallery/HomeButton/HomeButton.cjs.map +1 -0
  117. package/dist/gallery/HomeButton/HomeButton.d.cts +8 -0
  118. package/dist/gallery/HomeButton/HomeButton.d.mts +8 -0
  119. package/dist/gallery/HomeButton/HomeButton.mjs +15 -0
  120. package/dist/gallery/HomeButton/HomeButton.mjs.map +1 -0
  121. package/dist/gallery/HomeButton/index.cjs +2 -0
  122. package/dist/gallery/HomeButton/index.mjs +1 -0
  123. package/dist/gallery/LoadingScreen/LoadingScreen.cjs +108 -0
  124. package/dist/gallery/LoadingScreen/LoadingScreen.cjs.map +1 -0
  125. package/dist/gallery/LoadingScreen/LoadingScreen.d.cts +31 -0
  126. package/dist/gallery/LoadingScreen/LoadingScreen.d.mts +31 -0
  127. package/dist/gallery/LoadingScreen/LoadingScreen.mjs +108 -0
  128. package/dist/gallery/LoadingScreen/LoadingScreen.mjs.map +1 -0
  129. package/dist/gallery/LoadingScreen/index.cjs +2 -0
  130. package/dist/gallery/LoadingScreen/index.mjs +1 -0
  131. package/dist/gallery/SetupNotice/SetupNotice.cjs +41 -0
  132. package/dist/gallery/SetupNotice/SetupNotice.cjs.map +1 -0
  133. package/dist/gallery/SetupNotice/SetupNotice.d.cts +9 -0
  134. package/dist/gallery/SetupNotice/SetupNotice.d.mts +9 -0
  135. package/dist/gallery/SetupNotice/SetupNotice.mjs +41 -0
  136. package/dist/gallery/SetupNotice/SetupNotice.mjs.map +1 -0
  137. package/dist/gallery/SetupNotice/index.cjs +2 -0
  138. package/dist/gallery/SetupNotice/index.mjs +1 -0
  139. package/dist/gallery.cjs +10 -0
  140. package/dist/gallery.d.cts +4 -0
  141. package/dist/gallery.d.mts +4 -0
  142. package/dist/gallery.mjs +7 -0
  143. package/dist/index.cjs +37 -0
  144. package/dist/index.d.cts +21 -0
  145. package/dist/index.d.mts +21 -0
  146. package/dist/index.mjs +23 -0
  147. package/dist/lib/cn.cjs +5 -0
  148. package/dist/lib/cn.cjs.map +1 -0
  149. package/dist/lib/cn.mjs +5 -0
  150. package/dist/lib/cn.mjs.map +1 -0
  151. package/dist/scenography.css +332 -0
  152. package/dist/styles.css +76 -0
  153. package/package.json +73 -4
package/dist/index.mjs ADDED
@@ -0,0 +1,23 @@
1
+ import { badgeClasses } from "./components/Badge/badge-classes.mjs";
2
+ import { Badge } from "./components/Badge/Badge.mjs";
3
+ import "./components/Badge/index.mjs";
4
+ import { buttonClasses } from "./components/Button/button-classes.mjs";
5
+ import { Button } from "./components/Button/Button.mjs";
6
+ import { ButtonLink } from "./components/Button/ButtonLink.mjs";
7
+ import "./components/Button/index.mjs";
8
+ import { Eyebrow } from "./components/Eyebrow/Eyebrow.mjs";
9
+ import "./components/Eyebrow/index.mjs";
10
+ import { iconButtonClasses } from "./components/IconButton/icon-button-classes.mjs";
11
+ import { IconButton } from "./components/IconButton/IconButton.mjs";
12
+ import "./components/IconButton/index.mjs";
13
+ import { linkClasses } from "./components/Link/link-classes.mjs";
14
+ import { Link } from "./components/Link/Link.mjs";
15
+ import "./components/Link/index.mjs";
16
+ import { Logo } from "./components/Logo/Logo.mjs";
17
+ import "./components/Logo/index.mjs";
18
+ import { panelClasses } from "./components/Panel/panel-classes.mjs";
19
+ import { Panel } from "./components/Panel/Panel.mjs";
20
+ import "./components/Panel/index.mjs";
21
+ import { ThemeToggle } from "./components/ThemeToggle/ThemeToggle.mjs";
22
+ import "./components/ThemeToggle/index.mjs";
23
+ export { Badge, Button, ButtonLink, Eyebrow, IconButton, Link, Logo, Panel, ThemeToggle, badgeClasses, buttonClasses, iconButtonClasses, linkClasses, panelClasses };
@@ -0,0 +1,5 @@
1
+ // src/lib/cn.ts
2
+ const cn = (...values) => values.filter((value) => Boolean(value)).join(" ");
3
+ exports.cn = cn;
4
+
5
+ //# sourceMappingURL=cn.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cn.cjs","names":[],"sources":["../../src/lib/cn.ts"],"sourcesContent":["export type ClassValue = string | false | null | undefined;\n\nexport const cn = (...values: ClassValue[]): string =>\n values.filter((value): value is string => Boolean(value)).join(\" \");\n"],"mappings":";AAEA,MAAa,MAAM,GAAG,WACpB,OAAO,QAAQ,UAA2B,QAAQ,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG"}
@@ -0,0 +1,5 @@
1
+ // src/lib/cn.ts
2
+ const cn = (...values) => values.filter((value) => Boolean(value)).join(" ");
3
+ export { cn };
4
+
5
+ //# sourceMappingURL=cn.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cn.mjs","names":[],"sources":["../../src/lib/cn.ts"],"sourcesContent":["export type ClassValue = string | false | null | undefined;\n\nexport const cn = (...values: ClassValue[]): string =>\n values.filter((value): value is string => Boolean(value)).join(\" \");\n"],"mappings":";AAEA,MAAa,MAAM,GAAG,WACpB,OAAO,QAAQ,UAA2B,QAAQ,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG"}
@@ -0,0 +1,332 @@
1
+ @layer components {
2
+ .btn {
3
+ display: inline-flex;
4
+ align-items: center;
5
+ justify-content: center;
6
+ gap: 0.375rem;
7
+ min-height: 2rem;
8
+ padding: 0.5rem 0.75rem;
9
+ border: 1px solid color-mix(in oklab, var(--color-base-content) 12%, transparent);
10
+ background-color: color-mix(in oklab, var(--color-base-100) 80%, transparent);
11
+ color: var(--color-base-content);
12
+ font: inherit;
13
+ font-weight: 500;
14
+ line-height: 1.2;
15
+ text-align: center;
16
+ cursor: pointer;
17
+ backdrop-filter: blur(8px);
18
+ transition:
19
+ background-color 150ms ease,
20
+ color 150ms ease,
21
+ border-color 150ms ease;
22
+ }
23
+
24
+ .btn:hover {
25
+ background-color: var(--color-base-200);
26
+ }
27
+
28
+ .btn:focus-visible {
29
+ outline: 2px solid var(--color-accent);
30
+ outline-offset: 2px;
31
+ }
32
+
33
+ .btn:is([type="checkbox"], [type="radio"]) {
34
+ appearance: none;
35
+ }
36
+
37
+ .btn:is([type="checkbox"], [type="radio"])[aria-label]::after {
38
+ content: attr(aria-label);
39
+ }
40
+
41
+ .btn:checked,
42
+ .btn-active {
43
+ background-color: var(--color-primary);
44
+ border-color: var(--color-primary);
45
+ color: var(--color-primary-content);
46
+ }
47
+
48
+ .btn-ghost {
49
+ border-color: transparent;
50
+ background-color: transparent;
51
+ backdrop-filter: none;
52
+ }
53
+
54
+ .btn-ghost:hover {
55
+ background-color: color-mix(in oklab, var(--color-base-content) 8%, transparent);
56
+ }
57
+
58
+ .btn-sm {
59
+ min-height: 1.75rem;
60
+ padding: 0.375rem 0.625rem;
61
+ font-size: 0.75rem;
62
+ }
63
+
64
+ .btn-xs {
65
+ min-height: 1.5rem;
66
+ padding: 0.25rem 0.5rem;
67
+ font-size: 0.6875rem;
68
+ }
69
+
70
+ .btn-circle {
71
+ width: 2rem;
72
+ height: 2rem;
73
+ min-height: 0;
74
+ padding: 0;
75
+ border-radius: 0;
76
+ }
77
+
78
+ .btn-block {
79
+ width: 100%;
80
+ }
81
+
82
+ .modal {
83
+ position: fixed;
84
+ inset: 0;
85
+ width: 100%;
86
+ height: 100%;
87
+ max-width: none;
88
+ max-height: none;
89
+ margin: 0;
90
+ padding: 0;
91
+ border: 0;
92
+ background: transparent;
93
+ color: inherit;
94
+ overflow: clip;
95
+ }
96
+
97
+ .modal:not([open]) {
98
+ display: none;
99
+ }
100
+
101
+ .modal[open] {
102
+ display: grid;
103
+ place-items: center;
104
+ }
105
+
106
+ .modal::backdrop {
107
+ background: transparent;
108
+ }
109
+
110
+ .modal-box {
111
+ position: relative;
112
+ z-index: 1;
113
+ width: calc(100% - 2rem);
114
+ max-width: 32rem;
115
+ max-height: calc(100dvh - 2rem);
116
+ overflow-y: auto;
117
+ padding: 1.5rem;
118
+ border: 1px solid color-mix(in oklab, var(--color-base-content) 12%, transparent);
119
+ background-color: var(--color-base-100);
120
+ color: var(--color-base-content);
121
+ }
122
+
123
+ .modal-backdrop {
124
+ position: fixed;
125
+ inset: 0;
126
+ z-index: 0;
127
+ display: grid;
128
+ background-color: color-mix(in oklab, #000 60%, transparent);
129
+ }
130
+
131
+ .modal-backdrop button {
132
+ width: 100%;
133
+ height: 100%;
134
+ opacity: 0;
135
+ cursor: pointer;
136
+ }
137
+
138
+ .tabs {
139
+ display: flex;
140
+ flex-wrap: wrap;
141
+ }
142
+
143
+ .tab {
144
+ appearance: none;
145
+ display: inline-flex;
146
+ align-items: center;
147
+ justify-content: center;
148
+ padding: 0.5rem 0.75rem;
149
+ border: 0;
150
+ border-bottom: 1px solid color-mix(in oklab, var(--color-base-content) 12%, transparent);
151
+ background: transparent;
152
+ color: color-mix(in oklab, var(--color-base-content) 55%, transparent);
153
+ font-family: var(--font-mono);
154
+ font-size: 0.65rem;
155
+ letter-spacing: 0.16em;
156
+ text-transform: uppercase;
157
+ cursor: pointer;
158
+ }
159
+
160
+ .tab:is(input[type="radio"]) {
161
+ min-width: fit-content;
162
+ }
163
+
164
+ .tab:is(input[type="radio"])::after {
165
+ content: attr(aria-label);
166
+ }
167
+
168
+ .tab:checked {
169
+ border-bottom-color: var(--color-base-content);
170
+ color: var(--color-base-content);
171
+ }
172
+
173
+ .tab-content {
174
+ order: 1;
175
+ display: none;
176
+ width: 100%;
177
+ }
178
+
179
+ .tab:checked + .tab-content {
180
+ display: block;
181
+ }
182
+
183
+ .join {
184
+ display: inline-flex;
185
+ align-items: stretch;
186
+ }
187
+
188
+ .join > * + * {
189
+ margin-left: -1px;
190
+ }
191
+
192
+ .join-item {
193
+ border-radius: 0;
194
+ }
195
+
196
+ .label {
197
+ display: inline-flex;
198
+ align-items: center;
199
+ gap: 0.375rem;
200
+ color: color-mix(in oklab, var(--color-base-content) 70%, transparent);
201
+ }
202
+
203
+ .label:has(input) {
204
+ cursor: pointer;
205
+ }
206
+
207
+ .label-text {
208
+ color: color-mix(in oklab, var(--color-base-content) 60%, transparent);
209
+ font-size: 0.875rem;
210
+ }
211
+
212
+ .form-control {
213
+ display: block;
214
+ }
215
+
216
+ .select {
217
+ width: 100%;
218
+ padding: 0.375rem 0.625rem;
219
+ border: 1px solid color-mix(in oklab, var(--color-base-content) 15%, transparent);
220
+ background-color: var(--color-base-100);
221
+ color: var(--color-base-content);
222
+ font: inherit;
223
+ }
224
+
225
+ .select-sm {
226
+ padding: 0.25rem 0.5rem;
227
+ font-size: 0.75rem;
228
+ }
229
+
230
+ .radio {
231
+ appearance: none;
232
+ position: relative;
233
+ display: inline-block;
234
+ flex-shrink: 0;
235
+ width: 1rem;
236
+ height: 1rem;
237
+ border: 1px solid color-mix(in oklab, var(--color-base-content) 30%, transparent);
238
+ border-radius: 9999px;
239
+ cursor: pointer;
240
+ }
241
+
242
+ .radio:checked {
243
+ border-color: var(--color-primary);
244
+ }
245
+
246
+ .radio:checked::before {
247
+ content: "";
248
+ position: absolute;
249
+ inset: 2px;
250
+ border-radius: 9999px;
251
+ background-color: var(--color-primary);
252
+ }
253
+
254
+ .radio-sm {
255
+ width: 0.875rem;
256
+ height: 0.875rem;
257
+ }
258
+
259
+ .toggle {
260
+ appearance: none;
261
+ position: relative;
262
+ flex-shrink: 0;
263
+ width: 2rem;
264
+ height: 1.125rem;
265
+ border: 1px solid color-mix(in oklab, var(--color-base-content) 20%, transparent);
266
+ border-radius: 9999px;
267
+ background-color: var(--color-base-300);
268
+ cursor: pointer;
269
+ transition:
270
+ background-color 150ms ease,
271
+ border-color 150ms ease;
272
+ }
273
+
274
+ .toggle::before {
275
+ content: "";
276
+ position: absolute;
277
+ top: 50%;
278
+ left: 2px;
279
+ width: 0.875rem;
280
+ height: 0.875rem;
281
+ border-radius: 9999px;
282
+ background-color: var(--color-base-content);
283
+ transform: translateY(-50%);
284
+ transition: left 150ms ease;
285
+ }
286
+
287
+ .toggle:checked {
288
+ border-color: var(--color-primary);
289
+ background-color: var(--color-primary);
290
+ }
291
+
292
+ .toggle:checked::before {
293
+ left: calc(100% - 0.875rem - 2px);
294
+ background-color: var(--color-primary-content);
295
+ }
296
+
297
+ .toggle-sm {
298
+ width: 1.75rem;
299
+ height: 1rem;
300
+ }
301
+
302
+ .toggle-sm::before {
303
+ width: 0.75rem;
304
+ height: 0.75rem;
305
+ }
306
+
307
+ .toggle-sm:checked::before {
308
+ left: calc(100% - 0.75rem - 2px);
309
+ }
310
+
311
+ .range {
312
+ width: 100%;
313
+ accent-color: var(--color-primary);
314
+ cursor: pointer;
315
+ }
316
+
317
+ .range-sm {
318
+ height: 1rem;
319
+ }
320
+
321
+ .link {
322
+ text-decoration-line: underline;
323
+ }
324
+
325
+ .link-hover {
326
+ text-decoration-line: none;
327
+ }
328
+
329
+ .link-hover:hover {
330
+ text-decoration-line: underline;
331
+ }
332
+ }
@@ -0,0 +1,76 @@
1
+ /*
2
+ * The package ships its compiled JS in `dist`, so Tailwind scans that folder
3
+ * whenever a consumer imports this file. The tokens are the same ones used by
4
+ * the group site: warm paper, ink, acid green and square corners.
5
+ */
6
+ @source "./";
7
+
8
+ @theme {
9
+ --font-sans:
10
+ "Archivo Variable", ui-sans-serif, system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
11
+ --font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
12
+
13
+ --color-base-100: #f7f5f0;
14
+ --color-base-200: #efebe3;
15
+ --color-base-300: #e0dbd0;
16
+ --color-base-content: #111111;
17
+ --color-primary: #111111;
18
+ --color-primary-content: #f7f5f0;
19
+ --color-secondary: #4a4741;
20
+ --color-secondary-content: #f7f5f0;
21
+ --color-accent: #d6ff3d;
22
+ --color-accent-content: #111111;
23
+ --color-neutral: #111111;
24
+ --color-neutral-content: #f7f5f0;
25
+ --color-info: #2563eb;
26
+ --color-success: #16a34a;
27
+ --color-warning: #d97706;
28
+ --color-error: #dc2626;
29
+ }
30
+
31
+ [data-theme="yo-yo-dark"] {
32
+ --color-base-100: #000000;
33
+ --color-base-200: #0f0f0f;
34
+ --color-base-300: #1c1c1c;
35
+ --color-base-content: #f2f0ea;
36
+ --color-primary: #f2f0ea;
37
+ --color-primary-content: #000000;
38
+ --color-secondary: #a8a49c;
39
+ --color-secondary-content: #000000;
40
+ --color-accent: #d6ff3d;
41
+ --color-accent-content: #111111;
42
+ --color-neutral: #f2f0ea;
43
+ --color-neutral-content: #000000;
44
+ --color-info: #60a5fa;
45
+ --color-success: #4ade80;
46
+ --color-warning: #fbbf24;
47
+ --color-error: #f87171;
48
+ }
49
+
50
+ ::selection {
51
+ background: var(--color-accent);
52
+ color: var(--color-accent-content);
53
+ }
54
+
55
+ /* The acid green reads on black but disappears on paper, so the letter form
56
+ uses a deeper green in light mode and the pure accent in dark mode. */
57
+ .text-accent-ink {
58
+ color: #6f8f00;
59
+ }
60
+
61
+ [data-theme="yo-yo-dark"] .text-accent-ink {
62
+ color: var(--color-accent);
63
+ }
64
+
65
+ /* The identity ships a light mark and its reversed twin. */
66
+ .logo-inverse {
67
+ display: none;
68
+ }
69
+
70
+ [data-theme="yo-yo-dark"] .logo-mark {
71
+ display: none;
72
+ }
73
+
74
+ [data-theme="yo-yo-dark"] .logo-inverse {
75
+ display: block;
76
+ }
package/package.json CHANGED
@@ -1,6 +1,75 @@
1
1
  {
2
2
  "name": "@yo-yo.art/ui",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.1.0",
4
+ "description": "The Grupo Yo-Yo design system: shared React components and tokens.",
5
+ "keywords": [
6
+ "design-system",
7
+ "react",
8
+ "tailwind",
9
+ "yo-yo"
10
+ ],
11
+ "homepage": "https://yo-yo.codeberg.page/ui/",
12
+ "bugs": {
13
+ "url": "https://codeberg.org/yo-yo/ui/issues"
14
+ },
15
+ "license": "MIT",
16
+ "author": "Javier López Úbeda <jlopezcur@gmail.com>",
17
+ "repository": {
18
+ "type": "git",
19
+ "url": "git+https://codeberg.org/yo-yo/ui.git"
20
+ },
21
+ "files": [
22
+ "dist"
23
+ ],
24
+ "type": "module",
25
+ "main": "./dist/index.cjs",
26
+ "module": "./dist/index.mjs",
27
+ "types": "./dist/index.d.cts",
28
+ "exports": {
29
+ ".": {
30
+ "import": {
31
+ "types": "./dist/index.d.mts",
32
+ "default": "./dist/index.mjs"
33
+ },
34
+ "require": {
35
+ "types": "./dist/index.d.cts",
36
+ "default": "./dist/index.cjs"
37
+ }
38
+ },
39
+ "./gallery": {
40
+ "import": {
41
+ "types": "./dist/gallery.d.mts",
42
+ "default": "./dist/gallery.mjs"
43
+ },
44
+ "require": {
45
+ "types": "./dist/gallery.d.cts",
46
+ "default": "./dist/gallery.cjs"
47
+ }
48
+ },
49
+ "./styles.css": "./dist/styles.css",
50
+ "./scenography.css": "./dist/scenography.css"
51
+ },
52
+ "publishConfig": {
53
+ "access": "public"
54
+ },
55
+ "scripts": {
56
+ "build": "tsdown && node scripts/copy-css.mjs",
57
+ "dev": "tsdown --watch",
58
+ "prepack": "pnpm build",
59
+ "typecheck": "tsc --noEmit"
60
+ },
61
+ "devDependencies": {
62
+ "@storybook/react-vite": "^10.6.5",
63
+ "@types/react": "^19.2.17",
64
+ "@types/react-dom": "^19.2.3",
65
+ "lucide-react": "1.24.0",
66
+ "react": "19.2.7",
67
+ "react-dom": "19.2.7"
68
+ },
69
+ "peerDependencies": {
70
+ "lucide-react": "^1",
71
+ "react": ">=18",
72
+ "react-dom": ">=18",
73
+ "tailwindcss": ">=4"
74
+ }
75
+ }