/
zxclovly
/
BlinkCode
Обзор
Документация
Войти
/
zxclovly
/
BlinkCode
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/components/BrowserPreview/BrowserPreview.css
155 строк
3 KB
lovlygod
Add embedded browser preview and bump version to 0.2.0
21 апр 2026, 23:00
21 апр 2026, 23:00
f016874
Код
Авторство
О чём код?
.browser-preview { display: flex; flex: 1; height: 100%; min-height: 0; min-width: 0; flex-direction: column; background: linear-gradient(180deg, color-mix(in srgb, var(--bg-editor) 95%, var(--bg-panel)), var(--bg-editor)); } .browser-preview-toolbar { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-bottom: 1px solid var(--border-subtle); background: color-mix(in srgb, var(--bg-toolbar) 90%, transparent); } .browser-preview-toolbar-group { display: flex; align-items: center; gap: 8px; } .browser-preview-button { width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--border-light); border-radius: 8px; background: var(--surface-base); color: var(--text-secondary); cursor: pointer; transition: background .15s ease, border-color .15s ease, color .15s ease; } .browser-preview-button:hover:not(:disabled) { background: var(--hover-bg-strong); color: var(--text-primary); } .browser-preview-button:disabled { opacity: 0.45; cursor: not-allowed; } .browser-preview-button-danger:hover:not(:disabled) { border-color: var(--danger-bg-strong); color: var(--danger); } .browser-preview-address { flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; padding: 0 12px; height: 36px; border: 1px solid var(--border-light); border-radius: 10px; background: var(--bg-input); } .browser-preview-address input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--text-primary); font: inherit; } .browser-preview-address input::placeholder, .browser-preview-address-icon { color: var(--text-muted); } .browser-preview-body { position: relative; display: flex; flex: 1; height: 100%; min-height: 0; min-width: 0; overflow: hidden; background: var(--bg-editor); } .browser-preview-frame { display: block; flex: 1; width: 100%; height: 100%; min-width: 0; min-height: 0; border: 0; background: #fff; } .browser-preview-empty-state, .browser-preview-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 24px; text-align: center; color: var(--text-secondary); } .browser-preview-empty-state h2, .browser-preview-overlay strong { color: var(--text-primary); } .browser-preview-empty-state p, .browser-preview-overlay p { max-width: 560px; line-height: 1.5; } .browser-preview-empty-state-error, .browser-preview-overlay-error { background: linear-gradient(180deg, color-mix(in srgb, var(--danger-bg) 60%, transparent), transparent); } .browser-preview-overlay { inset: auto 16px 16px 16px; flex-direction: row; justify-content: flex-start; align-items: flex-start; padding: 14px 16px; border: 1px solid var(--danger-bg-strong); border-radius: 12px; background: color-mix(in srgb, var(--bg-panel) 92%, var(--danger-bg)); box-shadow: var(--shadow); z-index: 2; } .browser-preview-spin { animation: browser-preview-spin 1s linear infinite; } @keyframes browser-preview-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }