orbital-ds 0.5.0 → 0.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +73 -64
- package/components.manifest.json +12 -1
- package/dist/styles.css +20 -0
- package/dist/themes/friendly.css +310 -310
- package/dist/themes/friendly.guide.md +38 -0
- package/dist/themes/friendly.meta.json +14 -0
- package/dist/themes/friendly.scoped.css +310 -310
- package/dist/themes/qratia.guide.md +34 -0
- package/dist/themes/qratia.meta.json +12 -0
- package/dist/themes/tactile.css +415 -0
- package/dist/themes/tactile.fonts.css +2 -0
- package/dist/themes/tactile.guide.md +49 -0
- package/dist/themes/tactile.meta.json +16 -0
- package/dist/themes/tactile.scoped.css +415 -0
- package/dist/themes/twitter.css +290 -290
- package/dist/themes/twitter.guide.md +35 -0
- package/dist/themes/twitter.meta.json +14 -0
- package/dist/themes/twitter.scoped.css +290 -290
- package/dist/themes/zyro.css +381 -381
- package/dist/themes/zyro.guide.md +33 -0
- package/dist/themes/zyro.meta.json +14 -0
- package/dist/themes/zyro.scoped.css +381 -381
- package/dist/ui/attachment.d.ts +1 -1
- package/dist/ui/button.d.ts +1 -1
- package/dist/ui/icon-tile.d.ts +11 -0
- package/dist/ui/icon-tile.js +47 -0
- package/dist/ui/input-group.d.ts +1 -1
- package/dist/ui/item.d.ts +1 -1
- package/dist/ui/marker.d.ts +1 -1
- package/dist/ui/sidebar.js +2 -2
- package/docs/CONTRACT.md +2 -1
- package/package.json +142 -140
- package/scripts/doctor.mjs +301 -224
- package/scripts/init.mjs +89 -55
package/dist/themes/twitter.css
CHANGED
|
@@ -1,290 +1,290 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* TEMA twitter — la interfaz de Twitter anterior a X (rediseño de 2021).
|
|
3
|
-
*
|
|
4
|
-
* Personalidad: PLANO y de alto contraste. Sin sombras ni cristal en el contenido;
|
|
5
|
-
* separación por filetes de 1px; botones en píldora con peso 700; tarjetas de 16px
|
|
6
|
-
* sin elevación; sidebar a ras de borde, sin fondo, con filas en píldora y la activa
|
|
7
|
-
* en negrita; pestañas con subrayado de acento. Azul de marca #1D9BF0 (confirmado) con
|
|
8
|
-
* «menos azul»: la acción más importante puede ir en tinta (negro/blanco).
|
|
9
|
-
*
|
|
10
|
-
* VALORES APROXIMADOS: el azul de marca y la fuente (Chirp, propietaria) están
|
|
11
|
-
* documentados; los grises, bordes y los fondos de «Dim» son de memoria y NO se han
|
|
12
|
-
* contrastado con la hoja de estilos real — ajústalos con una captura de referencia.
|
|
13
|
-
* Chirp no se puede distribuir: se usa la pila del sistema como respaldo.
|
|
14
|
-
*
|
|
15
|
-
* Importar DESPUÉS de la estructura. Variables `--zt-*`: privadas de este tema.
|
|
16
|
-
*/
|
|
17
|
-
|
|
18
|
-
/* ── VARIABLES · PIEL CLARA ──────────────────────────────────────────────── */
|
|
19
|
-
:root {
|
|
20
|
-
--radius: 16px;
|
|
21
|
-
|
|
22
|
-
--ds-font-sans: 'Chirp', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
|
|
23
|
-
--ds-font-display: var(--ds-font-sans);
|
|
24
|
-
--ds-font-mono: ui-monospace, 'SF Mono', Menlo, monospace;
|
|
25
|
-
--ds-heading-tracking: normal;
|
|
26
|
-
|
|
27
|
-
/* Color */
|
|
28
|
-
--background: #ffffff;
|
|
29
|
-
--foreground: #0f1419;
|
|
30
|
-
|
|
31
|
-
--card: #ffffff;
|
|
32
|
-
--card-foreground: #0f1419;
|
|
33
|
-
--popover: #ffffff;
|
|
34
|
-
--popover-foreground: #0f1419;
|
|
35
|
-
|
|
36
|
-
--primary: #1d9bf0;
|
|
37
|
-
--primary-foreground: #ffffff;
|
|
38
|
-
--secondary: #eff3f4;
|
|
39
|
-
--secondary-foreground: #0f1419;
|
|
40
|
-
--muted: #f7f9f9;
|
|
41
|
-
--muted-foreground: #536471;
|
|
42
|
-
--accent: rgba(29, 155, 240, 0.1);
|
|
43
|
-
--accent-foreground: #1a8cd8;
|
|
44
|
-
--destructive: #f4212e;
|
|
45
|
-
--destructive-foreground: #ffffff;
|
|
46
|
-
|
|
47
|
-
--border: #eff3f4;
|
|
48
|
-
--input: #cfd9de;
|
|
49
|
-
--ring: #1d9bf0;
|
|
50
|
-
|
|
51
|
-
--chart-1: #1d9bf0;
|
|
52
|
-
--chart-2: #00ba7c;
|
|
53
|
-
--chart-3: #ffd400;
|
|
54
|
-
--chart-4: #f91880;
|
|
55
|
-
--chart-5: #7856ff;
|
|
56
|
-
|
|
57
|
-
--sidebar: transparent;
|
|
58
|
-
--sidebar-foreground: #0f1419;
|
|
59
|
-
--sidebar-primary: #1d9bf0;
|
|
60
|
-
--sidebar-primary-foreground: #ffffff;
|
|
61
|
-
--sidebar-accent: rgba(15, 20, 25, 0.1);
|
|
62
|
-
--sidebar-accent-foreground: #0f1419;
|
|
63
|
-
--sidebar-border: #eff3f4;
|
|
64
|
-
--sidebar-ring: #1d9bf0;
|
|
65
|
-
|
|
66
|
-
--danger: #d4141f;
|
|
67
|
-
--danger-soft: rgba(244, 33, 46, 0.1);
|
|
68
|
-
--warning: #8a6d00;
|
|
69
|
-
--warning-soft: rgba(255, 212, 0, 0.2);
|
|
70
|
-
--success: #
|
|
71
|
-
--success-soft: rgba(0, 186, 124, 0.12);
|
|
72
|
-
--info: #
|
|
73
|
-
--info-soft: rgba(29, 155, 240, 0.1);
|
|
74
|
-
--neutral: #536471;
|
|
75
|
-
--neutral-soft: #eff3f4;
|
|
76
|
-
|
|
77
|
-
--link: #1d9bf0;
|
|
78
|
-
--link-hover: #1a8cd8;
|
|
79
|
-
--inset: #f7f9f9;
|
|
80
|
-
--inset-foreground: #0f1419;
|
|
81
|
-
--brand: #1d9bf0;
|
|
82
|
-
--brand-bright: #1d9bf0;
|
|
83
|
-
|
|
84
|
-
/* Formas: píldoras para acciones, 16px para superficies */
|
|
85
|
-
--ds-radius-sm: 8px;
|
|
86
|
-
--ds-radius-md: 12px;
|
|
87
|
-
--ds-radius-lg: 16px;
|
|
88
|
-
--ds-radius-xl: 16px;
|
|
89
|
-
--ds-radius-2xl: 20px;
|
|
90
|
-
--ds-radius-control: 9999px;
|
|
91
|
-
--ds-radius-overlay: 16px;
|
|
92
|
-
|
|
93
|
-
/* Sin elevación: solo los menús flotantes llevan sombra, muy suave */
|
|
94
|
-
--ds-shadow-card: 0 0 #0000;
|
|
95
|
-
--ds-shadow-card-hover: 0 0 #0000;
|
|
96
|
-
--ds-shadow-control: 0 0 #0000;
|
|
97
|
-
--ds-shadow-raised: 0 0 #0000;
|
|
98
|
-
--ds-shadow-overlay: 0 0 15px rgba(101, 119, 134, 0.2), 0 0 3px 1px rgba(101, 119, 134, 0.15);
|
|
99
|
-
--ds-shadow-popover: 0 0 15px rgba(101, 119, 134, 0.2), 0 0 3px 1px rgba(101, 119, 134, 0.15);
|
|
100
|
-
|
|
101
|
-
/* Medidas */
|
|
102
|
-
--ds-control-h-sm: 2rem;
|
|
103
|
-
--ds-control-h-md: 2.25rem;
|
|
104
|
-
--ds-control-h-lg: 3.25rem;
|
|
105
|
-
--ds-button-px-sm: 1rem;
|
|
106
|
-
--ds-button-px-md: 1.25rem;
|
|
107
|
-
--ds-button-px-lg: 2rem;
|
|
108
|
-
--ds-field-px: 1rem;
|
|
109
|
-
--ds-card-spacing: 1rem;
|
|
110
|
-
--ds-card-spacing-sm: 0.75rem;
|
|
111
|
-
|
|
112
|
-
/* Materiales: ninguno (plano) */
|
|
113
|
-
--ds-card-backdrop: none;
|
|
114
|
-
--ds-overlay-backdrop: none;
|
|
115
|
-
--ds-field-backdrop: none;
|
|
116
|
-
--ds-sidebar-backdrop: none;
|
|
117
|
-
--ds-page-backdrop: none;
|
|
118
|
-
|
|
119
|
-
/* Sidebar a ras de borde, sin silueta; filas en píldora grandes */
|
|
120
|
-
--ds-sidebar-pad: 0px;
|
|
121
|
-
--ds-sidebar-radius: 0px;
|
|
122
|
-
--ds-sidebar-shadow: 0 0 #0000;
|
|
123
|
-
--ds-sidebar-ring: 0px;
|
|
124
|
-
--ds-sidebar-edge: 1px solid var(--sidebar-border);
|
|
125
|
-
--ds-sidebar-item-radius: 9999px;
|
|
126
|
-
--ds-sidebar-item-h: 3.25rem;
|
|
127
|
-
|
|
128
|
-
/* Privadas de twitter */
|
|
129
|
-
--zt-hover: rgba(15, 20, 25, 0.1);
|
|
130
|
-
--zt-hover-soft: rgba(15, 20, 25, 0.03);
|
|
131
|
-
--zt-line-strong: #cfd9de;
|
|
132
|
-
--zt-ink: #0f1419;
|
|
133
|
-
--zt-ink-foreground: #ffffff;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
/* ── VARIABLES · PIEL OSCURA («Dim») ─────────────────────────────────────── */
|
|
137
|
-
.dark {
|
|
138
|
-
--background: #15202b;
|
|
139
|
-
--foreground: #f7f9f9;
|
|
140
|
-
|
|
141
|
-
--card: #15202b;
|
|
142
|
-
--card-foreground: #f7f9f9;
|
|
143
|
-
--popover: #1e2732;
|
|
144
|
-
--popover-foreground: #f7f9f9;
|
|
145
|
-
|
|
146
|
-
--primary: #1d9bf0;
|
|
147
|
-
--primary-foreground: #ffffff;
|
|
148
|
-
--secondary: #1e2732;
|
|
149
|
-
--secondary-foreground: #f7f9f9;
|
|
150
|
-
--muted: #1e2732;
|
|
151
|
-
--muted-foreground: #8b98a5;
|
|
152
|
-
--accent: rgba(29, 155, 240, 0.15);
|
|
153
|
-
--accent-foreground: #4db3f5;
|
|
154
|
-
--destructive: #f4212e;
|
|
155
|
-
--destructive-foreground: #ffffff;
|
|
156
|
-
|
|
157
|
-
--border: #38444d;
|
|
158
|
-
--input: #536471;
|
|
159
|
-
--ring: #1d9bf0;
|
|
160
|
-
|
|
161
|
-
--sidebar: transparent;
|
|
162
|
-
--sidebar-foreground: #f7f9f9;
|
|
163
|
-
--sidebar-primary: #1d9bf0;
|
|
164
|
-
--sidebar-primary-foreground: #ffffff;
|
|
165
|
-
--sidebar-accent: rgba(247, 249, 249, 0.1);
|
|
166
|
-
--sidebar-accent-foreground: #f7f9f9;
|
|
167
|
-
--sidebar-border: #38444d;
|
|
168
|
-
--sidebar-ring: #1d9bf0;
|
|
169
|
-
|
|
170
|
-
--danger: #ff5a64;
|
|
171
|
-
--danger-soft: rgba(244, 33, 46, 0.18);
|
|
172
|
-
--warning: #ffd400;
|
|
173
|
-
--warning-soft: rgba(255, 212, 0, 0.16);
|
|
174
|
-
--success: #00ba7c;
|
|
175
|
-
--success-soft: rgba(0, 186, 124, 0.16);
|
|
176
|
-
--info: #4db3f5;
|
|
177
|
-
--info-soft: rgba(29, 155, 240, 0.18);
|
|
178
|
-
--neutral: #8b98a5;
|
|
179
|
-
--neutral-soft: #1e2732;
|
|
180
|
-
|
|
181
|
-
--link: #4db3f5;
|
|
182
|
-
--link-hover: #8dcdf8;
|
|
183
|
-
--inset: #1e2732;
|
|
184
|
-
--inset-foreground: #f7f9f9;
|
|
185
|
-
--brand: #1d9bf0;
|
|
186
|
-
--brand-bright: #4db3f5;
|
|
187
|
-
|
|
188
|
-
--ds-shadow-overlay: 0 0 15px rgba(255, 255, 255, 0.2), 0 0 3px 1px rgba(255, 255, 255, 0.15);
|
|
189
|
-
--ds-shadow-popover: 0 0 15px rgba(255, 255, 255, 0.2), 0 0 3px 1px rgba(255, 255, 255, 0.15);
|
|
190
|
-
|
|
191
|
-
--zt-hover: rgba(247, 249, 249, 0.1);
|
|
192
|
-
--zt-hover-soft: rgba(247, 249, 249, 0.03);
|
|
193
|
-
--zt-line-strong: #536471;
|
|
194
|
-
--zt-ink: #eff3f4;
|
|
195
|
-
--zt-ink-foreground: #0f1419;
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
/* ── PERSONALIDAD ────────────────────────────────────────────────────────────
|
|
199
|
-
* Sin capa: gana a las utilidades de los componentes. Solo variables.
|
|
200
|
-
*/
|
|
201
|
-
:root {
|
|
202
|
-
/* Botones: píldora en peso 700; primario en azul; contorno con filete */
|
|
203
|
-
[data-slot='button'] {
|
|
204
|
-
border-radius: 9999px;
|
|
205
|
-
font-weight: 700;
|
|
206
|
-
}
|
|
207
|
-
[data-slot='button'][data-variant='default']:hover:not(:disabled) {
|
|
208
|
-
background-color: var(--link-hover);
|
|
209
|
-
}
|
|
210
|
-
[data-slot='button'][data-variant='secondary'] {
|
|
211
|
-
background: var(--zt-ink);
|
|
212
|
-
color: var(--zt-ink-foreground);
|
|
213
|
-
}
|
|
214
|
-
[data-slot='button'][data-variant='secondary']:hover:not(:disabled) {
|
|
215
|
-
opacity: 0.88;
|
|
216
|
-
}
|
|
217
|
-
[data-slot='button'][data-variant='outline'] {
|
|
218
|
-
background: transparent;
|
|
219
|
-
border: 1px solid var(--zt-line-strong);
|
|
220
|
-
color: var(--foreground);
|
|
221
|
-
}
|
|
222
|
-
[data-slot='button'][data-variant='outline']:hover:not(:disabled),
|
|
223
|
-
[data-slot='button'][data-variant='ghost']:hover:not(:disabled) {
|
|
224
|
-
background: var(--zt-hover);
|
|
225
|
-
}
|
|
226
|
-
[data-slot='button'][data-variant='destructive'] {
|
|
227
|
-
background: var(--destructive);
|
|
228
|
-
color: var(--destructive-foreground);
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
/* Tarjetas: planas, con filete, sin elevación */
|
|
232
|
-
[data-slot='card'] {
|
|
233
|
-
border: 1px solid var(--border);
|
|
234
|
-
box-shadow: none;
|
|
235
|
-
}
|
|
236
|
-
|
|
237
|
-
/* Campos: píldora/16px con filete; foco azul lo da el anillo */
|
|
238
|
-
[data-slot='input'],
|
|
239
|
-
[data-slot='textarea'],
|
|
240
|
-
[data-slot='select-trigger'] {
|
|
241
|
-
background: transparent;
|
|
242
|
-
border: 1px solid var(--input);
|
|
243
|
-
}
|
|
244
|
-
[data-slot='textarea'] {
|
|
245
|
-
border-radius: var(--ds-radius-lg);
|
|
246
|
-
}
|
|
247
|
-
|
|
248
|
-
/* Etiquetas en píldora */
|
|
249
|
-
[data-slot='badge'] {
|
|
250
|
-
border-radius: 9999px;
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
/* Pestañas: sin fondo, subrayado de acento en la activa */
|
|
254
|
-
[data-slot='tabs-list'] {
|
|
255
|
-
background: transparent;
|
|
256
|
-
border-bottom: 1px solid var(--border);
|
|
257
|
-
border-radius: 0;
|
|
258
|
-
}
|
|
259
|
-
[data-slot='tabs-trigger'] {
|
|
260
|
-
border-radius: 0;
|
|
261
|
-
background: transparent;
|
|
262
|
-
font-weight: 500;
|
|
263
|
-
}
|
|
264
|
-
[data-slot='tabs-trigger']:hover {
|
|
265
|
-
background: var(--zt-hover-soft);
|
|
266
|
-
}
|
|
267
|
-
[data-slot='tabs-trigger'][data-active] {
|
|
268
|
-
background: transparent;
|
|
269
|
-
box-shadow: inset 0 -4px 0 var(--primary);
|
|
270
|
-
font-weight: 700;
|
|
271
|
-
}
|
|
272
|
-
|
|
273
|
-
/* Sidebar: filas grandes en píldora; la activa en negrita, sin relleno */
|
|
274
|
-
[data-sidebar='menu-button'] {
|
|
275
|
-
font-size: 1.125rem;
|
|
276
|
-
border-radius: 9999px;
|
|
277
|
-
}
|
|
278
|
-
[data-sidebar='menu-button']:hover {
|
|
279
|
-
background: var(--zt-hover);
|
|
280
|
-
}
|
|
281
|
-
[data-sidebar='menu-button'][data-active='true'] {
|
|
282
|
-
background: transparent;
|
|
283
|
-
font-weight: 700;
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
/* Interruptor y progreso en el azul de marca, planos */
|
|
287
|
-
[data-slot='progress-indicator'] {
|
|
288
|
-
background: var(--primary);
|
|
289
|
-
}
|
|
290
|
-
}
|
|
1
|
+
/*
|
|
2
|
+
* TEMA twitter — la interfaz de Twitter anterior a X (rediseño de 2021).
|
|
3
|
+
*
|
|
4
|
+
* Personalidad: PLANO y de alto contraste. Sin sombras ni cristal en el contenido;
|
|
5
|
+
* separación por filetes de 1px; botones en píldora con peso 700; tarjetas de 16px
|
|
6
|
+
* sin elevación; sidebar a ras de borde, sin fondo, con filas en píldora y la activa
|
|
7
|
+
* en negrita; pestañas con subrayado de acento. Azul de marca #1D9BF0 (confirmado) con
|
|
8
|
+
* «menos azul»: la acción más importante puede ir en tinta (negro/blanco).
|
|
9
|
+
*
|
|
10
|
+
* VALORES APROXIMADOS: el azul de marca y la fuente (Chirp, propietaria) están
|
|
11
|
+
* documentados; los grises, bordes y los fondos de «Dim» son de memoria y NO se han
|
|
12
|
+
* contrastado con la hoja de estilos real — ajústalos con una captura de referencia.
|
|
13
|
+
* Chirp no se puede distribuir: se usa la pila del sistema como respaldo.
|
|
14
|
+
*
|
|
15
|
+
* Importar DESPUÉS de la estructura. Variables `--zt-*`: privadas de este tema.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/* ── VARIABLES · PIEL CLARA ──────────────────────────────────────────────── */
|
|
19
|
+
:root {
|
|
20
|
+
--radius: 16px;
|
|
21
|
+
|
|
22
|
+
--ds-font-sans: 'Chirp', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
|
|
23
|
+
--ds-font-display: var(--ds-font-sans);
|
|
24
|
+
--ds-font-mono: ui-monospace, 'SF Mono', Menlo, monospace;
|
|
25
|
+
--ds-heading-tracking: normal;
|
|
26
|
+
|
|
27
|
+
/* Color */
|
|
28
|
+
--background: #ffffff;
|
|
29
|
+
--foreground: #0f1419;
|
|
30
|
+
|
|
31
|
+
--card: #ffffff;
|
|
32
|
+
--card-foreground: #0f1419;
|
|
33
|
+
--popover: #ffffff;
|
|
34
|
+
--popover-foreground: #0f1419;
|
|
35
|
+
|
|
36
|
+
--primary: #1d9bf0;
|
|
37
|
+
--primary-foreground: #ffffff;
|
|
38
|
+
--secondary: #eff3f4;
|
|
39
|
+
--secondary-foreground: #0f1419;
|
|
40
|
+
--muted: #f7f9f9;
|
|
41
|
+
--muted-foreground: #536471;
|
|
42
|
+
--accent: rgba(29, 155, 240, 0.1);
|
|
43
|
+
--accent-foreground: #1a8cd8;
|
|
44
|
+
--destructive: #f4212e;
|
|
45
|
+
--destructive-foreground: #ffffff;
|
|
46
|
+
|
|
47
|
+
--border: #eff3f4;
|
|
48
|
+
--input: #cfd9de;
|
|
49
|
+
--ring: #1d9bf0;
|
|
50
|
+
|
|
51
|
+
--chart-1: #1d9bf0;
|
|
52
|
+
--chart-2: #00ba7c;
|
|
53
|
+
--chart-3: #ffd400;
|
|
54
|
+
--chart-4: #f91880;
|
|
55
|
+
--chart-5: #7856ff;
|
|
56
|
+
|
|
57
|
+
--sidebar: transparent;
|
|
58
|
+
--sidebar-foreground: #0f1419;
|
|
59
|
+
--sidebar-primary: #1d9bf0;
|
|
60
|
+
--sidebar-primary-foreground: #ffffff;
|
|
61
|
+
--sidebar-accent: rgba(15, 20, 25, 0.1);
|
|
62
|
+
--sidebar-accent-foreground: #0f1419;
|
|
63
|
+
--sidebar-border: #eff3f4;
|
|
64
|
+
--sidebar-ring: #1d9bf0;
|
|
65
|
+
|
|
66
|
+
--danger: #d4141f;
|
|
67
|
+
--danger-soft: rgba(244, 33, 46, 0.1);
|
|
68
|
+
--warning: #8a6d00;
|
|
69
|
+
--warning-soft: rgba(255, 212, 0, 0.2);
|
|
70
|
+
--success: #007c53;
|
|
71
|
+
--success-soft: rgba(0, 186, 124, 0.12);
|
|
72
|
+
--info: #1573b1;
|
|
73
|
+
--info-soft: rgba(29, 155, 240, 0.1);
|
|
74
|
+
--neutral: #536471;
|
|
75
|
+
--neutral-soft: #eff3f4;
|
|
76
|
+
|
|
77
|
+
--link: #1d9bf0;
|
|
78
|
+
--link-hover: #1a8cd8;
|
|
79
|
+
--inset: #f7f9f9;
|
|
80
|
+
--inset-foreground: #0f1419;
|
|
81
|
+
--brand: #1d9bf0;
|
|
82
|
+
--brand-bright: #1d9bf0;
|
|
83
|
+
|
|
84
|
+
/* Formas: píldoras para acciones, 16px para superficies */
|
|
85
|
+
--ds-radius-sm: 8px;
|
|
86
|
+
--ds-radius-md: 12px;
|
|
87
|
+
--ds-radius-lg: 16px;
|
|
88
|
+
--ds-radius-xl: 16px;
|
|
89
|
+
--ds-radius-2xl: 20px;
|
|
90
|
+
--ds-radius-control: 9999px;
|
|
91
|
+
--ds-radius-overlay: 16px;
|
|
92
|
+
|
|
93
|
+
/* Sin elevación: solo los menús flotantes llevan sombra, muy suave */
|
|
94
|
+
--ds-shadow-card: 0 0 #0000;
|
|
95
|
+
--ds-shadow-card-hover: 0 0 #0000;
|
|
96
|
+
--ds-shadow-control: 0 0 #0000;
|
|
97
|
+
--ds-shadow-raised: 0 0 #0000;
|
|
98
|
+
--ds-shadow-overlay: 0 0 15px rgba(101, 119, 134, 0.2), 0 0 3px 1px rgba(101, 119, 134, 0.15);
|
|
99
|
+
--ds-shadow-popover: 0 0 15px rgba(101, 119, 134, 0.2), 0 0 3px 1px rgba(101, 119, 134, 0.15);
|
|
100
|
+
|
|
101
|
+
/* Medidas */
|
|
102
|
+
--ds-control-h-sm: 2rem;
|
|
103
|
+
--ds-control-h-md: 2.25rem;
|
|
104
|
+
--ds-control-h-lg: 3.25rem;
|
|
105
|
+
--ds-button-px-sm: 1rem;
|
|
106
|
+
--ds-button-px-md: 1.25rem;
|
|
107
|
+
--ds-button-px-lg: 2rem;
|
|
108
|
+
--ds-field-px: 1rem;
|
|
109
|
+
--ds-card-spacing: 1rem;
|
|
110
|
+
--ds-card-spacing-sm: 0.75rem;
|
|
111
|
+
|
|
112
|
+
/* Materiales: ninguno (plano) */
|
|
113
|
+
--ds-card-backdrop: none;
|
|
114
|
+
--ds-overlay-backdrop: none;
|
|
115
|
+
--ds-field-backdrop: none;
|
|
116
|
+
--ds-sidebar-backdrop: none;
|
|
117
|
+
--ds-page-backdrop: none;
|
|
118
|
+
|
|
119
|
+
/* Sidebar a ras de borde, sin silueta; filas en píldora grandes */
|
|
120
|
+
--ds-sidebar-pad: 0px;
|
|
121
|
+
--ds-sidebar-radius: 0px;
|
|
122
|
+
--ds-sidebar-shadow: 0 0 #0000;
|
|
123
|
+
--ds-sidebar-ring: 0px;
|
|
124
|
+
--ds-sidebar-edge: 1px solid var(--sidebar-border);
|
|
125
|
+
--ds-sidebar-item-radius: 9999px;
|
|
126
|
+
--ds-sidebar-item-h: 3.25rem;
|
|
127
|
+
|
|
128
|
+
/* Privadas de twitter */
|
|
129
|
+
--zt-hover: rgba(15, 20, 25, 0.1);
|
|
130
|
+
--zt-hover-soft: rgba(15, 20, 25, 0.03);
|
|
131
|
+
--zt-line-strong: #cfd9de;
|
|
132
|
+
--zt-ink: #0f1419;
|
|
133
|
+
--zt-ink-foreground: #ffffff;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/* ── VARIABLES · PIEL OSCURA («Dim») ─────────────────────────────────────── */
|
|
137
|
+
.dark {
|
|
138
|
+
--background: #15202b;
|
|
139
|
+
--foreground: #f7f9f9;
|
|
140
|
+
|
|
141
|
+
--card: #15202b;
|
|
142
|
+
--card-foreground: #f7f9f9;
|
|
143
|
+
--popover: #1e2732;
|
|
144
|
+
--popover-foreground: #f7f9f9;
|
|
145
|
+
|
|
146
|
+
--primary: #1d9bf0;
|
|
147
|
+
--primary-foreground: #ffffff;
|
|
148
|
+
--secondary: #1e2732;
|
|
149
|
+
--secondary-foreground: #f7f9f9;
|
|
150
|
+
--muted: #1e2732;
|
|
151
|
+
--muted-foreground: #8b98a5;
|
|
152
|
+
--accent: rgba(29, 155, 240, 0.15);
|
|
153
|
+
--accent-foreground: #4db3f5;
|
|
154
|
+
--destructive: #f4212e;
|
|
155
|
+
--destructive-foreground: #ffffff;
|
|
156
|
+
|
|
157
|
+
--border: #38444d;
|
|
158
|
+
--input: #536471;
|
|
159
|
+
--ring: #1d9bf0;
|
|
160
|
+
|
|
161
|
+
--sidebar: transparent;
|
|
162
|
+
--sidebar-foreground: #f7f9f9;
|
|
163
|
+
--sidebar-primary: #1d9bf0;
|
|
164
|
+
--sidebar-primary-foreground: #ffffff;
|
|
165
|
+
--sidebar-accent: rgba(247, 249, 249, 0.1);
|
|
166
|
+
--sidebar-accent-foreground: #f7f9f9;
|
|
167
|
+
--sidebar-border: #38444d;
|
|
168
|
+
--sidebar-ring: #1d9bf0;
|
|
169
|
+
|
|
170
|
+
--danger: #ff5a64;
|
|
171
|
+
--danger-soft: rgba(244, 33, 46, 0.18);
|
|
172
|
+
--warning: #ffd400;
|
|
173
|
+
--warning-soft: rgba(255, 212, 0, 0.16);
|
|
174
|
+
--success: #00ba7c;
|
|
175
|
+
--success-soft: rgba(0, 186, 124, 0.16);
|
|
176
|
+
--info: #4db3f5;
|
|
177
|
+
--info-soft: rgba(29, 155, 240, 0.18);
|
|
178
|
+
--neutral: #8b98a5;
|
|
179
|
+
--neutral-soft: #1e2732;
|
|
180
|
+
|
|
181
|
+
--link: #4db3f5;
|
|
182
|
+
--link-hover: #8dcdf8;
|
|
183
|
+
--inset: #1e2732;
|
|
184
|
+
--inset-foreground: #f7f9f9;
|
|
185
|
+
--brand: #1d9bf0;
|
|
186
|
+
--brand-bright: #4db3f5;
|
|
187
|
+
|
|
188
|
+
--ds-shadow-overlay: 0 0 15px rgba(255, 255, 255, 0.2), 0 0 3px 1px rgba(255, 255, 255, 0.15);
|
|
189
|
+
--ds-shadow-popover: 0 0 15px rgba(255, 255, 255, 0.2), 0 0 3px 1px rgba(255, 255, 255, 0.15);
|
|
190
|
+
|
|
191
|
+
--zt-hover: rgba(247, 249, 249, 0.1);
|
|
192
|
+
--zt-hover-soft: rgba(247, 249, 249, 0.03);
|
|
193
|
+
--zt-line-strong: #536471;
|
|
194
|
+
--zt-ink: #eff3f4;
|
|
195
|
+
--zt-ink-foreground: #0f1419;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
/* ── PERSONALIDAD ────────────────────────────────────────────────────────────
|
|
199
|
+
* Sin capa: gana a las utilidades de los componentes. Solo variables.
|
|
200
|
+
*/
|
|
201
|
+
:root {
|
|
202
|
+
/* Botones: píldora en peso 700; primario en azul; contorno con filete */
|
|
203
|
+
[data-slot='button'] {
|
|
204
|
+
border-radius: 9999px;
|
|
205
|
+
font-weight: 700;
|
|
206
|
+
}
|
|
207
|
+
[data-slot='button'][data-variant='default']:hover:not(:disabled) {
|
|
208
|
+
background-color: var(--link-hover);
|
|
209
|
+
}
|
|
210
|
+
[data-slot='button'][data-variant='secondary'] {
|
|
211
|
+
background: var(--zt-ink);
|
|
212
|
+
color: var(--zt-ink-foreground);
|
|
213
|
+
}
|
|
214
|
+
[data-slot='button'][data-variant='secondary']:hover:not(:disabled) {
|
|
215
|
+
opacity: 0.88;
|
|
216
|
+
}
|
|
217
|
+
[data-slot='button'][data-variant='outline'] {
|
|
218
|
+
background: transparent;
|
|
219
|
+
border: 1px solid var(--zt-line-strong);
|
|
220
|
+
color: var(--foreground);
|
|
221
|
+
}
|
|
222
|
+
[data-slot='button'][data-variant='outline']:hover:not(:disabled),
|
|
223
|
+
[data-slot='button'][data-variant='ghost']:hover:not(:disabled) {
|
|
224
|
+
background: var(--zt-hover);
|
|
225
|
+
}
|
|
226
|
+
[data-slot='button'][data-variant='destructive'] {
|
|
227
|
+
background: var(--destructive);
|
|
228
|
+
color: var(--destructive-foreground);
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
/* Tarjetas: planas, con filete, sin elevación */
|
|
232
|
+
[data-slot='card'] {
|
|
233
|
+
border: 1px solid var(--border);
|
|
234
|
+
box-shadow: none;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
/* Campos: píldora/16px con filete; foco azul lo da el anillo */
|
|
238
|
+
[data-slot='input'],
|
|
239
|
+
[data-slot='textarea'],
|
|
240
|
+
[data-slot='select-trigger'] {
|
|
241
|
+
background: transparent;
|
|
242
|
+
border: 1px solid var(--input);
|
|
243
|
+
}
|
|
244
|
+
[data-slot='textarea'] {
|
|
245
|
+
border-radius: var(--ds-radius-lg);
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
/* Etiquetas en píldora */
|
|
249
|
+
[data-slot='badge'] {
|
|
250
|
+
border-radius: 9999px;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
/* Pestañas: sin fondo, subrayado de acento en la activa */
|
|
254
|
+
[data-slot='tabs-list'] {
|
|
255
|
+
background: transparent;
|
|
256
|
+
border-bottom: 1px solid var(--border);
|
|
257
|
+
border-radius: 0;
|
|
258
|
+
}
|
|
259
|
+
[data-slot='tabs-trigger'] {
|
|
260
|
+
border-radius: 0;
|
|
261
|
+
background: transparent;
|
|
262
|
+
font-weight: 500;
|
|
263
|
+
}
|
|
264
|
+
[data-slot='tabs-trigger']:hover {
|
|
265
|
+
background: var(--zt-hover-soft);
|
|
266
|
+
}
|
|
267
|
+
[data-slot='tabs-trigger'][data-active] {
|
|
268
|
+
background: transparent;
|
|
269
|
+
box-shadow: inset 0 -4px 0 var(--primary);
|
|
270
|
+
font-weight: 700;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
/* Sidebar: filas grandes en píldora; la activa en negrita, sin relleno */
|
|
274
|
+
[data-sidebar='menu-button'] {
|
|
275
|
+
font-size: 1.125rem;
|
|
276
|
+
border-radius: 9999px;
|
|
277
|
+
}
|
|
278
|
+
[data-sidebar='menu-button']:hover {
|
|
279
|
+
background: var(--zt-hover);
|
|
280
|
+
}
|
|
281
|
+
[data-sidebar='menu-button'][data-active='true'] {
|
|
282
|
+
background: transparent;
|
|
283
|
+
font-weight: 700;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
/* Interruptor y progreso en el azul de marca, planos */
|
|
287
|
+
[data-slot='progress-indicator'] {
|
|
288
|
+
background: var(--primary);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Tema `twitter` — guía de diseño
|
|
2
|
+
|
|
3
|
+
## Esencia
|
|
4
|
+
La interfaz de Twitter anterior a X (rediseño de 2021): plana, de alto contraste, con pocas decoraciones.
|
|
5
|
+
|
|
6
|
+
## Gesto firma
|
|
7
|
+
Separación por **filetes de 1px**, botones en píldora de peso 700, sidebar a ras sin fondo con filas en píldora (la activa en negrita) y pestañas con subrayado de acento.
|
|
8
|
+
|
|
9
|
+
## Principios
|
|
10
|
+
- Sin sombras ni cristal en el contenido.
|
|
11
|
+
- «Menos azul»: la acción más importante puede ir en tinta (negro/blanco).
|
|
12
|
+
- Tarjetas de 16px sin elevación.
|
|
13
|
+
|
|
14
|
+
## Referencias y qué se tomó de cada una
|
|
15
|
+
- **Twitter (2021)**: azul de marca `#1D9BF0` (confirmado), fuente Chirp (confirmada, propietaria), estructura plana y filetes. El resto se tomó de memoria.
|
|
16
|
+
|
|
17
|
+
## Paleta
|
|
18
|
+
- Claro: fondo `#FFFFFF`, texto `#0F1419`, primario `#1D9BF0`, borde `#EFF3F4`.
|
|
19
|
+
- Oscuro («Dim»): fondo `#15202B`, texto `#F7F9F9`.
|
|
20
|
+
|
|
21
|
+
## Tipografía
|
|
22
|
+
Chirp no se puede distribuir: el tema usa la **pila del sistema** como respaldo. No hay fuente que cargar (`twitter.fonts.css` solo lo documenta).
|
|
23
|
+
|
|
24
|
+
## Formas y profundidad
|
|
25
|
+
Radio 16px; sin sombras; filetes 1px.
|
|
26
|
+
|
|
27
|
+
## Qué evita
|
|
28
|
+
Sombras, cristal, elevación en tarjetas.
|
|
29
|
+
|
|
30
|
+
## Accesibilidad
|
|
31
|
+
Azul `#1D9BF0` con texto blanco: contraste limitado (≈3:1); por eso se admite la acción primaria en tinta.
|
|
32
|
+
|
|
33
|
+
## Estado de los valores
|
|
34
|
+
- **Confirmados**: azul `#1D9BF0` y la fuente Chirp.
|
|
35
|
+
- **Aproximados (de memoria)**: grises, bordes y fondos de «Dim»; contrastarlos con una captura de referencia antes de darlos por buenos.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "twitter",
|
|
3
|
+
"label": "Twitter (2021)",
|
|
4
|
+
"essence": "Plano y de alto contraste: filetes de 1px, píldoras, sin sombras.",
|
|
5
|
+
"signature": ["filetes de 1px", "botones en píldora de peso 700", "sidebar a ras con filas en píldora"],
|
|
6
|
+
"fonts": { "display": "Chirp (sistema como respaldo)", "body": "Chirp (sistema como respaldo)", "file": "twitter.fonts.css", "distributable": false },
|
|
7
|
+
"palette": { "light": { "background": "#FFFFFF", "foreground": "#0F1419", "primary": "#1D9BF0" }, "dark": { "background": "#15202B" } },
|
|
8
|
+
"radii": [16, 999],
|
|
9
|
+
"references": [
|
|
10
|
+
{ "name": "Twitter (2021)", "tookFromIt": "estructura plana, azul de marca, filetes", "source": "memoria; azul y fuente documentados" }
|
|
11
|
+
],
|
|
12
|
+
"status": { "verified": ["azul #1D9BF0", "fuente Chirp"], "approximate": ["grises", "bordes", "fondos de Dim"], "designed": [], "pending": ["contrastar con captura de referencia"] },
|
|
13
|
+
"guide": "twitter.guide.md"
|
|
14
|
+
}
|