rojects/source/components/page-editor-panel/page-editor-panel.css

195 lines
4.4 KiB
CSS

page-editor-panel {
display: flex;
flex-direction: row;
height: 100%;
background: #0f1117;
}
/* ── Sidebar (mode switcher) ─────────────────────────────────────────────── */
.pep-sidebar {
display: flex;
flex-direction: column;
width: 36px;
background: #13151f;
border-right: 1px solid #2a2d3a;
flex-shrink: 0;
padding: 6px 0;
gap: 4px;
align-items: center;
}
.pep-mode-btn {
width: 28px;
height: 28px;
background: transparent;
border: 1px solid transparent;
border-radius: 4px;
color: #555;
cursor: pointer;
font-size: 0.9rem;
display: flex;
align-items: center;
justify-content: center;
padding: 0;
}
.pep-mode-btn:hover { color: #9ba4c7; background: #1a1d27; }
.pep-mode-btn.active { color: #7c8cff; border-color: #7c8cff; }
/* ── Main column ─────────────────────────────────────────────────────────── */
.pep-main {
display: flex;
flex-direction: column;
flex: 1;
min-width: 0;
}
/* ── Toolbar ─────────────────────────────────────────────────────────────── */
.pep-toolbar {
display: flex;
align-items: center;
gap: 4px;
padding: 4px 8px;
background: #13151f;
border-bottom: 1px solid #2a2d3a;
flex-shrink: 0;
}
.pep-toolbar button {
padding: 3px 10px;
background: transparent;
border: 1px solid #2a2d3a;
border-radius: 4px;
color: #9ba4c7;
cursor: pointer;
font-size: 0.8rem;
font-family: inherit;
}
.pep-toolbar button:hover:not(:disabled) { background: #1a1d27; color: #e2e4ed; }
.pep-toolbar button:disabled { opacity: 0.3; cursor: default; }
.pep-save:not(:disabled) { border-color: #7c8cff; color: #7c8cff; }
.pep-save:not(:disabled):hover { background: #1e2235; }
.pep-pin.pinned { border-color: #f0a050; color: #f0a050; }
.pep-pin.pinned:hover { background: #1e1a10; }
/* ── Mode panels ─────────────────────────────────────────────────────────── */
.pep-mode-panel {
background: #13151f;
border-bottom: 1px solid #2a2d3a;
flex-shrink: 0;
padding: 6px 8px;
}
/* Blocks panel — horizontal scrollable block list */
.pep-block-list {
display: flex;
flex-direction: row;
gap: 8px;
overflow-x: auto;
padding-bottom: 2px;
}
.pep-block-item {
display: flex;
flex-direction: column;
align-items: center;
gap: 4px;
cursor: pointer;
padding: 4px;
border: 1px solid #2a2d3a;
border-radius: 4px;
flex-shrink: 0;
}
.pep-block-item:hover { border-color: #7c8cff; background: #1a1d27; }
.pep-block-preview {
width: 88px;
height: 44px;
background: #1a1d27;
border-radius: 2px;
display: flex;
align-items: stretch;
padding: 5px;
box-sizing: border-box;
gap: 4px;
}
/* CSS layout sketch helpers used inside .pep-block-preview */
.pbp-full { display: flex; flex: 1; }
.pbp-two-col { display: flex; flex: 1; gap: 4px; }
.pbp-area { flex: 1; background: #3a3d4a; border-radius: 2px; }
.pep-block-text-preview {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
font-size: 0.65rem;
color: #9ba4c7;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.pep-block-name {
font-size: 0.7rem;
color: #9ba4c7;
white-space: nowrap;
}
/* Areas panel — rich text formatting toolbar */
.pep-areas-panel {
display: flex;
flex-direction: row;
gap: 4px;
}
.pep-fmt-btn {
padding: 2px 8px;
background: transparent;
border: 1px solid #2a2d3a;
border-radius: 4px;
color: #9ba4c7;
cursor: pointer;
font-size: 0.8rem;
font-family: inherit;
min-width: 28px;
}
.pep-fmt-btn:hover { background: #1a1d27; color: #e2e4ed; }
.pep-fmt-sep {
width: 1px;
height: 18px;
background: #2a2d3a;
align-self: center;
margin: 0 2px;
}
/* ── Content area ────────────────────────────────────────────────────────── */
.pep-empty {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
color: #555;
font-size: 0.9rem;
}
.pep-frame {
flex: 1;
border: none;
background: #fff;
width: 100%;
}