Docker / build (push) Failing after 22s
Унифицировать оболочку ops-экранов, IconTile, skip-link и контракт UI. Co-authored-by: Cursor <cursoragent@cursor.com>
31 lines
1.5 KiB
Plaintext
31 lines
1.5 KiB
Plaintext
---
|
|
description: Только hybrid KPI — KpiStatGrid / row tile DNA (stats-12 + IconTile). Запрет SectionCards и hand-roll.
|
|
alwaysApply: true
|
|
---
|
|
|
|
# KPI hybrid — только kit (stats-12 + IconTile)
|
|
|
|
Preview: [stats-12](https://reui.io/preview/base/stats-12). Primitive: [icon-tile](https://reui.io/docs/components/base/icon-tile). SoT DNA = EvoBGP. Markup: `apps/web/src/components/reui-kit/kpi-stat-grid.tsx`.
|
|
|
|
Связанные: [`reui-mcp.mdc`](reui-mcp.mdc), [`frontend-ui-patterns.mdc`](frontend-ui-patterns.mdc).
|
|
|
|
## MUST
|
|
|
|
| Зона | Компонент / DNA |
|
|
|------|-----------------|
|
|
| KPI-полосы / dashboard metrics | только `reui-kit/KpiStatGrid` (через `OpsDashboard` / `DetailPanel.Metrics` при наличии) |
|
|
| Markup | horizontal compact hybrid: icon left `IconTile` `variant="elevated"` `className="size-10.5"` + label/Badge + value ± `variant` |
|
|
| Row icon tiles (data-grid) | та же DNA — semantic `text-*` на IconTile elevated |
|
|
| Quick Actions | только `reui-kit/QuickActionGrid` (sibling hybrid DNA, IconTile elevated) |
|
|
|
|
Импорты UI: `@cfdm/ui/components/*`. IconTile: `@/components/reui/icon-tile`.
|
|
|
|
## NEVER
|
|
|
|
- SectionCards / vertical-only KPI / hand-roll Frame/Card KPI
|
|
- `Item` `size-10.5` `bg-muted` hybrid вместо IconTile
|
|
- Другой size / radius / solid brand fill вместо `elevated`
|
|
- `card-35` как замена stats-12 hybrid KPI
|
|
- Копипаст ReUI block в route — adapt через `reui-kit/`
|
|
- Голый lucide `size-4` в name-cell без IconTile
|