@ajuarezso/sui-design-system 0.21.0 → 0.22.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 (42) hide show
  1. package/docs/INDEX.md +25 -30
  2. package/docs/sui-accordion/README.md +171 -0
  3. package/docs/sui-activity-feed/README.md +155 -0
  4. package/docs/sui-activity-filter/README.md +100 -0
  5. package/docs/sui-button/README.md +19 -0
  6. package/docs/sui-command-menu-footer/README.md +100 -0
  7. package/docs/sui-command-menu-item/README.md +140 -0
  8. package/docs/sui-command-menu-search/README.md +105 -0
  9. package/docs/sui-compact-select/README.md +4 -1
  10. package/docs/sui-compact-select-for-input/README.md +3 -0
  11. package/docs/sui-counter-input/README.md +3 -0
  12. package/docs/sui-datepicker/README.md +4 -0
  13. package/docs/sui-dropdown-caption/README.md +92 -0
  14. package/docs/sui-dropdown-item/README.md +163 -0
  15. package/docs/sui-dropdown-menu/README.md +196 -0
  16. package/docs/sui-dropdown-search/README.md +113 -0
  17. package/docs/sui-filter/README.md +181 -0
  18. package/docs/sui-href/README.md +85 -0
  19. package/docs/sui-img-retry/README.md +107 -0
  20. package/docs/sui-input/README.md +3 -0
  21. package/docs/sui-modal/README.md +238 -0
  22. package/docs/sui-modal-footer/README.md +178 -0
  23. package/docs/sui-modal-header/README.md +115 -0
  24. package/docs/sui-modal-sheet/README.md +170 -0
  25. package/docs/sui-page-header/README.md +123 -0
  26. package/docs/sui-segmented-control/README.md +3 -0
  27. package/docs/sui-select/README.md +5 -2
  28. package/docs/sui-sidebar/README.md +217 -0
  29. package/docs/sui-switch-label/README.md +3 -0
  30. package/docs/sui-tab-chips/README.md +5 -2
  31. package/docs/sui-table/README.md +264 -0
  32. package/docs/sui-tag-input/README.md +3 -0
  33. package/docs/sui-textarea/README.md +3 -0
  34. package/docs/sui-time-picker/README.md +3 -0
  35. package/docs/sui-topbar/README.md +153 -0
  36. package/docs/sui-topbar-button/README.md +95 -0
  37. package/docs/sui-topbar-item/README.md +97 -0
  38. package/docs/sui-topbar-user/README.md +83 -0
  39. package/fesm2022/ajuarezso-sui-design-system.mjs +32 -29
  40. package/fesm2022/ajuarezso-sui-design-system.mjs.map +1 -1
  41. package/package.json +1 -1
  42. package/types/ajuarezso-sui-design-system.d.ts +18 -16
@@ -0,0 +1,83 @@
1
+ ---
2
+ name: sui-topbar-user
3
+ selector: sui-topbar-user
4
+ resumen: Chip de la cuenta en la barra superior — avatar, nombre y flecha — que abre el menú de la cuenta
5
+ alternativas: [sui-topbar (la barra completa: lo compone desde [user]), el perfil del pie de sui-sidebar (la cuenta en la navegación lateral), sui-avatar (solo la foto, sin nombre ni menú)]
6
+ ---
7
+
8
+ # sui-topbar-user
9
+
10
+ Story: [Organisms/Topbar](https://sui-design-system.web.app/?path=/docs/organisms-topbar--docs) —
11
+ no tiene story propia: se ve en la página de la topbar, en la story «User Chip — estados».
12
+
13
+ ## Cuándo usarlo / cuándo no
14
+
15
+ **Úsalo** a la derecha de una barra superior para la **cuenta de quien mira**: su foto, su
16
+ nombre y un menú (perfil, cambiar de rol, salir). Dentro de `sui-topbar` sale de `[user]`.
17
+
18
+ **No lo uses** para:
19
+
20
+ - Mostrar a **otra** persona (el cliente de un pedido, el repartidor asignado): `sui-avatar` con
21
+ su nombre al lado. El chip es un botón con flecha: promete un menú.
22
+ - La cuenta dentro de la navegación lateral: ya va en `profile` de `sui-sidebar`.
23
+
24
+ ## Qué variante usar
25
+
26
+ > **La guía del DS no tiene página de este chip.** Sale del Figma de SUI (User Profile [Topbar],
27
+ > set 3814:24667: Default, Hover, Active). Uso medido el 03-10-2026: **0 usos** en la app. Lo de
28
+ > abajo es **propuesta, falta aprobación**, salvo lo que es canon de la app.
29
+
30
+ | prop | cuándo | fuente |
31
+ |---|---|---|
32
+ | `avatar` (string) | La URL de la foto. Siempre de `avatarUrl`, nunca de `photoURL`. | canon (CLAUDE.md, «Fotos de otra persona») |
33
+ | `avatar` (objeto) | Sin foto: `{ initials, color }` para que las iniciales tengan contraste. | propuesta, falta aprobación |
34
+ | `name` | El nombre corto («Sophia», no el correo). Vacío = chip solo con la foto, para barras angostas. | Figma (name=false) |
35
+ | `verified` | No usar hoy: la app no verifica cuentas de personas. | propuesta, falta aprobación |
36
+ | `open` | Mientras el menú de la cuenta está abierto (flecha hacia arriba, `aria-expanded`). | Figma (State=Active) |
37
+
38
+ ## Tamaño en mobile y en web
39
+
40
+ **No tiene `size`**: alto 40 (avatar 32 + 4 arriba y abajo), radio 10, nombre 14/500. Vive en la
41
+ topbar, que hoy es solo de escritorio.
42
+
43
+ | uso | mobile | web | fuente |
44
+ |---|---|---|---|
45
+ | cuenta en la barra superior | no usar (en mobile la cuenta va en el cajón del sidebar) | con nombre | propuesta, falta aprobación |
46
+
47
+ ## API
48
+
49
+ <!-- api:inicio -->
50
+ <!-- generada: no editar a mano — `npm run docs` -->
51
+
52
+ | input | tipo | default |
53
+ |---|---|---|
54
+ | `name` | `string` | `''` |
55
+ | `avatar` | `SuiAvatarConfig \| string \| null` | `null` |
56
+ | `verified` | `boolean` | `false` |
57
+ | `open` | `boolean` | `false` |
58
+
59
+ | output | payload |
60
+ |---|---|
61
+ | `clicked` | `void` |
62
+ <!-- api:fin -->
63
+
64
+ ## Trampas
65
+
66
+ - **No abre ningún menú.** Emite `(clicked)` y lleva `aria-haspopup="menu"`: el menú
67
+ (`sui-dropdown-menu`) lo pones tú y le pasas `[open]` mientras está abierto.
68
+ - Sin `avatar` (o con `null`) igual dibuja el avatar con la silueta genérica gris: pasa al menos
69
+ las iniciales.
70
+ - El nombre no se corta: uno largo empuja el resto de la barra. Usa el nombre de pila.
71
+ - La foto de Google (`lh3.googleusercontent.com`) solo carga con las cookies de su dueño; en la
72
+ barra de quien mira funciona, pero sigue siendo regla usar `avatarUrl`.
73
+ - Ya trae el arreglo de iOS para el `:active` pegado.
74
+
75
+ ## Ejemplo
76
+
77
+ ```html
78
+ <sui-topbar-user
79
+ [name]="usuario().nombre"
80
+ [avatar]="usuario().avatarUrl || { initials: usuario().iniciales, color: 'orange' }"
81
+ [open]="menuCuenta()"
82
+ (clicked)="menuCuenta.set(!menuCuenta())" />
83
+ ```