Przejdź do treści

Open Estate — Design System

Brand Book v1.0 · Tokeny i komponenty interfejsu

Logo

Brand Book v1.0, s. 5–10: wersja podstawowa z dopiskiem NIERUCHOMOŚCI; granat na jasnym tle, biel na ciemnym. Zachowuj proporcje, pełne krycie i pole ochronne X z każdej strony.

Granat na bieli · s. 9
Biel na granacie · s. 9
Granat na maśle · paleta marki, s. 9 i 12
Monogram po przedstawieniu marki · s. 6
Zasady użycia znaku i pozostałych materiałów

Pole X odczytujemy z rysunku na s. 8. Brandbook nie podaje minimalnego rozmiaru w px/mm. Odstępy tej demonstracji są uzupełnieniem UI, nie nową definicją X. Nie obracaj, nie rozciągaj, nie obrysowuj ani nie dodawaj efektów do logo.

Kolor i typografia

Granat jest podstawą, grafit i biel bazą neutralną. Chaber i błękit to akcenty graficzne, nie kolory tekstu. Golos Text dla nagłówków, treści i danych. Trirong pozostaje krojem referencyjnym brandbooka.

Nawiasy i fotografia

Nawiasy z litery O występują zwykle w parze, w tym samym kolorze i rozmiarze; obejmują do ok. pięciu słów (s. 18). Przykłady pokazują wnętrza, architekturę i ludzi (s. 20–23). Nie dostarczono osobnych plików nawiasów ani fotografii.

Uzupełnienia UI

Responsywna skala, kolory statusów, radius, odstępy i ruch są decyzjami implementacyjnymi. Brak zestawu ikon marki — proste symbole pozostają tymczasowe. Szczegóły i źródła: DESIGN.md.

Kolory

Pierwsze sześć kolorów pochodzi bezpośrednio z s. 12 brandbooka (HEX/RGB). Pozostałe są uzupełnieniami interfejsu. Jasne akcenty zachowujemy w palecie; tekst i akcje wykorzystują granat.

Granat

#1e3562

--primitive-navy

Chaber

#6f9df7

--primitive-cornflower

Błękit

#c3d7fe

--primitive-sky

Masło

#fff1cd

--primitive-butter

Biel

#ffffff

--primitive-white

Grafit

#212121

--primitive-graphite

Pełna paleta UI i mapowanie tokenów semantycznych

Granat

--primitive-navy · #1e3562

Brandbook · s. 12

Chaber

--primitive-cornflower · #6f9df7

Brandbook · s. 12

Błękit

--primitive-sky · #c3d7fe

Brandbook · s. 12

Masło

--primitive-butter · #fff1cd

Brandbook · s. 12

Biel

--primitive-white · #ffffff

Brandbook · s. 12

Grafit

--primitive-graphite · #212121

Brandbook · s. 12

navy-hover

--primitive-navy-hover · #16294e

Uzupełnienie UI

navy-active

--primitive-navy-active · #0e1d38

Uzupełnienie UI

butter-hover

--primitive-butter-hover · #f3dfad

Uzupełnienie UI

butter-active

--primitive-butter-active · #e8cc8b

Uzupełnienie UI

mist

--primitive-mist · #f4f6fa

Uzupełnienie UI

muted

--primitive-muted · #536079

Uzupełnienie UI

line

--primitive-line · #d3dae5

Uzupełnienie UI

line-strong

--primitive-line-strong · #647087

Uzupełnienie UI

disabled

--primitive-disabled · #e5e9ef

Uzupełnienie UI

success

--primitive-success · #146c43

Uzupełnienie UI

warning

--primitive-warning · #805400

Uzupełnienie UI

danger

--primitive-danger · #b42332

Uzupełnienie UI

danger-hover

--primitive-danger-hover · #8e1825

Uzupełnienie UI

danger-active

--primitive-danger-active · #70121c

Uzupełnienie UI

Tokeny semantyczne

background

white · #ffffff

surface

white · #ffffff

surface-muted

mist · #f4f6fa

surface-inverse

navy · #1e3562

surface-accent

butter · #fff1cd

foreground

graphite · #212121

foreground-muted

muted · #536079

foreground-inverse

white · #ffffff

primary

navy · #1e3562

primary-hover

navy-hover · #16294e

primary-active

navy-active · #0e1d38

primary-foreground

white · #ffffff

secondary

butter · #fff1cd

secondary-hover

butter-hover · #f3dfad

secondary-active

butter-active · #e8cc8b

secondary-foreground

navy · #1e3562

accent

cornflower · #6f9df7

accent-subtle

sky · #c3d7fe

border

line · #d3dae5

border-strong

line-strong · #647087

focus-ring

navy · #1e3562

success

success · #146c43

warning

warning · #805400

danger

danger · #b42332

danger-hover

danger-hover · #8e1825

danger-active

danger-active · #70121c

danger-foreground

white · #ffffff

info

navy · #1e3562

disabled-background

disabled · #e5e9ef

disabled-foreground

muted · #536079

Pary tekst / tło

Zażółć gęślą jaźń — Łódź, Śródmieście

foreground / surface

Zażółć gęślą jaźń — Łódź, Śródmieście

foreground-muted / surface-muted

Zażółć gęślą jaźń — Łódź, Śródmieście

foreground-inverse / surface-inverse

Zażółć gęślą jaźń — Łódź, Śródmieście

primary-foreground / primary

Zażółć gęślą jaźń — Łódź, Śródmieście

danger-foreground / danger

Typografia

01 / Trirong

Aa

Trirong Medium · 500

Krój referencyjny brandbooka; w bieżącym UI zastąpiony przez Golos Text.

02 / Golos Text

Aa

Golos Text · 400–700

Opisy, dane i elementy interfejsu.

Aktualna decyzja UI: Golos Text 500 — wszystkie nagłówki; 400/500/600/700 — treść i interfejs. Trirong to wzorzec z brandbooka, a nie aktywny font nagłówków portalu. Oficjalne Google Fonts, hostowane przez next/font. Rodziny: s. 14–15; inspiracja hierarchii: s. 16. Rozmiary web, interlinie i tracking 0em to uzupełnienia UI; wartości pt w brandbooku są przykładami, nie wymiarami CSS.

Pełna skala typograficzna — 12 ról i polskie znaki

display · Trirong 500 · 40–72px · 1.15

Zażółć gęślą jaźń — Łódź, Śródmieście

h1 · Trirong 500 · 36–64px · 1.2

Zażółć gęślą jaźń — Łódź, Śródmieście

h2 · Trirong 500 · 30–48px · 1.25

Zażółć gęślą jaźń — Łódź, Śródmieście

h3 · Golos Text 500 · 24–32px · 1.3

Zażółć gęślą jaźń — Łódź, Śródmieście

h4 · Golos Text 500 · 20–24px · 1.35

Zażółć gęślą jaźń — Łódź, Śródmieście

h5 · Golos Text 500 · 18px · 1.4

Zażółć gęślą jaźń — Łódź, Śródmieście

h6 · Golos Text 500 · 16px · 1.5

Zażółć gęślą jaźń — Łódź, Śródmieście

body-lg · Golos Text 400 · 18–20px · 1.5

Zażółć gęślą jaźń — Łódź, Śródmieście

body · Golos Text 400 · 16px · 1.5

Zażółć gęślą jaźń — Łódź, Śródmieście

body-sm · Golos Text 400 · 14px · 1.5

Zażółć gęślą jaźń — Łódź, Śródmieście

label · Golos Text 500 · 16px · 1.5

Zażółć gęślą jaźń — Łódź, Śródmieście

caption · Golos Text 400 · 13px · 1.54

Zażółć gęślą jaźń — Łódź, Śródmieście

Mieszkanie trzypokojowe z balkonem i miejscem parkingowym w Łodzi, w dzielnicy Śródmieście

To próba zawijania polskiego tekstu na małym ekranie. Golos Text Bold 700 wyróżnia treść, a SemiBold 600 statusy.

Ikony

Hugeicons · bezpłatny Stroke Rounded · linia --icon-stroke: 1.5. Kolor currentColor dziedziczy semantyczną rolę tekstu lub przycisku.

Search01Icon
Location01Icon
HeartIcon
Mail01Icon
Menu01Icon

xs · 14px

sm · 16px

md · 20px

lg · 24px

xl · 32px

display · 48px

Nie udało się wysłać wiadomości

Ikony są dekoracyjne (aria-hidden). Przycisk bez tekstu wymaga aria-label; błąd lub status zawsze ma opis tekstowy. Tab pokazuje rzeczywisty focus. Nie używaj emoji jako ikon interfejsu.

Układ

Odstępy

space-8 · 8px

space-16 · 16px

space-24 · 24px

space-32 · 32px

space-48 · 48px

space-64 · 64px

space-80 · 80px

Promienie

control · 8px
card · 16px
button · 8px
pill · 100000px

Kontenery

Container sm · 640px maks.
Container md · 960px maks.
Container lg · 1200px maks.

Uzupełnienia UI (brandbook ich nie określa): gutters 16px, od 768px 32px. Cienie kart: none; dla logo efekty są zabronione (s. 10). Border: 1px; focus: 3px + 4px odstępu. Przejścia: 160ms, cubic-bezier(.2, 0, 0, 1); wyłączone przy reduced motion.

Przyciski

primary

sm / md / lg
disabled / loading

secondary

sm / md / lg
disabled / loading

outline

sm / md / lg
disabled / loading

ghost

sm / md / lg
disabled / loading

destructive

sm / md / lg
disabled / loading

Z ikoną

startIcon / endIcon

Hover: najedź na aktywny przycisk lub pole. Active: przytrzymaj przycisk. Focus: użyj Tab i Shift+Tab — obrys pojawia się przy rzeczywistym fokusie klawiatury. Disabled i loading blokują aktywację.

Formularze

Opis pozostaje widoczny.

Nie udało się rozpoznać wpisanej wartości. Sprawdź jej poprawność i spróbuj ponownie.

Uzupełnij opis.

Wybierz jedną opcję.

Kliknij etykietę lub użyj spacji.

Zaznacz pole.

Etykiety

neutral · Status tekstowyprimary · Status tekstowysuccess · Status tekstowywarning · Status tekstowydanger · Status tekstowyinfo · Status tekstowy

Karty

Karta z nagłówkiem i stopką

Nagłówek, opis, treść i stopka są osobnymi komponentami.

Przykład

Wysokość karty dopasowuje się do treści. CardTitle pozwala wybrać poziom nagłówka przez prop as.

Przykłady

Karta nieruchomości

Miejsce na fotografię
Placeholder · nie jest ofertą

Dane demonstracyjne

Mieszkanie dwupokojowe

Przykładowa lokalizacja · Warszawa

Powierzchnia
54 m²
Pokoje
2
Cena
Przykład UI
Opis przykładowej karty

Fikcyjne mieszkanie służy wyłącznie prezentacji typografii, statusów i układu danych. Brak rzeczywistej oferty sprzedaży.

Wyszukiwarka

Tryb demonstracyjny

Wyszukiwarka

Formularz pokazuje wybrane kryteria lokalnie, bez pobierania ofert.

Warianty wspólne

Strona główna
Lokalizacja
Wszystkie lokalizacje

FieldDisplay to nieedytowalne podsumowanie pola z prototypu, bez roli select i bez sugerowania obsługi nieopisanych opcji. ButtonLink zachowuje natywną nawigację linku i wygląd przycisku. Wariant inverse zapewnia jasną granicę i tekst na surface-inverse.

Formularz demonstracyjny

Pola controlled i uncontrolled, walidacja, loading i komunikat wyniku. Dane nie są wysyłane.

Pola z * są wymagane. Formularz działa wyłącznie lokalnie; przetestuj błędy, klawiaturę i stan oczekiwania.

Przykład pola controlled. Wpisz np. Łucja.

Natywny select, przykład uncontrolled.

Opcjonalne. Dane pozostają w tej karcie przeglądarki.