feat(editor): v4.8.0 Bloc Tableau simple (edition Notion via /table)
- Bloc table editable: slash /table, cellules contenteditable, auto-save - Colonnes: poignee par colonne -> Insert left/right, Duplicate, Clear, Delete - Lignes: + Row (bas) + menu contextuel -> Insert above/below, Dup, Clear, Del - md2b importe les tableaux GFM pipe en bloc table (au lieu de paragraphes) - Roundtrip markdown (JS + export Python MD/HTML/PDF) - CSS .ftable-editor + menu flottant (app.css?v=4.8.0) - VERSION/CHANGELOG/ROADMAP bump 4.8.0 (Collaboration -> v4.9.0, Agent -> v4.10.0)
This commit is contained in:
@@ -4442,3 +4442,47 @@ button.breadcrumb-current { max-width: 260px; }
|
||||
}
|
||||
.db-side-peek-close:hover, .db-side-peek-full:hover { background: var(--bg-hover); }
|
||||
.db-side-peek iframe { flex: 1; }
|
||||
|
||||
/* ─── Simple Table block (v4.8.0) ─── */
|
||||
.ftable-editor { flex: 1; min-width: 0; min-height: 0; padding: 4px 2px; }
|
||||
.ftable-editor table.ftable-edit { width: 100%; table-layout: fixed; border-collapse: collapse; margin: 0; }
|
||||
.ftable-edit th.ftable-cell, .ftable-edit td.ftable-cell {
|
||||
border: 1px solid var(--border); padding: 6px 10px; vertical-align: top;
|
||||
font-size: 15px; line-height: 1.5; color: var(--text-primary);
|
||||
outline: none; text-align: left; word-break: break-word; overflow-wrap: break-word;
|
||||
}
|
||||
.ftable-edit th.ftable-cell { background: var(--bg-secondary); font-weight: 600; }
|
||||
.ftable-edit .ftable-cell:hover { background: var(--bg-hover); }
|
||||
.ftable-edit .ftable-cell:focus { background: var(--bg-hover); box-shadow: inset 0 0 0 1px var(--blue); }
|
||||
.ftable-editor .ftable-colbar { display: flex; margin: 0 0 3px; }
|
||||
.ftable-editor .ftable-colcell { flex: 1 1 0; min-width: 0; display: flex; justify-content: flex-end; }
|
||||
.ftable-editor .ftable-colgrip {
|
||||
width: 22px; height: 22px; margin: 0 2px 0 auto; display: flex; align-items: center;
|
||||
justify-content: center; color: var(--text-dim); cursor: pointer; border-radius: 4px;
|
||||
background: transparent; border: none; opacity: 0; transition: opacity .12s ease;
|
||||
}
|
||||
.ftable-editor .ftable-colcell:hover .ftable-colgrip,
|
||||
.ftable-editor .ftable-colgrip:hover,
|
||||
.ftable-editor .ftable-colgrip:focus-visible { opacity: 1; }
|
||||
.ftable-editor .ftable-colgrip:hover { background: var(--bg-hover); color: var(--text-secondary); }
|
||||
.ftable-editor .ftable-rowbar { display: flex; justify-content: center; margin-top: 2px; opacity: 0; transition: opacity .12s ease; }
|
||||
.ftable-editor:hover .ftable-rowbar { opacity: 1; }
|
||||
.ftable-editor .ftable-addrow {
|
||||
border: none; background: transparent; color: var(--text-dim); cursor: pointer;
|
||||
font-size: 13px; padding: 4px 12px; border-radius: 6px;
|
||||
}
|
||||
.ftable-editor .ftable-addrow:hover { background: var(--bg-hover); color: var(--text-primary); }
|
||||
.ftable-menu {
|
||||
min-width: 190px; background: var(--bg-modal); border: 1px solid var(--border);
|
||||
border-radius: 8px; box-shadow: var(--shadow-modal); padding: 4px;
|
||||
font-size: 13.5px; color: var(--text-primary);
|
||||
}
|
||||
.ftable-menu-item { padding: 6px 12px; border-radius: 5px; cursor: pointer; user-select: none; }
|
||||
.ftable-menu-item:hover { background: var(--bg-hover); }
|
||||
.ftable-menu-item.danger { color: var(--danger); }
|
||||
.ftable-menu-item.danger:hover { background: rgba(229,72,77,.1); }
|
||||
.ftable-menu-sep { height: 1px; background: var(--border); margin: 4px 8px; }
|
||||
@media (max-width: 768px) {
|
||||
.ftable-editor .ftable-colgrip { opacity: 1; }
|
||||
.ftable-editor .ftable-rowbar { opacity: 1; }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user