Організм · рівень 3

Системна сторінка

Файл є, класи є, і кольору в ньому немає жодного рядка: шапка обіцяє колірний блок нижче, а колірного блоку у файлі нема - тільки структурний. Усі 16 класів зустрічаються рівно на чотирьох сірих екранах - wireframes/404.html, wireframes/500.html, wireframes/maintenance.html і wireframes/system.html, - і в жодного з них немає кольорового двійника: design/404.html, design/500.html, design/maintenance.html і design/system.html не існують. Файл виділили при розколі на кроці 3 етапу 08, він поїхав у кольорову систему разом з рештою, і колір цього організму не намальовано ніде.

рівень 3design/system/components/system-page.css127 рядків27 селекторів100 оголошеньжодного екрана
З чого складається

Складу немає з чого міряти: корінь .sys-min шукали на всіх сорока кольорових екранах і не знайшли, тож речення нижче означає не «організм простий», а «організму в кольорі не існує».

Замір не відбувся. Кореня цього організму немає в спокої на жодному кольоровому екрані, тож обхід сорока екранів не мав що обійти. Склад читається з файлу й з розмітки, знятої після виклику будівника, а не з цієї таблиці.

Анатомія

Розмітка тут - не переписана від руки. Її знято з design/index.html у цій же сесії, обробники зняті, посилання підняті на рівень.

Показано в рамці шириною 1180, і ширина названа не для краси: це ширина, на якій цей організм у продукті стоїть. Медіа-умова читає в'юпорт, а не контейнер, тож жодне правило самого стенда цього не вирішує - тільки справжній в'юпорт, а він є лише в рамки.

1Дві половини, які не зустрічаються. Вісім класів - екран повідомлення: .sys-min, .sys-logo, .sys-code, .sys-h, .sys-s, .sys-acts, .sys-search, .sys-links. Вісім - каталог станів: .sysgrid, .syscard, .sc-code, .sc-t, .sc-d, .sc-open, .sysdemo, .demo-btns. Друга вісімка є тільки на wireframes/system.html і з першою на одному екрані не перетинається жодного разу
2І чотири екрани теж не однакові. wireframes/404.html носить .sys-code, .sys-h, .sys-s, .sys-search і .sys-links - і не має обгортки .sys-min; 500.html та maintenance.html носять однаковий набір із шести, з .sys-min і .sys-logo. Жоден екран не бере більше половини файлу
3Стовп .sys-min - min-height: 78vh, колонка по центру за обома осями. Єдина міра висоти у файлі і єдиний vh у ньому. Код повідомлення .sys-code - font-size: 60px, і це єдиний кегль у файлі не з --fs-*
4Каталог .sysgrid - одна колонка, від 720 три; картка .syscard з чотирма частинами (.sc-code, .sc-t, .sc-d з flex: 1, .sc-open) і смуга .sysdemo з .demo-btns під нею
5Поле пошуку .sys-search - тепер це лише ширина і центр: max-width: 28.75rem, margin-inline: auto. Оболонку з привареною кнопкою на кроці 12.9 віддано .field-grp з field.css: своя була б п'ятою рукописною редакцією того самого поля, і field.css перелічує чотири попередні поіменно. Разом з оболонкою пішла й друга медіа-умова файлу, на кегль поля - вона дублювала base.css і програвала йому селектором на один елемент довшим
6Фарба говорить іменами прототипу. П'ять семантичних ролей файлу - --text-primary, --text-secondary, --text-muted, --line-hair, --line-strong. Продуктового --text-body тут немає жодного разу, хоч tokens.css дає обом іменам одне значення --warm-900. Це не помилка кольору, це слід того, що колірного блоку не було кому написати
Дві решти файлу, і обидві бачать систему вперше

Рамка вгорі показує шаблон 500 - шість класів із шістнадцяти. Решта десять лежать на двох інших сірих екранах, у яких так само немає кольорового двійника: .sys-search і .sys-links на wireframes/404.html, а вісім .sysgrid / .syscard / .sysdemo / .sc-* / .demo-btns - на wireframes/system.html. Обидві рамки вантажать system/index.css, тобто це перший раз, коли ці класи видно під системою, а не під _wf.css.

.sys-search - форма пошуку прямо на сторінці помилки, .sys-links - п'ять швидких посилань під нею. Разом вони і є те, що system.html називає «не глухий кут»
Обробники зняті: кнопки там запускають справжні тости й відкривають діалог cookie, а стенд не має виконувати побічні дії сторінки, щоб показати її форму

І під системою відразу видно те, що казав перепис

П'ять кнопок у двох .demo-btns малюються голим текстом - «Показати банер знову», «Показати ok» і решта. Вони носять class="btn" без рангу, а в button.css правила .btn немає взагалі: оздоблення і є ранг. Це не новий дефект і не дефект цієї сторінки - це рівно та сім'я, яку крок 8.14 закрив на 36 контролах, і рівно ті «22 контроли тиражу», що лишились на 54 сірих екранах без кольорового двійника. Вони закриються разом зі своїми екранами; тут вони просто вперше видно.
Стани
СтанЩо робитьЧому так
404 · не знайдено.sys-code з номером, .sys-h, .sys-s, поле .sys-search і рядок .sys-linksєдиний з чотирьох, що дає вихід пошуком, і єдиний без обгортки .sys-min
500 · збійтой самий каркас, але з .sys-min, .sys-logo і .sys-acts замість пошукушукати немає чого: зламався не запит, а відповідь, тож замість поля дві дії
обслуговуваннянабір класів рівно той самий, що й у 500дві сторінки з однаковою розміткою і різним текстом; файл про цю різницю не знає нічого
каталог станів.sysgrid з картками .syscard і смуга .sysdemo з .demo-btnsце не екран продукту, а вітрина прототипу: wireframes/system.html
наведення, фокус, натискнічогоу файлі немає жодного псевдо-класу стану. Посилання .sys-links a і .sc-open підкреслені й нерухомі
темна темане баченаролі у файлі семантичні, тож тема мала б застосуватись сама; перевірити це немає на чому - кольорового екрана з цими класами не існує
Межі

У файлі 1 медіа-умова, і вона - межа, якої стандартні ширини перепису (360 / 390 / 720 / 1280) не бачать зсередини смуги. Заміряти її треба власними ширинами, по одній з кожного боку. Другої тут більше немає: умова на кегль поля пішла разом з його оболонкою на 12.9, а сторінка казала «дві» ще два кроки після того. Її число тут не повторено навмисно - саме на повторі знятого числа ця сторінка й попалась.

Обмеження

Правила вживання, які називають саме цей компонент: U9. Автор правил один, і це architecture.html, розділ I; тут - витяг.

Ряд дій службової сторінки ще не переведений: кольорових входжень нуль, тож доводити пікселями нема чого.

Дві форми сторінки, і різницю вирішує не вигляд -> 12.9

.sys-min - гола центрована колонка на 78vh, без шапки і без підвалу. Це правильно для 500 і для технічних робіт: зламався сам магазин, і смуга навігації пропонувала б двері, які не відчиняються.

404 - протилежний випадок, і сірий каже це у власному коментарі: «ніколи не глухий кут». Магазин працює, не працює одна адреса. Тому сторінка лишає шапку, підвал і пошук, а помилка стає СЕКЦІЄЮ всередині звичайної сторінки. Вирішує принцип 2 - один ясний наступний крок: на 500 це «спробувати ще раз», на 404 це будь-які з дюжини дверей, які всі досі відчиняються.

.sys-min не можна перевикористати з увімкненою хромованістю: це min-height: 78vh плюс justify-content: center, і на сторінці, яка ще несе шапку й підвал, воно виштовхує все за згин.

404

Такої сторінки немає

Можливо, товар зняли з продажу або в посиланні є помилка. Спробуйте пошук або оберіть ціль.

Код як гліф, і це закриває inline-стиль, якого сірий не міг уникнути. maintenance.html пише style="font-size:44px" на .sys-code, бо ключ на 60 - це не цифра на 60: цифра несе вагу штрихом, піктограма - своєю коробкою. 44 тут не вигадане: це ВЕРХ --fs-display, драбини, на яку система вже вилазить, тож гліф стає на щабель замість числа, яке хтось набрав один раз.

🛠️

Ненадовго на технічних роботах

Оновлюємо магазин. Зазвичай це займає менше години.

Потрібна допомога? 0 800 000 000 · Telegram · Viber

HTTP 503 · Retry-After [?]

І розмір знака ФІКСОВАНИЙ, а не плинний - перше написання дало .sys-code--mark значення --fs-display, тобто clamp, і агент це зміряв: ключ виходив 30px на телефоні проти 44 у сірому, на третину менший, на пристрої, під який продукт будують першим - тоді як цифра «500» на сусідньому екрані 60 на всіх ширинах. Дві сторінки-близнюки, один слот, один знак фіксований і один плинний - це не рішення, яке хтось ухвалив. 44 не є щаблем цієї системи (tokens.css відмовився карбувати --fs-36 і --fs-50 заради одного вжитку), тож гліф бере щабель під цифрою і поводиться так, як поводиться його близнюк.

.sys-foot і .sys-foot--fine - тихий рядок під рядом дій. Сірий пише його як .sys-s з style="margin-top:18px;font-size:12.5px", і без цього інлайну виходить чотири пікселі повітря замість вісімнадцяти: .sys-min має gap: --space-4, а .sys-s не має верхнього відступу взагалі. Тобто інлайн був не оздобленням, а загубленим правилом. 11.5 проти 12.5 - це дрейф сірого на драбині, де щабель один; справжня різниця між двома рядками - колір.

Поле пошуку перестало бути оболонкою -> 12.9

Розкол етапу 08 обіцяв «selectors are unchanged», і саме це правило його не пережило: сірий малює .sys-search .go - приварений сабміт - а кольоровий шар не малював нічого, тож слово «Знайти» висіло в коробці без ґрунту, без падінга і без ваги. Заміряно у власній рамці кіта: background rgba(0,0,0,0), padding 0px, 16px/400, без бордера.

Два ремонти були можливі, і лише один зменшує борг. Повернути .sys-search .go означало б зробити це п'ятою рукописною редакцією «поля пошуку з привареною кнопкою»; field.css перелічує чотири, зве їх злиття «Крок 6» і закриває той самий абзац словами «brands.html - перший екран, що тягнеться по неї до системи замість писати п'яту». Вузол S - другий. Оболонка тепер приходить із .field-grp, рівно як шапка вже робить у рантаймі. Чотири редакції стали трьома.

Тут лишилось те, що знає лише ця поверхня: якою завширшки поле на сторінці помилки і що воно стоїть посередині. Жоден кольоровий екран не носив старого правила, тож нічого не довелось перебирати, щоб це сказати.

Холостий контроль

Сторінка звіряє себе з файлом: 21 власний клас і 0 станів.

ПОВЕДІНКА НА ШИРИНІ - етап 10, крок 4

Від якого порогу: --bp-grid-2col. Що саме міняється: три системні плитки стають рядом. Було 720, поза реєстром. І окремо про нуль: єдиний екран цього файлу - wireframes/system.html, у якого немає кольорового двійника, тож обхід кольорового корпусу не бачить його взагалі. Це говорить корпус приладу, а не мертвий файл.
Токени

Прочитані з system-page.css: 5 семантичних ролей і 19 примітивів.

Семантичні ролі (5)Примітиви (19)
--line-hair --text-action --text-muted --text-primary --text-secondary--dur-fast --ease-standard --fs-12 --fs-14 --fs-16 --fs-24 --fs-34 --fw-black --fw-bold --lh-airy --lh-flat --ls-display --radius-12 --space-12 --space-16 --space-24 --space-4 --space-40 --space-8
Що знайшов вирішувач

Жодного оголошення, яке збігається й програє - бо жодне не збігається взагалі. Вирішувач пройшов усі сорок кольорових екранів у дві ширини і поклав усі 210 розгорнутих оголошень цього файлу в один список: «не збігається з жодним елементом». Це не вирок правилам - їх просто ніхто не міг перевірити. Файл при цьому підключений: design/system/index.css імпортує його рядком 90, тож він вантажиться на кожному кольоровому екрані й не малює нічого.

Порівняйте з cookie-banner.css, чиї класи теж не малюються в кольорі: банер хоча б існує в рантаймі, його ставить скрипт. Тут не так - жоден із 16 класів не будується жодним JavaScript, у всьому репозиторії ці імена не зустрічаються в жодному .js. Отже це не стан, який чекає на подію, і не розмітка, яку хтось створить: розмітки немає ніде, крім чотирьох сірих екранів. Рішення - малювати ті чотири екрани в кольорі або тримати файл поза системою, доки їх немає - належить власникові, і цей стенд його не приймає.

Немає в коді -> етап 09

Чого бракує

  • Чотирьох екранів у кольорі немає - design/404.html, design/500.html, design/maintenance.html, design/system.html. Або малювати їх, або тримати файл поза системою, доки їх немає
  • Колірного блоку у файлі немає, хоч шапка його обіцяє. Поки екранів немає, писати його нема з чого: не видно, де кольоровий продукт відрізняється від сірого прототипу
  • 500 і «обслуговування» - однакова розмітка. Або один екран з двома текстами, або дві справді різні розмітки. Зараз ні того, ні того
  • Дві половини під одним іменем - екран повідомлення і каталог станів прототипу. Друга половина це інструмент, а не продукт, і в продуктовій системі їй місця може не бути

Не домальовано наперед і не замовчано: етап 09 стартує з цього списку, зведеного в design/kit/docs/architecture.md.