feat(insights): fix DBSCAN, Persian embeddings crash, D3 physics layouts, and D3 node not found runtime error
Some checks failed
CI / Lint, Test & Build (push) Failing after 1m7s
CI / Deploy production (on server) (push) Has been skipped

This commit is contained in:
Antigravity
2026-05-24 18:57:33 +00:00
parent e2672cd2c2
commit e881004c77
63 changed files with 5729 additions and 563 deletions

View File

@@ -1187,6 +1187,113 @@ html.font-system * {
border-end-end-radius: 4px;
}
/* --- Clipped RTL content (persan, arabe) --- */
.notion-editor-wrapper .ProseMirror .clip-article--rtl,
.notion-editor-wrapper .ProseMirror [dir='rtl'],
.fullpage-editor .ProseMirror .clip-article--rtl,
.fullpage-editor .ProseMirror [dir='rtl'] {
direction: rtl;
text-align: right;
font-family: 'Vazirmatn', var(--font-sans), sans-serif !important;
line-height: 1.85;
}
.notion-editor-wrapper .ProseMirror p[dir='rtl'],
.notion-editor-wrapper .ProseMirror h1[dir='rtl'],
.notion-editor-wrapper .ProseMirror h2[dir='rtl'],
.notion-editor-wrapper .ProseMirror h3[dir='rtl'],
.notion-editor-wrapper .ProseMirror blockquote[dir='rtl'],
.fullpage-editor .ProseMirror p[dir='rtl'],
.fullpage-editor .ProseMirror h1[dir='rtl'],
.fullpage-editor .ProseMirror h2[dir='rtl'],
.fullpage-editor .ProseMirror h3[dir='rtl'],
.fullpage-editor .ProseMirror blockquote[dir='rtl'] {
direction: rtl;
text-align: right;
font-family: 'Vazirmatn', var(--font-sans), sans-serif !important;
line-height: 1.85;
}
.notion-editor-wrapper .ProseMirror .clip-article--rtl p,
.notion-editor-wrapper .ProseMirror .clip-article--rtl li,
.notion-editor-wrapper .ProseMirror .clip-article--rtl h1,
.notion-editor-wrapper .ProseMirror .clip-article--rtl h2,
.notion-editor-wrapper .ProseMirror .clip-article--rtl h3,
.fullpage-editor .ProseMirror .clip-article--rtl p,
.fullpage-editor .ProseMirror .clip-article--rtl li,
.fullpage-editor .ProseMirror .clip-article--rtl h1,
.fullpage-editor .ProseMirror .clip-article--rtl h2,
.fullpage-editor .ProseMirror .clip-article--rtl h3 {
direction: rtl;
text-align: right;
font-family: 'Vazirmatn', var(--font-sans), sans-serif !important;
}
/* Titres d'articles dans les listes (structure BBC Persian : ul > li > h2) */
.notion-editor-wrapper .ProseMirror .clip-article--rtl li > h1,
.notion-editor-wrapper .ProseMirror .clip-article--rtl li > h2,
.notion-editor-wrapper .ProseMirror .clip-article--rtl li > h3,
.notion-editor-wrapper .ProseMirror li[dir='rtl'] > h1,
.notion-editor-wrapper .ProseMirror li[dir='rtl'] > h2,
.notion-editor-wrapper .ProseMirror li[dir='rtl'] > h3,
.fullpage-editor .ProseMirror .clip-article--rtl li > h1,
.fullpage-editor .ProseMirror .clip-article--rtl li > h2,
.fullpage-editor .ProseMirror .clip-article--rtl li > h3,
.fullpage-editor .ProseMirror li[dir='rtl'] > h1,
.fullpage-editor .ProseMirror li[dir='rtl'] > h2,
.fullpage-editor .ProseMirror li[dir='rtl'] > h3 {
direction: rtl;
text-align: right;
font-family: 'Vazirmatn', var(--font-sans), sans-serif !important;
letter-spacing: 0;
}
.notion-editor-wrapper .ProseMirror .clip-article--rtl blockquote,
.fullpage-editor .ProseMirror .clip-article--rtl blockquote {
border-inline-start: none;
border-inline-end: 3px solid var(--primary);
padding-inline-start: 0;
padding-inline-end: 1em;
}
/* RTL lists — puces à droite, texte aligné */
.notion-editor-wrapper .ProseMirror .clip-article--rtl ul,
.notion-editor-wrapper .ProseMirror .clip-article--rtl ol,
.fullpage-editor .ProseMirror .clip-article--rtl ul,
.fullpage-editor .ProseMirror .clip-article--rtl ol,
.notion-editor-wrapper .ProseMirror ul[dir='rtl'],
.notion-editor-wrapper .ProseMirror ol[dir='rtl'],
.fullpage-editor .ProseMirror ul[dir='rtl'],
.fullpage-editor .ProseMirror ol[dir='rtl'],
.notion-editor-wrapper .ProseMirror ul:has(> li[dir='rtl']),
.notion-editor-wrapper .ProseMirror ol:has(> li[dir='rtl']),
.fullpage-editor .ProseMirror ul:has(> li[dir='rtl']),
.fullpage-editor .ProseMirror ol:has(> li[dir='rtl']) {
direction: rtl;
text-align: right;
marker-side: match-parent;
padding-inline-start: 0;
padding-inline-end: 1.5rem;
list-style-position: outside;
}
.notion-editor-wrapper .ProseMirror .clip-article--rtl li,
.notion-editor-wrapper .ProseMirror li[dir='rtl'],
.fullpage-editor .ProseMirror .clip-article--rtl li,
.fullpage-editor .ProseMirror li[dir='rtl'] {
direction: rtl;
text-align: right;
font-family: 'Vazirmatn', var(--font-sans), sans-serif !important;
}
.notion-editor-wrapper .ProseMirror .clip-article--rtl li > p,
.notion-editor-wrapper .ProseMirror li[dir='rtl'] > p,
.fullpage-editor .ProseMirror .clip-article--rtl li > p,
.fullpage-editor .ProseMirror li[dir='rtl'] > p {
direction: rtl;
text-align: right;
}
/* --- Code --- */
.notion-editor-wrapper .ProseMirror code {
background: var(--muted);
@@ -2007,6 +2114,22 @@ html.font-system * {
line-height: 1.4 !important;
}
/* RTL headings — override serif editorial styles (chiffres persans, flux bidi) */
.fullpage-editor .ProseMirror h1[dir='rtl'],
.fullpage-editor .ProseMirror h2[dir='rtl'],
.fullpage-editor .ProseMirror h3[dir='rtl'],
.fullpage-editor .tiptap h1[dir='rtl'],
.fullpage-editor .tiptap h2[dir='rtl'],
.fullpage-editor .tiptap h3[dir='rtl'],
.fullpage-editor .ProseMirror .clip-article--rtl h1,
.fullpage-editor .ProseMirror .clip-article--rtl h2,
.fullpage-editor .ProseMirror .clip-article--rtl h3 {
direction: rtl !important;
text-align: right !important;
font-family: 'Vazirmatn', var(--font-sans), sans-serif !important;
letter-spacing: 0 !important;
}
/* ──────────────────────────────────────────────
SONNER TOASTS — Architectural Grid Styling
────────────────────────────────────────────── */