/
Cybran65
/
Project_0
Обзор
Документация
Войти
/
Cybran65
/
Project_0
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/components/PropertiesPanel/PropertiesPanel.module.css
187 строк
3 KB
Cybran65
feat: интерфейс по макету Figma и функции ЛИРА-САПФИР
08 авг 2026, 23:31
08 авг 2026, 23:31
fd3db2b
Код
Авторство
О чём код?
.panel { display: grid; grid-template-rows: auto auto minmax(0, 1fr) auto; width: var(--w-properties); min-height: 0; background: var(--c-surface); border-right: 1px solid var(--c-border); } .close { border: 0; background: transparent; font-size: var(--fs-sm); color: var(--c-text-dim); padding: 0 2px; } .close:hover { color: var(--c-error); } /* Ряд кнопок-фильтров под заголовком, как в макете */ .head { display: flex; align-items: center; gap: 8px; height: 20px; padding: 0 8px; background: var(--c-panel-alt); } .objectName { display: flex; align-items: center; gap: 5px; font-size: var(--fs-sm); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .objectGlyph { color: var(--c-accent); } .objectHead { display: flex; align-items: center; gap: 6px; margin-left: auto; } .objectKind { font-size: var(--fs-xs); color: var(--c-text-mute); white-space: nowrap; } .delete { height: 15px; padding: 0 5px; border: 1px solid var(--c-border-strong); border-radius: var(--r-sm); background: var(--c-surface); font-size: var(--fs-xs); color: var(--c-text-dim); } .delete:hover { border-color: #d9a5a3; background: #fbeceb; color: var(--c-error); } .body { overflow: auto; background: var(--c-surface); } .group { border-bottom: 1px solid var(--c-border-soft); } .groupTitle { display: flex; align-items: center; height: var(--h-row); margin: 0; padding: 0 6px; font-size: var(--fs-xs); font-weight: 600; color: var(--c-text-dim); background: var(--c-group); } .count { color: var(--c-accent); } .grid { padding: 0; } /* Строка свойства: 18 px, подпись слева, значение за разделителем на 118 px */ .row { display: grid; grid-template-columns: 112px minmax(0, 1fr); align-items: center; gap: 6px; min-height: var(--h-row); padding: 0 6px; border-left: 0; } .row:nth-child(odd) { background: var(--c-row-alt); } .row:hover { background: var(--c-hover); } .rowLabel { font-size: var(--fs-xs); color: var(--c-text-dim); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .rowValue { display: flex; align-items: center; gap: 4px; min-width: 0; padding-left: 6px; border-left: 1px solid var(--c-border-soft); min-height: var(--h-row); } .rowValue input[type='text'], .rowValue select { width: 100%; height: 16px; font-size: var(--fs-xs); border-color: transparent; background: transparent; } .rowValue input[type='text']:hover, .rowValue select:hover { border-color: var(--c-border-strong); background: var(--c-surface); } .readonly { font-size: var(--fs-xs); color: var(--c-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .switch { display: inline-flex; align-items: center; gap: 5px; font-size: var(--fs-xs); color: var(--c-text-dim); } .unit { font-size: var(--fs-xs); color: var(--c-text-mute); } .footer { height: var(--h-caption); display: flex; align-items: center; padding: 0 8px; font-size: var(--fs-xs); font-weight: 600; color: var(--c-text-dim); background: var(--c-panel-alt); }