From 8b0d4e5c3b39a8625cb70d411aaae14916de5f98 Mon Sep 17 00:00:00 2001
From: "Andreas H."
Date: Sat, 29 Nov 2025 18:42:52 +0100
Subject: [PATCH 01/73] Translated using Weblate (German)
Currently translated at 100.0% (152 of 152 strings)
Translation: Trilium Notes/Website
Translate-URL: https://hosted.weblate.org/projects/trilium/website/de/
---
apps/website/src/translations/de/translation.json | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/apps/website/src/translations/de/translation.json b/apps/website/src/translations/de/translation.json
index 620eefd52..07737e106 100644
--- a/apps/website/src/translations/de/translation.json
+++ b/apps/website/src/translations/de/translation.json
@@ -21,7 +21,7 @@
"note_structure_description": "Notizen lassen sich hierarchisch anordnen. Ordner sind nicht nötig, da jede Notiz Unternotizen enthalten kann. Eine einzelne Notiz kann an mehreren Stellen in der Hierarchie hinzugefügt werden.",
"hoisting_description": "Trennen Sie Ihre persönlichen und beruflichen Notizen ganz einfach, indem Sie sie in einem Arbeitsbereich gruppieren. Dadurch wird Ihre Notizstruktur so fokussiert, dass nur ein bestimmter Satz von Notizen angezeigt wird.",
"hoisting_title": "Arbeitsbereiche und Fokusansicht",
- "attributes_description": "Nutzen Sie Verbindungen zwischen Notizen oder fügen Sie Labels hinzu, um die Kategorisierung zu erleichtern. Mit hervorgehobenen („promoted“) Attributen können Sie strukturierte Informationen erfassen, die sich direkt in Tabellen und Boards verwenden lassen."
+ "attributes_description": "Verwenden Sie Beziehungen zwischen Notizen oder fügen Sie Beschriftungen hinzu, um die Kategorisierung zu vereinfachen. Verwenden Sie hervorgehobene Attribute, um strukturierte Informationen einzugeben, die in Tabellen und Boards verwendet werden können."
},
"productivity_benefits": {
"revisions_title": "Notizrevisionen",
From 8e1d796870eeafe627953aaeb30a448a7d02cc8b Mon Sep 17 00:00:00 2001
From: pythaac
Date: Sat, 29 Nov 2025 15:31:38 +0100
Subject: [PATCH 02/73] Translated using Weblate (Korean)
Currently translated at 44.7% (68 of 152 strings)
Translation: Trilium Notes/Website
Translate-URL: https://hosted.weblate.org/projects/trilium/website/ko/
---
apps/website/src/translations/ko/translation.json | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/apps/website/src/translations/ko/translation.json b/apps/website/src/translations/ko/translation.json
index 75fa485e7..718f3444b 100644
--- a/apps/website/src/translations/ko/translation.json
+++ b/apps/website/src/translations/ko/translation.json
@@ -87,6 +87,8 @@
"description_arm64": "ARM 기반 리눅스 배포판에서 aarch64 아키텍처와 호환됩니다."
},
"note_types": {
- "text_title": "텍스트 노트"
+ "text_title": "텍스트 노트",
+ "text_description": "노트는 WYSIWYG 편집기를 사용하며 표, 이미지, 수학 표현식, 구문 강조 기능의 코드 블록을 지원합니다. 특수문자를 사용한 마크다운 유사 구문이나 슬래시(/) 명령으로 텍스트 서식을 빠르게 지정할 수 있습니다.",
+ "code_title": "코드 노트"
}
}
From 9a76a9069cc057c0aa41086e65432c268882b42d Mon Sep 17 00:00:00 2001
From: Hosted Weblate
Date: Sat, 29 Nov 2025 20:01:40 +0100
Subject: [PATCH 03/73] Update translation files
Updated by "Cleanup translation files" add-on in Weblate.
Translation: Trilium Notes/Client
Translate-URL: https://hosted.weblate.org/projects/trilium/client/
---
apps/client/src/translations/cn/translation.json | 1 -
apps/client/src/translations/de/translation.json | 1 -
apps/client/src/translations/es/translation.json | 1 -
apps/client/src/translations/it/translation.json | 1 -
apps/client/src/translations/ja/translation.json | 1 -
apps/client/src/translations/ro/translation.json | 1 -
apps/client/src/translations/tw/translation.json | 1 -
7 files changed, 7 deletions(-)
diff --git a/apps/client/src/translations/cn/translation.json b/apps/client/src/translations/cn/translation.json
index 6c82a00af..4cbe6ab50 100644
--- a/apps/client/src/translations/cn/translation.json
+++ b/apps/client/src/translations/cn/translation.json
@@ -2098,7 +2098,6 @@
"read-only-info": {
"read-only-note": "当前正在查看一个只读笔记。",
"auto-read-only-note": "这条笔记以只读模式显示便于快速加载。",
- "auto-read-only-learn-more": "了解更多",
"edit-note": "编辑笔记"
},
"note-color": {
diff --git a/apps/client/src/translations/de/translation.json b/apps/client/src/translations/de/translation.json
index 49e4ad635..9fa06df4c 100644
--- a/apps/client/src/translations/de/translation.json
+++ b/apps/client/src/translations/de/translation.json
@@ -2097,7 +2097,6 @@
"read-only-info": {
"read-only-note": "Aktuelle Notiz wird im Lese-Modus angezeigt.",
"auto-read-only-note": "Diese Notiz wird im Nur-Lesen-Modus angezeigt, um ein schnelleres Laden zu ermöglichen.",
- "auto-read-only-learn-more": "Mehr erfahren",
"edit-note": "Notiz bearbeiten"
},
"calendar_view": {
diff --git a/apps/client/src/translations/es/translation.json b/apps/client/src/translations/es/translation.json
index 54b548edc..ce5632e1d 100644
--- a/apps/client/src/translations/es/translation.json
+++ b/apps/client/src/translations/es/translation.json
@@ -2096,7 +2096,6 @@
"read-only-info": {
"read-only-note": "Actualmente, está viendo una nota de solo lectura.",
"auto-read-only-note": "Esta nota se muestra en modo de solo lectura para una carga más rápida.",
- "auto-read-only-learn-more": "Para saber más",
"edit-note": "Editar nota"
},
"calendar_view": {
diff --git a/apps/client/src/translations/it/translation.json b/apps/client/src/translations/it/translation.json
index 77f7ce444..a2a61b716 100644
--- a/apps/client/src/translations/it/translation.json
+++ b/apps/client/src/translations/it/translation.json
@@ -2092,7 +2092,6 @@
"read-only-info": {
"read-only-note": "Stai visualizzando una nota di sola lettura.",
"auto-read-only-note": "Questa nota viene visualizzata in modalità di sola lettura per un caricamento più rapido.",
- "auto-read-only-learn-more": "Per saperne di più",
"edit-note": "Modifica nota"
},
"calendar_view": {
diff --git a/apps/client/src/translations/ja/translation.json b/apps/client/src/translations/ja/translation.json
index 9896920d0..ab6c509dd 100644
--- a/apps/client/src/translations/ja/translation.json
+++ b/apps/client/src/translations/ja/translation.json
@@ -2098,7 +2098,6 @@
"read-only-info": {
"read-only-note": "現在、読み取り専用のノートを表示しています。",
"auto-read-only-note": "このノートは読み込みを高速化するために読み取り専用モードで表示されています。",
- "auto-read-only-learn-more": "さらに詳しく",
"edit-note": "ノートを編集"
},
"note-color": {
diff --git a/apps/client/src/translations/ro/translation.json b/apps/client/src/translations/ro/translation.json
index e550f796a..d0eff357f 100644
--- a/apps/client/src/translations/ro/translation.json
+++ b/apps/client/src/translations/ro/translation.json
@@ -2097,7 +2097,6 @@
"read-only-info": {
"read-only-note": "Vizualizați o notiță în modul doar în citire.",
"auto-read-only-note": "Această notiță este afișată în modul doar în citire din motive de performanță.",
- "auto-read-only-learn-more": "Mai multe detalii",
"edit-note": "Editează notița"
},
"calendar_view": {
diff --git a/apps/client/src/translations/tw/translation.json b/apps/client/src/translations/tw/translation.json
index 01f8198e3..5d7463c45 100644
--- a/apps/client/src/translations/tw/translation.json
+++ b/apps/client/src/translations/tw/translation.json
@@ -2098,7 +2098,6 @@
"read-only-info": {
"read-only-note": "目前正在檢視唯讀筆記。",
"auto-read-only-note": "此筆記以唯讀模式顯示以加快載入速度。",
- "auto-read-only-learn-more": "了解更多",
"edit-note": "編輯筆記"
},
"note-color": {
From cef242a9ce776c2c91ecc5f0f5ed0e0897b6b56c Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Sun, 30 Nov 2025 00:55:34 +0200
Subject: [PATCH 04/73] style/button group: fix the appearance of the active
button
---
apps/client/src/stylesheets/style.css | 5 -----
apps/client/src/stylesheets/theme-next-dark.css | 3 +++
apps/client/src/stylesheets/theme-next-light.css | 3 +++
apps/client/src/stylesheets/theme-next/forms.css | 8 ++++++++
4 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/apps/client/src/stylesheets/style.css b/apps/client/src/stylesheets/style.css
index e3372b4af..ea55db041 100644
--- a/apps/client/src/stylesheets/style.css
+++ b/apps/client/src/stylesheets/style.css
@@ -592,11 +592,6 @@ button.btn-sm {
color: var(--left-pane-text-color);
}
-.btn.active:not(.btn-primary) {
- background-color: var(--button-disabled-background-color) !important;
- opacity: 0.4;
-}
-
.ck.ck-block-toolbar-button {
transform: translateX(7px);
color: var(--muted-text-color);
diff --git a/apps/client/src/stylesheets/theme-next-dark.css b/apps/client/src/stylesheets/theme-next-dark.css
index fbb8d1546..72271ad2e 100644
--- a/apps/client/src/stylesheets/theme-next-dark.css
+++ b/apps/client/src/stylesheets/theme-next-dark.css
@@ -41,6 +41,9 @@
--cmd-button-keyboard-shortcut-color: white;
--cmd-button-disabled-opacity: 0.5;
+ --button-group-active-button-background: #ffffff4e;
+ --button-group-active-button-text-color: white;
+
--icon-button-color: currentColor;
--icon-button-hover-background: var(--hover-item-background-color);
--icon-button-hover-color: var(--hover-item-text-color);
diff --git a/apps/client/src/stylesheets/theme-next-light.css b/apps/client/src/stylesheets/theme-next-light.css
index f736538a8..780d519f7 100644
--- a/apps/client/src/stylesheets/theme-next-light.css
+++ b/apps/client/src/stylesheets/theme-next-light.css
@@ -41,6 +41,9 @@
--cmd-button-keyboard-shortcut-color: black;
--cmd-button-disabled-opacity: 0.5;
+ --button-group-active-button-background: #00000026;
+ --button-group-active-button-text-color: black;
+
--icon-button-color: currentColor;
--icon-button-hover-background: var(--hover-item-background-color);
--icon-button-hover-color: var(--hover-item-text-color);
diff --git a/apps/client/src/stylesheets/theme-next/forms.css b/apps/client/src/stylesheets/theme-next/forms.css
index b5991b4d7..fb53f167d 100644
--- a/apps/client/src/stylesheets/theme-next/forms.css
+++ b/apps/client/src/stylesheets/theme-next/forms.css
@@ -146,6 +146,14 @@ button.btn.btn-success kbd {
outline: 2px solid var(--input-focus-outline-color);
}
+/* Button groups */
+
+/* Active button */
+:root .btn-group button.btn.active {
+ background-color: var(--button-group-active-button-background);
+ color: var(--button-group-active-button-text-color);
+}
+
/*
* Input boxes
*/
From 6735b257b452455223f3faf3097f3684180fff63 Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Sun, 30 Nov 2025 01:09:07 +0200
Subject: [PATCH 05/73] style/promoted color attributes: fix the layout on
narrow width
---
apps/client/src/stylesheets/theme-next/shell.css | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/apps/client/src/stylesheets/theme-next/shell.css b/apps/client/src/stylesheets/theme-next/shell.css
index 83517e9ad..77d2a9ba6 100644
--- a/apps/client/src/stylesheets/theme-next/shell.css
+++ b/apps/client/src/stylesheets/theme-next/shell.css
@@ -1448,6 +1448,14 @@ div.promoted-attribute-cell .multiplicity:has(span) span {
justify-content: center;
}
+div.promoted-attribute-cell.promoted-attribute-label-color {
+ justify-content: space-between;
+}
+
+div.promoted-attribute-cell.promoted-attribute-label-color .input-group {
+ width: auto;
+}
+
/*
* Floating buttons
*/
From 07fb5ab0178092ceda4cb93959089317e9a4c130 Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Sun, 30 Nov 2025 01:44:20 +0200
Subject: [PATCH 06/73] client/dialogs: add support for custom title bar
buttons
---
.../src/stylesheets/theme-next/dialogs.css | 8 ++++++--
apps/client/src/widgets/react/Modal.tsx | 20 ++++++++++++++++++-
2 files changed, 25 insertions(+), 3 deletions(-)
diff --git a/apps/client/src/stylesheets/theme-next/dialogs.css b/apps/client/src/stylesheets/theme-next/dialogs.css
index ed617991c..768dc5530 100644
--- a/apps/client/src/stylesheets/theme-next/dialogs.css
+++ b/apps/client/src/stylesheets/theme-next/dialogs.css
@@ -25,6 +25,7 @@
.modal .modal-header .btn-close,
.modal .modal-header .help-button,
+.modal .modal-header .custom-title-bar-button,
#toast-container .toast .toast-header .btn-close {
display: flex;
justify-content: center;
@@ -55,15 +56,17 @@
font-family: boxicons;
}
-.modal .modal-header .help-button {
+.modal .modal-header .help-button,
+.modal .modal-header .custom-title-bar-button {
margin-inline-end: 0;
- font-size: calc(var(--modal-control-button-size) * .75);
+ font-size: calc(var(--modal-control-button-size) * .65);
font-family: unset;
font-weight: bold;
}
.modal .modal-header .btn-close:hover,
.modal .modal-header .help-button:hover,
+.modal .modal-header .custom-title-bar-button:hover,
#toast-container .toast .toast-header .btn-close:hover {
background: var(--modal-control-button-hover-background);
color: var(--modal-control-button-hover-color);
@@ -71,6 +74,7 @@
.modal .modal-header .btn-close:active,
.modal .modal-header .help-button:active,
+.modal .modal-header .custom-title-bar-button:active,
#toast-container .toast .toast-header .btn-close:active {
transform: scale(.85);
}
diff --git a/apps/client/src/widgets/react/Modal.tsx b/apps/client/src/widgets/react/Modal.tsx
index 9c1e4a230..d28244ac0 100644
--- a/apps/client/src/widgets/react/Modal.tsx
+++ b/apps/client/src/widgets/react/Modal.tsx
@@ -1,3 +1,4 @@
+import clsx from "clsx";
import { useEffect, useRef, useMemo } from "preact/hooks";
import { t } from "../../services/i18n";
import { ComponentChildren } from "preact";
@@ -7,9 +8,16 @@ import { Modal as BootstrapModal } from "bootstrap";
import { memo } from "preact/compat";
import { useSyncedRef } from "./hooks";
+interface CustomTitleBarButton {
+ title: string;
+ iconClassName: string;
+ onClick: () => void;
+}
+
interface ModalProps {
className: string;
title: string | ComponentChildren;
+ customTitleBarButtons?: (CustomTitleBarButton | null)[];
size: "xl" | "lg" | "md" | "sm";
children: ComponentChildren;
/**
@@ -72,7 +80,7 @@ interface ModalProps {
noFocus?: boolean;
}
-export default function Modal({ children, className, size, title, header, footer, footerStyle, footerAlignment, onShown, onSubmit, helpPageId, minWidth, maxWidth, zIndex, scrollable, onHidden: onHidden, modalRef: externalModalRef, formRef, bodyStyle, show, stackable, keepInDom, noFocus }: ModalProps) {
+export default function Modal({ children, className, size, title, customTitleBarButtons: titleBarButtons, header, footer, footerStyle, footerAlignment, onShown, onSubmit, helpPageId, minWidth, maxWidth, zIndex, scrollable, onHidden: onHidden, modalRef: externalModalRef, formRef, bodyStyle, show, stackable, keepInDom, noFocus }: ModalProps) {
const modalRef = useSyncedRef(externalModalRef);
const modalInstanceRef = useRef();
const elementToFocus = useRef();
@@ -148,7 +156,17 @@ export default function Modal({ children, className, size, title, header, footer
{helpPageId && (
?
)}
+
+ {titleBarButtons?.filter((b) => b !== null).map((titleBarButton) => (
+
+
+ ))}
+
+
{onSubmit ? (
From c8431181c813693f94c00c3e9ea39c78142dda21 Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Sun, 30 Nov 2025 01:52:55 +0200
Subject: [PATCH 07/73] client/dialogs/custom title bar buttons: tweak
---
apps/client/src/stylesheets/theme-next/dialogs.css | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/apps/client/src/stylesheets/theme-next/dialogs.css b/apps/client/src/stylesheets/theme-next/dialogs.css
index 768dc5530..ffe6af9a5 100644
--- a/apps/client/src/stylesheets/theme-next/dialogs.css
+++ b/apps/client/src/stylesheets/theme-next/dialogs.css
@@ -59,7 +59,7 @@
.modal .modal-header .help-button,
.modal .modal-header .custom-title-bar-button {
margin-inline-end: 0;
- font-size: calc(var(--modal-control-button-size) * .65);
+ font-size: calc(var(--modal-control-button-size) * .70);
font-family: unset;
font-weight: bold;
}
From f5e3df0cd21cb025d94049ae8f63394e2fd1e463 Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Sun, 30 Nov 2025 01:54:28 +0200
Subject: [PATCH 08/73] client/quick edit: add placeholder for "open in full
editor" custom title bar button
---
apps/client/src/widgets/dialogs/PopupEditor.tsx | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/apps/client/src/widgets/dialogs/PopupEditor.tsx b/apps/client/src/widgets/dialogs/PopupEditor.tsx
index 1a065c05f..0d158f828 100644
--- a/apps/client/src/widgets/dialogs/PopupEditor.tsx
+++ b/apps/client/src/widgets/dialogs/PopupEditor.tsx
@@ -60,6 +60,11 @@ export default function PopupEditor() {
}
+ customTitleBarButtons={[{
+ iconClassName: "bx-expand-alt",
+ title: "Switch to full editor",
+ onClick: () => {/* TO DO */}
+ }]}
className="popup-editor-dialog"
size="lg"
show={shown}
From 124ef640b1f874c45a1fc23f473e56f02c743653 Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Sun, 30 Nov 2025 02:04:40 +0200
Subject: [PATCH 09/73] client/quick edit: tweak layout
---
apps/client/src/widgets/dialogs/PopupEditor.css | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/apps/client/src/widgets/dialogs/PopupEditor.css b/apps/client/src/widgets/dialogs/PopupEditor.css
index 80e8b3e70..99d6cafff 100644
--- a/apps/client/src/widgets/dialogs/PopupEditor.css
+++ b/apps/client/src/widgets/dialogs/PopupEditor.css
@@ -33,8 +33,8 @@ body.mobile .modal.popup-editor-dialog .modal-dialog {
align-items: center;
}
-.modal.popup-editor-dialog .modal-header .title-row > * {
- margin: 5px;
+.modal.popup-editor-dialog .modal-header .note-title-widget {
+ margin-top: 8px;
}
.modal.popup-editor-dialog .modal-body {
@@ -66,8 +66,13 @@ body.mobile .modal.popup-editor-dialog .modal-dialog {
background-color: transparent;
}
+.modal.popup-editor-dialog div.promoted-attributes-container {
+ margin-block: 0;
+}
+
.modal.popup-editor-dialog .classic-toolbar-widget {
position: sticky;
+ margin-inline: 8px;
top: 0;
inset-inline-start: 0;
inset-inline-end: 0;
From cc71f15700834d3d7636d6ff6a58b3bc8685e03f Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Sun, 30 Nov 2025 02:17:43 +0200
Subject: [PATCH 10/73] client/quick edit: remove fixed toolbar transparency
---
apps/client/src/widgets/dialogs/PopupEditor.css | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/apps/client/src/widgets/dialogs/PopupEditor.css b/apps/client/src/widgets/dialogs/PopupEditor.css
index 99d6cafff..41a1d8736 100644
--- a/apps/client/src/widgets/dialogs/PopupEditor.css
+++ b/apps/client/src/widgets/dialogs/PopupEditor.css
@@ -76,7 +76,7 @@ body.mobile .modal.popup-editor-dialog .modal-dialog {
top: 0;
inset-inline-start: 0;
inset-inline-end: 0;
- background: transparent;
+ background: var(--modal-background-color);
z-index: 998;
align-items: flex-start;
}
From b8748b856a84e724e91193061a6376b114b879ba Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Sun, 30 Nov 2025 02:34:09 +0200
Subject: [PATCH 11/73] client/note menu: use proper style for development-only
actions section header
---
apps/client/src/widgets/ribbon/NoteActions.tsx | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/apps/client/src/widgets/ribbon/NoteActions.tsx b/apps/client/src/widgets/ribbon/NoteActions.tsx
index bc191b5d0..7db764c06 100644
--- a/apps/client/src/widgets/ribbon/NoteActions.tsx
+++ b/apps/client/src/widgets/ribbon/NoteActions.tsx
@@ -1,5 +1,5 @@
import { ConvertToAttachmentResponse } from "@triliumnext/commons";
-import { FormDropdownDivider, FormListItem } from "../react/FormList";
+import { FormDropdownDivider, FormListHeader, FormListItem } from "../react/FormList";
import { isElectron as getIsElectron, isMac as getIsMac } from "../../services/utils";
import { ParentComponent } from "../react/react_utils";
import { t } from "../../services/i18n"
@@ -113,8 +113,7 @@ function NoteContextMenu({ note, noteContext }: { note: FNote, noteContext?: Not
function DevelopmentActions({ note }: { note: FNote }) {
return (
<>
-
- Development-only Actions
+
window.open(`/?print=#root/${note.noteId}`, "_blank")}
From 732494dfc51286926d86d49a73d3915a4aa22ef9 Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Sun, 30 Nov 2025 02:54:51 +0200
Subject: [PATCH 12/73] client/keyboard shortcuts cheatsheet: add an edit
button
---
apps/client/src/translations/en/translation.json | 1 +
apps/client/src/widgets/dialogs/help.tsx | 7 ++++++-
2 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json
index 8f6767d9a..514301594 100644
--- a/apps/client/src/translations/en/translation.json
+++ b/apps/client/src/translations/en/translation.json
@@ -112,6 +112,7 @@
},
"help": {
"title": "Cheatsheet",
+ "editShortcuts": "Edit keyboard shortcuts",
"noteNavigation": "Note navigation",
"goUpDown": "go up/down in the list of notes",
"collapseExpand": "collapse/expand node",
diff --git a/apps/client/src/widgets/dialogs/help.tsx b/apps/client/src/widgets/dialogs/help.tsx
index d5c2f695d..f6c0c96d6 100644
--- a/apps/client/src/widgets/dialogs/help.tsx
+++ b/apps/client/src/widgets/dialogs/help.tsx
@@ -1,7 +1,7 @@
import Modal from "../react/Modal.jsx";
import { t } from "../../services/i18n.js";
import { ComponentChildren } from "preact";
-import { CommandNames } from "../../components/app_context.js";
+import appContext, { CommandNames } from "../../components/app_context.js";
import RawHtml from "../react/RawHtml.jsx";
import { useEffect, useState } from "preact/hooks";
import keyboard_actions from "../../services/keyboard_actions.js";
@@ -14,6 +14,7 @@ export default function HelpDialog() {
return (
setShown(false)}
show={shown}
>
@@ -160,3 +161,7 @@ function Card({ title, children }: { title: string, children: ComponentChildren
)
}
+
+function editShortcuts() {
+ appContext.tabManager.openContextWithNote("_optionsShortcuts", { activate: true });
+}
\ No newline at end of file
From 0cb5941be01bfad95ad63c889f6a2a360da5aa85 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sun, 30 Nov 2025 02:49:23 +0000
Subject: [PATCH 13/73] chore(deps): update dependency typedoc to v0.28.15
---
apps/build-docs/package.json | 2 +-
pnpm-lock.yaml | 68 +++++++++++++++++-------------------
2 files changed, 34 insertions(+), 36 deletions(-)
diff --git a/apps/build-docs/package.json b/apps/build-docs/package.json
index 0ec82b83a..c2d4cd9fe 100644
--- a/apps/build-docs/package.json
+++ b/apps/build-docs/package.json
@@ -16,7 +16,7 @@
"fs-extra": "11.3.2",
"react": "19.2.0",
"react-dom": "19.2.0",
- "typedoc": "0.28.14",
+ "typedoc": "0.28.15",
"typedoc-plugin-missing-exports": "4.1.2"
}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 0dff9e3d7..3a7a310d2 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -149,11 +149,11 @@ importers:
specifier: 19.2.0
version: 19.2.0(react@19.2.0)
typedoc:
- specifier: 0.28.14
- version: 0.28.14(typescript@5.9.3)
+ specifier: 0.28.15
+ version: 0.28.15(typescript@5.9.3)
typedoc-plugin-missing-exports:
specifier: 4.1.2
- version: 4.1.2(typedoc@0.28.14(typescript@5.9.3))
+ version: 4.1.2(typedoc@0.28.15(typescript@5.9.3))
apps/client:
dependencies:
@@ -3164,8 +3164,8 @@ packages:
'@gar/promisify@1.1.3':
resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==}
- '@gerrit0/mini-shiki@3.14.0':
- resolution: {integrity: sha512-c5X8fwPLOtUS8TVdqhynz9iV0GlOtFUT1ppXYzUUlEXe4kbZ/mvMT8wXoT8kCwUka+zsiloq7sD3pZ3+QVTuNQ==}
+ '@gerrit0/mini-shiki@3.17.0':
+ resolution: {integrity: sha512-Bpf6WuFar20ZXL6qU6VpVl4bVQfyyYiX+6O4xrns4nkU3Mr8paeupDbS1HENpcLOYj7pN4Rkd/yCaPA0vQwKww==}
'@hapi/hoek@9.3.0':
resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==}
@@ -4701,17 +4701,17 @@ packages:
'@selderee/plugin-htmlparser2@0.11.0':
resolution: {integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==}
- '@shikijs/engine-oniguruma@3.14.0':
- resolution: {integrity: sha512-TNcYTYMbJyy+ZjzWtt0bG5y4YyMIWC2nyePz+CFMWqm+HnZZyy9SWMgo8Z6KBJVIZnx8XUXS8U2afO6Y0g1Oug==}
+ '@shikijs/engine-oniguruma@3.17.0':
+ resolution: {integrity: sha512-flSbHZAiOZDNTrEbULY8DLWavu/TyVu/E7RChpLB4WvKX4iHMfj80C6Hi3TjIWaQtHOW0KC6kzMcuB5TO1hZ8Q==}
- '@shikijs/langs@3.14.0':
- resolution: {integrity: sha512-DIB2EQY7yPX1/ZH7lMcwrK5pl+ZkP/xoSpUzg9YC8R+evRCCiSQ7yyrvEyBsMnfZq4eBzLzBlugMyTAf13+pzg==}
+ '@shikijs/langs@3.17.0':
+ resolution: {integrity: sha512-icmur2n5Ojb+HAiQu6NEcIIJ8oWDFGGEpiqSCe43539Sabpx7Y829WR3QuUW2zjTM4l6V8Sazgb3rrHO2orEAw==}
- '@shikijs/themes@3.14.0':
- resolution: {integrity: sha512-fAo/OnfWckNmv4uBoUu6dSlkcBc+SA1xzj5oUSaz5z3KqHtEbUypg/9xxgJARtM6+7RVm0Q6Xnty41xA1ma1IA==}
+ '@shikijs/themes@3.17.0':
+ resolution: {integrity: sha512-/xEizMHLBmMHwtx4JuOkRf3zwhWD2bmG5BRr0IPjpcWpaq4C3mYEuTk/USAEglN0qPrTwEHwKVpSu/y2jhferA==}
- '@shikijs/types@3.14.0':
- resolution: {integrity: sha512-bQGgC6vrY8U/9ObG1Z/vTro+uclbjjD/uG58RvfxKZVD5p9Yc1ka3tVyEFy7BNJLzxuWyHH5NWynP9zZZS59eQ==}
+ '@shikijs/types@3.17.0':
+ resolution: {integrity: sha512-wjLVfutYWVUnxAjsWEob98xgyaGv0dTEnMZDruU5mRjVN7szcGOfgO+997W2yR6odp+1PtSBNeSITRRTfUzK/g==}
'@shikijs/vscode-textmate@10.0.2':
resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
@@ -14043,8 +14043,8 @@ packages:
peerDependencies:
typedoc: ^0.28.1
- typedoc@0.28.14:
- resolution: {integrity: sha512-ftJYPvpVfQvFzpkoSfHLkJybdA/geDJ8BGQt/ZnkkhnBYoYW6lBgPQXu6vqLxO4X75dA55hX8Af847H5KXlEFA==}
+ typedoc@0.28.15:
+ resolution: {integrity: sha512-mw2/2vTL7MlT+BVo43lOsufkkd2CJO4zeOSuWQQsiXoV2VuEn7f6IZp2jsUDPmBMABpgR0R5jlcJ2OGEFYmkyg==}
engines: {node: '>= 18', pnpm: '>= 10'}
hasBin: true
peerDependencies:
@@ -16042,8 +16042,6 @@ snapshots:
'@ckeditor/ckeditor5-utils': 47.2.0
ckeditor5: 47.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)
es-toolkit: 1.39.5
- transitivePeerDependencies:
- - supports-color
'@ckeditor/ckeditor5-editor-multi-root@47.2.0':
dependencies:
@@ -16093,6 +16091,8 @@ snapshots:
'@ckeditor/ckeditor5-core': 47.2.0
'@ckeditor/ckeditor5-engine': 47.2.0
'@ckeditor/ckeditor5-utils': 47.2.0
+ transitivePeerDependencies:
+ - supports-color
'@ckeditor/ckeditor5-essentials@47.2.0':
dependencies:
@@ -16749,8 +16749,6 @@ snapshots:
'@ckeditor/ckeditor5-icons': 47.2.0
'@ckeditor/ckeditor5-ui': 47.2.0
'@ckeditor/ckeditor5-utils': 47.2.0
- transitivePeerDependencies:
- - supports-color
'@ckeditor/ckeditor5-upload@47.2.0':
dependencies:
@@ -18056,12 +18054,12 @@ snapshots:
'@gar/promisify@1.1.3': {}
- '@gerrit0/mini-shiki@3.14.0':
+ '@gerrit0/mini-shiki@3.17.0':
dependencies:
- '@shikijs/engine-oniguruma': 3.14.0
- '@shikijs/langs': 3.14.0
- '@shikijs/themes': 3.14.0
- '@shikijs/types': 3.14.0
+ '@shikijs/engine-oniguruma': 3.17.0
+ '@shikijs/langs': 3.17.0
+ '@shikijs/themes': 3.17.0
+ '@shikijs/types': 3.17.0
'@shikijs/vscode-textmate': 10.0.2
'@hapi/hoek@9.3.0': {}
@@ -19777,20 +19775,20 @@ snapshots:
domhandler: 5.0.3
selderee: 0.11.0
- '@shikijs/engine-oniguruma@3.14.0':
+ '@shikijs/engine-oniguruma@3.17.0':
dependencies:
- '@shikijs/types': 3.14.0
+ '@shikijs/types': 3.17.0
'@shikijs/vscode-textmate': 10.0.2
- '@shikijs/langs@3.14.0':
+ '@shikijs/langs@3.17.0':
dependencies:
- '@shikijs/types': 3.14.0
+ '@shikijs/types': 3.17.0
- '@shikijs/themes@3.14.0':
+ '@shikijs/themes@3.17.0':
dependencies:
- '@shikijs/types': 3.14.0
+ '@shikijs/types': 3.17.0
- '@shikijs/types@3.14.0':
+ '@shikijs/types@3.17.0':
dependencies:
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.4
@@ -31446,13 +31444,13 @@ snapshots:
typedarray@0.0.6: {}
- typedoc-plugin-missing-exports@4.1.2(typedoc@0.28.14(typescript@5.9.3)):
+ typedoc-plugin-missing-exports@4.1.2(typedoc@0.28.15(typescript@5.9.3)):
dependencies:
- typedoc: 0.28.14(typescript@5.9.3)
+ typedoc: 0.28.15(typescript@5.9.3)
- typedoc@0.28.14(typescript@5.9.3):
+ typedoc@0.28.15(typescript@5.9.3):
dependencies:
- '@gerrit0/mini-shiki': 3.14.0
+ '@gerrit0/mini-shiki': 3.17.0
lunr: 2.3.9
markdown-it: 14.1.0
minimatch: 9.0.5
From d676084cb3510b310393fe0a33536fa8a28478e7 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Sun, 30 Nov 2025 02:49:59 +0000
Subject: [PATCH 14/73] chore(deps): update dependency webdriverio to v9.21.0
---
packages/ckeditor5-admonition/package.json | 2 +-
packages/ckeditor5-footnotes/package.json | 2 +-
.../ckeditor5-keyboard-marker/package.json | 2 +-
packages/ckeditor5-math/package.json | 2 +-
packages/ckeditor5-mermaid/package.json | 2 +-
pnpm-lock.yaml | 114 +++++++++---------
6 files changed, 62 insertions(+), 62 deletions(-)
diff --git a/packages/ckeditor5-admonition/package.json b/packages/ckeditor5-admonition/package.json
index 6b8f361eb..75d7e844f 100644
--- a/packages/ckeditor5-admonition/package.json
+++ b/packages/ckeditor5-admonition/package.json
@@ -39,7 +39,7 @@
"typescript": "5.9.3",
"vite-plugin-svgo": "~2.0.0",
"vitest": "4.0.14",
- "webdriverio": "9.20.1"
+ "webdriverio": "9.21.0"
},
"peerDependencies": {
"ckeditor5": "47.2.0"
diff --git a/packages/ckeditor5-footnotes/package.json b/packages/ckeditor5-footnotes/package.json
index c9d96cc20..af4735af1 100644
--- a/packages/ckeditor5-footnotes/package.json
+++ b/packages/ckeditor5-footnotes/package.json
@@ -40,7 +40,7 @@
"typescript": "5.9.3",
"vite-plugin-svgo": "~2.0.0",
"vitest": "4.0.14",
- "webdriverio": "9.20.1"
+ "webdriverio": "9.21.0"
},
"peerDependencies": {
"ckeditor5": "47.2.0"
diff --git a/packages/ckeditor5-keyboard-marker/package.json b/packages/ckeditor5-keyboard-marker/package.json
index 23fc474d9..459ba9bf2 100644
--- a/packages/ckeditor5-keyboard-marker/package.json
+++ b/packages/ckeditor5-keyboard-marker/package.json
@@ -42,7 +42,7 @@
"typescript": "5.9.3",
"vite-plugin-svgo": "~2.0.0",
"vitest": "4.0.14",
- "webdriverio": "9.20.1"
+ "webdriverio": "9.21.0"
},
"peerDependencies": {
"ckeditor5": "47.2.0"
diff --git a/packages/ckeditor5-math/package.json b/packages/ckeditor5-math/package.json
index ab00a473e..aa60cfaa3 100644
--- a/packages/ckeditor5-math/package.json
+++ b/packages/ckeditor5-math/package.json
@@ -43,7 +43,7 @@
"typescript": "5.9.3",
"vite-plugin-svgo": "~2.0.0",
"vitest": "4.0.14",
- "webdriverio": "9.20.1"
+ "webdriverio": "9.21.0"
},
"peerDependencies": {
"ckeditor5": "47.2.0"
diff --git a/packages/ckeditor5-mermaid/package.json b/packages/ckeditor5-mermaid/package.json
index 8cad9319c..1e79fbf54 100644
--- a/packages/ckeditor5-mermaid/package.json
+++ b/packages/ckeditor5-mermaid/package.json
@@ -42,7 +42,7 @@
"typescript": "5.9.3",
"vite-plugin-svgo": "~2.0.0",
"vitest": "4.0.14",
- "webdriverio": "9.20.1"
+ "webdriverio": "9.21.0"
},
"peerDependencies": {
"ckeditor5": "47.2.0"
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 0dff9e3d7..45462c6d7 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -57,7 +57,7 @@ importers:
version: 24.10.1
'@vitest/browser-webdriverio':
specifier: 4.0.14
- version: 4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@4.0.14)(webdriverio@9.20.1(bufferutil@4.0.9)(utf-8-validate@6.0.5))
+ version: 4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@4.0.14)(webdriverio@9.21.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))
'@vitest/coverage-v8':
specifier: 4.0.14
version: 4.0.14(@vitest/browser@4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@4.0.14))(vitest@4.0.14)
@@ -933,8 +933,8 @@ importers:
specifier: 4.0.14
version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
webdriverio:
- specifier: 9.20.1
- version: 9.20.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)
+ specifier: 9.21.0
+ version: 9.21.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)
packages/ckeditor5-footnotes:
devDependencies:
@@ -993,8 +993,8 @@ importers:
specifier: 4.0.14
version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
webdriverio:
- specifier: 9.20.1
- version: 9.20.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)
+ specifier: 9.21.0
+ version: 9.21.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)
packages/ckeditor5-keyboard-marker:
devDependencies:
@@ -1053,8 +1053,8 @@ importers:
specifier: 4.0.14
version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
webdriverio:
- specifier: 9.20.1
- version: 9.20.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)
+ specifier: 9.21.0
+ version: 9.21.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)
packages/ckeditor5-math:
dependencies:
@@ -1120,8 +1120,8 @@ importers:
specifier: 4.0.14
version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
webdriverio:
- specifier: 9.20.1
- version: 9.20.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)
+ specifier: 9.21.0
+ version: 9.21.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)
packages/ckeditor5-mermaid:
dependencies:
@@ -1187,8 +1187,8 @@ importers:
specifier: 4.0.14
version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
webdriverio:
- specifier: 9.20.1
- version: 9.20.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)
+ specifier: 9.21.0
+ version: 9.21.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)
packages/codemirror:
dependencies:
@@ -5449,9 +5449,6 @@ packages:
'@types/node@16.9.1':
resolution: {integrity: sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==}
- '@types/node@20.19.24':
- resolution: {integrity: sha512-FE5u0ezmi6y9OZEzlJfg37mqqf6ZDSF2V/NLjUyGrR9uTZ7Sb9F7bLNZ03S4XVUNRWGA7Ck4c1kK+YnuWjl+DA==}
-
'@types/node@20.19.25':
resolution: {integrity: sha512-ZsJzA5thDQMSQO788d7IocwwQbI8B5OPzmqNvpf3NY/+MHDAS759Wo0gd2WQeXYt5AAAQjzcrTVC6SKCuYgoCQ==}
@@ -5852,8 +5849,8 @@ packages:
'@vue/shared@3.5.14':
resolution: {integrity: sha512-oXTwNxVfc9EtP1zzXAlSlgARLXNC84frFYkS0HHz0h3E4WZSP9sywqjqzGCP9Y34M8ipNmd380pVgmMuwELDyQ==}
- '@wdio/config@9.20.1':
- resolution: {integrity: sha512-npl2J+rjCDJPjVySgWpciOyhWddn6s7n5sepKXLR7x1ADQHl5zUFv1dHD3jx4OQ9l6lrGQSPaofuz+7e9mu+vg==}
+ '@wdio/config@9.21.0':
+ resolution: {integrity: sha512-8TP5/q+Agjc43LET1f0LhLmuEI803O3QtZEbSxOkkvJ7/e1jDWPm4qsL7SjQJlx8xGrW0kwRlPl7+U9Sr0dhCQ==}
engines: {node: '>=18.20.0'}
'@wdio/logger@9.18.0':
@@ -5871,8 +5868,8 @@ packages:
resolution: {integrity: sha512-zMmAtse2UMCSOW76mvK3OejauAdcFGuKopNRH7crI0gwKTZtvV89yXWRziz9cVXpFgfmJCjf9edxKFWdhuF5yw==}
engines: {node: '>=18.20.0'}
- '@wdio/utils@9.20.1':
- resolution: {integrity: sha512-C/Gsy5NAatsGUF1eT9Ks/ErR52/X4YI7MSm7BtwNOw8v2Ko+SiCA5qXts61J0A7QYwOn4gfXfBZZnzSAng6G/w==}
+ '@wdio/utils@9.21.0':
+ resolution: {integrity: sha512-aj8ao2V/e6Sv9gZby2ZIj4dMLjwYVba47Nlr+pOfK8N4VKKU0VRLPzvTlfK1HWaoS6u/GBbVx2pefYRrvd72BQ==}
engines: {node: '>=18.20.0'}
'@webassemblyjs/ast@1.14.1':
@@ -5933,6 +5930,10 @@ packages:
'@xtuc/long@4.2.2':
resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
+ '@zip.js/zip.js@2.8.11':
+ resolution: {integrity: sha512-0fztsk/0ryJ+2PPr9EyXS5/Co7OK8q3zY/xOoozEWaUsL5x+C0cyZ4YyMuUffOO2Dx/rAdq4JMPqW0VUtm+vzA==}
+ engines: {bun: '>=0.7.0', deno: '>=1.0.0', node: '>=18.0.0'}
+
'@zip.js/zip.js@2.8.2':
resolution: {integrity: sha512-PI6UdgpSeVoGvzguKHmy2bwOqI3UYkntLZOCpyJSKIi7234c5aJmQYkJB/P4P2YUJkqhbqvu7iM2/0eJZ178nA==}
engines: {bun: '>=0.7.0', deno: '>=1.0.0', node: '>=16.5.0'}
@@ -8599,9 +8600,9 @@ packages:
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
deprecated: This package is no longer supported.
- geckodriver@5.0.0:
- resolution: {integrity: sha512-vn7TtQ3b9VMJtVXsyWtQQl1fyBVFhQy7UvJF96kPuuJ0or5THH496AD3eUyaDD11+EqCxH9t6V+EP9soZQk4YQ==}
- engines: {node: '>=18.0.0'}
+ geckodriver@6.1.0:
+ resolution: {integrity: sha512-ZRXLa4ZaYTTgUO4Eefw+RsQCleugU2QLb1ME7qTYxxuRj51yAhfnXaItXNs5/vUzfIaDHuZ+YnSF005hfp07nQ==}
+ engines: {node: '>=20.0.0'}
hasBin: true
generate-function@2.3.1:
@@ -10616,6 +10617,10 @@ packages:
resolution: {integrity: sha512-2emPTb1reeLLYwHxyVx993iYyCHEiRRO+y8NFXFPL5kl5q14sgTK76cXyEKkeKCHeRw35SfdkUJ10Q1KfHuiIQ==}
engines: {node: '>= 0.4'}
+ modern-tar@0.7.2:
+ resolution: {integrity: sha512-TGG1ZRk1TAQ3neuZwahAHke3rKsSlro+ooMYtjh9sl2gGPVMLMuWiHgwC7im9T5bSM566RSo2Dko56ETgEvZcA==}
+ engines: {node: '>=18.0.0'}
+
morphdom@2.7.7:
resolution: {integrity: sha512-04GmsiBcalrSCNmzfo+UjU8tt3PhZJKzcOy+r1FlGA7/zri8wre3I1WkYN9PT3sIeIKfW9bpyElA+VzOg2E24g==}
@@ -14525,12 +14530,12 @@ packages:
resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==}
engines: {node: '>= 8'}
- webdriver@9.20.1:
- resolution: {integrity: sha512-QtvYqPai2NOnq7qePPH6kNSwk7+tnmSvnlOnY8dIT/Y24TPdQp44NjF/BUYAWIlqoBlZqHClQFTSVwT2qvO2Tw==}
+ webdriver@9.21.0:
+ resolution: {integrity: sha512-XLOhpU/EFPo4TMk+0fRli4g1WriUujxrfDxGT/QRq0MJsfhSYPF8FdefFdL5gHIrJfSKscaQHGWkbnsHftfqeg==}
engines: {node: '>=18.20.0'}
- webdriverio@9.20.1:
- resolution: {integrity: sha512-QVM/asb5sDESz37ow/BAOA0z2HtUJsuAjPKHdw+Vx92PaQP3EfHwTgxK2T5rgwa0WRNh+c+n/0nEqIvqBl01sA==}
+ webdriverio@9.21.0:
+ resolution: {integrity: sha512-7teaXajOuNdn2UyyKlqMLssJjf0vDEih+Lo+tE/gHOt/P+mB8CinZym4PGtsriZLcyt4xV+Cun3hDmXM+pL26A==}
engines: {node: '>=18.20.0'}
peerDependencies:
puppeteer-core: '>=22.x || <=24.x'
@@ -16749,8 +16754,6 @@ snapshots:
'@ckeditor/ckeditor5-icons': 47.2.0
'@ckeditor/ckeditor5-ui': 47.2.0
'@ckeditor/ckeditor5-utils': 47.2.0
- transitivePeerDependencies:
- - supports-color
'@ckeditor/ckeditor5-upload@47.2.0':
dependencies:
@@ -20725,7 +20728,7 @@ snapshots:
'@types/mute-stream@0.0.4':
dependencies:
- '@types/node': 22.19.1
+ '@types/node': 24.10.1
'@types/node-forge@1.3.14':
dependencies:
@@ -20733,10 +20736,6 @@ snapshots:
'@types/node@16.9.1': {}
- '@types/node@20.19.24':
- dependencies:
- undici-types: 6.21.0
-
'@types/node@20.19.25':
dependencies:
undici-types: 6.21.0
@@ -20914,7 +20913,7 @@ snapshots:
'@types/yauzl@2.10.3':
dependencies:
- '@types/node': 22.18.13
+ '@types/node': 24.10.1
optional: true
'@typescript-eslint/eslint-plugin@8.46.4(@typescript-eslint/parser@8.46.4(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3))(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)':
@@ -21141,11 +21140,11 @@ snapshots:
- bufferutil
- utf-8-validate
- '@vitest/browser-webdriverio@4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@4.0.14)(webdriverio@9.20.1(bufferutil@4.0.9)(utf-8-validate@6.0.5))':
+ '@vitest/browser-webdriverio@4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@4.0.14)(webdriverio@9.21.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))':
dependencies:
'@vitest/browser': 4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@4.0.14)
vitest: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
- webdriverio: 9.20.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)
+ webdriverio: 9.21.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)
transitivePeerDependencies:
- bufferutil
- msw
@@ -21301,11 +21300,11 @@ snapshots:
'@vue/shared@3.5.14': {}
- '@wdio/config@9.20.1':
+ '@wdio/config@9.21.0':
dependencies:
'@wdio/logger': 9.18.0
'@wdio/types': 9.20.0
- '@wdio/utils': 9.20.1
+ '@wdio/utils': 9.21.0
deepmerge-ts: 7.1.5
glob: 10.4.5
import-meta-resolve: 4.2.0
@@ -21325,13 +21324,13 @@ snapshots:
'@wdio/repl@9.16.2':
dependencies:
- '@types/node': 20.19.24
+ '@types/node': 20.19.25
'@wdio/types@9.20.0':
dependencies:
- '@types/node': 20.19.24
+ '@types/node': 20.19.25
- '@wdio/utils@9.20.1':
+ '@wdio/utils@9.21.0':
dependencies:
'@puppeteer/browsers': 2.10.10
'@wdio/logger': 9.18.0
@@ -21339,7 +21338,7 @@ snapshots:
decamelize: 6.0.1
deepmerge-ts: 7.1.5
edgedriver: 6.1.2
- geckodriver: 5.0.0
+ geckodriver: 6.1.0
get-port: 7.1.0
import-meta-resolve: 4.2.0
locate-app: 2.5.0
@@ -21435,6 +21434,8 @@ snapshots:
'@xtuc/long@4.2.2': {}
+ '@zip.js/zip.js@2.8.11': {}
+
'@zip.js/zip.js@2.8.2': {}
abab@2.0.6: {}
@@ -24932,18 +24933,15 @@ snapshots:
wide-align: 1.1.5
optional: true
- geckodriver@5.0.0:
+ geckodriver@6.1.0:
dependencies:
'@wdio/logger': 9.18.0
- '@zip.js/zip.js': 2.8.2
+ '@zip.js/zip.js': 2.8.11
decamelize: 6.0.1
http-proxy-agent: 7.0.2
https-proxy-agent: 7.0.6
- node-fetch: 3.3.2
- tar-fs: 3.1.1
- which: 5.0.0
+ modern-tar: 0.7.2
transitivePeerDependencies:
- - bare-buffer
- supports-color
generate-function@2.3.1:
@@ -27452,6 +27450,8 @@ snapshots:
hasown: 2.0.2
isarray: 2.0.5
+ modern-tar@0.7.2: {}
+
morphdom@2.7.7: {}
mrmime@2.0.1: {}
@@ -31824,7 +31824,7 @@ snapshots:
optionalDependencies:
'@opentelemetry/api': 1.9.0
'@types/node': 24.10.1
- '@vitest/browser-webdriverio': 4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@4.0.14)(webdriverio@9.20.1(bufferutil@4.0.9)(utf-8-validate@6.0.5))
+ '@vitest/browser-webdriverio': 4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@4.0.14)(webdriverio@9.21.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))
'@vitest/ui': 4.0.14(vitest@4.0.14)
happy-dom: 20.0.11
jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)
@@ -31914,15 +31914,15 @@ snapshots:
web-streams-polyfill@3.3.3: {}
- webdriver@9.20.1(bufferutil@4.0.9)(utf-8-validate@6.0.5):
+ webdriver@9.21.0(bufferutil@4.0.9)(utf-8-validate@6.0.5):
dependencies:
- '@types/node': 20.19.24
+ '@types/node': 20.19.25
'@types/ws': 8.18.1
- '@wdio/config': 9.20.1
+ '@wdio/config': 9.21.0
'@wdio/logger': 9.18.0
'@wdio/protocols': 9.16.2
'@wdio/types': 9.20.0
- '@wdio/utils': 9.20.1
+ '@wdio/utils': 9.21.0
deepmerge-ts: 7.1.5
https-proxy-agent: 7.0.6
undici: 6.21.3
@@ -31933,16 +31933,16 @@ snapshots:
- supports-color
- utf-8-validate
- webdriverio@9.20.1(bufferutil@4.0.9)(utf-8-validate@6.0.5):
+ webdriverio@9.21.0(bufferutil@4.0.9)(utf-8-validate@6.0.5):
dependencies:
- '@types/node': 20.19.24
+ '@types/node': 20.19.25
'@types/sinonjs__fake-timers': 8.1.5
- '@wdio/config': 9.20.1
+ '@wdio/config': 9.21.0
'@wdio/logger': 9.18.0
'@wdio/protocols': 9.16.2
'@wdio/repl': 9.16.2
'@wdio/types': 9.20.0
- '@wdio/utils': 9.20.1
+ '@wdio/utils': 9.21.0
archiver: 7.0.1
aria-query: 5.3.2
cheerio: 1.1.2
@@ -31959,7 +31959,7 @@ snapshots:
rgb2hex: 0.2.5
serialize-error: 12.0.0
urlpattern-polyfill: 10.1.0
- webdriver: 9.20.1(bufferutil@4.0.9)(utf-8-validate@6.0.5)
+ webdriver: 9.21.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)
transitivePeerDependencies:
- bare-buffer
- bufferutil
From d9e8f8e69b15642f212aed130112307e9cfdc060 Mon Sep 17 00:00:00 2001
From: Elian Doran
Date: Sun, 30 Nov 2025 10:41:26 +0200
Subject: [PATCH 15/73] refactor(options): remove unnecessary ribbon activation
option
---
apps/client/src/widgets/ribbon/RibbonDefinition.ts | 2 +-
apps/server/src/routes/api/options.ts | 1 -
apps/server/src/services/options_init.ts | 1 -
packages/commons/src/lib/options_interface.ts | 1 -
4 files changed, 1 insertion(+), 4 deletions(-)
diff --git a/apps/client/src/widgets/ribbon/RibbonDefinition.ts b/apps/client/src/widgets/ribbon/RibbonDefinition.ts
index 9f19707cb..8117c511a 100644
--- a/apps/client/src/widgets/ribbon/RibbonDefinition.ts
+++ b/apps/client/src/widgets/ribbon/RibbonDefinition.ts
@@ -50,7 +50,7 @@ export const RIBBON_TAB_DEFINITIONS: TabConfiguration[] = [
icon: "bx bx-calendar-edit",
content: EditedNotesTab,
show: ({ note }) => note?.hasOwnedLabel("dateNote"),
- activate: ({ note }) => (note?.getPromotedDefinitionAttributes().length === 0 || !options.is("promotedAttributesOpenInRibbon")) && options.is("editedNotesOpenInRibbon")
+ activate: () => options.is("editedNotesOpenInRibbon")
},
{
title: t("book_properties.book_properties"),
diff --git a/apps/server/src/routes/api/options.ts b/apps/server/src/routes/api/options.ts
index 05f659db8..503447fa1 100644
--- a/apps/server/src/routes/api/options.ts
+++ b/apps/server/src/routes/api/options.ts
@@ -80,7 +80,6 @@ const ALLOWED_OPTIONS = new Set([
"disableTray",
"customSearchEngineName",
"customSearchEngineUrl",
- "promotedAttributesOpenInRibbon",
"editedNotesOpenInRibbon",
"locale",
"formattingLocale",
diff --git a/apps/server/src/services/options_init.ts b/apps/server/src/services/options_init.ts
index e170b347c..c93fbd0f0 100644
--- a/apps/server/src/services/options_init.ts
+++ b/apps/server/src/services/options_init.ts
@@ -129,7 +129,6 @@ const defaultOptions: DefaultOption[] = [
{ name: "logRetentionDays", value: "90", isSynced: false }, // default 90 days
{ name: "customSearchEngineName", value: "DuckDuckGo", isSynced: true },
{ name: "customSearchEngineUrl", value: "https://duckduckgo.com/?q={keyword}", isSynced: true },
- { name: "promotedAttributesOpenInRibbon", value: "true", isSynced: true },
{ name: "editedNotesOpenInRibbon", value: "true", isSynced: true },
{ name: "mfaEnabled", value: "false", isSynced: false },
{ name: "mfaMethod", value: "totp", isSynced: false },
diff --git a/packages/commons/src/lib/options_interface.ts b/packages/commons/src/lib/options_interface.ts
index 0e044d37c..bdc223c1f 100644
--- a/packages/commons/src/lib/options_interface.ts
+++ b/packages/commons/src/lib/options_interface.ts
@@ -121,7 +121,6 @@ export interface OptionDefinitions extends KeyboardShortcutsOptions
Date: Sun, 30 Nov 2025 10:43:06 +0200
Subject: [PATCH 16/73] fix(ribbon): formatting toolbar overrides edited notes
activation (closes #7900)
---
apps/client/src/widgets/ribbon/RibbonDefinition.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/apps/client/src/widgets/ribbon/RibbonDefinition.ts b/apps/client/src/widgets/ribbon/RibbonDefinition.ts
index 8117c511a..ae4aac3f3 100644
--- a/apps/client/src/widgets/ribbon/RibbonDefinition.ts
+++ b/apps/client/src/widgets/ribbon/RibbonDefinition.ts
@@ -26,7 +26,7 @@ export const RIBBON_TAB_DEFINITIONS: TabConfiguration[] = [
&& !(await noteContext?.isReadOnly()),
toggleCommand: "toggleRibbonTabClassicEditor",
content: FormattingToolbar,
- activate: true,
+ activate: () => !options.is("editedNotesOpenInRibbon"),
stayInDom: true
},
{
From 15190abb6971d86ef15d8e67c0166d576fc3c014 Mon Sep 17 00:00:00 2001
From: SiriusXT <1160925501@qq.com>
Date: Sun, 30 Nov 2025 16:53:14 +0800
Subject: [PATCH 17/73] feat(ckeditor5): add formatPainter
---
apps/client/src/widgets/type_widgets/text/toolbar.ts | 2 ++
packages/ckeditor5/src/index.ts | 1 +
packages/ckeditor5/src/plugins.ts | 5 +++--
3 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/apps/client/src/widgets/type_widgets/text/toolbar.ts b/apps/client/src/widgets/type_widgets/text/toolbar.ts
index c8ba56d4d..69e37449f 100644
--- a/apps/client/src/widgets/type_widgets/text/toolbar.ts
+++ b/apps/client/src/widgets/type_widgets/text/toolbar.ts
@@ -55,6 +55,7 @@ export function buildClassicToolbar(multilineToolbar: boolean) {
...TEXT_FORMATTING_GROUP,
items: ["underline", "strikethrough", "|", "superscript", "subscript", "|", "kbd"]
},
+ "formatPainter",
"|",
"fontColor",
"fontBackgroundColor",
@@ -104,6 +105,7 @@ export function buildFloatingToolbar() {
...TEXT_FORMATTING_GROUP,
items: [ "strikethrough", "|", "superscript", "subscript", "|", "kbd" ]
},
+ "formatPainter",
"|",
"fontColor",
"fontBackgroundColor",
diff --git a/packages/ckeditor5/src/index.ts b/packages/ckeditor5/src/index.ts
index 2d73ecdea..17b2c775e 100644
--- a/packages/ckeditor5/src/index.ts
+++ b/packages/ckeditor5/src/index.ts
@@ -1,4 +1,5 @@
import "ckeditor5/ckeditor5.css";
+import 'ckeditor5-premium-features/ckeditor5-premium-features.css';
import "./theme/code_block_toolbar.css";
import { COMMON_PLUGINS, CORE_PLUGINS, POPUP_EDITOR_PLUGINS } from "./plugins.js";
import { BalloonEditor, DecoupledEditor, FindAndReplaceEditing, FindCommand } from "ckeditor5";
diff --git a/packages/ckeditor5/src/plugins.ts b/packages/ckeditor5/src/plugins.ts
index bbd613a9e..81a8a7fe1 100644
--- a/packages/ckeditor5/src/plugins.ts
+++ b/packages/ckeditor5/src/plugins.ts
@@ -1,5 +1,5 @@
import { Autoformat, AutoLink, BlockQuote, BlockToolbar, Bold, CKFinderUploadAdapter, Clipboard, Code, CodeBlock, Enter, FindAndReplace, Font, FontBackgroundColor, FontColor, GeneralHtmlSupport, Heading, HeadingButtonsUI, HorizontalLine, Image, ImageCaption, ImageInline, ImageResize, ImageStyle, ImageToolbar, ImageUpload, Alignment, Indent, IndentBlock, Italic, Link, List, ListProperties, Mention, PageBreak, Paragraph, ParagraphButtonUI, PasteFromOffice, PictureEditing, RemoveFormat, SelectAll, ShiftEnter, SpecialCharacters, SpecialCharactersEssentials, Strikethrough, Style, Subscript, Superscript, Table, TableCaption, TableCellProperties, TableColumnResize, TableProperties, TableSelection, TableToolbar, TextPartLanguage, TextTransformation, TodoList, Typing, Underline, Undo, Bookmark, Emoji, Notification, EmojiMention, EmojiPicker } from "ckeditor5";
-import { SlashCommand, Template } from "ckeditor5-premium-features";
+import { SlashCommand, Template, FormatPainter } from "ckeditor5-premium-features";
import type { Plugin } from "ckeditor5";
import CutToNotePlugin from "./plugins/cuttonote.js";
import UploadimagePlugin from "./plugins/uploadimage.js";
@@ -83,7 +83,8 @@ export const CORE_PLUGINS: typeof Plugin[] = [
*/
export const PREMIUM_PLUGINS: typeof Plugin[] = [
SlashCommand,
- Template
+ Template,
+ FormatPainter
];
/**
From 8cc43cd9a692cc8e4c03218acd452b1c489d28a6 Mon Sep 17 00:00:00 2001
From: SiriusXT <1160925501@qq.com>
Date: Sun, 30 Nov 2025 20:08:27 +0800
Subject: [PATCH 18/73] docs(user): add format painter
---
.../doc_notes/en/User Guide/!!!meta.json | 2 +-
.../User Guide/Note Types/Text.html | 336 +++++++++---------
.../Note Types/Text/General formatting.html | 27 +-
.../Text/Premium features/Format Painter.html | 45 +++
.../Format Painter_746436a2e1.svg | 1 +
.../Format Painter_e144e96df9.svg | 7 +
.../Premium features/Format Painter_image.png | Bin 0 -> 5251 bytes
docs/User Guide/!!!meta.json | 157 ++++++--
docs/User Guide/User Guide/Note Types/Text.md | 2 +-
.../Note Types/Text/General formatting.md | 4 +
.../Text/Premium features/Format Painter.md | 20 ++
.../Format Painter_746436a2e1.svg | 1 +
.../Format Painter_e144e96df9.svg | 7 +
.../Premium features/Format Painter_image.png | Bin 0 -> 5251 bytes
14 files changed, 396 insertions(+), 213 deletions(-)
create mode 100644 apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text/Premium features/Format Painter.html
create mode 100644 apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text/Premium features/Format Painter_746436a2e1.svg
create mode 100644 apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text/Premium features/Format Painter_e144e96df9.svg
create mode 100644 apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text/Premium features/Format Painter_image.png
create mode 100644 docs/User Guide/User Guide/Note Types/Text/Premium features/Format Painter.md
create mode 100644 docs/User Guide/User Guide/Note Types/Text/Premium features/Format Painter_746436a2e1.svg
create mode 100644 docs/User Guide/User Guide/Note Types/Text/Premium features/Format Painter_e144e96df9.svg
create mode 100644 docs/User Guide/User Guide/Note Types/Text/Premium features/Format Painter_image.png
diff --git a/apps/server/src/assets/doc_notes/en/User Guide/!!!meta.json b/apps/server/src/assets/doc_notes/en/User Guide/!!!meta.json
index 86cdc3a72..795752fd7 100644
--- a/apps/server/src/assets/doc_notes/en/User Guide/!!!meta.json
+++ b/apps/server/src/assets/doc_notes/en/User Guide/!!!meta.json
@@ -1 +1 @@
-[{"id":"_help_BOCnjTMBCoxW","title":"Feature Highlights","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Feature Highlights"},{"name":"iconClass","value":"bx bx-star","type":"label"}]},{"id":"_help_Otzi9La2YAUX","title":"Installation & Setup","type":"book","attributes":[{"name":"iconClass","value":"bx bx-cog","type":"label"}],"children":[{"id":"_help_poXkQfguuA0U","title":"Desktop Installation","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Desktop Installation"},{"name":"iconClass","value":"bx bx-desktop","type":"label"}],"children":[{"id":"_help_nRqcgfTb97uV","title":"Using the desktop application as a server","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Desktop Installation/Using the desktop application "},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_Rp0q8bSP6Ayl","title":"System Requirements","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Desktop Installation/System Requirements"},{"name":"iconClass","value":"bx bx-chip","type":"label"}]},{"id":"_help_Un4wj2Mak2Ky","title":"Nix flake","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Desktop Installation/Nix flake"},{"name":"iconClass","value":"bx bxl-tux","type":"label"}]}]},{"id":"_help_WOcw2SLH6tbX","title":"Server Installation","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation"},{"name":"iconClass","value":"bx bx-server","type":"label"}],"children":[{"id":"_help_Dgg7bR3b6K9j","title":"1. Installing the server","type":"book","attributes":[{"name":"iconClass","value":"bx bx-folder","type":"label"}],"children":[{"id":"_help_3tW6mORuTHnB","title":"Packaged version for Linux","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Packaged version for Linux"},{"name":"iconClass","value":"bx bxl-tux","type":"label"}]},{"id":"_help_rWX5eY045zbE","title":"Using Docker","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Using Docker"},{"name":"iconClass","value":"bx bxl-docker","type":"label"}]},{"id":"_help_moVgBcoxE3EK","title":"On NixOS","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/On NixOS"},{"name":"iconClass","value":"bx bxl-tux","type":"label"}]},{"id":"_help_J1Bb6lVlwU5T","title":"Manually","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Manually"},{"name":"iconClass","value":"bx bx-code-alt","type":"label"}]},{"id":"_help_DCmT6e7clMoP","title":"Using Kubernetes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Using Kubernetes"},{"name":"iconClass","value":"bx bxl-kubernetes","type":"label"}]},{"id":"_help_klCWNks3ReaQ","title":"Multiple server instances","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Multiple server instances"},{"name":"iconClass","value":"bx bxs-user-account","type":"label"}]}]},{"id":"_help_vcjrb3VVYPZI","title":"2. Reverse proxy","type":"book","attributes":[{"name":"iconClass","value":"bx bx-folder","type":"label"}],"children":[{"id":"_help_ud6MShXL4WpO","title":"Nginx","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/2. Reverse proxy/Nginx"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_fDLvzOx29Pfg","title":"Apache using Docker","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/2. Reverse proxy/Apache using Docker"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_LLzSMXACKhUs","title":"Trusted proxy","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/2. Reverse proxy/Trusted proxy"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_5ERVJb9s4FRD","title":"Traefik","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/2. Reverse proxy/Traefik"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]},{"id":"_help_l2VkvOwUNfZj","title":"HTTPS (TLS)","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/HTTPS (TLS)"},{"name":"iconClass","value":"bx bx-lock-alt","type":"label"}]},{"id":"_help_0hzsNCP31IAB","title":"Authentication","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/Authentication"},{"name":"iconClass","value":"bx bx-user","type":"label"}]},{"id":"_help_7DAiwaf8Z7Rz","title":"Multi-Factor Authentication","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/Multi-Factor Authentication"},{"name":"iconClass","value":"bx bx-stopwatch","type":"label"}]},{"id":"_help_Un4wj2Mak2Ky","title":"Nix flake","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/Nix flake.clone"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_yeEaYqosGLSh","title":"Third-party cloud hosting","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/Third-party cloud hosting"},{"name":"iconClass","value":"bx bx-cloud","type":"label"}]},{"id":"_help_iGTnKjubbXkA","title":"System Requirements","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/System Requirements"},{"name":"iconClass","value":"bx bx-chip","type":"label"}]}]},{"id":"_help_cbkrhQjrkKrh","title":"Synchronization","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Synchronization"},{"name":"iconClass","value":"bx bx-sync","type":"label"}]},{"id":"_help_RDslemsQ6gCp","title":"Mobile Frontend","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Mobile Frontend"},{"name":"iconClass","value":"bx bx-mobile-alt","type":"label"}]},{"id":"_help_MtPxeAWVAzMg","title":"Web Clipper","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Web Clipper"},{"name":"iconClass","value":"bx bx-paperclip","type":"label"}]},{"id":"_help_n1lujUxCwipy","title":"Upgrading TriliumNext","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Upgrading TriliumNext"},{"name":"iconClass","value":"bx bx-up-arrow-alt","type":"label"}]},{"id":"_help_ODY7qQn5m2FT","title":"Backup","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Backup"},{"name":"iconClass","value":"bx bx-hdd","type":"label"}]},{"id":"_help_tAassRL4RSQL","title":"Data directory","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Data directory"},{"name":"iconClass","value":"bx bx-folder-open","type":"label"}]}]},{"id":"_help_gh7bpGYxajRS","title":"Basic Concepts and Features","type":"book","attributes":[{"name":"iconClass","value":"bx bx-help-circle","type":"label"}],"children":[{"id":"_help_Vc8PjrjAGuOp","title":"UI Elements","type":"book","attributes":[{"name":"iconClass","value":"bx bx-window-alt","type":"label"}],"children":[{"id":"_help_x0JgW8UqGXvq","title":"Vertical and horizontal layout","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Vertical and horizontal layout"},{"name":"iconClass","value":"bx bxs-layout","type":"label"}]},{"id":"_help_x3i7MxGccDuM","title":"Global menu","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Global menu"},{"name":"iconClass","value":"bx bx-menu","type":"label"}]},{"id":"_help_oPVyFC7WL2Lp","title":"Note Tree","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Note Tree"},{"name":"iconClass","value":"bx bxs-tree-alt","type":"label"}],"children":[{"id":"_help_YtSN43OrfzaA","title":"Note tree contextual menu","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Note Tree/Note tree contextual menu"},{"name":"iconClass","value":"bx bx-menu","type":"label"}]},{"id":"_help_yTjUdsOi4CIE","title":"Multiple selection","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Note Tree/Multiple selection"},{"name":"iconClass","value":"bx bx-list-plus","type":"label"}]},{"id":"_help_DvdZhoQZY9Yd","title":"Keyboard shortcuts","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Note Tree/Keyboard shortcuts"},{"name":"iconClass","value":"bx bxs-keyboard","type":"label"}]}]},{"id":"_help_BlN9DFI679QC","title":"Ribbon","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Ribbon"},{"name":"iconClass","value":"bx bx-dots-horizontal","type":"label"}]},{"id":"_help_3seOhtN8uLIY","title":"Tabs","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Tabs"},{"name":"iconClass","value":"bx bx-dock-top","type":"label"}]},{"id":"_help_xYmIYSP6wE3F","title":"Launch Bar","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Launch Bar"},{"name":"iconClass","value":"bx bx-sidebar","type":"label"}]},{"id":"_help_8YBEPzcpUgxw","title":"Note buttons","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Note buttons"},{"name":"iconClass","value":"bx bx-dots-vertical-rounded","type":"label"}]},{"id":"_help_4TIF1oA4VQRO","title":"Options","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Options"},{"name":"iconClass","value":"bx bx-cog","type":"label"}]},{"id":"_help_luNhaphA37EO","title":"Split View","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Split View"},{"name":"iconClass","value":"bx bx-dock-right","type":"label"}]},{"id":"_help_XpOYSgsLkTJy","title":"Floating buttons","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Floating buttons"},{"name":"iconClass","value":"bx bx-rectangle","type":"label"}]},{"id":"_help_RnaPdbciOfeq","title":"Right Sidebar","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Right Sidebar"},{"name":"iconClass","value":"bx bxs-dock-right","type":"label"}]},{"id":"_help_r5JGHN99bVKn","title":"Recent Changes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Recent Changes"},{"name":"iconClass","value":"bx bx-history","type":"label"}]},{"id":"_help_ny318J39E5Z0","title":"Zoom","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Zoom"},{"name":"iconClass","value":"bx bx-zoom-in","type":"label"}]},{"id":"_help_lgKX7r3aL30x","title":"Note Tooltip","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Note Tooltip"},{"name":"iconClass","value":"bx bx-message-detail","type":"label"}]}]},{"id":"_help_BFs8mudNFgCS","title":"Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes"},{"name":"iconClass","value":"bx bx-notepad","type":"label"}],"children":[{"id":"_help_p9kXRFAkwN4o","title":"Note Icons","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Note Icons"},{"name":"iconClass","value":"bx bxs-grid","type":"label"}]},{"id":"_help_0vhv7lsOLy82","title":"Attachments","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Attachments"},{"name":"iconClass","value":"bx bx-paperclip","type":"label"}]},{"id":"_help_IakOLONlIfGI","title":"Cloning Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Cloning Notes"},{"name":"iconClass","value":"bx bx-duplicate","type":"label"}],"children":[{"id":"_help_TBwsyfadTA18","title":"Branch prefix","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Cloning Notes/Branch prefix"},{"name":"iconClass","value":"bx bx-rename","type":"label"}]}]},{"id":"_help_bwg0e8ewQMak","title":"Protected Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Protected Notes"},{"name":"iconClass","value":"bx bx-lock-alt","type":"label"}]},{"id":"_help_MKmLg5x6xkor","title":"Archived Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Archived Notes"},{"name":"iconClass","value":"bx bx-box","type":"label"}]},{"id":"_help_vZWERwf8U3nx","title":"Note Revisions","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Note Revisions"},{"name":"iconClass","value":"bx bx-history","type":"label"}]},{"id":"_help_aGlEvb9hyDhS","title":"Sorting Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Sorting Notes"},{"name":"iconClass","value":"bx bx-sort-up","type":"label"}]},{"id":"_help_NRnIZmSMc5sj","title":"Printing & Exporting as PDF","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Printing & Exporting as PDF"},{"name":"iconClass","value":"bx bx-printer","type":"label"}]},{"id":"_help_CoFPLs3dRlXc","title":"Read-Only Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Read-Only Notes"},{"name":"iconClass","value":"bx bx-edit-alt","type":"label"}]},{"id":"_help_0ESUbbAxVnoK","title":"Note List","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Note List"},{"name":"iconClass","value":"bx bxs-grid","type":"label"}]}]},{"id":"_help_wArbEsdSae6g","title":"Navigation","type":"book","attributes":[{"name":"iconClass","value":"bx bx-navigation","type":"label"}],"children":[{"id":"_help_kBrnXNG3Hplm","title":"Tree Concepts","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Tree Concepts"},{"name":"iconClass","value":"bx bx-pyramid","type":"label"}]},{"id":"_help_MMiBEQljMQh2","title":"Note Navigation","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Note Navigation"},{"name":"iconClass","value":"bx bxs-navigation","type":"label"}]},{"id":"_help_Ms1nauBra7gq","title":"Quick search","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Quick search"},{"name":"iconClass","value":"bx bx-search-alt-2","type":"label"}]},{"id":"_help_F1r9QtzQLZqm","title":"Jump to...","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Jump to"},{"name":"iconClass","value":"bx bx-send","type":"label"}]},{"id":"_help_eIg8jdvaoNNd","title":"Search","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Search"},{"name":"iconClass","value":"bx bx-search-alt-2","type":"label"}]},{"id":"_help_u3YFHC9tQlpm","title":"Bookmarks","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Bookmarks"},{"name":"iconClass","value":"bx bx-bookmarks","type":"label"}]},{"id":"_help_OR8WJ7Iz9K4U","title":"Note Hoisting","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Note Hoisting"},{"name":"iconClass","value":"bx bxs-chevrons-up","type":"label"}]},{"id":"_help_ZjLYv08Rp3qC","title":"Quick edit","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Quick edit"},{"name":"iconClass","value":"bx bx-edit","type":"label"}]},{"id":"_help_9sRHySam5fXb","title":"Workspaces","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Workspaces"},{"name":"iconClass","value":"bx bx-door-open","type":"label"}]},{"id":"_help_xWtq5NUHOwql","title":"Similar Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Similar Notes"},{"name":"iconClass","value":"bx bx-bar-chart","type":"label"}]},{"id":"_help_McngOG2jbUWX","title":"Search in note","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Search in note"},{"name":"iconClass","value":"bx bx-search-alt-2","type":"label"}]}]},{"id":"_help_A9Oc6YKKc65v","title":"Keyboard Shortcuts","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Keyboard Shortcuts"},{"name":"iconClass","value":"bx bxs-keyboard","type":"label"}]},{"id":"_help_Wy267RK4M69c","title":"Themes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Themes"},{"name":"iconClass","value":"bx bx-palette","type":"label"}],"children":[{"id":"_help_VbjZvtUek0Ln","title":"Theme Gallery","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Themes/Theme Gallery"},{"name":"iconClass","value":"bx bx-book-reader","type":"label"}]}]},{"id":"_help_mHbBMPDPkVV5","title":"Import & Export","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Import & Export"},{"name":"iconClass","value":"bx bx-import","type":"label"}],"children":[{"id":"_help_Oau6X9rCuegd","title":"Markdown","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Import & Export/Markdown"},{"name":"iconClass","value":"bx bxl-markdown","type":"label"}],"children":[{"id":"_help_rJ9grSgoExl9","title":"Supported syntax","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Import & Export/Markdown/Supported syntax"},{"name":"iconClass","value":"bx bx-code-alt","type":"label"}]}]},{"id":"_help_syuSEKf2rUGr","title":"Evernote","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Import & Export/Evernote"},{"name":"iconClass","value":"bx bx-window-open","type":"label"}]},{"id":"_help_GnhlmrATVqcH","title":"OneNote","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Import & Export/OneNote"},{"name":"iconClass","value":"bx bx-window-open","type":"label"}]}]},{"id":"_help_rC3pL2aptaRE","title":"Zen mode","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Zen mode"},{"name":"iconClass","value":"bx bxs-yin-yang","type":"label"}]}]},{"id":"_help_s3YCWHBfmYuM","title":"Quick Start","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Quick Start"},{"name":"iconClass","value":"bx bx-run","type":"label"}]},{"id":"_help_i6dbnitykE5D","title":"FAQ","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/FAQ"},{"name":"iconClass","value":"bx bx-question-mark","type":"label"}]},{"id":"_help_KSZ04uQ2D1St","title":"Note Types","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types"},{"name":"iconClass","value":"bx bx-edit","type":"label"}],"children":[{"id":"_help_iPIMuisry3hd","title":"Text","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text"},{"name":"iconClass","value":"bx bx-note","type":"label"}],"children":[{"id":"_help_NwBbFdNZ9h7O","title":"Block quotes & admonitions","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Block quotes & admonitions"},{"name":"iconClass","value":"bx bx-info-circle","type":"label"}]},{"id":"_help_oSuaNgyyKnhu","title":"Bookmarks","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Bookmarks"},{"name":"iconClass","value":"bx bx-bookmark","type":"label"}]},{"id":"_help_veGu4faJErEM","title":"Content language & Right-to-left support","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Content language & Right-to-le"},{"name":"iconClass","value":"bx bx-align-right","type":"label"}]},{"id":"_help_2x0ZAX9ePtzV","title":"Cut to subnote","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Cut to subnote"},{"name":"iconClass","value":"bx bx-cut","type":"label"}]},{"id":"_help_UYuUB1ZekNQU","title":"Developer-specific formatting","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Developer-specific formatting"},{"name":"iconClass","value":"bx bx-code-alt","type":"label"}],"children":[{"id":"_help_QxEyIjRBizuC","title":"Code blocks","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Developer-specific formatting/Code blocks"},{"name":"iconClass","value":"bx bx-code","type":"label"}]}]},{"id":"_help_AgjCISero73a","title":"Footnotes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Footnotes"},{"name":"iconClass","value":"bx bx-bracket","type":"label"}]},{"id":"_help_nRhnJkTT8cPs","title":"Formatting toolbar","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Formatting toolbar"},{"name":"iconClass","value":"bx bx-text","type":"label"}]},{"id":"_help_Gr6xFaF6ioJ5","title":"General formatting","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/General formatting"},{"name":"iconClass","value":"bx bx-bold","type":"label"}]},{"id":"_help_AxshuNRegLAv","title":"Highlights list","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Highlights list"},{"name":"iconClass","value":"bx bx-highlight","type":"label"}]},{"id":"_help_mT0HEkOsz6i1","title":"Images","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Images"},{"name":"iconClass","value":"bx bx-image-alt","type":"label"}],"children":[{"id":"_help_0Ofbk1aSuVRu","title":"Image references","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Images/Image references"},{"name":"iconClass","value":"bx bxs-file-image","type":"label"}]}]},{"id":"_help_nBAXQFj20hS1","title":"Include Note","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Include Note"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_CohkqWQC1iBv","title":"Insert buttons","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Insert buttons"},{"name":"iconClass","value":"bx bx-plus","type":"label"}]},{"id":"_help_oiVPnW8QfnvS","title":"Keyboard shortcuts","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Keyboard shortcuts"},{"name":"iconClass","value":"bx bxs-keyboard","type":"label"}]},{"id":"_help_QEAPj01N5f7w","title":"Links","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Links"},{"name":"iconClass","value":"bx bx-link-alt","type":"label"}],"children":[{"id":"_help_3IDVtesTQ8ds","title":"External links","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Links/External links"},{"name":"iconClass","value":"bx bx-link-external","type":"label"}]},{"id":"_help_hrZ1D00cLbal","title":"Internal (reference) links","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Links/Internal (reference) links"},{"name":"iconClass","value":"bx bx-link","type":"label"}]}]},{"id":"_help_S6Xx8QIWTV66","title":"Lists","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Lists"},{"name":"iconClass","value":"bx bx-list-ul","type":"label"}]},{"id":"_help_QrtTYPmdd1qq","title":"Markdown-like formatting","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Markdown-like formatting"},{"name":"iconClass","value":"bx bxl-markdown","type":"label"}]},{"id":"_help_YfYAtQBcfo5V","title":"Math Equations","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Math Equations"},{"name":"iconClass","value":"bx bx-math","type":"label"}]},{"id":"_help_dEHYtoWWi8ct","title":"Other features","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Other features"},{"name":"iconClass","value":"bx bxs-grid","type":"label"}]},{"id":"_help_gLt3vA97tMcp","title":"Premium features","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Premium features"},{"name":"iconClass","value":"bx bx-star","type":"label"}],"children":[{"id":"_help_ZlN4nump6EbW","title":"Slash Commands","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Premium features/Slash Commands"},{"name":"iconClass","value":"bx bx-menu","type":"label"}]},{"id":"_help_pwc194wlRzcH","title":"Text Snippets","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Premium features/Text Snippets"},{"name":"iconClass","value":"bx bx-align-left","type":"label"}]}]},{"id":"_help_BFvAtE74rbP6","title":"Table of contents","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Table of contents"},{"name":"iconClass","value":"bx bx-heading","type":"label"}]},{"id":"_help_NdowYOC1GFKS","title":"Tables","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Tables"},{"name":"iconClass","value":"bx bx-table","type":"label"}]}]},{"id":"_help_6f9hih2hXXZk","title":"Code","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Code"},{"name":"iconClass","value":"bx bx-code","type":"label"}]},{"id":"_help_m523cpzocqaD","title":"Saved Search","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Saved Search"},{"name":"iconClass","value":"bx bx-file-find","type":"label"}]},{"id":"_help_iRwzGnHPzonm","title":"Relation Map","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Relation Map"},{"name":"iconClass","value":"bx bxs-network-chart","type":"label"}]},{"id":"_help_bdUJEHsAPYQR","title":"Note Map","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Note Map"},{"name":"iconClass","value":"bx bxs-network-chart","type":"label"}]},{"id":"_help_HcABDtFCkbFN","title":"Render Note","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Render Note"},{"name":"iconClass","value":"bx bx-extension","type":"label"}]},{"id":"_help_s1aBHPd79XYj","title":"Mermaid Diagrams","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Mermaid Diagrams"},{"name":"iconClass","value":"bx bx-selection","type":"label"}],"children":[{"id":"_help_RH6yLjjWJHof","title":"ELK layout","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Mermaid Diagrams/ELK layout"},{"name":"iconClass","value":"bx bxs-network-chart","type":"label"}]},{"id":"_help_WWgeUaBb7UfC","title":"Syntax reference","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://mermaid.js.org/intro/syntax-reference.html"},{"name":"iconClass","value":"bx bx-file","type":"label"}],"enforceAttributes":true}]},{"id":"_help_grjYqerjn243","title":"Canvas","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Canvas"},{"name":"iconClass","value":"bx bx-pen","type":"label"}]},{"id":"_help_1vHRoWCEjj0L","title":"Web View","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Web View"},{"name":"iconClass","value":"bx bx-globe-alt","type":"label"}]},{"id":"_help_gBbsAeiuUxI5","title":"Mind Map","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Mind Map"},{"name":"iconClass","value":"bx bx-sitemap","type":"label"}]},{"id":"_help_W8vYD3Q1zjCR","title":"File","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/File"},{"name":"iconClass","value":"bx bx-file-blank","type":"label"}]}]},{"id":"_help_GTwFsgaA0lCt","title":"Collections","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections"},{"name":"iconClass","value":"bx bx-book","type":"label"}],"children":[{"id":"_help_xWbu3jpNWapp","title":"Calendar","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections/Calendar"},{"name":"iconClass","value":"bx bx-calendar","type":"label"}]},{"id":"_help_2FvYrpmOXm29","title":"Table","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections/Table"},{"name":"iconClass","value":"bx bx-table","type":"label"}]},{"id":"_help_CtBQqbwXDx1w","title":"Kanban Board","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections/Kanban Board"},{"name":"iconClass","value":"bx bx-columns","type":"label"}]},{"id":"_help_81SGnPGMk7Xc","title":"Geo Map","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections/Geo Map"},{"name":"iconClass","value":"bx bx-map-alt","type":"label"}]},{"id":"_help_zP3PMqaG71Ct","title":"Presentation","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections/Presentation"},{"name":"iconClass","value":"bx bx-slideshow","type":"label"}]},{"id":"_help_8QqnMzx393bx","title":"Grid View","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections/Grid View"},{"name":"iconClass","value":"bx bxs-grid","type":"label"}]},{"id":"_help_mULW0Q3VojwY","title":"List View","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections/List View"},{"name":"iconClass","value":"bx bx-list-ul","type":"label"}]}]},{"id":"_help_BgmBlOIl72jZ","title":"Troubleshooting","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting"},{"name":"iconClass","value":"bx bx-bug","type":"label"}],"children":[{"id":"_help_wy8So3yZZlH9","title":"Reporting issues","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting/Reporting issues"},{"name":"iconClass","value":"bx bx-bug-alt","type":"label"}]},{"id":"_help_x59R8J8KV5Bp","title":"Anonymized Database","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting/Anonymized Database"},{"name":"iconClass","value":"bx bx-low-vision","type":"label"}]},{"id":"_help_qzNzp9LYQyPT","title":"Error logs","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting/Error logs"},{"name":"iconClass","value":"bx bx-comment-error","type":"label"}],"children":[{"id":"_help_bnyigUA2UK7s","title":"Backend (server) logs","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting/Error logs/Backend (server) logs"},{"name":"iconClass","value":"bx bx-server","type":"label"}]},{"id":"_help_9yEHzMyFirZR","title":"Frontend logs","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting/Error logs/Frontend logs"},{"name":"iconClass","value":"bx bx-window-alt","type":"label"}]}]},{"id":"_help_vdlYGAcpXAgc","title":"Synchronization fails with 504 Gateway Timeout","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting/Synchronization fails with 504"},{"name":"iconClass","value":"bx bx-error","type":"label"}]},{"id":"_help_s8alTXmpFR61","title":"Refreshing the application","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting/Refreshing the application"},{"name":"iconClass","value":"bx bx-refresh","type":"label"}]}]},{"id":"_help_pKK96zzmvBGf","title":"Theme development","type":"book","attributes":[{"name":"iconClass","value":"bx bx-palette","type":"label"}],"children":[{"id":"_help_7NfNr5pZpVKV","title":"Creating a custom theme","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Theme development/Creating a custom theme"},{"name":"iconClass","value":"bx bxs-color","type":"label"}]},{"id":"_help_WFGzWeUK6arS","title":"Customize the Next theme","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Theme development/Customize the Next theme"},{"name":"iconClass","value":"bx bx-news","type":"label"}]},{"id":"_help_WN5z4M8ASACJ","title":"Reference","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Theme development/Reference"},{"name":"iconClass","value":"bx bx-book-open","type":"label"}]},{"id":"_help_AlhDUqhENtH7","title":"Custom app-wide CSS","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Theme development/Custom app-wide CSS"},{"name":"iconClass","value":"bx bxs-file-css","type":"label"}]}]},{"id":"_help_tC7s2alapj8V","title":"Advanced Usage","type":"book","attributes":[{"name":"iconClass","value":"bx bx-rocket","type":"label"}],"children":[{"id":"_help_zEY4DaJG4YT5","title":"Attributes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Attributes"},{"name":"iconClass","value":"bx bx-list-check","type":"label"}],"children":[{"id":"_help_HI6GBBIduIgv","title":"Labels","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Attributes/Labels"},{"name":"iconClass","value":"bx bx-hash","type":"label"}]},{"id":"_help_Cq5X6iKQop6R","title":"Relations","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Attributes/Relations"},{"name":"iconClass","value":"bx bx-transfer","type":"label"}]},{"id":"_help_bwZpz2ajCEwO","title":"Attribute Inheritance","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Attributes/Attribute Inheritance"},{"name":"iconClass","value":"bx bx-list-plus","type":"label"}]},{"id":"_help_OFXdgB2nNk1F","title":"Promoted Attributes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Attributes/Promoted Attributes"},{"name":"iconClass","value":"bx bx-table","type":"label"}]}]},{"id":"_help_KC1HB96bqqHX","title":"Templates","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Templates"},{"name":"iconClass","value":"bx bx-copy","type":"label"}]},{"id":"_help_BCkXAVs63Ttv","title":"Note Map (Link map, Tree map)","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Note Map (Link map, Tree map)"},{"name":"iconClass","value":"bx bxs-network-chart","type":"label"}]},{"id":"_help_R9pX4DGra2Vt","title":"Sharing","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Sharing"},{"name":"iconClass","value":"bx bx-share-alt","type":"label"}],"children":[{"id":"_help_Qjt68inQ2bRj","title":"Serving directly the content of a note","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Sharing/Serving directly the content o"},{"name":"iconClass","value":"bx bx-code","type":"label"}]},{"id":"_help_ycBFjKrrwE9p","title":"Exporting static HTML for web publishing","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Sharing/Exporting static HTML for web "},{"name":"iconClass","value":"bx bxs-file-html","type":"label"}]},{"id":"_help_sLIJ6f1dkJYW","title":"Reverse proxy configuration","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Sharing/Reverse proxy configuration"},{"name":"iconClass","value":"bx bx-world","type":"label"}]}]},{"id":"_help_5668rwcirq1t","title":"Advanced Showcases","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Advanced Showcases"},{"name":"iconClass","value":"bx bxs-component","type":"label"}],"children":[{"id":"_help_l0tKav7yLHGF","title":"Day Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Advanced Showcases/Day Notes"},{"name":"iconClass","value":"bx bx-calendar","type":"label"}]},{"id":"_help_R7abl2fc6Mxi","title":"Weight Tracker","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Advanced Showcases/Weight Tracker"},{"name":"iconClass","value":"bx bx-line-chart","type":"label"}]},{"id":"_help_xYjQUYhpbUEW","title":"Task Manager","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Advanced Showcases/Task Manager"},{"name":"iconClass","value":"bx bx-calendar-check","type":"label"}]}]},{"id":"_help_J5Ex1ZrMbyJ6","title":"Custom Request Handler","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Custom Request Handler"},{"name":"iconClass","value":"bx bx-globe","type":"label"}]},{"id":"_help_d3fAXQ2diepH","title":"Custom Resource Providers","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Custom Resource Providers"},{"name":"iconClass","value":"bx bxs-file-plus","type":"label"}]},{"id":"_help_pgxEVkzLl1OP","title":"ETAPI (REST API)","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/ETAPI (REST API)"},{"name":"iconClass","value":"bx bx-extension","type":"label"}],"children":[{"id":"_help_9qPsTWBorUhQ","title":"API Reference","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://docs.triliumnotes.org/rest-api/etapi/"},{"name":"iconClass","value":"bx bx-file","type":"label"}],"enforceAttributes":true}]},{"id":"_help_47ZrP6FNuoG8","title":"Default Note Title","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Default Note Title"},{"name":"iconClass","value":"bx bx-edit-alt","type":"label"}]},{"id":"_help_wX4HbRucYSDD","title":"Database","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Database"},{"name":"iconClass","value":"bx bx-data","type":"label"}],"children":[{"id":"_help_oyIAJ9PvvwHX","title":"Manually altering the database","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Database/Manually altering the database"},{"name":"iconClass","value":"bx bxs-edit","type":"label"}],"children":[{"id":"_help_YKWqdJhzi2VY","title":"SQL Console","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Database/Manually altering the database/SQL Console"},{"name":"iconClass","value":"bx bx-data","type":"label"}]}]},{"id":"_help_6tZeKvSHEUiB","title":"Demo Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Database/Demo Notes"},{"name":"iconClass","value":"bx bx-package","type":"label"}]}]},{"id":"_help_Gzjqa934BdH4","title":"Configuration (config.ini or environment variables)","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Configuration (config.ini or e"},{"name":"iconClass","value":"bx bx-cog","type":"label"}],"children":[{"id":"_help_c5xB8m4g2IY6","title":"Trilium instance","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Configuration (config.ini or environment variables)/Trilium instance"},{"name":"iconClass","value":"bx bx-windows","type":"label"}]},{"id":"_help_LWtBjFej3wX3","title":"Cross-Origin Resource Sharing (CORS)","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Configuration (config.ini or environment variables)/Cross-Origin Resource Sharing "},{"name":"iconClass","value":"bx bx-lock","type":"label"}]}]},{"id":"_help_ivYnonVFBxbQ","title":"Bulk Actions","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Bulk Actions"},{"name":"iconClass","value":"bx bx-list-plus","type":"label"}]},{"id":"_help_4FahAwuGTAwC","title":"Note source","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Note source"},{"name":"iconClass","value":"bx bx-code","type":"label"}]},{"id":"_help_1YeN2MzFUluU","title":"Technologies used","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Technologies used"},{"name":"iconClass","value":"bx bx-pyramid","type":"label"}],"children":[{"id":"_help_MI26XDLSAlCD","title":"CKEditor","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Technologies used/CKEditor"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_N4IDkixaDG9C","title":"MindElixir","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Technologies used/MindElixir"},{"name":"iconClass","value":"bx bx-sitemap","type":"label"}]},{"id":"_help_H0mM1lTxF9JI","title":"Excalidraw","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Technologies used/Excalidraw"},{"name":"iconClass","value":"bx bx-pen","type":"label"}]},{"id":"_help_MQHyy2dIFgxS","title":"Leaflet","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Technologies used/Leaflet"},{"name":"iconClass","value":"bx bx-map-alt","type":"label"}]}]},{"id":"_help_m1lbrzyKDaRB","title":"Note ID","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Note ID"},{"name":"iconClass","value":"bx bx-hash","type":"label"}]},{"id":"_help_0vTSyvhPTAOz","title":"Internal API","type":"book","attributes":[{"name":"iconClass","value":"bx bxs-component","type":"label"}],"children":[{"id":"_help_z8O2VG4ZZJD7","title":"API Reference","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://docs.triliumnotes.org/rest-api/internal/"},{"name":"iconClass","value":"bx bx-file","type":"label"}],"enforceAttributes":true}]},{"id":"_help_2mUhVmZK8RF3","title":"Hidden Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Hidden Notes"},{"name":"iconClass","value":"bx bx-hide","type":"label"}]},{"id":"_help_uYF7pmepw27K","title":"Metrics","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Metrics"},{"name":"iconClass","value":"bx bxs-data","type":"label"}],"children":[{"id":"_help_bOP3TB56fL1V","title":"grafana-dashboard.json","type":"doc","attributes":[{"name":"iconClass","value":"bx bx-file","type":"label"}]}]},{"id":"_help_64ZTlUPgEPtW","title":"Safe mode","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Safe mode"},{"name":"iconClass","value":"bx bxs-virus-block","type":"label"}]},{"id":"_help_HAIOFBoYIIdO","title":"Nightly release","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Nightly release"},{"name":"iconClass","value":"bx bx-moon","type":"label"}]},{"id":"_help_ZmT9ln8XJX2o","title":"Read-only database","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Read-only database"},{"name":"iconClass","value":"bx bx-book-reader","type":"label"}]}]},{"id":"_help_GBBMSlVSOIGP","title":"AI","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/AI"},{"name":"iconClass","value":"bx bx-bot","type":"label"}],"children":[{"id":"_help_WkM7gsEUyCXs","title":"Providers","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/AI/Providers"},{"name":"iconClass","value":"bx bx-select-multiple","type":"label"}],"children":[{"id":"_help_7EdTxPADv95W","title":"Ollama","type":"book","attributes":[{"name":"iconClass","value":"bx bx-message-dots","type":"label"}],"children":[{"id":"_help_vvUCN7FDkq7G","title":"Installing Ollama","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/AI/Providers/Ollama/Installing Ollama"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]},{"id":"_help_ZavFigBX9AwP","title":"OpenAI","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/AI/Providers/OpenAI"},{"name":"iconClass","value":"bx bx-message-dots","type":"label"}]},{"id":"_help_e0lkirXEiSNc","title":"Anthropic","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/AI/Providers/Anthropic"},{"name":"iconClass","value":"bx bx-message-dots","type":"label"}]}]}]},{"id":"_help_CdNpE2pqjmI6","title":"Scripting","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting"},{"name":"iconClass","value":"bx bxs-file-js","type":"label"}],"children":[{"id":"_help_yIhgI5H7A2Sm","title":"Frontend Basics","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics"},{"name":"iconClass","value":"bx bx-window","type":"label"}],"children":[{"id":"_help_MgibgPcfeuGz","title":"Custom Widgets","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Custom Widgets"},{"name":"iconClass","value":"bx bxs-widget","type":"label"}],"children":[{"id":"_help_YNxAqkI5Kg1M","title":"Word count widget","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Custom Widgets/Word count widget"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_SynTBQiBsdYJ","title":"Widget Basics","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Custom Widgets/Widget Basics"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_M8IppdwVHSjG","title":"Right pane widget","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Custom Widgets/Right pane widget"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_VqGQnnPGnqAU","title":"CSS","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Custom Widgets/CSS"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]},{"id":"_help_es8OU2GuguFU","title":"Examples","type":"book","attributes":[{"name":"iconClass","value":"bx bx-code-alt","type":"label"}],"children":[{"id":"_help_TjLYAo3JMO8X","title":"\"New Task\" launcher button","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Examples/New Task launcher button"},{"name":"iconClass","value":"bx bx-task","type":"label"}]},{"id":"_help_7kZPMD0uFwkH","title":"Downloading responses from Google Forms","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Examples/Downloading responses from Goo"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_DL92EjAaXT26","title":"Using promoted attributes to configure scripts","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Examples/Using promoted attributes to c"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]}]},{"id":"_help_SPirpZypehBG","title":"Backend scripts","type":"book","attributes":[{"name":"iconClass","value":"bx bx-server","type":"label"}],"children":[{"id":"_help_fZ2IGYFXjkEy","title":"Server-side imports","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Backend scripts/Server-side imports"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_GPERMystNGTB","title":"Events","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Backend scripts/Events"},{"name":"iconClass","value":"bx bx-rss","type":"label"}]}]},{"id":"_help_GLks18SNjxmC","title":"Script API","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Script API"},{"name":"iconClass","value":"bx bx-code-curly","type":"label"}],"children":[{"id":"_help_Q2z6av6JZVWm","title":"Frontend API","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://docs.triliumnotes.org/script-api/frontend"},{"name":"iconClass","value":"bx bx-folder","type":"label"}],"enforceAttributes":true,"children":[{"id":"_help_habiZ3HU8Kw8","title":"FNote","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://docs.triliumnotes.org/script-api/frontend/interfaces/FNote.html"},{"name":"iconClass","value":"bx bx-file","type":"label"}],"enforceAttributes":true}]},{"id":"_help_MEtfsqa5VwNi","title":"Backend API","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://docs.triliumnotes.org/script-api/backend"},{"name":"iconClass","value":"bx bx-file","type":"label"}],"enforceAttributes":true}]},{"id":"_help_vElnKeDNPSVl","title":"Logging","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Logging"},{"name":"iconClass","value":"bx bx-terminal","type":"label"}]}]},{"id":"_help_Fm0j45KqyHpU","title":"Miscellaneous","type":"book","attributes":[{"name":"iconClass","value":"bx bx-info-circle","type":"label"}],"children":[{"id":"_help_WFbFXrgnDyyU","title":"Privacy Policy","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Miscellaneous/Privacy Policy"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_NcsmUYZRWEW4","title":"Patterns of personal knowledge","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Miscellaneous/Patterns of personal knowledge"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]}]
\ No newline at end of file
+[{"id":"_help_BOCnjTMBCoxW","title":"Feature Highlights","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Feature Highlights"},{"name":"iconClass","value":"bx bx-star","type":"label"}]},{"id":"_help_Otzi9La2YAUX","title":"Installation & Setup","type":"book","attributes":[{"name":"iconClass","value":"bx bx-cog","type":"label"}],"children":[{"id":"_help_poXkQfguuA0U","title":"Desktop Installation","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Desktop Installation"},{"name":"iconClass","value":"bx bx-desktop","type":"label"}],"children":[{"id":"_help_nRqcgfTb97uV","title":"Using the desktop application as a server","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Desktop Installation/Using the desktop application "},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_Rp0q8bSP6Ayl","title":"System Requirements","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Desktop Installation/System Requirements"},{"name":"iconClass","value":"bx bx-chip","type":"label"}]},{"id":"_help_Un4wj2Mak2Ky","title":"Nix flake","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Desktop Installation/Nix flake"},{"name":"iconClass","value":"bx bxl-tux","type":"label"}]}]},{"id":"_help_WOcw2SLH6tbX","title":"Server Installation","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation"},{"name":"iconClass","value":"bx bx-server","type":"label"}],"children":[{"id":"_help_Dgg7bR3b6K9j","title":"1. Installing the server","type":"book","attributes":[{"name":"iconClass","value":"bx bx-folder","type":"label"}],"children":[{"id":"_help_3tW6mORuTHnB","title":"Packaged version for Linux","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Packaged version for Linux"},{"name":"iconClass","value":"bx bxl-tux","type":"label"}]},{"id":"_help_rWX5eY045zbE","title":"Using Docker","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Using Docker"},{"name":"iconClass","value":"bx bxl-docker","type":"label"}]},{"id":"_help_moVgBcoxE3EK","title":"On NixOS","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/On NixOS"},{"name":"iconClass","value":"bx bxl-tux","type":"label"}]},{"id":"_help_J1Bb6lVlwU5T","title":"Manually","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Manually"},{"name":"iconClass","value":"bx bx-code-alt","type":"label"}]},{"id":"_help_DCmT6e7clMoP","title":"Using Kubernetes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Using Kubernetes"},{"name":"iconClass","value":"bx bxl-kubernetes","type":"label"}]},{"id":"_help_klCWNks3ReaQ","title":"Multiple server instances","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/1. Installing the server/Multiple server instances"},{"name":"iconClass","value":"bx bxs-user-account","type":"label"}]}]},{"id":"_help_vcjrb3VVYPZI","title":"2. Reverse proxy","type":"book","attributes":[{"name":"iconClass","value":"bx bx-folder","type":"label"}],"children":[{"id":"_help_ud6MShXL4WpO","title":"Nginx","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/2. Reverse proxy/Nginx"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_fDLvzOx29Pfg","title":"Apache using Docker","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/2. Reverse proxy/Apache using Docker"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_LLzSMXACKhUs","title":"Trusted proxy","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/2. Reverse proxy/Trusted proxy"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_5ERVJb9s4FRD","title":"Traefik","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/2. Reverse proxy/Traefik"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]},{"id":"_help_l2VkvOwUNfZj","title":"HTTPS (TLS)","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/HTTPS (TLS)"},{"name":"iconClass","value":"bx bx-lock-alt","type":"label"}]},{"id":"_help_0hzsNCP31IAB","title":"Authentication","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/Authentication"},{"name":"iconClass","value":"bx bx-user","type":"label"}]},{"id":"_help_7DAiwaf8Z7Rz","title":"Multi-Factor Authentication","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/Multi-Factor Authentication"},{"name":"iconClass","value":"bx bx-stopwatch","type":"label"}]},{"id":"_help_Un4wj2Mak2Ky","title":"Nix flake","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/Nix flake.clone"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_yeEaYqosGLSh","title":"Third-party cloud hosting","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/Third-party cloud hosting"},{"name":"iconClass","value":"bx bx-cloud","type":"label"}]},{"id":"_help_iGTnKjubbXkA","title":"System Requirements","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Server Installation/System Requirements"},{"name":"iconClass","value":"bx bx-chip","type":"label"}]}]},{"id":"_help_cbkrhQjrkKrh","title":"Synchronization","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Synchronization"},{"name":"iconClass","value":"bx bx-sync","type":"label"}]},{"id":"_help_RDslemsQ6gCp","title":"Mobile Frontend","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Mobile Frontend"},{"name":"iconClass","value":"bx bx-mobile-alt","type":"label"}]},{"id":"_help_MtPxeAWVAzMg","title":"Web Clipper","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Web Clipper"},{"name":"iconClass","value":"bx bx-paperclip","type":"label"}]},{"id":"_help_n1lujUxCwipy","title":"Upgrading TriliumNext","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Upgrading TriliumNext"},{"name":"iconClass","value":"bx bx-up-arrow-alt","type":"label"}]},{"id":"_help_ODY7qQn5m2FT","title":"Backup","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Backup"},{"name":"iconClass","value":"bx bx-hdd","type":"label"}]},{"id":"_help_tAassRL4RSQL","title":"Data directory","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Installation & Setup/Data directory"},{"name":"iconClass","value":"bx bx-folder-open","type":"label"}]}]},{"id":"_help_gh7bpGYxajRS","title":"Basic Concepts and Features","type":"book","attributes":[{"name":"iconClass","value":"bx bx-help-circle","type":"label"}],"children":[{"id":"_help_Vc8PjrjAGuOp","title":"UI Elements","type":"book","attributes":[{"name":"iconClass","value":"bx bx-window-alt","type":"label"}],"children":[{"id":"_help_x0JgW8UqGXvq","title":"Vertical and horizontal layout","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Vertical and horizontal layout"},{"name":"iconClass","value":"bx bxs-layout","type":"label"}]},{"id":"_help_x3i7MxGccDuM","title":"Global menu","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Global menu"},{"name":"iconClass","value":"bx bx-menu","type":"label"}]},{"id":"_help_oPVyFC7WL2Lp","title":"Note Tree","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Note Tree"},{"name":"iconClass","value":"bx bxs-tree-alt","type":"label"}],"children":[{"id":"_help_YtSN43OrfzaA","title":"Note tree contextual menu","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Note Tree/Note tree contextual menu"},{"name":"iconClass","value":"bx bx-menu","type":"label"}]},{"id":"_help_yTjUdsOi4CIE","title":"Multiple selection","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Note Tree/Multiple selection"},{"name":"iconClass","value":"bx bx-list-plus","type":"label"}]},{"id":"_help_DvdZhoQZY9Yd","title":"Keyboard shortcuts","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Note Tree/Keyboard shortcuts"},{"name":"iconClass","value":"bx bxs-keyboard","type":"label"}]}]},{"id":"_help_BlN9DFI679QC","title":"Ribbon","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Ribbon"},{"name":"iconClass","value":"bx bx-dots-horizontal","type":"label"}]},{"id":"_help_3seOhtN8uLIY","title":"Tabs","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Tabs"},{"name":"iconClass","value":"bx bx-dock-top","type":"label"}]},{"id":"_help_xYmIYSP6wE3F","title":"Launch Bar","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Launch Bar"},{"name":"iconClass","value":"bx bx-sidebar","type":"label"}]},{"id":"_help_8YBEPzcpUgxw","title":"Note buttons","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Note buttons"},{"name":"iconClass","value":"bx bx-dots-vertical-rounded","type":"label"}]},{"id":"_help_4TIF1oA4VQRO","title":"Options","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Options"},{"name":"iconClass","value":"bx bx-cog","type":"label"}]},{"id":"_help_luNhaphA37EO","title":"Split View","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Split View"},{"name":"iconClass","value":"bx bx-dock-right","type":"label"}]},{"id":"_help_XpOYSgsLkTJy","title":"Floating buttons","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Floating buttons"},{"name":"iconClass","value":"bx bx-rectangle","type":"label"}]},{"id":"_help_RnaPdbciOfeq","title":"Right Sidebar","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Right Sidebar"},{"name":"iconClass","value":"bx bxs-dock-right","type":"label"}]},{"id":"_help_r5JGHN99bVKn","title":"Recent Changes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Recent Changes"},{"name":"iconClass","value":"bx bx-history","type":"label"}]},{"id":"_help_ny318J39E5Z0","title":"Zoom","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Zoom"},{"name":"iconClass","value":"bx bx-zoom-in","type":"label"}]},{"id":"_help_lgKX7r3aL30x","title":"Note Tooltip","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/UI Elements/Note Tooltip"},{"name":"iconClass","value":"bx bx-message-detail","type":"label"}]}]},{"id":"_help_BFs8mudNFgCS","title":"Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes"},{"name":"iconClass","value":"bx bx-notepad","type":"label"}],"children":[{"id":"_help_p9kXRFAkwN4o","title":"Note Icons","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Note Icons"},{"name":"iconClass","value":"bx bxs-grid","type":"label"}]},{"id":"_help_0vhv7lsOLy82","title":"Attachments","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Attachments"},{"name":"iconClass","value":"bx bx-paperclip","type":"label"}]},{"id":"_help_IakOLONlIfGI","title":"Cloning Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Cloning Notes"},{"name":"iconClass","value":"bx bx-duplicate","type":"label"}],"children":[{"id":"_help_TBwsyfadTA18","title":"Branch prefix","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Cloning Notes/Branch prefix"},{"name":"iconClass","value":"bx bx-rename","type":"label"}]}]},{"id":"_help_bwg0e8ewQMak","title":"Protected Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Protected Notes"},{"name":"iconClass","value":"bx bx-lock-alt","type":"label"}]},{"id":"_help_MKmLg5x6xkor","title":"Archived Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Archived Notes"},{"name":"iconClass","value":"bx bx-box","type":"label"}]},{"id":"_help_vZWERwf8U3nx","title":"Note Revisions","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Note Revisions"},{"name":"iconClass","value":"bx bx-history","type":"label"}]},{"id":"_help_aGlEvb9hyDhS","title":"Sorting Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Sorting Notes"},{"name":"iconClass","value":"bx bx-sort-up","type":"label"}]},{"id":"_help_NRnIZmSMc5sj","title":"Printing & Exporting as PDF","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Printing & Exporting as PDF"},{"name":"iconClass","value":"bx bx-printer","type":"label"}]},{"id":"_help_CoFPLs3dRlXc","title":"Read-Only Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Read-Only Notes"},{"name":"iconClass","value":"bx bx-edit-alt","type":"label"}]},{"id":"_help_0ESUbbAxVnoK","title":"Note List","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Notes/Note List"},{"name":"iconClass","value":"bx bxs-grid","type":"label"}]}]},{"id":"_help_wArbEsdSae6g","title":"Navigation","type":"book","attributes":[{"name":"iconClass","value":"bx bx-navigation","type":"label"}],"children":[{"id":"_help_kBrnXNG3Hplm","title":"Tree Concepts","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Tree Concepts"},{"name":"iconClass","value":"bx bx-pyramid","type":"label"}]},{"id":"_help_MMiBEQljMQh2","title":"Note Navigation","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Note Navigation"},{"name":"iconClass","value":"bx bxs-navigation","type":"label"}]},{"id":"_help_Ms1nauBra7gq","title":"Quick search","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Quick search"},{"name":"iconClass","value":"bx bx-search-alt-2","type":"label"}]},{"id":"_help_F1r9QtzQLZqm","title":"Jump to...","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Jump to"},{"name":"iconClass","value":"bx bx-send","type":"label"}]},{"id":"_help_eIg8jdvaoNNd","title":"Search","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Search"},{"name":"iconClass","value":"bx bx-search-alt-2","type":"label"}]},{"id":"_help_u3YFHC9tQlpm","title":"Bookmarks","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Bookmarks"},{"name":"iconClass","value":"bx bx-bookmarks","type":"label"}]},{"id":"_help_OR8WJ7Iz9K4U","title":"Note Hoisting","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Note Hoisting"},{"name":"iconClass","value":"bx bxs-chevrons-up","type":"label"}]},{"id":"_help_ZjLYv08Rp3qC","title":"Quick edit","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Quick edit"},{"name":"iconClass","value":"bx bx-edit","type":"label"}]},{"id":"_help_9sRHySam5fXb","title":"Workspaces","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Workspaces"},{"name":"iconClass","value":"bx bx-door-open","type":"label"}]},{"id":"_help_xWtq5NUHOwql","title":"Similar Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Similar Notes"},{"name":"iconClass","value":"bx bx-bar-chart","type":"label"}]},{"id":"_help_McngOG2jbUWX","title":"Search in note","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Navigation/Search in note"},{"name":"iconClass","value":"bx bx-search-alt-2","type":"label"}]}]},{"id":"_help_A9Oc6YKKc65v","title":"Keyboard Shortcuts","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Keyboard Shortcuts"},{"name":"iconClass","value":"bx bxs-keyboard","type":"label"}]},{"id":"_help_Wy267RK4M69c","title":"Themes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Themes"},{"name":"iconClass","value":"bx bx-palette","type":"label"}],"children":[{"id":"_help_VbjZvtUek0Ln","title":"Theme Gallery","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Themes/Theme Gallery"},{"name":"iconClass","value":"bx bx-book-reader","type":"label"}]}]},{"id":"_help_mHbBMPDPkVV5","title":"Import & Export","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Import & Export"},{"name":"iconClass","value":"bx bx-import","type":"label"}],"children":[{"id":"_help_Oau6X9rCuegd","title":"Markdown","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Import & Export/Markdown"},{"name":"iconClass","value":"bx bxl-markdown","type":"label"}],"children":[{"id":"_help_rJ9grSgoExl9","title":"Supported syntax","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Import & Export/Markdown/Supported syntax"},{"name":"iconClass","value":"bx bx-code-alt","type":"label"}]}]},{"id":"_help_syuSEKf2rUGr","title":"Evernote","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Import & Export/Evernote"},{"name":"iconClass","value":"bx bx-window-open","type":"label"}]},{"id":"_help_GnhlmrATVqcH","title":"OneNote","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Import & Export/OneNote"},{"name":"iconClass","value":"bx bx-window-open","type":"label"}]}]},{"id":"_help_rC3pL2aptaRE","title":"Zen mode","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Basic Concepts and Features/Zen mode"},{"name":"iconClass","value":"bx bxs-yin-yang","type":"label"}]}]},{"id":"_help_s3YCWHBfmYuM","title":"Quick Start","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Quick Start"},{"name":"iconClass","value":"bx bx-run","type":"label"}]},{"id":"_help_i6dbnitykE5D","title":"FAQ","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/FAQ"},{"name":"iconClass","value":"bx bx-question-mark","type":"label"}]},{"id":"_help_KSZ04uQ2D1St","title":"Note Types","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types"},{"name":"iconClass","value":"bx bx-edit","type":"label"}],"children":[{"id":"_help_iPIMuisry3hd","title":"Text","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text"},{"name":"iconClass","value":"bx bx-note","type":"label"}],"children":[{"id":"_help_NwBbFdNZ9h7O","title":"Block quotes & admonitions","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Block quotes & admonitions"},{"name":"iconClass","value":"bx bx-info-circle","type":"label"}]},{"id":"_help_oSuaNgyyKnhu","title":"Bookmarks","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Bookmarks"},{"name":"iconClass","value":"bx bx-bookmark","type":"label"}]},{"id":"_help_veGu4faJErEM","title":"Content language & Right-to-left support","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Content language & Right-to-le"},{"name":"iconClass","value":"bx bx-align-right","type":"label"}]},{"id":"_help_2x0ZAX9ePtzV","title":"Cut to subnote","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Cut to subnote"},{"name":"iconClass","value":"bx bx-cut","type":"label"}]},{"id":"_help_UYuUB1ZekNQU","title":"Developer-specific formatting","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Developer-specific formatting"},{"name":"iconClass","value":"bx bx-code-alt","type":"label"}],"children":[{"id":"_help_QxEyIjRBizuC","title":"Code blocks","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Developer-specific formatting/Code blocks"},{"name":"iconClass","value":"bx bx-code","type":"label"}]}]},{"id":"_help_AgjCISero73a","title":"Footnotes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Footnotes"},{"name":"iconClass","value":"bx bx-bracket","type":"label"}]},{"id":"_help_nRhnJkTT8cPs","title":"Formatting toolbar","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Formatting toolbar"},{"name":"iconClass","value":"bx bx-text","type":"label"}]},{"id":"_help_Gr6xFaF6ioJ5","title":"General formatting","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/General formatting"},{"name":"iconClass","value":"bx bx-bold","type":"label"}]},{"id":"_help_AxshuNRegLAv","title":"Highlights list","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Highlights list"},{"name":"iconClass","value":"bx bx-highlight","type":"label"}]},{"id":"_help_mT0HEkOsz6i1","title":"Images","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Images"},{"name":"iconClass","value":"bx bx-image-alt","type":"label"}],"children":[{"id":"_help_0Ofbk1aSuVRu","title":"Image references","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Images/Image references"},{"name":"iconClass","value":"bx bxs-file-image","type":"label"}]}]},{"id":"_help_nBAXQFj20hS1","title":"Include Note","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Include Note"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_CohkqWQC1iBv","title":"Insert buttons","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Insert buttons"},{"name":"iconClass","value":"bx bx-plus","type":"label"}]},{"id":"_help_oiVPnW8QfnvS","title":"Keyboard shortcuts","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Keyboard shortcuts"},{"name":"iconClass","value":"bx bxs-keyboard","type":"label"}]},{"id":"_help_QEAPj01N5f7w","title":"Links","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Links"},{"name":"iconClass","value":"bx bx-link-alt","type":"label"}],"children":[{"id":"_help_3IDVtesTQ8ds","title":"External links","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Links/External links"},{"name":"iconClass","value":"bx bx-link-external","type":"label"}]},{"id":"_help_hrZ1D00cLbal","title":"Internal (reference) links","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Links/Internal (reference) links"},{"name":"iconClass","value":"bx bx-link","type":"label"}]}]},{"id":"_help_S6Xx8QIWTV66","title":"Lists","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Lists"},{"name":"iconClass","value":"bx bx-list-ul","type":"label"}]},{"id":"_help_QrtTYPmdd1qq","title":"Markdown-like formatting","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Markdown-like formatting"},{"name":"iconClass","value":"bx bxl-markdown","type":"label"}]},{"id":"_help_YfYAtQBcfo5V","title":"Math Equations","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Math Equations"},{"name":"iconClass","value":"bx bx-math","type":"label"}]},{"id":"_help_dEHYtoWWi8ct","title":"Other features","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Other features"},{"name":"iconClass","value":"bx bxs-grid","type":"label"}]},{"id":"_help_gLt3vA97tMcp","title":"Premium features","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Premium features"},{"name":"iconClass","value":"bx bx-star","type":"label"}],"children":[{"id":"_help_ZlN4nump6EbW","title":"Slash Commands","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Premium features/Slash Commands"},{"name":"iconClass","value":"bx bx-menu","type":"label"}]},{"id":"_help_pwc194wlRzcH","title":"Text Snippets","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Premium features/Text Snippets"},{"name":"iconClass","value":"bx bx-align-left","type":"label"}]},{"id":"_help_5wZallV2Qo1t","title":"Format Painter","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Premium features/Format Painter"},{"name":"iconClass","value":"bx bxs-paint-roll","type":"label"}]}]},{"id":"_help_BFvAtE74rbP6","title":"Table of contents","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Table of contents"},{"name":"iconClass","value":"bx bx-heading","type":"label"}]},{"id":"_help_NdowYOC1GFKS","title":"Tables","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Text/Tables"},{"name":"iconClass","value":"bx bx-table","type":"label"}]}]},{"id":"_help_6f9hih2hXXZk","title":"Code","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Code"},{"name":"iconClass","value":"bx bx-code","type":"label"}]},{"id":"_help_m523cpzocqaD","title":"Saved Search","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Saved Search"},{"name":"iconClass","value":"bx bx-file-find","type":"label"}]},{"id":"_help_iRwzGnHPzonm","title":"Relation Map","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Relation Map"},{"name":"iconClass","value":"bx bxs-network-chart","type":"label"}]},{"id":"_help_bdUJEHsAPYQR","title":"Note Map","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Note Map"},{"name":"iconClass","value":"bx bxs-network-chart","type":"label"}]},{"id":"_help_HcABDtFCkbFN","title":"Render Note","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Render Note"},{"name":"iconClass","value":"bx bx-extension","type":"label"}]},{"id":"_help_s1aBHPd79XYj","title":"Mermaid Diagrams","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Mermaid Diagrams"},{"name":"iconClass","value":"bx bx-selection","type":"label"}],"children":[{"id":"_help_RH6yLjjWJHof","title":"ELK layout","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Mermaid Diagrams/ELK layout"},{"name":"iconClass","value":"bx bxs-network-chart","type":"label"}]},{"id":"_help_WWgeUaBb7UfC","title":"Syntax reference","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://mermaid.js.org/intro/syntax-reference.html"},{"name":"iconClass","value":"bx bx-file","type":"label"}],"enforceAttributes":true}]},{"id":"_help_grjYqerjn243","title":"Canvas","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Canvas"},{"name":"iconClass","value":"bx bx-pen","type":"label"}]},{"id":"_help_1vHRoWCEjj0L","title":"Web View","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Web View"},{"name":"iconClass","value":"bx bx-globe-alt","type":"label"}]},{"id":"_help_gBbsAeiuUxI5","title":"Mind Map","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/Mind Map"},{"name":"iconClass","value":"bx bx-sitemap","type":"label"}]},{"id":"_help_W8vYD3Q1zjCR","title":"File","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Note Types/File"},{"name":"iconClass","value":"bx bx-file-blank","type":"label"}]}]},{"id":"_help_GTwFsgaA0lCt","title":"Collections","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections"},{"name":"iconClass","value":"bx bx-book","type":"label"}],"children":[{"id":"_help_xWbu3jpNWapp","title":"Calendar","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections/Calendar"},{"name":"iconClass","value":"bx bx-calendar","type":"label"}]},{"id":"_help_2FvYrpmOXm29","title":"Table","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections/Table"},{"name":"iconClass","value":"bx bx-table","type":"label"}]},{"id":"_help_CtBQqbwXDx1w","title":"Kanban Board","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections/Kanban Board"},{"name":"iconClass","value":"bx bx-columns","type":"label"}]},{"id":"_help_81SGnPGMk7Xc","title":"Geo Map","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections/Geo Map"},{"name":"iconClass","value":"bx bx-map-alt","type":"label"}]},{"id":"_help_zP3PMqaG71Ct","title":"Presentation","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections/Presentation"},{"name":"iconClass","value":"bx bx-slideshow","type":"label"}]},{"id":"_help_8QqnMzx393bx","title":"Grid View","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections/Grid View"},{"name":"iconClass","value":"bx bxs-grid","type":"label"}]},{"id":"_help_mULW0Q3VojwY","title":"List View","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Collections/List View"},{"name":"iconClass","value":"bx bx-list-ul","type":"label"}]}]},{"id":"_help_BgmBlOIl72jZ","title":"Troubleshooting","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting"},{"name":"iconClass","value":"bx bx-bug","type":"label"}],"children":[{"id":"_help_wy8So3yZZlH9","title":"Reporting issues","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting/Reporting issues"},{"name":"iconClass","value":"bx bx-bug-alt","type":"label"}]},{"id":"_help_x59R8J8KV5Bp","title":"Anonymized Database","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting/Anonymized Database"},{"name":"iconClass","value":"bx bx-low-vision","type":"label"}]},{"id":"_help_qzNzp9LYQyPT","title":"Error logs","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting/Error logs"},{"name":"iconClass","value":"bx bx-comment-error","type":"label"}],"children":[{"id":"_help_bnyigUA2UK7s","title":"Backend (server) logs","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting/Error logs/Backend (server) logs"},{"name":"iconClass","value":"bx bx-server","type":"label"}]},{"id":"_help_9yEHzMyFirZR","title":"Frontend logs","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting/Error logs/Frontend logs"},{"name":"iconClass","value":"bx bx-window-alt","type":"label"}]}]},{"id":"_help_vdlYGAcpXAgc","title":"Synchronization fails with 504 Gateway Timeout","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting/Synchronization fails with 504"},{"name":"iconClass","value":"bx bx-error","type":"label"}]},{"id":"_help_s8alTXmpFR61","title":"Refreshing the application","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Troubleshooting/Refreshing the application"},{"name":"iconClass","value":"bx bx-refresh","type":"label"}]}]},{"id":"_help_pKK96zzmvBGf","title":"Theme development","type":"book","attributes":[{"name":"iconClass","value":"bx bx-palette","type":"label"}],"children":[{"id":"_help_7NfNr5pZpVKV","title":"Creating a custom theme","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Theme development/Creating a custom theme"},{"name":"iconClass","value":"bx bxs-color","type":"label"}]},{"id":"_help_WFGzWeUK6arS","title":"Customize the Next theme","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Theme development/Customize the Next theme"},{"name":"iconClass","value":"bx bx-news","type":"label"}]},{"id":"_help_WN5z4M8ASACJ","title":"Reference","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Theme development/Reference"},{"name":"iconClass","value":"bx bx-book-open","type":"label"}]},{"id":"_help_AlhDUqhENtH7","title":"Custom app-wide CSS","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Theme development/Custom app-wide CSS"},{"name":"iconClass","value":"bx bxs-file-css","type":"label"}]}]},{"id":"_help_tC7s2alapj8V","title":"Advanced Usage","type":"book","attributes":[{"name":"iconClass","value":"bx bx-rocket","type":"label"}],"children":[{"id":"_help_zEY4DaJG4YT5","title":"Attributes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Attributes"},{"name":"iconClass","value":"bx bx-list-check","type":"label"}],"children":[{"id":"_help_HI6GBBIduIgv","title":"Labels","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Attributes/Labels"},{"name":"iconClass","value":"bx bx-hash","type":"label"}]},{"id":"_help_Cq5X6iKQop6R","title":"Relations","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Attributes/Relations"},{"name":"iconClass","value":"bx bx-transfer","type":"label"}]},{"id":"_help_bwZpz2ajCEwO","title":"Attribute Inheritance","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Attributes/Attribute Inheritance"},{"name":"iconClass","value":"bx bx-list-plus","type":"label"}]},{"id":"_help_OFXdgB2nNk1F","title":"Promoted Attributes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Attributes/Promoted Attributes"},{"name":"iconClass","value":"bx bx-table","type":"label"}]}]},{"id":"_help_KC1HB96bqqHX","title":"Templates","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Templates"},{"name":"iconClass","value":"bx bx-copy","type":"label"}]},{"id":"_help_BCkXAVs63Ttv","title":"Note Map (Link map, Tree map)","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Note Map (Link map, Tree map)"},{"name":"iconClass","value":"bx bxs-network-chart","type":"label"}]},{"id":"_help_R9pX4DGra2Vt","title":"Sharing","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Sharing"},{"name":"iconClass","value":"bx bx-share-alt","type":"label"}],"children":[{"id":"_help_Qjt68inQ2bRj","title":"Serving directly the content of a note","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Sharing/Serving directly the content o"},{"name":"iconClass","value":"bx bx-code","type":"label"}]},{"id":"_help_ycBFjKrrwE9p","title":"Exporting static HTML for web publishing","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Sharing/Exporting static HTML for web "},{"name":"iconClass","value":"bx bxs-file-html","type":"label"}]},{"id":"_help_sLIJ6f1dkJYW","title":"Reverse proxy configuration","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Sharing/Reverse proxy configuration"},{"name":"iconClass","value":"bx bx-world","type":"label"}]}]},{"id":"_help_5668rwcirq1t","title":"Advanced Showcases","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Advanced Showcases"},{"name":"iconClass","value":"bx bxs-component","type":"label"}],"children":[{"id":"_help_l0tKav7yLHGF","title":"Day Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Advanced Showcases/Day Notes"},{"name":"iconClass","value":"bx bx-calendar","type":"label"}]},{"id":"_help_R7abl2fc6Mxi","title":"Weight Tracker","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Advanced Showcases/Weight Tracker"},{"name":"iconClass","value":"bx bx-line-chart","type":"label"}]},{"id":"_help_xYjQUYhpbUEW","title":"Task Manager","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Advanced Showcases/Task Manager"},{"name":"iconClass","value":"bx bx-calendar-check","type":"label"}]}]},{"id":"_help_J5Ex1ZrMbyJ6","title":"Custom Request Handler","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Custom Request Handler"},{"name":"iconClass","value":"bx bx-globe","type":"label"}]},{"id":"_help_d3fAXQ2diepH","title":"Custom Resource Providers","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Custom Resource Providers"},{"name":"iconClass","value":"bx bxs-file-plus","type":"label"}]},{"id":"_help_pgxEVkzLl1OP","title":"ETAPI (REST API)","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/ETAPI (REST API)"},{"name":"iconClass","value":"bx bx-extension","type":"label"}],"children":[{"id":"_help_9qPsTWBorUhQ","title":"API Reference","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://docs.triliumnotes.org/rest-api/etapi/"},{"name":"iconClass","value":"bx bx-file","type":"label"}],"enforceAttributes":true}]},{"id":"_help_47ZrP6FNuoG8","title":"Default Note Title","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Default Note Title"},{"name":"iconClass","value":"bx bx-edit-alt","type":"label"}]},{"id":"_help_wX4HbRucYSDD","title":"Database","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Database"},{"name":"iconClass","value":"bx bx-data","type":"label"}],"children":[{"id":"_help_oyIAJ9PvvwHX","title":"Manually altering the database","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Database/Manually altering the database"},{"name":"iconClass","value":"bx bxs-edit","type":"label"}],"children":[{"id":"_help_YKWqdJhzi2VY","title":"SQL Console","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Database/Manually altering the database/SQL Console"},{"name":"iconClass","value":"bx bx-data","type":"label"}]}]},{"id":"_help_6tZeKvSHEUiB","title":"Demo Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Database/Demo Notes"},{"name":"iconClass","value":"bx bx-package","type":"label"}]}]},{"id":"_help_Gzjqa934BdH4","title":"Configuration (config.ini or environment variables)","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Configuration (config.ini or e"},{"name":"iconClass","value":"bx bx-cog","type":"label"}],"children":[{"id":"_help_c5xB8m4g2IY6","title":"Trilium instance","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Configuration (config.ini or environment variables)/Trilium instance"},{"name":"iconClass","value":"bx bx-windows","type":"label"}]},{"id":"_help_LWtBjFej3wX3","title":"Cross-Origin Resource Sharing (CORS)","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Configuration (config.ini or environment variables)/Cross-Origin Resource Sharing "},{"name":"iconClass","value":"bx bx-lock","type":"label"}]}]},{"id":"_help_ivYnonVFBxbQ","title":"Bulk Actions","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Bulk Actions"},{"name":"iconClass","value":"bx bx-list-plus","type":"label"}]},{"id":"_help_4FahAwuGTAwC","title":"Note source","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Note source"},{"name":"iconClass","value":"bx bx-code","type":"label"}]},{"id":"_help_1YeN2MzFUluU","title":"Technologies used","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Technologies used"},{"name":"iconClass","value":"bx bx-pyramid","type":"label"}],"children":[{"id":"_help_MI26XDLSAlCD","title":"CKEditor","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Technologies used/CKEditor"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_N4IDkixaDG9C","title":"MindElixir","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Technologies used/MindElixir"},{"name":"iconClass","value":"bx bx-sitemap","type":"label"}]},{"id":"_help_H0mM1lTxF9JI","title":"Excalidraw","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Technologies used/Excalidraw"},{"name":"iconClass","value":"bx bx-pen","type":"label"}]},{"id":"_help_MQHyy2dIFgxS","title":"Leaflet","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Technologies used/Leaflet"},{"name":"iconClass","value":"bx bx-map-alt","type":"label"}]}]},{"id":"_help_m1lbrzyKDaRB","title":"Note ID","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Note ID"},{"name":"iconClass","value":"bx bx-hash","type":"label"}]},{"id":"_help_0vTSyvhPTAOz","title":"Internal API","type":"book","attributes":[{"name":"iconClass","value":"bx bxs-component","type":"label"}],"children":[{"id":"_help_z8O2VG4ZZJD7","title":"API Reference","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://docs.triliumnotes.org/rest-api/internal/"},{"name":"iconClass","value":"bx bx-file","type":"label"}],"enforceAttributes":true}]},{"id":"_help_2mUhVmZK8RF3","title":"Hidden Notes","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Hidden Notes"},{"name":"iconClass","value":"bx bx-hide","type":"label"}]},{"id":"_help_uYF7pmepw27K","title":"Metrics","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Metrics"},{"name":"iconClass","value":"bx bxs-data","type":"label"}],"children":[{"id":"_help_bOP3TB56fL1V","title":"grafana-dashboard.json","type":"doc","attributes":[{"name":"iconClass","value":"bx bx-file","type":"label"}]}]},{"id":"_help_64ZTlUPgEPtW","title":"Safe mode","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Safe mode"},{"name":"iconClass","value":"bx bxs-virus-block","type":"label"}]},{"id":"_help_HAIOFBoYIIdO","title":"Nightly release","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Nightly release"},{"name":"iconClass","value":"bx bx-moon","type":"label"}]},{"id":"_help_ZmT9ln8XJX2o","title":"Read-only database","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Advanced Usage/Read-only database"},{"name":"iconClass","value":"bx bx-book-reader","type":"label"}]}]},{"id":"_help_GBBMSlVSOIGP","title":"AI","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/AI"},{"name":"iconClass","value":"bx bx-bot","type":"label"}],"children":[{"id":"_help_WkM7gsEUyCXs","title":"Providers","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/AI/Providers"},{"name":"iconClass","value":"bx bx-select-multiple","type":"label"}],"children":[{"id":"_help_7EdTxPADv95W","title":"Ollama","type":"book","attributes":[{"name":"iconClass","value":"bx bx-message-dots","type":"label"}],"children":[{"id":"_help_vvUCN7FDkq7G","title":"Installing Ollama","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/AI/Providers/Ollama/Installing Ollama"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]},{"id":"_help_ZavFigBX9AwP","title":"OpenAI","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/AI/Providers/OpenAI"},{"name":"iconClass","value":"bx bx-message-dots","type":"label"}]},{"id":"_help_e0lkirXEiSNc","title":"Anthropic","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/AI/Providers/Anthropic"},{"name":"iconClass","value":"bx bx-message-dots","type":"label"}]}]}]},{"id":"_help_CdNpE2pqjmI6","title":"Scripting","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting"},{"name":"iconClass","value":"bx bxs-file-js","type":"label"}],"children":[{"id":"_help_yIhgI5H7A2Sm","title":"Frontend Basics","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics"},{"name":"iconClass","value":"bx bx-window","type":"label"}],"children":[{"id":"_help_MgibgPcfeuGz","title":"Custom Widgets","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Custom Widgets"},{"name":"iconClass","value":"bx bxs-widget","type":"label"}],"children":[{"id":"_help_YNxAqkI5Kg1M","title":"Word count widget","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Custom Widgets/Word count widget"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_SynTBQiBsdYJ","title":"Widget Basics","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Custom Widgets/Widget Basics"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_M8IppdwVHSjG","title":"Right pane widget","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Custom Widgets/Right pane widget"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_VqGQnnPGnqAU","title":"CSS","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Custom Widgets/CSS"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]},{"id":"_help_es8OU2GuguFU","title":"Examples","type":"book","attributes":[{"name":"iconClass","value":"bx bx-code-alt","type":"label"}],"children":[{"id":"_help_TjLYAo3JMO8X","title":"\"New Task\" launcher button","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Examples/New Task launcher button"},{"name":"iconClass","value":"bx bx-task","type":"label"}]},{"id":"_help_7kZPMD0uFwkH","title":"Downloading responses from Google Forms","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Examples/Downloading responses from Goo"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_DL92EjAaXT26","title":"Using promoted attributes to configure scripts","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Frontend Basics/Examples/Using promoted attributes to c"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]}]},{"id":"_help_SPirpZypehBG","title":"Backend scripts","type":"book","attributes":[{"name":"iconClass","value":"bx bx-server","type":"label"}],"children":[{"id":"_help_fZ2IGYFXjkEy","title":"Server-side imports","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Backend scripts/Server-side imports"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_GPERMystNGTB","title":"Events","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Backend scripts/Events"},{"name":"iconClass","value":"bx bx-rss","type":"label"}]}]},{"id":"_help_GLks18SNjxmC","title":"Script API","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Script API"},{"name":"iconClass","value":"bx bx-code-curly","type":"label"}],"children":[{"id":"_help_Q2z6av6JZVWm","title":"Frontend API","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://docs.triliumnotes.org/script-api/frontend"},{"name":"iconClass","value":"bx bx-folder","type":"label"}],"enforceAttributes":true,"children":[{"id":"_help_habiZ3HU8Kw8","title":"FNote","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://docs.triliumnotes.org/script-api/frontend/interfaces/FNote.html"},{"name":"iconClass","value":"bx bx-file","type":"label"}],"enforceAttributes":true}]},{"id":"_help_MEtfsqa5VwNi","title":"Backend API","type":"webView","attributes":[{"type":"label","name":"webViewSrc","value":"https://docs.triliumnotes.org/script-api/backend"},{"name":"iconClass","value":"bx bx-file","type":"label"}],"enforceAttributes":true}]},{"id":"_help_vElnKeDNPSVl","title":"Logging","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Scripting/Logging"},{"name":"iconClass","value":"bx bx-terminal","type":"label"}]}]},{"id":"_help_Fm0j45KqyHpU","title":"Miscellaneous","type":"book","attributes":[{"name":"iconClass","value":"bx bx-info-circle","type":"label"}],"children":[{"id":"_help_WFbFXrgnDyyU","title":"Privacy Policy","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Miscellaneous/Privacy Policy"},{"name":"iconClass","value":"bx bx-file","type":"label"}]},{"id":"_help_NcsmUYZRWEW4","title":"Patterns of personal knowledge","type":"doc","attributes":[{"type":"label","name":"docName","value":"User Guide/User Guide/Miscellaneous/Patterns of personal knowledge"},{"name":"iconClass","value":"bx bx-file","type":"label"}]}]}]
\ No newline at end of file
diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text.html b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text.html
index 2c55d232c..fad87118d 100644
--- a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text.html
+++ b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text.html
@@ -4,7 +4,7 @@
Most of the interaction with text notes is done via the built-in toolbars.
Depending on preference, there are two different layouts:
- The Floating toolbar is hidden by default and only appears when
+ The Floating toolbar is hidden by default and only appears when
needed. In this mode there are actually two different toolbars:
- A toolbar that appears when text is selected. This provides text-level
+ A toolbar that appears when text is selected. This provides text-level
formatting such as bold, italic, text colors, inline code, etc.
@@ -20,167 +20,171 @@
Fore more information see Formatting toolbar .
Features and formatting
Here's a list of various features supported by text notes:
-
-
-
- Dedicated article
- Feature
-
-
-
-
- General formatting
-
-
-
- Headings (section titles, paragraph)
- Font size
- Bold, italic, underline, strike-through
- Superscript, subscript
- Font color & background color
- Remove formatting
-
-
-
-
- Lists
-
-
-
- Bulleted lists
- Numbered lists
- To-do lists
-
-
-
-
- Block quotes & admonitions
-
-
-
- Block quotes
- Admonitions
-
-
-
-
- Tables
-
-
-
- Basic tables
- Merging cells
- Styling tables and cells.
- Table captions
-
-
-
-
- Developer-specific formatting
-
-
-
- Inline code
- Code blocks
- Keyboard shortcuts
-
-
-
-
- Footnotes
-
-
-
-
-
-
- Images
-
-
-
-
-
-
- Links
-
-
-
- External links
- Internal Trilium links
-
-
-
-
- Include Note
-
-
-
-
-
-
- Insert buttons
-
-
-
- Symbols
- Math Equations
-
- Mermaid diagrams
- Horizontal ruler
- Page break
-
-
-
-
- Other features
-
-
-
-
-
-
- Premium features
-
-
-
-
-
-
-
-
-Read-Only vs. Editing Mode
-Text notes are usually opened in edit mode. However, they may open in
- read-only mode if the note is too big or the note is explicitly marked
- as read-only. For more information, see Read-Only Notes .
-Keyboard shortcuts
-There are numerous keyboard shortcuts to format the text without having
- to use the mouse. For a reference of all the key combinations, see
- Keyboard Shortcuts . In addition, see Markdown-like formatting as an alternative
- to the keyboard shortcuts.
-Technical details
-For the text editing functionality, Trilium uses a commercial product
- (with an open-source base) called CKEditor .
- This brings the benefit of having a powerful WYSIWYG (What You See Is What
- You Get) editor.
\ No newline at end of file
+
+
+
+
+ Dedicated article
+ Feature
+
+
+
+
+ General formatting
+
+
+
+ Headings (section titles, paragraph)
+ Font size
+ Bold, italic, underline, strike-through
+ Superscript, subscript
+ Font color & background color
+ Remove formatting
+
+
+
+
+ Lists
+
+
+
+ Bulleted lists
+ Numbered lists
+ To-do lists
+
+
+
+
+ Block quotes & admonitions
+
+
+
+ Block quotes
+ Admonitions
+
+
+
+
+ Tables
+
+
+
+ Basic tables
+ Merging cells
+ Styling tables and cells.
+ Table captions
+
+
+
+
+ Developer-specific formatting
+
+
+
+ Inline code
+ Code blocks
+ Keyboard shortcuts
+
+
+
+
+ Footnotes
+
+
+
+
+
+
+ Images
+
+
+
+
+
+
+ Links
+
+
+
+ External links
+ Internal Trilium links
+
+
+
+
+ Include Note
+
+
+
+
+
+
+ Insert buttons
+
+
+
+ Symbols
+ Math Equations
+
+ Mermaid diagrams
+ Horizontal ruler
+ Page break
+
+
+
+
+ Other features
+
+
+
+
+
+
+ Premium features
+
+
+
+
+
+
+
+
+ Read-Only vs. Editing Mode
+ Text notes are usually opened in edit mode. However, they may open in
+ read-only mode if the note is too big or the note is explicitly marked
+ as read-only. For more information, see Read-Only Notes .
+ Keyboard shortcuts
+ There are numerous keyboard shortcuts to format the text without having
+ to use the mouse. For a reference of all the key combinations, see
+ Keyboard Shortcuts . In addition, see Markdown-like formatting as an alternative
+ to the keyboard shortcuts.
+ Technical details
+ For the text editing functionality, Trilium uses a commercial product
+ (with an open-source base) called CKEditor .
+ This brings the benefit of having a powerful WYSIWYG (What You See Is What
+ You Get) editor.
\ No newline at end of file
diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text/General formatting.html b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text/General formatting.html
index 687950459..ad458585a 100644
--- a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text/General formatting.html
+++ b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text/General formatting.html
@@ -12,11 +12,11 @@
Apart from using the UI, it is also possible to quickly insert headings
using the Markdown-like shortcuts:
- ## for Heading 2
- ### for Heading 3
- #### for Heading 4
- ##### for Heading 5
- ###### for Heading 6
+ ## for Heading 2
+ ### for Heading 3
+ #### for Heading 4
+ ##### for Heading 5
+ ###### for Heading 6
Font size
@@ -44,17 +44,17 @@
This formatting can be easily removed using the Remove formatting item.
The following keyboard shortcuts can be used here:
- Ctrl +B for bold
- Ctrl +I for italic
- Ctrl +U for underline
+ Ctrl +B for bold
+ Ctrl +I for italic
+ Ctrl +U for underline
Alternatively, Markdown-like formatting can be used:
- Bold : Type **text** or __text__
+ Bold : Type **text** or __text__
- Italic : Type *text* or _text_
+ Italic : Type *text* or _text_
- Strikethrough: Type ~~text~~
+ Strikethrough: Type ~~text~~
Superscript, subscript
@@ -89,6 +89,11 @@
be manually changed back to a paragraph according to the Headings section.
When pasting content that comes with undesired formatting, an alternative
to pasting and then removing formatting is pasting as plain text via Ctrl +Shift +V .
+Format painter
+The Format Painter allows
+ users to copy the formatting of text (such as bold, italic, Strikethrough,
+ etc.) and apply it to other parts of the document. It helps maintain consistent
+ formatting and accelerates the creation of rich content.
Support for Markdown
When exported to Markdown ,
most of the general formatting is maintained such as headings, bold, italic,
diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text/Premium features/Format Painter.html b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text/Premium features/Format Painter.html
new file mode 100644
index 000000000..2d2bc60fc
--- /dev/null
+++ b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text/Premium features/Format Painter.html
@@ -0,0 +1,45 @@
+
+
+
+
+ This is a premium feature of the editor we are using (CKEditor) and we
+ benefit from it thanks to an written agreement with the team. See
+ Premium features for more information.
+
+
The Format Painter is a feature in text notes that allows users to copy
+ the formatting of text (such as bold , italic , Strikethrough,
+ etc.) and apply it to other parts of the document. It helps maintain consistent
+ formatting and accelerates the creation of rich content.
+Usage Instructions
+Click the text that you want to copy the formatting from and use the paint
+ formatting toolbar button ( ) to
+ copy the style. Then select the target text with your mouse to apply the
+ formatting.
+
+ To copy the formatting : Place the cursor inside a text
+ with some formatting and click the paint formatting toolbar button. Notice
+ that the mouse cursor changes to the .
+ To paint with the copied formatting : Click any word in
+ the document and the new formatting will be applied. Alternatively, instead
+ of clicking a single word, you can select a text fragment (like an entire
+ paragraph). Notice that the cursor will go back to the default one after
+ the formatting is applied.
+ To keep painting using the same formatting : Open the
+ toolbar dropdown and enable the continuous painting mode. Once copied,
+ the same formatting can be applied multiple times in different places until
+ the paint formatting button is clicked (the cursor will then revert to
+ the regular one).
+
+Limitations
+
+ Painting with block-level formatting (like headings or image styles) is
+ not supported yet. This is because, in CKEditor ,
+ they are considered a part of the content rather than text formatting.
+ When applying formatting to words, spaces or other Western punctuation
+ are used as word boundaries, which prevents proper handling of languages
+ that do not use space-based word segmentation.
+
\ No newline at end of file
diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text/Premium features/Format Painter_746436a2e1.svg b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text/Premium features/Format Painter_746436a2e1.svg
new file mode 100644
index 000000000..77ad84f56
--- /dev/null
+++ b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text/Premium features/Format Painter_746436a2e1.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text/Premium features/Format Painter_e144e96df9.svg b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text/Premium features/Format Painter_e144e96df9.svg
new file mode 100644
index 000000000..06342b7c7
--- /dev/null
+++ b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text/Premium features/Format Painter_e144e96df9.svg
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text/Premium features/Format Painter_image.png b/apps/server/src/assets/doc_notes/en/User Guide/User Guide/Note Types/Text/Premium features/Format Painter_image.png
new file mode 100644
index 0000000000000000000000000000000000000000..db5cbbbd1155a5b022d82204e6c2e74e707fae09
GIT binary patch
literal 5251
zcmYkAXH*l<*MO4{Afbj(q#Fpm2?B!BLKl$Uq@(mAgd$ZTAiWAAO+Z8g2m;cJ^dd!y
zbRr6&7m+Fmg7U7v^Z)RE*x7St_w3Hj-uuimH{L)`lbV8+0t5n4Yu#2e0?uE7;|>f0
zwDGoj&p{vrNJ~xGBnZ5dAB<(_yV5Ts3?_lcLy?^V5m%Lz|2&UTHN=F`U6VJs?3{-v
zi;f-Qj6O{)|L&*PmRF`^7%K0jR}N3`4FYAVbid-s1E*tfQBhEc%8ib(-Nd$Mgq&{#
z0s)b}6{2X{5%#C$d?e5|aI7ro`?qC{!W{L^?-GLjDI9WGVrPLusJ4UH*}YFO)NBDe
zb3Uj0_nyT!ZJS*II~YLH9-p5~&&>RO)E*SOdU~)@7(Q97%gD%h!1?Jo+(@kxl(9N6
zG&EHF^3Q0#Trf*+m~~+9Iun@0U}kD6uhb&FpkCFRP@``3aIHzB@JwwUl%bi*nf!gZ
zN4Bc6l4f%IMtwSr8CL@zP5VN0cN)$5QYPFu3iM2fAUtN?S-98^ht!ijHZ&Zsxs8|Z
z?RqP1NxHV&m#CS-9$X)sBjFHZ?3d7&N<=f!j-PPI1$d4XC|s*IC^}}ZP*~jKHmXz9
zk83kE(8#m4vHA9MYf|ZK^;uk|k2L6NAy1|1W?sjyh0t5NUS7L4f#2}PVw4Q|6J0{H
z8JFrpb90<&jSBwwhPLQESH=u8n%oZoKWzt>_+O^L>u_5)9Jw5%(
z3tP9#%57m*ULStkn16;XLrbvI3sm>_on-Lo7f=}mJKyPTpl9QVrQx`BzZW)bD4v^_
zC&CK-40p%7KdI#osg{zJ3f#4h^t>%kD)Dic(}I+DVNXivk~*W|!F<@yam_b_FTC4X
zKGCZ{{bV5-N8&7WE7LwDIfn)5HBXFQva^UgpzP%BBNDTz)^aBzNqs_
z5JTY#-v!BkX;JHZ@V!OP?KK4w!^05|gX{^{FhWLd
zN&bd-BO6;7rUTDH?^Ha-q)%_*E8X9^bSbhqdU-IOfO>z#6sL*7=kC=AP-uMz$ZYcBD51~%-`KLysEo3Q!(EiP1)rHq#9;*
z-n&D=z7yxl&OA>6(eR*XBDeiGlU%P5@^h}?0UIY0iQKGl97K)|ChK-j$JHR7Jn?Q>
zp;jqm({_tCmVU#`kJx@@=OO36i6~QwV9l)Jjn;{87NfiiaoW6(;c@8XiYkqJ1Q%OE
zT|Z$T{7i%^x{R`?_$PpPg|ql9d+0MeVKnL7>o+9LsT3Y=Px&M#s(Vv$oI@S&TR|?F
z5>GH%%NfPF7&-!(%Y6N~PRk}LDxLR;rsrYY8$pOb-<5z-WE?ar1(hB@@lUt`!;wGcidpY^(8g%3&%^)t-|J>b|m(V(nmFfnJC~E@4ncfwzac3Q9^>BaS*S
zH|&`?*c2ZHRoS)?Cz2ml-;zYW5VywmrFS{G4pU(
ztVc>LotjL+GG2`gi6x=h^cXfwNf1dXh3E_^pZltD^h?&$KSSoQ!;JtYB;woX27j?PS*X{2tADRdvuHyVc`5BsD$SJOUjbnCg;Kbp`JVC<
zGC?*;!@zh^YnVHsK7>$L5*;)G(45Y(-@Q#zuygVFl|~t~4R|
zofI`qO--L?W$j&-WLSv-t5k`a@!yN1F={V2WxBgnf+FRGg@sK`+1?PMu1+LI3PxR+
zLBXyf+}hBPIW`UuLRVj3>3pa5{P_E<5{(niD%T0RykB}w!i9t8ffzqS>?u4kH0kcx
zb2A|*OyuaHC>s4*|D__pFCMvDO{*HHk1!Aq5n7640+Bf5M)Z%5gEVm8C3%HdQ`m2I
z>(c>?sjjZB`bs(*xE~Fw12Kz}01v!O2vrvD^)|+;%LVKZL%ofRki}xnbaBSe|8AfN
zf?>vml{k))DO6&P#+4)_4(cZL5+_Zp8@-?=P#lXri7!Z>7)xAi*Lr~nz{VxsX!I@v
z9^e`Y1KmK8?=wiZY{oSd7Z?9~y*OJSOa`I`dJn$Y#c4Y5Qt(XGq&t;E?js`{uj2*H
zML}@X1Mrh58At860-V3zHjzjLLsQP>pVuFU(#&L;^{EAQ(k`%DM?eZ-WQG1%@mW*9
zILwIQSmvMh*5#Iw^G6?q9`l-JmNJ~O8v2<2$^3JC#@k-8b{rJo9s$u@qMnzj#M5X7
zyzNs1F?flT%VFm(-M$dimul^+Xp?R&GZEoSBO@8mSA7!=zE?jyu+ECT{J}_rvgJZ{
z0fQyEzm0`;;h7L%U&pgoDC_ijUdO=0za=kZHhvo4=aMIqdkd*0Aw%1tK?xT*$i1=@
z%ryR)0wnKb;GR39h1-H&!Q(UG@KfwUo`rWCC*=}YDX6F9aO`eUY1s`Zu4I5#TPP@k
zlB*HozNGWjnB&5#8KbXD$n1%wwF^623tW8st4Cw)RV-)A$rq0^M`j7J`uh6l=;))3
zu__V4&f1!5<#1;we4QBVgy;|VS~R+%_r$ojD(4x$e*0eg`9k>RAJteILI5BWmPKaP
z)}HgKt#X!mO9w0c{CBeVzj##jc`H7uT4Lh`FgwGTL!hM+Yx_Cz
znNM;gRq1b>%S9p>eZ6wvMiYpZ=1e)Bl4pqd`JeR{-Z4}x-Bo*r
z!JLxL!<5%rF#xc6L04dn}}kEBBMaO{Y`JGnhzmA!j#8)9KzUSyn5lnb`736v)|WDW3n7mXneAhIY-~6(1**H?zUu0vm1^rHkuSr3Z%yheeXDb$FUL=RPUoW%@5vU+7DRfl
zt*zOG|2YO^kkI-j-lr?4L1(_6-Yj-u*1!obR$Rn$Oc+IAmSpTFg#lxhyN=Fc%c1kcV*XusLaO
z(-q?27sD?ff1jz)mp@Q*a$3uk_V}30_G|T-{>0;*x$3IcLkb#0
z-`kz=!;>HLb|G85j$!Nk&F#lCRv7oGQbPfYhF5FvENX)uq;M(>$sNr(q=K(pz?PDa
zW^`q~)de4|-}GCz2IiuPw22l<;XMV!%p1x~XUSekm|W04s(ilDdlB%!f9~eY+~P>)
z6ngLMo!9T5TOtUD48yc**#Zg=TH&oo!-tJtNiG+{p+B0mS)O;2L|)_=wHVT+yYJ*t
z0Y9mCp~5;pWc#g~o16TU%t8Q!Ol4m=BpG@&ANki9?cuXQ1!D-l;~e|`dULOdIEffRUmeaIQE%s7V~n9e8<&Eu6@6o
zQpR%*HTc${KSdxoisP0)MjUNPPfzbg>Sy`BXdDS=-ndVw_b?xQ&CAPcNy57rypeCM
zDAq)TOc(*#D|_;m4~m;>3k`%?`!My2mh!ryc8U_kR8-Ago9dW33!Jp@(z8!s_c|9v
zy9M}9!l!v8Jz4eS8PAjjUkg1qaoE_%59G{=uP|=@eYWwE0FIX~j6%3Bv+Tpb+%+q`
zgZhtZZrOq`BBmTJAHLSQ(B{CyMx-W|03yDxE
zvX~6_A4*8b)m3IO>eJQ3-f?>GCZ}1xYA!z^b$E!1C>R`T<0ZOL5Gqz;YKuHEXc6G1
z^92_TagNAD0j}b6%Mm_n6KE3>a%+~M7JBE3y65J-^p@*rSwMG*)4bOKIJWYay*-Bg
zy)*b^D&08IrFO+1W(Hy^8PpMLcAR*lh1N{r5o|wQPR#omAu`V`Gc*2L^96OtC(%ai
zLdU^JwgU&}Cx7$&Mwi^fXDnO})M(jdQT*g5W|)sBLjtslr$hiRG%+foT@)Mgm1@K!
zv0q>PXpOr|ijtD3Y`H9b6oI{yqUTZ+2a{xm)RGy?3wSFnj+47Nmr%$r%Wf3>L00!L
z?ZwzP0V@(Wx=nJYi=@-DWTRao}*W>aw@s9XjH
zBRp6*PvN-f>Im@%Op(=8QAUn2D;i@erx5i*l*Iedwp{Pk{>R5u58AvXK_DW2fe(03h5{T`3H{WSbpr
zb#spVLiKmKG+-8}-w)7?-st}0J($k>2qP|eW0Jp-vUuoE?DpD6H+%M?<@>BflqH>#
zf1gJOSmW!snhKK;QZ*uhekX5X0i)7Sbo3y=#(L?ftW96#L2JR}7a3yu%fFAbSRVPT
zBr0dC-KHng$r7t?rO%1W|3QNmAotS5`HuysGP3v>Dc}o^M(`@{5hYLSH-Jqw90WvD{
z&g!RHN&O|Jn?1$P$yBWdD-DT3(B_$ya
zT=GA6^Pc*({Ic7E2c>A*|15N*x{?KbwMMt-F_Dg(d+?!zulK(}uv5`JeUhO{VsLmQ
z+#xJLX^urBX8%cH2}cn)gUFCh7IypnVVic6&F+8h3S4-&OpcF4Lwfhd@p!x?+B^V_
z==h&T2B-P297tXnDk~GpU#MuI!^%TCsQ{0xa0xFqd6*k*WMl-C9n7q(%5(D&)>plt
ztm+^fxE82`XjrE9(`tjct?Rj5932@L7(kAAe^MC;jRwdSEN;Jk{JYTuRWe{_jusS!
z6#D~NB`hNHuCj7H;mxphS2FI$|JQ2Ww5DShZJu#%m=@!LqQS}TxAR%Ma6ktts;$gE
z;7Qdx#VBT0*Ve#1Lk%+ddtnj$LBkAhcaVoY6_@;8LbI)
z>T;%o(~~F~g|aNM(4>OkbRyUugM&gu?fF12r5pjHXJ}DFq;R^=wHq2n2pa{PLYK-+
zp@u>!AT6M5BUVp@4Hz?3W@<57e0rGeneral formattingHeadings (section titles, paragraph) Font size Bold, italic, underline, strike-through Superscript, subscript Font color & background color Remove formatting Lists Bulleted lists Numbered lists To-do lists Block quotes & admonitions Tables Basic tables Merging cells Styling tables and cells. Table captions Developer-specific formatting Inline code Code blocks Keyboard shortcuts Footnotes Images Links External links Internal Trilium links Include Note Insert buttons Other features Premium features
+
## Read-Only vs. Editing Mode
diff --git a/docs/User Guide/User Guide/Note Types/Text/General formatting.md b/docs/User Guide/User Guide/Note Types/Text/General formatting.md
index e05d730aa..28ffb5f03 100644
--- a/docs/User Guide/User Guide/Note Types/Text/General formatting.md
+++ b/docs/User Guide/User Guide/Note Types/Text/General formatting.md
@@ -79,6 +79,10 @@ Note that heading styles are not taken into consideration, these must be manuall
When pasting content that comes with undesired formatting, an alternative to pasting and then removing formatting is pasting as plain text via Ctrl +Shift +V .
+## Format painter
+
+The Format Painter allows users to copy the formatting of text (such as bold, italic, Strikethrough, etc.) and apply it to other parts of the document. It helps maintain consistent formatting and accelerates the creation of rich content.
+
## Support for Markdown
When exported to Markdown , most of the general formatting is maintained such as headings, bold, italic, underline, etc.
\ No newline at end of file
diff --git a/docs/User Guide/User Guide/Note Types/Text/Premium features/Format Painter.md b/docs/User Guide/User Guide/Note Types/Text/Premium features/Format Painter.md
new file mode 100644
index 000000000..8bc94c6f7
--- /dev/null
+++ b/docs/User Guide/User Guide/Note Types/Text/Premium features/Format Painter.md
@@ -0,0 +1,20 @@
+# Format Painter
+
+
+> [!NOTE]
+> This is a premium feature of the editor we are using (CKEditor) and we benefit from it thanks to an written agreement with the team. See Premium features for more information.
+
+The Format Painter is a feature in text notes that allows users to copy the formatting of text (such as **bold**, _italic_, ~~Strikethrough~~, etc.) and apply it to other parts of the document. It helps maintain consistent formatting and accelerates the creation of rich content.
+
+## Usage Instructions
+
+Click the text that you want to copy the formatting from and use the paint formatting toolbar button ( ) to copy the style. Then select the target text with your mouse to apply the formatting.
+
+* **To copy the formatting**: Place the cursor inside a text with some formatting and click the paint formatting toolbar button. Notice that the mouse cursor changes to the .
+* **To paint with the copied formatting**: Click any word in the document and the new formatting will be applied. Alternatively, instead of clicking a single word, you can select a text fragment (like an entire paragraph). Notice that the cursor will go back to the default one after the formatting is applied.
+* **To keep painting using the same formatting**: Open the toolbar dropdown and enable the continuous painting mode. Once copied, the same formatting can be applied multiple times in different places until the paint formatting button is clicked (the cursor will then revert to the regular one).
+
+## Limitations
+
+1. Painting with block-level formatting (like headings or image styles) is not supported yet. This is because, in CKEditor , they are considered a part of the content rather than text formatting.
+2. When applying formatting to words, spaces or other Western punctuation are used as word boundaries, which prevents proper handling of languages that do not use space-based word segmentation.
\ No newline at end of file
diff --git a/docs/User Guide/User Guide/Note Types/Text/Premium features/Format Painter_746436a2e1.svg b/docs/User Guide/User Guide/Note Types/Text/Premium features/Format Painter_746436a2e1.svg
new file mode 100644
index 000000000..77ad84f56
--- /dev/null
+++ b/docs/User Guide/User Guide/Note Types/Text/Premium features/Format Painter_746436a2e1.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/docs/User Guide/User Guide/Note Types/Text/Premium features/Format Painter_e144e96df9.svg b/docs/User Guide/User Guide/Note Types/Text/Premium features/Format Painter_e144e96df9.svg
new file mode 100644
index 000000000..06342b7c7
--- /dev/null
+++ b/docs/User Guide/User Guide/Note Types/Text/Premium features/Format Painter_e144e96df9.svg
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/docs/User Guide/User Guide/Note Types/Text/Premium features/Format Painter_image.png b/docs/User Guide/User Guide/Note Types/Text/Premium features/Format Painter_image.png
new file mode 100644
index 0000000000000000000000000000000000000000..db5cbbbd1155a5b022d82204e6c2e74e707fae09
GIT binary patch
literal 5251
zcmYkAXH*l<*MO4{Afbj(q#Fpm2?B!BLKl$Uq@(mAgd$ZTAiWAAO+Z8g2m;cJ^dd!y
zbRr6&7m+Fmg7U7v^Z)RE*x7St_w3Hj-uuimH{L)`lbV8+0t5n4Yu#2e0?uE7;|>f0
zwDGoj&p{vrNJ~xGBnZ5dAB<(_yV5Ts3?_lcLy?^V5m%Lz|2&UTHN=F`U6VJs?3{-v
zi;f-Qj6O{)|L&*PmRF`^7%K0jR}N3`4FYAVbid-s1E*tfQBhEc%8ib(-Nd$Mgq&{#
z0s)b}6{2X{5%#C$d?e5|aI7ro`?qC{!W{L^?-GLjDI9WGVrPLusJ4UH*}YFO)NBDe
zb3Uj0_nyT!ZJS*II~YLH9-p5~&&>RO)E*SOdU~)@7(Q97%gD%h!1?Jo+(@kxl(9N6
zG&EHF^3Q0#Trf*+m~~+9Iun@0U}kD6uhb&FpkCFRP@``3aIHzB@JwwUl%bi*nf!gZ
zN4Bc6l4f%IMtwSr8CL@zP5VN0cN)$5QYPFu3iM2fAUtN?S-98^ht!ijHZ&Zsxs8|Z
z?RqP1NxHV&m#CS-9$X)sBjFHZ?3d7&N<=f!j-PPI1$d4XC|s*IC^}}ZP*~jKHmXz9
zk83kE(8#m4vHA9MYf|ZK^;uk|k2L6NAy1|1W?sjyh0t5NUS7L4f#2}PVw4Q|6J0{H
z8JFrpb90<&jSBwwhPLQESH=u8n%oZoKWzt>_+O^L>u_5)9Jw5%(
z3tP9#%57m*ULStkn16;XLrbvI3sm>_on-Lo7f=}mJKyPTpl9QVrQx`BzZW)bD4v^_
zC&CK-40p%7KdI#osg{zJ3f#4h^t>%kD)Dic(}I+DVNXivk~*W|!F<@yam_b_FTC4X
zKGCZ{{bV5-N8&7WE7LwDIfn)5HBXFQva^UgpzP%BBNDTz)^aBzNqs_
z5JTY#-v!BkX;JHZ@V!OP?KK4w!^05|gX{^{FhWLd
zN&bd-BO6;7rUTDH?^Ha-q)%_*E8X9^bSbhqdU-IOfO>z#6sL*7=kC=AP-uMz$ZYcBD51~%-`KLysEo3Q!(EiP1)rHq#9;*
z-n&D=z7yxl&OA>6(eR*XBDeiGlU%P5@^h}?0UIY0iQKGl97K)|ChK-j$JHR7Jn?Q>
zp;jqm({_tCmVU#`kJx@@=OO36i6~QwV9l)Jjn;{87NfiiaoW6(;c@8XiYkqJ1Q%OE
zT|Z$T{7i%^x{R`?_$PpPg|ql9d+0MeVKnL7>o+9LsT3Y=Px&M#s(Vv$oI@S&TR|?F
z5>GH%%NfPF7&-!(%Y6N~PRk}LDxLR;rsrYY8$pOb-<5z-WE?ar1(hB@@lUt`!;wGcidpY^(8g%3&%^)t-|J>b|m(V(nmFfnJC~E@4ncfwzac3Q9^>BaS*S
zH|&`?*c2ZHRoS)?Cz2ml-;zYW5VywmrFS{G4pU(
ztVc>LotjL+GG2`gi6x=h^cXfwNf1dXh3E_^pZltD^h?&$KSSoQ!;JtYB;woX27j?PS*X{2tADRdvuHyVc`5BsD$SJOUjbnCg;Kbp`JVC<
zGC?*;!@zh^YnVHsK7>$L5*;)G(45Y(-@Q#zuygVFl|~t~4R|
zofI`qO--L?W$j&-WLSv-t5k`a@!yN1F={V2WxBgnf+FRGg@sK`+1?PMu1+LI3PxR+
zLBXyf+}hBPIW`UuLRVj3>3pa5{P_E<5{(niD%T0RykB}w!i9t8ffzqS>?u4kH0kcx
zb2A|*OyuaHC>s4*|D__pFCMvDO{*HHk1!Aq5n7640+Bf5M)Z%5gEVm8C3%HdQ`m2I
z>(c>?sjjZB`bs(*xE~Fw12Kz}01v!O2vrvD^)|+;%LVKZL%ofRki}xnbaBSe|8AfN
zf?>vml{k))DO6&P#+4)_4(cZL5+_Zp8@-?=P#lXri7!Z>7)xAi*Lr~nz{VxsX!I@v
z9^e`Y1KmK8?=wiZY{oSd7Z?9~y*OJSOa`I`dJn$Y#c4Y5Qt(XGq&t;E?js`{uj2*H
zML}@X1Mrh58At860-V3zHjzjLLsQP>pVuFU(#&L;^{EAQ(k`%DM?eZ-WQG1%@mW*9
zILwIQSmvMh*5#Iw^G6?q9`l-JmNJ~O8v2<2$^3JC#@k-8b{rJo9s$u@qMnzj#M5X7
zyzNs1F?flT%VFm(-M$dimul^+Xp?R&GZEoSBO@8mSA7!=zE?jyu+ECT{J}_rvgJZ{
z0fQyEzm0`;;h7L%U&pgoDC_ijUdO=0za=kZHhvo4=aMIqdkd*0Aw%1tK?xT*$i1=@
z%ryR)0wnKb;GR39h1-H&!Q(UG@KfwUo`rWCC*=}YDX6F9aO`eUY1s`Zu4I5#TPP@k
zlB*HozNGWjnB&5#8KbXD$n1%wwF^623tW8st4Cw)RV-)A$rq0^M`j7J`uh6l=;))3
zu__V4&f1!5<#1;we4QBVgy;|VS~R+%_r$ojD(4x$e*0eg`9k>RAJteILI5BWmPKaP
z)}HgKt#X!mO9w0c{CBeVzj##jc`H7uT4Lh`FgwGTL!hM+Yx_Cz
znNM;gRq1b>%S9p>eZ6wvMiYpZ=1e)Bl4pqd`JeR{-Z4}x-Bo*r
z!JLxL!<5%rF#xc6L04dn}}kEBBMaO{Y`JGnhzmA!j#8)9KzUSyn5lnb`736v)|WDW3n7mXneAhIY-~6(1**H?zUu0vm1^rHkuSr3Z%yheeXDb$FUL=RPUoW%@5vU+7DRfl
zt*zOG|2YO^kkI-j-lr?4L1(_6-Yj-u*1!obR$Rn$Oc+IAmSpTFg#lxhyN=Fc%c1kcV*XusLaO
z(-q?27sD?ff1jz)mp@Q*a$3uk_V}30_G|T-{>0;*x$3IcLkb#0
z-`kz=!;>HLb|G85j$!Nk&F#lCRv7oGQbPfYhF5FvENX)uq;M(>$sNr(q=K(pz?PDa
zW^`q~)de4|-}GCz2IiuPw22l<;XMV!%p1x~XUSekm|W04s(ilDdlB%!f9~eY+~P>)
z6ngLMo!9T5TOtUD48yc**#Zg=TH&oo!-tJtNiG+{p+B0mS)O;2L|)_=wHVT+yYJ*t
z0Y9mCp~5;pWc#g~o16TU%t8Q!Ol4m=BpG@&ANki9?cuXQ1!D-l;~e|`dULOdIEffRUmeaIQE%s7V~n9e8<&Eu6@6o
zQpR%*HTc${KSdxoisP0)MjUNPPfzbg>Sy`BXdDS=-ndVw_b?xQ&CAPcNy57rypeCM
zDAq)TOc(*#D|_;m4~m;>3k`%?`!My2mh!ryc8U_kR8-Ago9dW33!Jp@(z8!s_c|9v
zy9M}9!l!v8Jz4eS8PAjjUkg1qaoE_%59G{=uP|=@eYWwE0FIX~j6%3Bv+Tpb+%+q`
zgZhtZZrOq`BBmTJAHLSQ(B{CyMx-W|03yDxE
zvX~6_A4*8b)m3IO>eJQ3-f?>GCZ}1xYA!z^b$E!1C>R`T<0ZOL5Gqz;YKuHEXc6G1
z^92_TagNAD0j}b6%Mm_n6KE3>a%+~M7JBE3y65J-^p@*rSwMG*)4bOKIJWYay*-Bg
zy)*b^D&08IrFO+1W(Hy^8PpMLcAR*lh1N{r5o|wQPR#omAu`V`Gc*2L^96OtC(%ai
zLdU^JwgU&}Cx7$&Mwi^fXDnO})M(jdQT*g5W|)sBLjtslr$hiRG%+foT@)Mgm1@K!
zv0q>PXpOr|ijtD3Y`H9b6oI{yqUTZ+2a{xm)RGy?3wSFnj+47Nmr%$r%Wf3>L00!L
z?ZwzP0V@(Wx=nJYi=@-DWTRao}*W>aw@s9XjH
zBRp6*PvN-f>Im@%Op(=8QAUn2D;i@erx5i*l*Iedwp{Pk{>R5u58AvXK_DW2fe(03h5{T`3H{WSbpr
zb#spVLiKmKG+-8}-w)7?-st}0J($k>2qP|eW0Jp-vUuoE?DpD6H+%M?<@>BflqH>#
zf1gJOSmW!snhKK;QZ*uhekX5X0i)7Sbo3y=#(L?ftW96#L2JR}7a3yu%fFAbSRVPT
zBr0dC-KHng$r7t?rO%1W|3QNmAotS5`HuysGP3v>Dc}o^M(`@{5hYLSH-Jqw90WvD{
z&g!RHN&O|Jn?1$P$yBWdD-DT3(B_$ya
zT=GA6^Pc*({Ic7E2c>A*|15N*x{?KbwMMt-F_Dg(d+?!zulK(}uv5`JeUhO{VsLmQ
z+#xJLX^urBX8%cH2}cn)gUFCh7IypnVVic6&F+8h3S4-&OpcF4Lwfhd@p!x?+B^V_
z==h&T2B-P297tXnDk~GpU#MuI!^%TCsQ{0xa0xFqd6*k*WMl-C9n7q(%5(D&)>plt
ztm+^fxE82`XjrE9(`tjct?Rj5932@L7(kAAe^MC;jRwdSEN;Jk{JYTuRWe{_jusS!
z6#D~NB`hNHuCj7H;mxphS2FI$|JQ2Ww5DShZJu#%m=@!LqQS}TxAR%Ma6ktts;$gE
z;7Qdx#VBT0*Ve#1Lk%+ddtnj$LBkAhcaVoY6_@;8LbI)
z>T;%o(~~F~g|aNM(4>OkbRyUugM&gu?fF12r5pjHXJ}DFq;R^=wHq2n2pa{PLYK-+
zp@u>!AT6M5BUVp@4Hz?3W@<57e0r
Date: Sun, 30 Nov 2025 18:41:39 +0200
Subject: [PATCH 19/73] chore(ci): apply platform changes for nightly
See https://github.com/TriliumNext/Trilium/pull/7002/files
---
.github/workflows/nightly.yml | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml
index 4ca30ba1a..dadce703a 100644
--- a/.github/workflows/nightly.yml
+++ b/.github/workflows/nightly.yml
@@ -45,6 +45,19 @@ jobs:
image: win-signing
shell: cmd
forge_platform: win32
+ # Exclude ARM64 Linux from default matrix to use native runner
+ exclude:
+ - arch: arm64
+ os:
+ name: linux
+ # Add ARM64 Linux with native ubuntu-24.04-arm runner for better-sqlite3 compatibility
+ include:
+ - arch: arm64
+ os:
+ name: linux
+ image: ubuntu-24.04-arm
+ shell: bash
+ forge_platform: linux
runs-on: ${{ matrix.os.image }}
steps:
- uses: actions/checkout@v6
From 38c9d252144ab230654209fa869dcd52e13969df Mon Sep 17 00:00:00 2001
From: green
Date: Sun, 30 Nov 2025 04:09:26 +0100
Subject: [PATCH 20/73] Translated using Weblate (Japanese)
Currently translated at 100.0% (1637 of 1637 strings)
Translation: Trilium Notes/Client
Translate-URL: https://hosted.weblate.org/projects/trilium/client/ja/
---
apps/client/src/translations/ja/translation.json | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/apps/client/src/translations/ja/translation.json b/apps/client/src/translations/ja/translation.json
index ab6c509dd..7108b24fc 100644
--- a/apps/client/src/translations/ja/translation.json
+++ b/apps/client/src/translations/ja/translation.json
@@ -312,7 +312,8 @@
"moveNoteUpDown": "ノートリストでノートを上/下に移動",
"notSet": "未設定",
"goUpDown": "ノートのリストで上下する",
- "editBranchPrefix": "アクティブノートのクローンの プレフィックス を編集する"
+ "editBranchPrefix": "アクティブノートのクローンの プレフィックス を編集する",
+ "editShortcuts": "キーボードショートカットを編集"
},
"import": {
"importIntoNote": "ノートにインポート",
From ef8073ac58fceb7879a119f19997bf17c11c1f53 Mon Sep 17 00:00:00 2001
From: Elian Doran
Date: Sun, 30 Nov 2025 17:57:56 +0100
Subject: [PATCH 21/73] Added translation using Weblate (English (United
Kingdom))
---
apps/client/src/translations/en-GB/translation.json | 1 +
1 file changed, 1 insertion(+)
create mode 100644 apps/client/src/translations/en-GB/translation.json
diff --git a/apps/client/src/translations/en-GB/translation.json b/apps/client/src/translations/en-GB/translation.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/apps/client/src/translations/en-GB/translation.json
@@ -0,0 +1 @@
+{}
From d5e046c2896125a4ad4094fe3d5d3d747811421e Mon Sep 17 00:00:00 2001
From: Elian Doran
Date: Sun, 30 Nov 2025 17:57:58 +0100
Subject: [PATCH 22/73] Added translation using Weblate (English (United
Kingdom))
---
docs/README-en_GB.md | 332 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 332 insertions(+)
create mode 100644 docs/README-en_GB.md
diff --git a/docs/README-en_GB.md b/docs/README-en_GB.md
new file mode 100644
index 000000000..bba139cc9
--- /dev/null
+++ b/docs/README-en_GB.md
@@ -0,0 +1,332 @@
+
+
+
+
+# Trilium Notes
+
+
+\
+
+\
+[](https://app.relative-ci.com/projects/Di5q7dz9daNDZ9UXi0Bp)
+[](https://hosted.weblate.org/engage/trilium/)
+
+[English](./README.md) | [Chinese (Simplified)](./docs/README-ZH_CN.md) |
+[Chinese (Traditional)](./docs/README-ZH_TW.md) | [Russian](./docs/README-ru.md)
+| [Japanese](./docs/README-ja.md) | [Italian](./docs/README-it.md) |
+[Spanish](./docs/README-es.md)
+
+Trilium Notes is a free and open-source, cross-platform hierarchical note taking
+application with focus on building large personal knowledge bases.
+
+See [screenshots](https://triliumnext.github.io/Docs/Wiki/screenshot-tour) for
+quick overview:
+
+
+
+## ⏬ Download
+- [Latest release](https://github.com/TriliumNext/Trilium/releases/latest) –
+ stable version, recommended for most users.
+- [Nightly build](https://github.com/TriliumNext/Trilium/releases/tag/nightly) –
+ unstable development version, updated daily with the latest features and
+ fixes.
+
+## 📚 Documentation
+
+**Visit our comprehensive documentation at
+[docs.triliumnotes.org](https://docs.triliumnotes.org/)**
+
+Our documentation is available in multiple formats:
+- **Online Documentation**: Browse the full documentation at
+ [docs.triliumnotes.org](https://docs.triliumnotes.org/)
+- **In-App Help**: Press `F1` within Trilium to access the same documentation
+ directly in the application
+- **GitHub**: Navigate through the [User
+ Guide](./docs/User%20Guide/User%20Guide/) in this repository
+
+### Quick Links
+- [Getting Started Guide](https://docs.triliumnotes.org/)
+- [Installation
+ Instructions](./docs/User%20Guide/User%20Guide/Installation%20&%20Setup/Server%20Installation.md)
+- [Docker
+ Setup](./docs/User%20Guide/User%20Guide/Installation%20&%20Setup/Server%20Installation/1.%20Installing%20the%20server/Using%20Docker.md)
+- [Upgrading
+ TriliumNext](./docs/User%20Guide/User%20Guide/Installation%20%26%20Setup/Upgrading%20TriliumNext.md)
+- [Basic Concepts and
+ Features](./docs/User%20Guide/User%20Guide/Basic%20Concepts%20and%20Features/Notes.md)
+- [Patterns of Personal Knowledge
+ Base](https://triliumnext.github.io/Docs/Wiki/patterns-of-personal-knowledge)
+
+## 🎁 Features
+
+* Notes can be arranged into arbitrarily deep tree. Single note can be placed
+ into multiple places in the tree (see
+ [cloning](https://triliumnext.github.io/Docs/Wiki/cloning-notes))
+* Rich WYSIWYG note editor including e.g. tables, images and
+ [math](https://triliumnext.github.io/Docs/Wiki/text-notes) with markdown
+ [autoformat](https://triliumnext.github.io/Docs/Wiki/text-notes#autoformat)
+* Support for editing [notes with source
+ code](https://triliumnext.github.io/Docs/Wiki/code-notes), including syntax
+ highlighting
+* Fast and easy [navigation between
+ notes](https://triliumnext.github.io/Docs/Wiki/note-navigation), full text
+ search and [note
+ hoisting](https://triliumnext.github.io/Docs/Wiki/note-hoisting)
+* Seamless [note
+ versioning](https://triliumnext.github.io/Docs/Wiki/note-revisions)
+* Note [attributes](https://triliumnext.github.io/Docs/Wiki/attributes) can be
+ used for note organization, querying and advanced
+ [scripting](https://triliumnext.github.io/Docs/Wiki/scripts)
+* UI available in English, German, Spanish, French, Romanian, and Chinese
+ (simplified and traditional)
+* Direct [OpenID and TOTP
+ integration](./docs/User%20Guide/User%20Guide/Installation%20%26%20Setup/Server%20Installation/Multi-Factor%20Authentication.md)
+ for more secure login
+* [Synchronization](https://triliumnext.github.io/Docs/Wiki/synchronization)
+ with self-hosted sync server
+ * there's a [3rd party service for hosting synchronisation
+ server](https://trilium.cc/paid-hosting)
+* [Sharing](https://triliumnext.github.io/Docs/Wiki/sharing) (publishing) notes
+ to public internet
+* Strong [note
+ encryption](https://triliumnext.github.io/Docs/Wiki/protected-notes) with
+ per-note granularity
+* Sketching diagrams, based on [Excalidraw](https://excalidraw.com/) (note type
+ "canvas")
+* [Relation maps](https://triliumnext.github.io/Docs/Wiki/relation-map) and
+ [link maps](https://triliumnext.github.io/Docs/Wiki/link-map) for visualizing
+ notes and their relations
+* Mind maps, based on [Mind Elixir](https://docs.mind-elixir.com/)
+* [Geo maps](./docs/User%20Guide/User%20Guide/Note%20Types/Geo%20Map.md) with
+ location pins and GPX tracks
+* [Scripting](https://triliumnext.github.io/Docs/Wiki/scripts) - see [Advanced
+ showcases](https://triliumnext.github.io/Docs/Wiki/advanced-showcases)
+* [REST API](https://triliumnext.github.io/Docs/Wiki/etapi) for automation
+* Scales well in both usability and performance upwards of 100 000 notes
+* Touch optimized [mobile
+ frontend](https://triliumnext.github.io/Docs/Wiki/mobile-frontend) for
+ smartphones and tablets
+* Built-in [dark theme](https://triliumnext.github.io/Docs/Wiki/themes), support
+ for user themes
+* [Evernote](https://triliumnext.github.io/Docs/Wiki/evernote-import) and
+ [Markdown import & export](https://triliumnext.github.io/Docs/Wiki/markdown)
+* [Web Clipper](https://triliumnext.github.io/Docs/Wiki/web-clipper) for easy
+ saving of web content
+* Customizable UI (sidebar buttons, user-defined widgets, ...)
+* [Metrics](./docs/User%20Guide/User%20Guide/Advanced%20Usage/Metrics.md), along
+ with a [Grafana
+ Dashboard](./docs/User%20Guide/User%20Guide/Advanced%20Usage/Metrics/grafana-dashboard.json)
+
+✨ Check out the following third-party resources/communities for more TriliumNext
+related goodies:
+
+- [awesome-trilium](https://github.com/Nriver/awesome-trilium) for 3rd party
+ themes, scripts, plugins and more.
+- [TriliumRocks!](https://trilium.rocks/) for tutorials, guides, and much more.
+
+## ❓Why TriliumNext?
+
+The original Trilium developer ([Zadam](https://github.com/zadam)) has
+graciously given the Trilium repository to the community project which resides
+at https://github.com/TriliumNext
+
+### ⬆️Migrating from Zadam/Trilium?
+
+There are no special migration steps to migrate from a zadam/Trilium instance to
+a TriliumNext/Trilium instance. Simply [install
+TriliumNext/Trilium](#-installation) as usual and it will use your existing
+database.
+
+Versions up to and including
+[v0.90.4](https://github.com/TriliumNext/Trilium/releases/tag/v0.90.4) are
+compatible with the latest zadam/trilium version of
+[v0.63.7](https://github.com/zadam/trilium/releases/tag/v0.63.7). Any later
+versions of TriliumNext/Trilium have their sync versions incremented which
+prevents direct migration.
+
+## 💬 Discuss with us
+
+Feel free to join our official conversations. We would love to hear what
+features, suggestions, or issues you may have!
+
+- [Matrix](https://matrix.to/#/#triliumnext:matrix.org) (For synchronous
+ discussions.)
+ - The `General` Matrix room is also bridged to
+ [XMPP](xmpp:discuss@trilium.thisgreat.party?join)
+- [Github Discussions](https://github.com/TriliumNext/Trilium/discussions) (For
+ asynchronous discussions.)
+- [Github Issues](https://github.com/TriliumNext/Trilium/issues) (For bug
+ reports and feature requests.)
+
+## 🏗 Installation
+
+### Windows / MacOS
+
+Download the binary release for your platform from the [latest release
+page](https://github.com/TriliumNext/Trilium/releases/latest), unzip the package
+and run the `trilium` executable.
+
+### Linux
+
+If your distribution is listed in the table below, use your distribution's
+package.
+
+[](https://repology.org/project/triliumnext/versions)
+
+You may also download the binary release for your platform from the [latest
+release page](https://github.com/TriliumNext/Trilium/releases/latest), unzip the
+package and run the `trilium` executable.
+
+TriliumNext is also provided as a Flatpak, but not yet published on FlatHub.
+
+### Browser (any OS)
+
+If you use a server installation (see below), you can directly access the web
+interface (which is almost identical to the desktop app).
+
+Currently only the latest versions of Chrome & Firefox are supported (and
+tested).
+
+### Mobile
+
+To use TriliumNext on a mobile device, you can use a mobile web browser to
+access the mobile interface of a server installation (see below).
+
+See issue https://github.com/TriliumNext/Trilium/issues/4962 for more
+information on mobile app support.
+
+If you prefer a native Android app, you can use
+[TriliumDroid](https://apt.izzysoft.de/fdroid/index/apk/eu.fliegendewurst.triliumdroid).
+Report bugs and missing features at [their
+repository](https://github.com/FliegendeWurst/TriliumDroid). Note: It is best to
+disable automatic updates on your server installation (see below) when using
+TriliumDroid since the sync version must match between Trilium and TriliumDroid.
+
+### Server
+
+To install TriliumNext on your own server (including via Docker from
+[Dockerhub](https://hub.docker.com/r/triliumnext/trilium)) follow [the server
+installation docs](https://triliumnext.github.io/Docs/Wiki/server-installation).
+
+
+## 💻 Contribute
+
+### Translations
+
+If you are a native speaker, help us translate Trilium by heading over to our
+[Weblate page](https://hosted.weblate.org/engage/trilium/).
+
+Here's the language coverage we have so far:
+
+[](https://hosted.weblate.org/engage/trilium/)
+
+### Code
+
+Download the repository, install dependencies using `pnpm` and then run the
+server (available at http://localhost:8080):
+```shell
+git clone https://github.com/TriliumNext/Trilium.git
+cd Trilium
+pnpm install
+pnpm run server:start
+```
+
+### Documentation
+
+Download the repository, install dependencies using `pnpm` and then run the
+environment required to edit the documentation:
+```shell
+git clone https://github.com/TriliumNext/Trilium.git
+cd Trilium
+pnpm install
+pnpm edit-docs:edit-docs
+```
+
+### Building the Executable
+Download the repository, install dependencies using `pnpm` and then build the
+desktop app for Windows:
+```shell
+git clone https://github.com/TriliumNext/Trilium.git
+cd Trilium
+pnpm install
+pnpm run --filter desktop electron-forge:make --arch=x64 --platform=win32
+```
+
+For more details, see the [development
+docs](https://github.com/TriliumNext/Trilium/tree/main/docs/Developer%20Guide/Developer%20Guide).
+
+### Developer Documentation
+
+Please view the [documentation
+guide](https://github.com/TriliumNext/Trilium/blob/main/docs/Developer%20Guide/Developer%20Guide/Environment%20Setup.md)
+for details. If you have more questions, feel free to reach out via the links
+described in the "Discuss with us" section above.
+
+## 👏 Shoutouts
+
+* [zadam](https://github.com/zadam) for the original concept and implementation
+ of the application.
+* [Sarah Hussein](https://github.com/Sarah-Hussein) for designing the
+ application icon.
+* [nriver](https://github.com/nriver) for his work on internationalization.
+* [Thomas Frei](https://github.com/thfrei) for his original work on the Canvas.
+* [antoniotejada](https://github.com/nriver) for the original syntax highlight
+ widget.
+* [Dosu](https://dosu.dev/) for providing us with the automated responses to
+ GitHub issues and discussions.
+* [Tabler Icons](https://tabler.io/icons) for the system tray icons.
+
+Trilium would not be possible without the technologies behind it:
+
+* [CKEditor 5](https://github.com/ckeditor/ckeditor5) - the visual editor behind
+ text notes. We are grateful for being offered a set of the premium features.
+* [CodeMirror](https://github.com/codemirror/CodeMirror) - code editor with
+ support for huge amount of languages.
+* [Excalidraw](https://github.com/excalidraw/excalidraw) - the infinite
+ whiteboard used in Canvas notes.
+* [Mind Elixir](https://github.com/SSShooter/mind-elixir-core) - providing the
+ mind map functionality.
+* [Leaflet](https://github.com/Leaflet/Leaflet) - for rendering geographical
+ maps.
+* [Tabulator](https://github.com/olifolkerd/tabulator) - for the interactive
+ table used in collections.
+* [FancyTree](https://github.com/mar10/fancytree) - feature-rich tree library
+ without real competition.
+* [jsPlumb](https://github.com/jsplumb/jsplumb) - visual connectivity library.
+ Used in [relation
+ maps](https://triliumnext.github.io/Docs/Wiki/relation-map.html) and [link
+ maps](https://triliumnext.github.io/Docs/Wiki/note-map.html#link-map)
+
+## 🤝 Support
+
+Trilium is built and maintained with [hundreds of hours of
+work](https://github.com/TriliumNext/Trilium/graphs/commit-activity). Your
+support keeps it open-source, improves features, and covers costs such as
+hosting.
+
+Consider supporting the main developer
+([eliandoran](https://github.com/eliandoran)) of the application via:
+
+- [GitHub Sponsors](https://github.com/sponsors/eliandoran)
+- [PayPal](https://paypal.me/eliandoran)
+- [Buy Me a Coffee](https://buymeacoffee.com/eliandoran)
+
+## 🔑 License
+
+Copyright 2017-2025 zadam, Elian Doran, and other contributors
+
+This program is free software: you can redistribute it and/or modify it under
+the terms of the GNU Affero General Public License as published by the Free
+Software Foundation, either version 3 of the License, or (at your option) any
+later version.
From 4dc2587817e6131926d0a35b8df8d0136e9b5ee0 Mon Sep 17 00:00:00 2001
From: Elian Doran
Date: Sun, 30 Nov 2025 17:58:00 +0100
Subject: [PATCH 23/73] Added translation using Weblate (English (United
Kingdom))
---
apps/server/src/assets/translations/en-GB/server.json | 1 +
1 file changed, 1 insertion(+)
create mode 100644 apps/server/src/assets/translations/en-GB/server.json
diff --git a/apps/server/src/assets/translations/en-GB/server.json b/apps/server/src/assets/translations/en-GB/server.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/apps/server/src/assets/translations/en-GB/server.json
@@ -0,0 +1 @@
+{}
From 15baf04ce9e43f35666af839addf482ed9a4afce Mon Sep 17 00:00:00 2001
From: Elian Doran
Date: Sun, 30 Nov 2025 17:58:03 +0100
Subject: [PATCH 24/73] Added translation using Weblate (English (United
Kingdom))
---
apps/website/src/translations/en-GB/translation.json | 1 +
1 file changed, 1 insertion(+)
create mode 100644 apps/website/src/translations/en-GB/translation.json
diff --git a/apps/website/src/translations/en-GB/translation.json b/apps/website/src/translations/en-GB/translation.json
new file mode 100644
index 000000000..0967ef424
--- /dev/null
+++ b/apps/website/src/translations/en-GB/translation.json
@@ -0,0 +1 @@
+{}
From b055e79b4ccb8c09c910c37c577128a074aa96ff Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sun, 30 Nov 2025 17:02:01 +0000
Subject: [PATCH 25/73] Initial plan
From 7dd4b10a9626835e64679e18af2b5e69109244fa Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Sun, 30 Nov 2025 17:10:30 +0000
Subject: [PATCH 26/73] Add British English (en-GB) translations for client
Co-authored-by: eliandoran <21236836+eliandoran@users.noreply.github.com>
---
.../src/translations/en-GB/translation.json | 74 ++++++++++++++++++-
1 file changed, 73 insertions(+), 1 deletion(-)
diff --git a/apps/client/src/translations/en-GB/translation.json b/apps/client/src/translations/en-GB/translation.json
index 0967ef424..4c2ed6bce 100644
--- a/apps/client/src/translations/en-GB/translation.json
+++ b/apps/client/src/translations/en-GB/translation.json
@@ -1 +1,73 @@
-{}
+{
+ "import": {
+ "safeImportTooltip": "Trilium .zip export files can contain executable scripts which may contain harmful behaviour. Safe import will deactivate automatic execution of all imported scripts. Uncheck \"Safe import\" only if the imported archive is supposed to contain executable scripts and you completely trust the contents of the import file.",
+ "shrinkImagesTooltip": "If you check this option, Trilium will attempt to shrink the imported images by scaling and optimisation which may affect the perceived image quality. If unchecked, images will be imported without changes.
This doesn't apply to .zip imports with metadata since it is assumed these files are already optimised.
",
+ "codeImportedAsCode": "Import recognised code files (e.g. .json) as code notes if it's unclear from metadata"
+ },
+ "upload_attachments": {
+ "tooltip": "If you check this option, Trilium will attempt to shrink the uploaded images by scaling and optimisation which may affect the perceived image quality. If unchecked, images will be uploaded without changes."
+ },
+ "attribute_detail": {
+ "auto_read_only_disabled": "text/code notes can be set automatically into read mode when they are too large. You can disable this behaviour on per-note basis by adding this label to the note",
+ "workspace_tab_background_color": "CSS colour used in the note tab when hoisted to this note",
+ "color": "defines colour of the note in note tree, links etc. Use any valid CSS colour value like 'red' or #a13d5f",
+ "color_type": "Colour"
+ },
+ "mobile_detail_menu": {
+ "error_unrecognized_command": "Unrecognised command {{command}}"
+ },
+ "promoted_attributes": {
+ "remove_color": "Remove the colour label"
+ },
+ "max_content_width": {
+ "centerContent": "Keep content centred"
+ },
+ "theme": {
+ "auto_theme": "Legacy (Follow system colour scheme)",
+ "triliumnext": "Trilium (Follow system colour scheme)"
+ },
+ "search_engine": {
+ "custom_name_placeholder": "Customise search engine name",
+ "custom_url_placeholder": "Customise search engine url"
+ },
+ "highlights_list": {
+ "description": "You can customise the highlights list displayed in the right panel:",
+ "color": "Coloured text",
+ "bg_color": "Text with background colour"
+ },
+ "table_of_contents": {
+ "description": "Table of contents will appear in text notes when the note has more than a defined number of headings. You can customise this number:"
+ },
+ "custom_date_time_format": {
+ "description": "Customise the format of the date and time inserted via or the toolbar. See Day.js docs for available format tokens."
+ },
+ "i18n": {
+ "title": "Localisation"
+ },
+ "attachment_detail_2": {
+ "unrecognized_role": "Unrecognised attachment role '{{role}}'."
+ },
+ "ai_llm": {
+ "reprocess_index_started": "Search index optimisation started in the background",
+ "index_rebuilding": "Optimising index ({{percentage}}%)",
+ "index_rebuild_complete": "Index optimisation complete"
+ },
+ "highlighting": {
+ "color-scheme": "Colour Scheme"
+ },
+ "code_theme": {
+ "color-scheme": "Colour scheme"
+ },
+ "call_to_action": {
+ "background_effects_message": "On Windows devices, background effects are now fully stable. The background effects adds a touch of colour to the user interface by blurring the background behind it. This technique is also used in other applications such as Windows Explorer."
+ },
+ "settings_appearance": {
+ "related_code_blocks": "Colour scheme for code blocks in text notes",
+ "related_code_notes": "Colour scheme for code notes"
+ },
+ "note-color": {
+ "clear-color": "Clear note colour",
+ "set-color": "Set note colour",
+ "set-custom-color": "Set custom note colour"
+ }
+}
From 030582b2d5bc9f5db94810c3da79d0ad53e5d59c Mon Sep 17 00:00:00 2001
From: Elian Doran
Date: Sun, 30 Nov 2025 19:14:21 +0200
Subject: [PATCH 27/73] feat(i18n): add English (United Kingdom)
---
apps/client/src/widgets/collections/calendar/index.tsx | 1 +
apps/client/src/widgets/type_widgets/MindMap.tsx | 1 +
apps/client/src/widgets/type_widgets/canvas/i18n.spec.ts | 1 +
apps/client/src/widgets/type_widgets/canvas/i18n.ts | 4 +++-
apps/server/src/services/i18n.ts | 2 ++
packages/ckeditor5/src/i18n.ts | 5 +++++
packages/commons/src/lib/i18n.ts | 1 +
7 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/apps/client/src/widgets/collections/calendar/index.tsx b/apps/client/src/widgets/collections/calendar/index.tsx
index bac6862b2..8bf5ce7f9 100644
--- a/apps/client/src/widgets/collections/calendar/index.tsx
+++ b/apps/client/src/widgets/collections/calendar/index.tsx
@@ -77,6 +77,7 @@ export const LOCALE_MAPPINGS: Record Promise<{ de
"pt_br": () => import("@fullcalendar/core/locales/pt-br"),
uk: () => import("@fullcalendar/core/locales/uk"),
en: null,
+ "en-GB": () => import("@fullcalendar/core/locales/en-gb"),
"en_rtl": null,
ar: () => import("@fullcalendar/core/locales/ar")
};
diff --git a/apps/client/src/widgets/type_widgets/MindMap.tsx b/apps/client/src/widgets/type_widgets/MindMap.tsx
index eb54170c3..f8409c75c 100644
--- a/apps/client/src/widgets/type_widgets/MindMap.tsx
+++ b/apps/client/src/widgets/type_widgets/MindMap.tsx
@@ -28,6 +28,7 @@ const LOCALE_MAPPINGS: Record
de: null,
en: "en",
en_rtl: "en",
+ "en-GB": "en",
es: "es",
fr: "fr",
it: "it",
diff --git a/apps/client/src/widgets/type_widgets/canvas/i18n.spec.ts b/apps/client/src/widgets/type_widgets/canvas/i18n.spec.ts
index 71eb3d18c..c77e4979d 100644
--- a/apps/client/src/widgets/type_widgets/canvas/i18n.spec.ts
+++ b/apps/client/src/widgets/type_widgets/canvas/i18n.spec.ts
@@ -22,6 +22,7 @@ describe("Canvas i18n", () => {
if (locale.contentOnly || locale.devOnly) continue;
const languageCode = LANGUAGE_MAPPINGS[locale.id];
if (!supportedLanguageCodes.has(languageCode)) {
+ console.log("Supported locales:", Array.from(supportedLanguageCodes.values()).join(", "));
expect.fail(`Unable to find locale for ${locale.id} -> ${languageCode}.`)
}
}
diff --git a/apps/client/src/widgets/type_widgets/canvas/i18n.ts b/apps/client/src/widgets/type_widgets/canvas/i18n.ts
index 43ee724cf..47324abfc 100644
--- a/apps/client/src/widgets/type_widgets/canvas/i18n.ts
+++ b/apps/client/src/widgets/type_widgets/canvas/i18n.ts
@@ -1,10 +1,12 @@
+import { Language } from "@excalidraw/excalidraw/i18n";
import type { DISPLAYABLE_LOCALE_IDS } from "@triliumnext/commons";
-export const LANGUAGE_MAPPINGS: Record = {
+export const LANGUAGE_MAPPINGS: Record = {
ar: "ar-SA",
cn: "zh-CN",
de: "de-DE",
en: "en",
+ "en-GB": "en",
en_rtl: "en",
es: "es-ES",
fr: "fr-FR",
diff --git a/apps/server/src/services/i18n.ts b/apps/server/src/services/i18n.ts
index be7ebdeb5..82eb6f408 100644
--- a/apps/server/src/services/i18n.ts
+++ b/apps/server/src/services/i18n.ts
@@ -7,11 +7,13 @@ import hidden_subtree from "./hidden_subtree.js";
import { LOCALES, type Locale, type LOCALE_IDS } from "@triliumnext/commons";
import dayjs, { Dayjs } from "dayjs";
+// When adding a new locale, prefer the version with hyphen instead of underscore.
export const DAYJS_LOADER: Record Promise> = {
"ar": () => import("dayjs/locale/ar.js"),
"cn": () => import("dayjs/locale/zh-cn.js"),
"de": () => import("dayjs/locale/de.js"),
"en": () => import("dayjs/locale/en.js"),
+ "en-GB": () => import("dayjs/locale/en-gb.js"),
"en_rtl": () => import("dayjs/locale/en.js"),
"es": () => import("dayjs/locale/es.js"),
"fa": () => import("dayjs/locale/fa.js"),
diff --git a/packages/ckeditor5/src/i18n.ts b/packages/ckeditor5/src/i18n.ts
index 3053f4b7d..a409fa437 100644
--- a/packages/ckeditor5/src/i18n.ts
+++ b/packages/ckeditor5/src/i18n.ts
@@ -10,6 +10,11 @@ interface LocaleMapping {
const LOCALE_MAPPINGS: Record = {
en: null,
en_rtl: null,
+ "en-GB": {
+ languageCode: "en-GB",
+ coreTranslation: () => import("ckeditor5/translations/en-gb.js"),
+ premiumFeaturesTranslation: () => import("ckeditor5-premium-features/translations/en-gb.js"),
+ },
ar: {
languageCode: "ar",
coreTranslation: () => import("ckeditor5/translations/ar.js"),
diff --git a/packages/commons/src/lib/i18n.ts b/packages/commons/src/lib/i18n.ts
index 65ff196d2..8d2bc0232 100644
--- a/packages/commons/src/lib/i18n.ts
+++ b/packages/commons/src/lib/i18n.ts
@@ -15,6 +15,7 @@ const UNSORTED_LOCALES = [
{ id: "cn", name: "简体中文", electronLocale: "zh_CN" },
{ id: "de", name: "Deutsch", electronLocale: "de" },
{ id: "en", name: "English", electronLocale: "en" },
+ { id: "en-GB", name: "English (United Kingdom)", electronLocale: "en_GB" },
{ id: "es", name: "Español", electronLocale: "es" },
{ id: "fr", name: "Français", electronLocale: "fr" },
{ id: "it", name: "Italiano", electronLocale: "it" },
From 6e982e646d63b7570d226c72a9eb1c9c48bf1f8b Mon Sep 17 00:00:00 2001
From: Elian Doran
Date: Sun, 30 Nov 2025 18:29:15 +0100
Subject: [PATCH 28/73] Translated using Weblate (English (United Kingdom))
Currently translated at 1.6% (2 of 118 strings)
Translation: Trilium Notes/README
Translate-URL: https://hosted.weblate.org/projects/trilium/readme/en_GB/
---
docs/README-en_GB.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/docs/README-en_GB.md b/docs/README-en_GB.md
index bba139cc9..dfd3ef612 100644
--- a/docs/README-en_GB.md
+++ b/docs/README-en_GB.md
@@ -279,7 +279,7 @@ described in the "Discuss with us" section above.
of the application.
* [Sarah Hussein](https://github.com/Sarah-Hussein) for designing the
application icon.
-* [nriver](https://github.com/nriver) for his work on internationalization.
+* [nriver](https://github.com/nriver) for his work on internationalisation.
* [Thomas Frei](https://github.com/thfrei) for his original work on the Canvas.
* [antoniotejada](https://github.com/nriver) for the original syntax highlight
widget.
@@ -328,5 +328,5 @@ Copyright 2017-2025 zadam, Elian Doran, and other contributors
This program is free software: you can redistribute it and/or modify it under
the terms of the GNU Affero General Public License as published by the Free
-Software Foundation, either version 3 of the License, or (at your option) any
+Software Foundation, either version 3 of the Licence, or (at your option) any
later version.
From 368c590976b2b3b843c119715385eb1ce9e6603d Mon Sep 17 00:00:00 2001
From: Elian Doran
Date: Sun, 30 Nov 2025 18:33:00 +0100
Subject: [PATCH 29/73] Translated using Weblate (English (United Kingdom))
Currently translated at 0.8% (1 of 118 strings)
Translation: Trilium Notes/README
Translate-URL: https://hosted.weblate.org/projects/trilium/readme/en_GB/
---
docs/README-en_GB.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/README-en_GB.md b/docs/README-en_GB.md
index dfd3ef612..5c64da0a9 100644
--- a/docs/README-en_GB.md
+++ b/docs/README-en_GB.md
@@ -328,5 +328,5 @@ Copyright 2017-2025 zadam, Elian Doran, and other contributors
This program is free software: you can redistribute it and/or modify it under
the terms of the GNU Affero General Public License as published by the Free
-Software Foundation, either version 3 of the Licence, or (at your option) any
+Software Foundation, either version 3 of the License, or (at your option) any
later version.
From 81a37e3fc4f6fc75422d82cc44e829bb9979bc70 Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Sun, 30 Nov 2025 19:34:31 +0200
Subject: [PATCH 30/73] client/CSS class manager: fix a bug when handling red
hues
---
apps/client/src/services/css_class_manager.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/apps/client/src/services/css_class_manager.ts b/apps/client/src/services/css_class_manager.ts
index 9c6a97aaf..510a044d6 100644
--- a/apps/client/src/services/css_class_manager.ts
+++ b/apps/client/src/services/css_class_manager.ts
@@ -39,7 +39,7 @@ function createClassForColor(colorString: string | null) {
`);
registeredClasses.add(className);
- if (hue) {
+ if (hue !== undefined) {
colorsWithHue.add(className);
}
}
From 66f2d0c7dcd40454fd95163279eb8067d56b8dc1 Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Sun, 30 Nov 2025 19:46:15 +0200
Subject: [PATCH 31/73] style/note colors: use a more elegant way to retrieve
the theme-aware note color
---
apps/client/src/services/css_class_manager.ts | 2 +-
apps/client/src/stylesheets/theme-dark.css | 3 +++
apps/client/src/stylesheets/theme-light.css | 4 ++++
apps/client/src/stylesheets/theme-next-dark.css | 4 ++++
4 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/apps/client/src/services/css_class_manager.ts b/apps/client/src/services/css_class_manager.ts
index 510a044d6..f22dbf437 100644
--- a/apps/client/src/services/css_class_manager.ts
+++ b/apps/client/src/services/css_class_manager.ts
@@ -44,7 +44,7 @@ function createClassForColor(colorString: string | null) {
}
}
- return clsx(className, colorsWithHue.has(className) && "with-hue");
+ return clsx("use-note-color", className, colorsWithHue.has(className) && "with-hue");
}
function parseColor(color: string) {
diff --git a/apps/client/src/stylesheets/theme-dark.css b/apps/client/src/stylesheets/theme-dark.css
index a356d32fd..0354e3346 100644
--- a/apps/client/src/stylesheets/theme-dark.css
+++ b/apps/client/src/stylesheets/theme-dark.css
@@ -109,3 +109,6 @@ body .todo-list input[type="checkbox"]:not(:checked):before {
box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.6) !important;
}
+.use-note-color {
+ --custom-color: var(--dark-theme-custom-color);
+}
\ No newline at end of file
diff --git a/apps/client/src/stylesheets/theme-light.css b/apps/client/src/stylesheets/theme-light.css
index 872e7431f..0208ed97c 100644
--- a/apps/client/src/stylesheets/theme-light.css
+++ b/apps/client/src/stylesheets/theme-light.css
@@ -91,4 +91,8 @@ html {
.ck-content a.reference-link > span,
.board-note {
color: var(--light-theme-custom-color, inherit);
+}
+
+.use-note-color {
+ --custom-color: var(--light-theme-custom-color);
}
\ No newline at end of file
diff --git a/apps/client/src/stylesheets/theme-next-dark.css b/apps/client/src/stylesheets/theme-next-dark.css
index 72271ad2e..a02bedc2c 100644
--- a/apps/client/src/stylesheets/theme-next-dark.css
+++ b/apps/client/src/stylesheets/theme-next-dark.css
@@ -308,4 +308,8 @@ body .todo-list input[type="checkbox"]:not(:checked):before {
--modal-background-color: hsl(var(--custom-color-hue), 8.8%, 11.2%);
--modal-border-color: hsl(var(--custom-color-hue), 9.4%, 25.1%);
--promoted-attribute-card-background-color: hsl(var(--custom-color-hue), 13.2%, 20.8%);
+}
+
+.use-note-color {
+ --custom-color: var(--dark-theme-custom-color);
}
\ No newline at end of file
From aacd92eee38b68128fa82c44d96258096bf3412a Mon Sep 17 00:00:00 2001
From: Elian Doran
Date: Sun, 30 Nov 2025 19:47:17 +0200
Subject: [PATCH 32/73] chore(popup-editor): implement switch to full editor
button
---
apps/client/src/translations/en/translation.json | 3 +++
apps/client/src/widgets/dialogs/PopupEditor.tsx | 11 +++++++++--
2 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json
index 514301594..c1a509944 100644
--- a/apps/client/src/translations/en/translation.json
+++ b/apps/client/src/translations/en/translation.json
@@ -2107,5 +2107,8 @@
"clear-color": "Clear note color",
"set-color": "Set note color",
"set-custom-color": "Set custom note color"
+ },
+ "popup-editor": {
+ "maximize": "Switch to full editor"
}
}
diff --git a/apps/client/src/widgets/dialogs/PopupEditor.tsx b/apps/client/src/widgets/dialogs/PopupEditor.tsx
index 0d158f828..c85dcd3b3 100644
--- a/apps/client/src/widgets/dialogs/PopupEditor.tsx
+++ b/apps/client/src/widgets/dialogs/PopupEditor.tsx
@@ -19,6 +19,8 @@ import tree from "../../services/tree";
import froca from "../../services/froca";
import ReadOnlyNoteInfoBar from "../ReadOnlyNoteInfoBar";
import MobileEditorToolbar from "../type_widgets/text/mobile_editor_toolbar";
+import { t } from "../../services/i18n";
+import appContext from "../../components/app_context";
export default function PopupEditor() {
const [ shown, setShown ] = useState(false);
@@ -62,8 +64,13 @@ export default function PopupEditor() {
title={ }
customTitleBarButtons={[{
iconClassName: "bx-expand-alt",
- title: "Switch to full editor",
- onClick: () => {/* TO DO */}
+ title: t("popup-editor.maximize"),
+ onClick: async () => {
+ if (!noteContext.noteId) return;
+ const { noteId, hoistedNoteId } = noteContext;
+ await appContext.tabManager.openInNewTab(noteId, hoistedNoteId, true);
+ setShown(false);
+ }
}]}
className="popup-editor-dialog"
size="lg"
From 7779acc7bcde4aebade6db670d306a1bc1c77711 Mon Sep 17 00:00:00 2001
From: Elian Doran
Date: Sun, 30 Nov 2025 19:55:40 +0200
Subject: [PATCH 33/73] refactor(client): split revisions CSS into file
---
apps/client/src/stylesheets/style.css | 40 ------------------
apps/client/src/widgets/dialogs/revisions.css | 41 +++++++++++++++++++
apps/client/src/widgets/dialogs/revisions.tsx | 1 +
3 files changed, 42 insertions(+), 40 deletions(-)
create mode 100644 apps/client/src/widgets/dialogs/revisions.css
diff --git a/apps/client/src/stylesheets/style.css b/apps/client/src/stylesheets/style.css
index ea55db041..5db4b1582 100644
--- a/apps/client/src/stylesheets/style.css
+++ b/apps/client/src/stylesheets/style.css
@@ -1686,46 +1686,6 @@ body:not(.mobile) #launcher-pane.horizontal .dropdown-submenu > .dropdown-menu {
body.mobile .modal-dialog.modal-dialog-scrollable {
height: unset;
}
-
- body.mobile .revisions-dialog .modal-dialog {
- height: 95vh;
- }
-
- body.mobile .revisions-dialog .modal-body {
- height: 100% !important;
- flex-direction: column;
- padding: 0;
- }
-
- body.mobile .revisions-dialog .revision-list {
- height: unset;
- max-height: 20vh;
- border-bottom: 1px solid var(--main-border-color) !important;
- padding: 0 1em;
- }
-
- body.mobile .revisions-dialog .modal-body > .revision-content-wrapper {
- flex-grow: 1;
- height: 100%;
- overflow: auto;
- margin: 0;
- }
-
- body.mobile .revisions-dialog .modal-body > .revision-content-wrapper > div:first-of-type {
- flex-direction: column;
- }
-
- body.mobile .revisions-dialog .revision-title {
- font-size: 1rem;
- }
-
- body.mobile .revisions-dialog .revision-title-buttons {
- text-align: center;
- }
-
- body.mobile .revisions-dialog .revision-content {
- padding: 0.5em;
- }
}
/* Mobile, tablet mode */
diff --git a/apps/client/src/widgets/dialogs/revisions.css b/apps/client/src/widgets/dialogs/revisions.css
new file mode 100644
index 000000000..91c3af11c
--- /dev/null
+++ b/apps/client/src/widgets/dialogs/revisions.css
@@ -0,0 +1,41 @@
+body.mobile .revisions-dialog {
+ .modal-dialog {
+ height: 95vh;
+ }
+
+ .modal-body {
+ height: 100% !important;
+ flex-direction: column;
+ padding: 0;
+ }
+
+ .revision-list {
+ height: unset;
+ max-height: 20vh;
+ border-bottom: 1px solid var(--main-border-color) !important;
+ padding: 0 1em;
+ }
+
+ .modal-body > .revision-content-wrapper {
+ flex-grow: 1;
+ height: 100%;
+ overflow: auto;
+ margin: 0;
+ }
+
+ .modal-body > .revision-content-wrapper > div:first-of-type {
+ flex-direction: column;
+ }
+
+ .revision-title {
+ font-size: 1rem;
+ }
+
+ .revision-title-buttons {
+ text-align: center;
+ }
+
+ .revision-content {
+ padding: 0.5em;
+ }
+}
\ No newline at end of file
diff --git a/apps/client/src/widgets/dialogs/revisions.tsx b/apps/client/src/widgets/dialogs/revisions.tsx
index e20c4c978..fd2dd9a16 100644
--- a/apps/client/src/widgets/dialogs/revisions.tsx
+++ b/apps/client/src/widgets/dialogs/revisions.tsx
@@ -20,6 +20,7 @@ import ActionButton from "../react/ActionButton";
import options from "../../services/options";
import { useTriliumEvent } from "../react/hooks";
import { diffWords } from "diff";
+import "./revisions.css";
export default function RevisionsDialog() {
const [ note, setNote ] = useState();
From 63f9006d177f1c9a642eb156cf05ad870f9f65c6 Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Sun, 30 Nov 2025 20:08:24 +0200
Subject: [PATCH 34/73] style/calendar collection: improve the support for
colored notes
---
.../src/stylesheets/theme-next-dark.css | 5 ++++
.../src/stylesheets/theme-next-light.css | 5 ++++
.../collections/calendar/event_builder.ts | 4 ++-
.../widgets/collections/calendar/index.css | 28 ++++++++++++++++++-
4 files changed, 40 insertions(+), 2 deletions(-)
diff --git a/apps/client/src/stylesheets/theme-next-dark.css b/apps/client/src/stylesheets/theme-next-dark.css
index a02bedc2c..28f42c218 100644
--- a/apps/client/src/stylesheets/theme-next-dark.css
+++ b/apps/client/src/stylesheets/theme-next-dark.css
@@ -270,6 +270,11 @@
--ck-editor-toolbar-button-on-color: white;
--ck-editor-toolbar-button-on-shadow: 1px 1px 2px rgba(0, 0, 0, .75);
--ck-editor-toolbar-dropdown-button-open-background: #ffffff14;
+
+ --calendar-coll-event-background-saturation: 12%;
+ --calendar-coll-event-background-lightness: 21%;
+ --calendar-coll-event-text-color: white;
+ --calendar-cell-event-hover-filter: brightness(1.25);
}
/*
diff --git a/apps/client/src/stylesheets/theme-next-light.css b/apps/client/src/stylesheets/theme-next-light.css
index 780d519f7..9fe9b53fe 100644
--- a/apps/client/src/stylesheets/theme-next-light.css
+++ b/apps/client/src/stylesheets/theme-next-light.css
@@ -268,6 +268,11 @@
--ck-editor-toolbar-button-on-color: black;
--ck-editor-toolbar-button-on-shadow: none;
--ck-editor-toolbar-dropdown-button-open-background: #0000000f;
+
+ --calendar-coll-event-background-lightness: 95%;
+ --calendar-coll-event-background-saturation: 80%;
+ --calendar-coll-event-text-color: black;
+ --calendar-cell-event-hover-filter: brightness(.95) saturate(1.25);
}
#left-pane .fancytree-node.tinted {
diff --git a/apps/client/src/widgets/collections/calendar/event_builder.ts b/apps/client/src/widgets/collections/calendar/event_builder.ts
index 8687dc6d9..2d884f8fe 100644
--- a/apps/client/src/widgets/collections/calendar/event_builder.ts
+++ b/apps/client/src/widgets/collections/calendar/event_builder.ts
@@ -3,6 +3,7 @@ import froca from "../../../services/froca";
import { formatDateToLocalISO, getCustomisableLabel, getMonthsInDateRange, offsetDate } from "./utils";
import FNote from "../../../entities/fnote";
import server from "../../../services/server";
+import clsx from "clsx";
interface Event {
startDate: string,
@@ -81,6 +82,7 @@ export async function buildEvent(note: FNote, { startDate, endDate, startTime, e
const customTitleAttributeName = note.getLabelValue("calendar:title");
const titles = await parseCustomTitle(customTitleAttributeName, note);
const color = note.getLabelValue("calendar:color") ?? note.getLabelValue("color");
+ const colorClass = note.getColorClass();
const events: EventInput[] = [];
const calendarDisplayedAttributes = note.getLabelValue("calendar:displayedAttributes")?.split(",");
@@ -111,7 +113,7 @@ export async function buildEvent(note: FNote, { startDate, endDate, startTime, e
color: color ?? undefined,
iconClass: note.getLabelValue("iconClass"),
promotedAttributes: displayedAttributesData,
- className: isArchived ? "archived" : ""
+ className: clsx({archived: isArchived}, colorClass)
};
if (endDate) {
eventData.end = endDate;
diff --git a/apps/client/src/widgets/collections/calendar/index.css b/apps/client/src/widgets/collections/calendar/index.css
index 5dd836fe6..b950cd8d4 100644
--- a/apps/client/src/widgets/collections/calendar/index.css
+++ b/apps/client/src/widgets/collections/calendar/index.css
@@ -75,4 +75,30 @@ body.desktop:not(.zen) .calendar-view .calendar-header {
.search-result-widget-content .calendar-view .calendar-header {
padding-inline-end: unset !important;
}
-/* #endregion */
\ No newline at end of file
+/* #endregion */
+
+.calendar-view {
+ --fc-event-text-color: var(--calendar-coll-event-text-color);
+}
+
+.calendar-view a.fc-timegrid-event,
+.calendar-view a.fc-daygrid-event {
+ font-weight: 500;
+}
+
+.calendar-view a.fc-timegrid-event:hover,
+.calendar-view a.fc-daygrid-event:hover {
+ text-decoration: none;
+ filter: var(--calendar-cell-event-hover-filter);
+}
+
+.fc-timegrid-event.with-hue, .fc-daygrid-event:not(.fc-daygrid-dot-event).with-hue {
+ --fc-event-text-color: var(--custom-color);
+
+ border: unset;
+ border-left: 4px solid;
+ padding-left: 8px;
+ background: hsl(var(--custom-color-hue),
+ var(--calendar-coll-event-background-saturation),
+ var(--calendar-coll-event-background-lightness)) !important;
+}
\ No newline at end of file
From 11618260cf6ab0201dd3ff0a4a3b0c63a9719410 Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Sun, 30 Nov 2025 20:18:16 +0200
Subject: [PATCH 35/73] style/calendar collection: tweak the appearance of
events without a color
---
apps/client/src/stylesheets/theme-next-dark.css | 1 +
apps/client/src/stylesheets/theme-next-light.css | 1 +
apps/client/src/widgets/collections/calendar/index.css | 10 ++++++----
3 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/apps/client/src/stylesheets/theme-next-dark.css b/apps/client/src/stylesheets/theme-next-dark.css
index 28f42c218..1565fe1e8 100644
--- a/apps/client/src/stylesheets/theme-next-dark.css
+++ b/apps/client/src/stylesheets/theme-next-dark.css
@@ -273,6 +273,7 @@
--calendar-coll-event-background-saturation: 12%;
--calendar-coll-event-background-lightness: 21%;
+ --calendar-coll-event-background-color: #3c3c3c;
--calendar-coll-event-text-color: white;
--calendar-cell-event-hover-filter: brightness(1.25);
}
diff --git a/apps/client/src/stylesheets/theme-next-light.css b/apps/client/src/stylesheets/theme-next-light.css
index 9fe9b53fe..423ef8d52 100644
--- a/apps/client/src/stylesheets/theme-next-light.css
+++ b/apps/client/src/stylesheets/theme-next-light.css
@@ -271,6 +271,7 @@
--calendar-coll-event-background-lightness: 95%;
--calendar-coll-event-background-saturation: 80%;
+ --calendar-coll-event-background-color: #eaeaea;
--calendar-coll-event-text-color: black;
--calendar-cell-event-hover-filter: brightness(.95) saturate(1.25);
}
diff --git a/apps/client/src/widgets/collections/calendar/index.css b/apps/client/src/widgets/collections/calendar/index.css
index b950cd8d4..60886f716 100644
--- a/apps/client/src/widgets/collections/calendar/index.css
+++ b/apps/client/src/widgets/collections/calendar/index.css
@@ -79,25 +79,27 @@ body.desktop:not(.zen) .calendar-view .calendar-header {
.calendar-view {
--fc-event-text-color: var(--calendar-coll-event-text-color);
+ --fc-event-bg-color: var(--calendar-coll-event-background-color);
}
.calendar-view a.fc-timegrid-event,
.calendar-view a.fc-daygrid-event {
+ border: unset;
+ border-left: 4px solid;
+ padding-left: 8px;
font-weight: 500;
}
.calendar-view a.fc-timegrid-event:hover,
.calendar-view a.fc-daygrid-event:hover {
- text-decoration: none;
+ text-decoration: none;
+ border-color: var(--fc-event-text-color);
filter: var(--calendar-cell-event-hover-filter);
}
.fc-timegrid-event.with-hue, .fc-daygrid-event:not(.fc-daygrid-dot-event).with-hue {
--fc-event-text-color: var(--custom-color);
- border: unset;
- border-left: 4px solid;
- padding-left: 8px;
background: hsl(var(--custom-color-hue),
var(--calendar-coll-event-background-saturation),
var(--calendar-coll-event-background-lightness)) !important;
From 5ff77c16abca59a5a65fd8d38ba366c8240ac4a4 Mon Sep 17 00:00:00 2001
From: Elian Doran
Date: Sun, 30 Nov 2025 21:13:07 +0200
Subject: [PATCH 36/73] feat(revisions): improve layout on mobile
---
apps/client/src/widgets/dialogs/revisions.css | 22 ++++++++++++++++++-
apps/client/src/widgets/dialogs/revisions.tsx | 2 +-
apps/client/src/widgets/react/FormList.tsx | 6 +++--
3 files changed, 26 insertions(+), 4 deletions(-)
diff --git a/apps/client/src/widgets/dialogs/revisions.css b/apps/client/src/widgets/dialogs/revisions.css
index 91c3af11c..5528ac368 100644
--- a/apps/client/src/widgets/dialogs/revisions.css
+++ b/apps/client/src/widgets/dialogs/revisions.css
@@ -2,15 +2,31 @@ body.mobile .revisions-dialog {
.modal-dialog {
height: 95vh;
}
+
+ .modal-header {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 0.25em;
+ font-size: 0.9em;
+ }
+
+ .modal-title {
+ flex-grow: 1;
+ width: 100%;
+ }
.modal-body {
height: 100% !important;
flex-direction: column;
padding: 0;
}
+
+ .modal-footer {
+ font-size: 0.9em;
+ }
.revision-list {
- height: unset;
+ height: fit-content !important;
max-height: 20vh;
border-bottom: 1px solid var(--main-border-color) !important;
padding: 0 1em;
@@ -18,6 +34,7 @@ body.mobile .revisions-dialog {
.modal-body > .revision-content-wrapper {
flex-grow: 1;
+ max-width: unset !important;
height: 100%;
overflow: auto;
margin: 0;
@@ -33,6 +50,9 @@ body.mobile .revisions-dialog {
.revision-title-buttons {
text-align: center;
+ display: flex;
+ gap: 0.25em;
+ flex-wrap: wrap;
}
.revision-content {
diff --git a/apps/client/src/widgets/dialogs/revisions.tsx b/apps/client/src/widgets/dialogs/revisions.tsx
index fd2dd9a16..322abdd3b 100644
--- a/apps/client/src/widgets/dialogs/revisions.tsx
+++ b/apps/client/src/widgets/dialogs/revisions.tsx
@@ -138,7 +138,7 @@ export default function RevisionsDialog() {
function RevisionsList({ revisions, onSelect, currentRevision }: { revisions: RevisionItem[], onSelect: (val: string) => void, currentRevision?: RevisionItem }) {
return (
-
+
{revisions.map((item) =>
void;
style?: CSSProperties;
+ wrapperClassName?: string;
fullHeight?: boolean;
}
-export default function FormList({ children, onSelect, style, fullHeight }: FormListOpts) {
+export default function FormList({ children, onSelect, style, fullHeight, wrapperClassName }: FormListOpts) {
const wrapperRef = useRef(null);
const triggerRef = useRef(null);
@@ -43,7 +45,7 @@ export default function FormList({ children, onSelect, style, fullHeight }: Form
}, [ fullHeight ]);
return (
-
+
Date: Sun, 30 Nov 2025 21:24:57 +0200
Subject: [PATCH 37/73] fix(revisions): double scrolling on mobile
---
apps/client/src/widgets/dialogs/revisions.css | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/apps/client/src/widgets/dialogs/revisions.css b/apps/client/src/widgets/dialogs/revisions.css
index 5528ac368..1a4d6f26d 100644
--- a/apps/client/src/widgets/dialogs/revisions.css
+++ b/apps/client/src/widgets/dialogs/revisions.css
@@ -16,7 +16,7 @@ body.mobile .revisions-dialog {
}
.modal-body {
- height: 100% !important;
+ height: fit-content !important;
flex-direction: column;
padding: 0;
}
@@ -30,14 +30,15 @@ body.mobile .revisions-dialog {
max-height: 20vh;
border-bottom: 1px solid var(--main-border-color) !important;
padding: 0 1em;
+ flex-shrink: 0;
}
.modal-body > .revision-content-wrapper {
flex-grow: 1;
max-width: unset !important;
height: 100%;
- overflow: auto;
margin: 0;
+ display: block !important;
}
.modal-body > .revision-content-wrapper > div:first-of-type {
@@ -57,5 +58,6 @@ body.mobile .revisions-dialog {
.revision-content {
padding: 0.5em;
+ height: fit-content;
}
}
\ No newline at end of file
From ca6660e2ff2c11c1d269dacf88c9220da2fd0143 Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Sun, 30 Nov 2025 21:33:00 +0200
Subject: [PATCH 38/73] style/calendar collection: tweak appearance
---
.../widgets/collections/calendar/index.css | 47 ++++++++++++++-----
1 file changed, 36 insertions(+), 11 deletions(-)
diff --git a/apps/client/src/widgets/collections/calendar/index.css b/apps/client/src/widgets/collections/calendar/index.css
index 60886f716..460c4f25a 100644
--- a/apps/client/src/widgets/collections/calendar/index.css
+++ b/apps/client/src/widgets/collections/calendar/index.css
@@ -1,4 +1,9 @@
.calendar-view {
+ --fc-event-border-color: var(--calendar-coll-event-text-color);
+ --fc-event-bg-color: var(--calendar-coll-event-background-color);
+ --fc-event-text-color: var(--calendar-coll-event-text-color);
+ --fc-event-selected-overlay-color: transparent;
+
overflow: hidden;
position: relative;
outline: 0;
@@ -77,30 +82,50 @@ body.desktop:not(.zen) .calendar-view .calendar-header {
}
/* #endregion */
-.calendar-view {
- --fc-event-text-color: var(--calendar-coll-event-text-color);
- --fc-event-bg-color: var(--calendar-coll-event-background-color);
-}
+/* #region Events */
.calendar-view a.fc-timegrid-event,
.calendar-view a.fc-daygrid-event {
- border: unset;
- border-left: 4px solid;
- padding-left: 8px;
font-weight: 500;
}
+.calendar-view a.fc-timegrid-event,
+.calendar-view a.fc-daygrid-event:not(.fc-daygrid-dot-event) {
+ --border-color: transparent;
+
+ border-width: 2px 2px 2px 4px;
+ border-color: var(--border-color) var(--border-color) var(--border-color)
+ var(--fc-event-text-color) !important;
+
+ padding-left: 8px;
+}
+
+.calendar-view a.fc-timegrid-event.fc-event-selected,
+.calendar-view a.fc-timegrid-event.fc-event:focus,
+.calendar-view a.fc-daygrid-event.fc-event-selected,
+.calendar-view a.fc-daygrid-event.fc-event:focus {
+ --border-color: var(--custom-color, var(--input-focus-outline-color));
+}
+
.calendar-view a.fc-timegrid-event:hover,
.calendar-view a.fc-daygrid-event:hover {
- text-decoration: none;
- border-color: var(--fc-event-text-color);
filter: var(--calendar-cell-event-hover-filter);
+ border-color: var(--fc-event-text-color);
+ text-decoration: none;
+ color: currentColor;
}
-.fc-timegrid-event.with-hue, .fc-daygrid-event:not(.fc-daygrid-dot-event).with-hue {
+.fc-timegrid-event.with-hue,
+.fc-daygrid-event:not(.fc-daygrid-dot-event).with-hue {
--fc-event-text-color: var(--custom-color);
background: hsl(var(--custom-color-hue),
var(--calendar-coll-event-background-saturation),
var(--calendar-coll-event-background-lightness)) !important;
-}
\ No newline at end of file
+}
+
+.fc-event-time {
+ opacity: .75;
+}
+
+/* #endregion */
\ No newline at end of file
From 4ab84171686c23a6eadcdb834861e662e26c68c7 Mon Sep 17 00:00:00 2001
From: Elian Doran
Date: Sun, 30 Nov 2025 17:32:00 +0200
Subject: [PATCH 39/73] feat(forge): add safeguard for ARM64 better-sqlite3
binary
---
apps/desktop/electron-forge/forge.config.ts | 37 +++++++++++++++++++--
1 file changed, 34 insertions(+), 3 deletions(-)
diff --git a/apps/desktop/electron-forge/forge.config.ts b/apps/desktop/electron-forge/forge.config.ts
index 8d279d59b..5e3a39869 100644
--- a/apps/desktop/electron-forge/forge.config.ts
+++ b/apps/desktop/electron-forge/forge.config.ts
@@ -1,8 +1,9 @@
-import path from "path";
+import path, { join } from "path";
import fs from "fs-extra";
import { LOCALES } from "@triliumnext/commons";
import { PRODUCT_NAME } from "../src/app-info.js";
import type { ForgeConfig } from "@electron-forge/shared-types";
+import { existsSync } from "fs";
const ELECTRON_FORGE_DIR = __dirname;
@@ -228,8 +229,22 @@ const config: ForgeConfig = {
// Ensure all locales that should be kept are actually present.
for (const locale of localesToKeep) {
if (!keptLocales.has(locale)) {
- console.error(`Locale ${locale} was not found in the packaged app.`);
- process.exit(1);
+ throw new Error(`Locale ${locale} was not found in the packaged app.`);
+ }
+ }
+
+ // Check that the bettersqlite3 binary has the right architecture.
+ if (packageResult.platform === "linux" && packageResult.arch === "arm64") {
+ for (const outputPath of packageResult.outputPaths) {
+ const binaryPath = join(outputPath, "resources/app.asar.unpacked/node_modules/better-sqlite3/build/Release/better_sqlite3.node");
+ if (!existsSync(binaryPath)) {
+ throw new Error(`[better-sqlite3] Unable to find .node file at ${binaryPath}`);
+ }
+
+ const actualArch = getELFArch(binaryPath);
+ if (actualArch !== "ARM64") {
+ throw new Error(`[better-sqlite3] Expected ARM64 architecture but got ${actualArch} at: ${binaryPath}`);
+ }
}
}
},
@@ -284,4 +299,20 @@ function getExtraResourcesForPlatform() {
return resources;
}
+function getELFArch(file: string) {
+ const buf = fs.readFileSync(file);
+
+ if (buf[0] !== 0x7f || buf[1] !== 0x45 || buf[2] !== 0x4c || buf[3] !== 0x46) {
+ throw new Error("Not an ELF file");
+ }
+
+ const eiClass = buf[4]; // 1=32-bit, 2=64-bit
+ const eiMachine = buf[18]; // architecture code
+
+ if (eiMachine === 0x3E) return 'x86-64';
+ if (eiMachine === 0xB7) return 'ARM64';
+ return 'other';
+}
+
+
export default config;
From 7787e7085e08de2a7cfa92153c42b8a3452de91e Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Sun, 30 Nov 2025 23:22:41 +0200
Subject: [PATCH 40/73] style/calendar collection: tweak dark theme colors
---
apps/client/src/stylesheets/theme-next-dark.css | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/apps/client/src/stylesheets/theme-next-dark.css b/apps/client/src/stylesheets/theme-next-dark.css
index 1565fe1e8..5a2ebbfc5 100644
--- a/apps/client/src/stylesheets/theme-next-dark.css
+++ b/apps/client/src/stylesheets/theme-next-dark.css
@@ -271,8 +271,8 @@
--ck-editor-toolbar-button-on-shadow: 1px 1px 2px rgba(0, 0, 0, .75);
--ck-editor-toolbar-dropdown-button-open-background: #ffffff14;
- --calendar-coll-event-background-saturation: 12%;
- --calendar-coll-event-background-lightness: 21%;
+ --calendar-coll-event-background-saturation: 30%;
+ --calendar-coll-event-background-lightness: 20%;
--calendar-coll-event-background-color: #3c3c3c;
--calendar-coll-event-text-color: white;
--calendar-cell-event-hover-filter: brightness(1.25);
From 415d2826c637a3b72f34626970f3f48a4aeb98ef Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Sun, 30 Nov 2025 23:30:30 +0200
Subject: [PATCH 41/73] style/calendar collection: tweak dark theme colors
---
apps/client/src/stylesheets/theme-next-dark.css | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/apps/client/src/stylesheets/theme-next-dark.css b/apps/client/src/stylesheets/theme-next-dark.css
index 5a2ebbfc5..8780b1ba5 100644
--- a/apps/client/src/stylesheets/theme-next-dark.css
+++ b/apps/client/src/stylesheets/theme-next-dark.css
@@ -271,7 +271,7 @@
--ck-editor-toolbar-button-on-shadow: 1px 1px 2px rgba(0, 0, 0, .75);
--ck-editor-toolbar-dropdown-button-open-background: #ffffff14;
- --calendar-coll-event-background-saturation: 30%;
+ --calendar-coll-event-background-saturation: 25%;
--calendar-coll-event-background-lightness: 20%;
--calendar-coll-event-background-color: #3c3c3c;
--calendar-coll-event-text-color: white;
From 0f7a48b32381d9703f81674aa66be334a2f5e75e Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Mon, 1 Dec 2025 01:55:03 +0200
Subject: [PATCH 42/73] style/calendar collection: add basic support for the
legacy theme
---
apps/client/src/stylesheets/style.css | 11 +++++++++++
apps/client/src/stylesheets/theme-dark.css | 3 +++
apps/client/src/stylesheets/theme-light.css | 3 +++
.../src/widgets/collections/calendar/index.css | 15 ++++++++++++---
4 files changed, 29 insertions(+), 3 deletions(-)
diff --git a/apps/client/src/stylesheets/style.css b/apps/client/src/stylesheets/style.css
index 5db4b1582..847cca27b 100644
--- a/apps/client/src/stylesheets/style.css
+++ b/apps/client/src/stylesheets/style.css
@@ -27,6 +27,9 @@
--bs-body-bg: var(--main-background-color) !important;
--ck-mention-list-max-height: 500px;
--tn-modal-max-height: 90vh;
+
+ --tree-item-light-theme-max-color-lightness: 50;
+ --tree-item-dark-theme-min-color-lightness: 75;
}
body#trilium-app.motion-disabled *,
@@ -2579,4 +2582,12 @@ iframe.print-iframe {
position: relative;
flex-grow: 1;
width: 100%;
+}
+
+/* Calendar collection */
+
+.calendar-view a.fc-timegrid-event,
+.calendar-view a.fc-daygrid-event {
+ /* Workaround: set font weight only if the theme-next is not active */
+ font-weight: var(--root-background, 800);
}
\ No newline at end of file
diff --git a/apps/client/src/stylesheets/theme-dark.css b/apps/client/src/stylesheets/theme-dark.css
index 0354e3346..690d49ecd 100644
--- a/apps/client/src/stylesheets/theme-dark.css
+++ b/apps/client/src/stylesheets/theme-dark.css
@@ -76,6 +76,9 @@
--mermaid-theme: dark;
--native-titlebar-background: #00000000;
+
+ --calendar-coll-event-background-saturation: 30%;
+ --calendar-coll-event-background-lightness: 30%;
}
body ::-webkit-calendar-picker-indicator {
diff --git a/apps/client/src/stylesheets/theme-light.css b/apps/client/src/stylesheets/theme-light.css
index 0208ed97c..0c14a2d92 100644
--- a/apps/client/src/stylesheets/theme-light.css
+++ b/apps/client/src/stylesheets/theme-light.css
@@ -80,6 +80,9 @@ html {
--mermaid-theme: default;
--native-titlebar-background: #ffffff00;
+
+ --calendar-coll-event-background-lightness: 95%;
+ --calendar-coll-event-background-saturation: 80%;
}
#left-pane .fancytree-node.tinted {
diff --git a/apps/client/src/widgets/collections/calendar/index.css b/apps/client/src/widgets/collections/calendar/index.css
index 460c4f25a..b364876ef 100644
--- a/apps/client/src/widgets/collections/calendar/index.css
+++ b/apps/client/src/widgets/collections/calendar/index.css
@@ -1,3 +1,12 @@
+:root {
+ /* Default values to be overridden by themes */
+ --calendar-coll-event-background-lightness: 95%;
+ --calendar-coll-event-background-saturation: 80%;
+ --calendar-coll-event-background-color: var(--accented-background-color);
+ --calendar-coll-event-text-color: var(--primary-button-text-color);
+ --calendar-cell-event-hover-filter: none;
+}
+
.calendar-view {
--fc-event-border-color: var(--calendar-coll-event-text-color);
--fc-event-bg-color: var(--calendar-coll-event-background-color);
@@ -115,8 +124,8 @@ body.desktop:not(.zen) .calendar-view .calendar-header {
color: currentColor;
}
-.fc-timegrid-event.with-hue,
-.fc-daygrid-event:not(.fc-daygrid-dot-event).with-hue {
+.calendar-view .fc-timegrid-event.with-hue,
+.calendar-view .fc-daygrid-event:not(.fc-daygrid-dot-event).with-hue {
--fc-event-text-color: var(--custom-color);
background: hsl(var(--custom-color-hue),
@@ -124,7 +133,7 @@ body.desktop:not(.zen) .calendar-view .calendar-header {
var(--calendar-coll-event-background-lightness)) !important;
}
-.fc-event-time {
+.calendar-view .fc-event-time {
opacity: .75;
}
From db5652623b477dcfcb55a88c5f51265bd4bef3ab Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Mon, 1 Dec 2025 02:04:26 +0200
Subject: [PATCH 43/73] style/calendar collection: fix broken background color
for events without a hue
---
apps/client/src/widgets/collections/calendar/index.css | 1 +
1 file changed, 1 insertion(+)
diff --git a/apps/client/src/widgets/collections/calendar/index.css b/apps/client/src/widgets/collections/calendar/index.css
index b364876ef..0a3dc1621 100644
--- a/apps/client/src/widgets/collections/calendar/index.css
+++ b/apps/client/src/widgets/collections/calendar/index.css
@@ -105,6 +105,7 @@ body.desktop:not(.zen) .calendar-view .calendar-header {
border-width: 2px 2px 2px 4px;
border-color: var(--border-color) var(--border-color) var(--border-color)
var(--fc-event-text-color) !important;
+ background: var(--fc-event-bg-color) !important;
padding-left: 8px;
}
From 79c8293881c7bfc252e74398ecc72c65155ed338 Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Mon, 1 Dec 2025 02:21:19 +0200
Subject: [PATCH 44/73] style/calendar collection: handle dot events as normal
events
---
.../widgets/collections/calendar/index.css | 25 +++++++++++++------
1 file changed, 18 insertions(+), 7 deletions(-)
diff --git a/apps/client/src/widgets/collections/calendar/index.css b/apps/client/src/widgets/collections/calendar/index.css
index 0a3dc1621..b4a36b7ca 100644
--- a/apps/client/src/widgets/collections/calendar/index.css
+++ b/apps/client/src/widgets/collections/calendar/index.css
@@ -22,7 +22,7 @@
}
.calendar-view a {
- color: unset;
+ color: var(--fc-event-text-color);
}
.search-result-widget-content .calendar-view {
@@ -94,15 +94,22 @@ body.desktop:not(.zen) .calendar-view .calendar-header {
/* #region Events */
.calendar-view a.fc-timegrid-event,
-.calendar-view a.fc-daygrid-event {
+.calendar-view a.fc-daygrid-event,
+.fc-daygrid-dot-event .fc-event-title {
font-weight: 500;
}
-.calendar-view a.fc-timegrid-event,
-.calendar-view a.fc-daygrid-event:not(.fc-daygrid-dot-event) {
- --border-color: transparent;
+.calendar-view a.fc-timegrid-event:focus-visible,
+.calendar-view a.fc-daygrid-event:focus-visible {
+ outline: none;
+}
- border-width: 2px 2px 2px 4px;
+.calendar-view a.fc-timegrid-event,
+.calendar-view a.fc-daygrid-event {
+ --border-color: transparent;
+
+ border: 2px solid;
+ border-left-width: 4px;
border-color: var(--border-color) var(--border-color) var(--border-color)
var(--fc-event-text-color) !important;
background: var(--fc-event-bg-color) !important;
@@ -126,7 +133,7 @@ body.desktop:not(.zen) .calendar-view .calendar-header {
}
.calendar-view .fc-timegrid-event.with-hue,
-.calendar-view .fc-daygrid-event:not(.fc-daygrid-dot-event).with-hue {
+.calendar-view .fc-daygrid-event.with-hue {
--fc-event-text-color: var(--custom-color);
background: hsl(var(--custom-color-hue),
@@ -138,4 +145,8 @@ body.desktop:not(.zen) .calendar-view .calendar-header {
opacity: .75;
}
+.fc-daygrid-event-dot {
+ display: none;
+}
+
/* #endregion */
\ No newline at end of file
From 8018f400c381e1c8accbc00026d723eb23f7be14 Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Mon, 1 Dec 2025 02:26:16 +0200
Subject: [PATCH 45/73] style/calendar collection: correct a hover color
---
apps/client/src/widgets/collections/calendar/index.css | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/apps/client/src/widgets/collections/calendar/index.css b/apps/client/src/widgets/collections/calendar/index.css
index b4a36b7ca..fd98e721d 100644
--- a/apps/client/src/widgets/collections/calendar/index.css
+++ b/apps/client/src/widgets/collections/calendar/index.css
@@ -21,7 +21,8 @@
padding: 10px;
}
-.calendar-view a {
+.calendar-view a,
+:root .calendar-view a.fc-daygrid-event:hover {
color: var(--fc-event-text-color);
}
From 7713c1173ad34ae106edc975baf9a91912cd6e66 Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Mon, 1 Dec 2025 02:40:07 +0200
Subject: [PATCH 46/73] style/calendar collection: tweak the color of the today
column / cell
---
apps/client/src/stylesheets/theme-next-dark.css | 1 +
apps/client/src/stylesheets/theme-next-light.css | 1 +
apps/client/src/widgets/collections/calendar/index.css | 2 ++
3 files changed, 4 insertions(+)
diff --git a/apps/client/src/stylesheets/theme-next-dark.css b/apps/client/src/stylesheets/theme-next-dark.css
index 8780b1ba5..ba3801b76 100644
--- a/apps/client/src/stylesheets/theme-next-dark.css
+++ b/apps/client/src/stylesheets/theme-next-dark.css
@@ -276,6 +276,7 @@
--calendar-coll-event-background-color: #3c3c3c;
--calendar-coll-event-text-color: white;
--calendar-cell-event-hover-filter: brightness(1.25);
+ --calendar-coll-today-background-color: #ffffff08;
}
/*
diff --git a/apps/client/src/stylesheets/theme-next-light.css b/apps/client/src/stylesheets/theme-next-light.css
index 423ef8d52..0afc61e7b 100644
--- a/apps/client/src/stylesheets/theme-next-light.css
+++ b/apps/client/src/stylesheets/theme-next-light.css
@@ -274,6 +274,7 @@
--calendar-coll-event-background-color: #eaeaea;
--calendar-coll-event-text-color: black;
--calendar-cell-event-hover-filter: brightness(.95) saturate(1.25);
+ --calendar-coll-today-background-color: #00000006;
}
#left-pane .fancytree-node.tinted {
diff --git a/apps/client/src/widgets/collections/calendar/index.css b/apps/client/src/widgets/collections/calendar/index.css
index fd98e721d..1717cba60 100644
--- a/apps/client/src/widgets/collections/calendar/index.css
+++ b/apps/client/src/widgets/collections/calendar/index.css
@@ -5,6 +5,7 @@
--calendar-coll-event-background-color: var(--accented-background-color);
--calendar-coll-event-text-color: var(--primary-button-text-color);
--calendar-cell-event-hover-filter: none;
+ --calendar-coll-today-background-color: var(--more-accented-background-color);
}
.calendar-view {
@@ -12,6 +13,7 @@
--fc-event-bg-color: var(--calendar-coll-event-background-color);
--fc-event-text-color: var(--calendar-coll-event-text-color);
--fc-event-selected-overlay-color: transparent;
+ --fc-today-bg-color: var(--calendar-coll-today-background-color);
overflow: hidden;
position: relative;
From 32c16021c420ce10f630d98b00f8735f0bf2fdd7 Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Mon, 1 Dec 2025 03:00:38 +0200
Subject: [PATCH 47/73] style/calendar collection: refactor
---
apps/client/src/widgets/collections/calendar/event_builder.ts | 2 --
1 file changed, 2 deletions(-)
diff --git a/apps/client/src/widgets/collections/calendar/event_builder.ts b/apps/client/src/widgets/collections/calendar/event_builder.ts
index 2d884f8fe..b2665b788 100644
--- a/apps/client/src/widgets/collections/calendar/event_builder.ts
+++ b/apps/client/src/widgets/collections/calendar/event_builder.ts
@@ -81,7 +81,6 @@ export async function buildEventsForCalendar(note: FNote, e: EventSourceFuncArg)
export async function buildEvent(note: FNote, { startDate, endDate, startTime, endTime, isArchived }: Event) {
const customTitleAttributeName = note.getLabelValue("calendar:title");
const titles = await parseCustomTitle(customTitleAttributeName, note);
- const color = note.getLabelValue("calendar:color") ?? note.getLabelValue("color");
const colorClass = note.getColorClass();
const events: EventInput[] = [];
@@ -110,7 +109,6 @@ export async function buildEvent(note: FNote, { startDate, endDate, startTime, e
start: startDate,
url: `#${note.noteId}?popup`,
noteId: note.noteId,
- color: color ?? undefined,
iconClass: note.getLabelValue("iconClass"),
promotedAttributes: displayedAttributesData,
className: clsx({archived: isArchived}, colorClass)
From 16c04f5ae4e4e5176a5a8ddae9eef36d8325813e Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Mon, 1 Dec 2025 01:19:12 +0000
Subject: [PATCH 48/73] chore(deps): update dependency eslint-plugin-playwright
to v2.4.0
---
package.json | 2 +-
pnpm-lock.yaml | 14 +++++++-------
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/package.json b/package.json
index 6578c9c77..80326ef05 100644
--- a/package.json
+++ b/package.json
@@ -53,7 +53,7 @@
"esbuild": "0.27.0",
"eslint": "9.39.1",
"eslint-config-prettier": "10.1.8",
- "eslint-plugin-playwright": "2.3.0",
+ "eslint-plugin-playwright": "2.4.0",
"eslint-plugin-react-hooks": "7.0.1",
"happy-dom": "~20.0.0",
"http-server": "14.1.1",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 1c22a34df..0fbcbbd34 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -83,8 +83,8 @@ importers:
specifier: 10.1.8
version: 10.1.8(eslint@9.39.1(jiti@2.6.1))
eslint-plugin-playwright:
- specifier: 2.3.0
- version: 2.3.0(eslint@9.39.1(jiti@2.6.1))
+ specifier: 2.4.0
+ version: 2.4.0(eslint@9.39.1(jiti@2.6.1))
eslint-plugin-react-hooks:
specifier: 7.0.1
version: 7.0.1(eslint@9.39.1(jiti@2.6.1))
@@ -8083,8 +8083,8 @@ packages:
peerDependencies:
eslint: '>=9.0.0'
- eslint-plugin-playwright@2.3.0:
- resolution: {integrity: sha512-7UeUuIb5SZrNkrUGb2F+iwHM97kn33/huajcVtAaQFCSMUYGNFvjzRPil5C0OIppslPfuOV68M/zsisXx+/ZvQ==}
+ eslint-plugin-playwright@2.4.0:
+ resolution: {integrity: sha512-MWNXfXlLfwXAjj4Z80PvCCFCXgCYy5OCHan57Z/beGrjkJ3maG1GanuGX8Ck6T6fagplBx2ZdkifxSfByftaTQ==}
engines: {node: '>=16.9.0'}
peerDependencies:
eslint: '>=8.40.0'
@@ -16401,8 +16401,6 @@ snapshots:
'@ckeditor/ckeditor5-utils': 47.2.0
'@ckeditor/ckeditor5-widget': 47.2.0
ckeditor5: 47.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)
- transitivePeerDependencies:
- - supports-color
'@ckeditor/ckeditor5-mention@47.2.0(patch_hash=5981fb59ba35829e4dff1d39cf771000f8a8fdfa7a34b51d8af9549541f2d62d)':
dependencies:
@@ -16557,6 +16555,8 @@ snapshots:
'@ckeditor/ckeditor5-ui': 47.2.0
'@ckeditor/ckeditor5-utils': 47.2.0
ckeditor5: 47.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)
+ transitivePeerDependencies:
+ - supports-color
'@ckeditor/ckeditor5-restricted-editing@47.2.0':
dependencies:
@@ -24241,7 +24241,7 @@ snapshots:
eslint: 9.39.1(jiti@2.6.1)
globals: 15.15.0
- eslint-plugin-playwright@2.3.0(eslint@9.39.1(jiti@2.6.1)):
+ eslint-plugin-playwright@2.4.0(eslint@9.39.1(jiti@2.6.1)):
dependencies:
eslint: 9.39.1(jiti@2.6.1)
globals: 16.5.0
From 8aa08cf8fed17c4612c58792a77ab3ebf647a403 Mon Sep 17 00:00:00 2001
From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com>
Date: Mon, 1 Dec 2025 01:19:56 +0000
Subject: [PATCH 49/73] fix(deps): update dependency tsx to v4.21.0
---
apps/dump-db/package.json | 2 +-
package.json | 2 +-
pnpm-lock.yaml | 420 +++++++-------------------------------
3 files changed, 78 insertions(+), 346 deletions(-)
diff --git a/apps/dump-db/package.json b/apps/dump-db/package.json
index 9a3f00554..9a50c27fa 100644
--- a/apps/dump-db/package.json
+++ b/apps/dump-db/package.json
@@ -7,7 +7,7 @@
"better-sqlite3": "12.5.0",
"mime-types": "3.0.2",
"sanitize-filename": "1.6.3",
- "tsx": "4.20.6",
+ "tsx": "4.21.0",
"yargs": "18.0.0"
},
"devDependencies": {
diff --git a/package.json b/package.json
index 6578c9c77..bff1cc60f 100644
--- a/package.json
+++ b/package.json
@@ -62,7 +62,7 @@
"react-refresh": "0.18.0",
"rollup-plugin-webpack-stats": "2.1.8",
"tslib": "2.8.1",
- "tsx": "4.20.6",
+ "tsx": "4.21.0",
"typescript": "~5.9.0",
"typescript-eslint": "8.48.0",
"upath": "2.0.1",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 1c22a34df..40439f8a5 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -57,10 +57,10 @@ importers:
version: 24.10.1
'@vitest/browser-webdriverio':
specifier: 4.0.14
- version: 4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@4.0.14)(webdriverio@9.21.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))
+ version: 4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.14)(webdriverio@9.21.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))
'@vitest/coverage-v8':
specifier: 4.0.14
- version: 4.0.14(@vitest/browser@4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@4.0.14))(vitest@4.0.14)
+ version: 4.0.14(@vitest/browser@4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.14))(vitest@4.0.14)
'@vitest/ui':
specifier: 4.0.14
version: 4.0.14(vitest@4.0.14)
@@ -105,13 +105,13 @@ importers:
version: 0.18.0
rollup-plugin-webpack-stats:
specifier: 2.1.8
- version: 2.1.8(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ version: 2.1.8(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))
tslib:
specifier: 2.8.1
version: 2.8.1
tsx:
- specifier: 4.20.6
- version: 4.20.6
+ specifier: 4.21.0
+ version: 4.21.0
typescript:
specifier: ~5.9.0
version: 5.9.3
@@ -123,13 +123,13 @@ importers:
version: 2.0.1
vite:
specifier: 7.2.4
- version: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ version: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)
vite-plugin-dts:
specifier: ~4.5.0
- version: 4.5.4(@types/node@24.10.1)(rollup@4.52.0)(typescript@5.9.3)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ version: 4.5.4(@types/node@24.10.1)(rollup@4.52.0)(typescript@5.9.3)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))
vitest:
specifier: 4.0.14
- version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)
apps/build-docs:
devDependencies:
@@ -313,7 +313,7 @@ importers:
version: 5.0.0
'@preact/preset-vite':
specifier: 2.10.2
- version: 2.10.2(@babel/core@7.28.0)(preact@10.27.2)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ version: 2.10.2(@babel/core@7.28.0)(preact@10.27.2)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))
'@types/bootstrap':
specifier: 5.2.10
version: 5.2.10
@@ -346,7 +346,7 @@ importers:
version: 0.7.2
vite-plugin-static-copy:
specifier: 3.1.4
- version: 3.1.4(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ version: 3.1.4(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))
apps/db-compare:
dependencies:
@@ -442,8 +442,8 @@ importers:
specifier: 1.6.3
version: 1.6.3
tsx:
- specifier: 4.20.6
- version: 4.20.6
+ specifier: 4.21.0
+ version: 4.21.0
yargs:
specifier: 18.0.0
version: 18.0.0
@@ -509,7 +509,7 @@ importers:
version: 2.1.3(electron@38.7.2)
'@preact/preset-vite':
specifier: 2.10.2
- version: 2.10.2(@babel/core@7.28.0)(preact@10.27.2)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ version: 2.10.2(@babel/core@7.28.0)(preact@10.27.2)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))
'@triliumnext/commons':
specifier: workspace:*
version: link:../../packages/commons
@@ -782,7 +782,7 @@ importers:
version: 1.0.1
vite:
specifier: 7.2.4
- version: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ version: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)
ws:
specifier: 8.18.3
version: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)
@@ -822,7 +822,7 @@ importers:
devDependencies:
'@preact/preset-vite':
specifier: 2.10.2
- version: 2.10.2(@babel/core@7.28.0)(preact@10.27.2)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ version: 2.10.2(@babel/core@7.28.0)(preact@10.27.2)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))
eslint:
specifier: 9.39.1
version: 9.39.1(jiti@2.6.1)
@@ -837,10 +837,10 @@ importers:
version: 0.4.2
vite:
specifier: 7.2.4
- version: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ version: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)
vitest:
specifier: 4.0.14
- version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)
packages/ckeditor5:
dependencies:
@@ -895,7 +895,7 @@ importers:
version: 8.48.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)
'@vitest/browser':
specifier: 4.0.14
- version: 4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@4.0.14)
+ version: 4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.14)
'@vitest/coverage-istanbul':
specifier: 4.0.14
version: 4.0.14(vitest@4.0.14)
@@ -928,10 +928,10 @@ importers:
version: 5.9.3
vite-plugin-svgo:
specifier: ~2.0.0
- version: 2.0.0(typescript@5.9.3)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ version: 2.0.0(typescript@5.9.3)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))
vitest:
specifier: 4.0.14
- version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)
webdriverio:
specifier: 9.21.0
version: 9.21.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)
@@ -955,7 +955,7 @@ importers:
version: 8.48.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)
'@vitest/browser':
specifier: 4.0.14
- version: 4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@4.0.14)
+ version: 4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.14)
'@vitest/coverage-istanbul':
specifier: 4.0.14
version: 4.0.14(vitest@4.0.14)
@@ -988,10 +988,10 @@ importers:
version: 5.9.3
vite-plugin-svgo:
specifier: ~2.0.0
- version: 2.0.0(typescript@5.9.3)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ version: 2.0.0(typescript@5.9.3)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))
vitest:
specifier: 4.0.14
- version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)
webdriverio:
specifier: 9.21.0
version: 9.21.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)
@@ -1015,7 +1015,7 @@ importers:
version: 8.48.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)
'@vitest/browser':
specifier: 4.0.14
- version: 4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@4.0.14)
+ version: 4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.14)
'@vitest/coverage-istanbul':
specifier: 4.0.14
version: 4.0.14(vitest@4.0.14)
@@ -1048,10 +1048,10 @@ importers:
version: 5.9.3
vite-plugin-svgo:
specifier: ~2.0.0
- version: 2.0.0(typescript@5.9.3)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ version: 2.0.0(typescript@5.9.3)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))
vitest:
specifier: 4.0.14
- version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)
webdriverio:
specifier: 9.21.0
version: 9.21.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)
@@ -1082,7 +1082,7 @@ importers:
version: 8.48.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)
'@vitest/browser':
specifier: 4.0.14
- version: 4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@4.0.14)
+ version: 4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.14)
'@vitest/coverage-istanbul':
specifier: 4.0.14
version: 4.0.14(vitest@4.0.14)
@@ -1115,10 +1115,10 @@ importers:
version: 5.9.3
vite-plugin-svgo:
specifier: ~2.0.0
- version: 2.0.0(typescript@5.9.3)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ version: 2.0.0(typescript@5.9.3)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))
vitest:
specifier: 4.0.14
- version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)
webdriverio:
specifier: 9.21.0
version: 9.21.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)
@@ -1149,7 +1149,7 @@ importers:
version: 8.48.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)
'@vitest/browser':
specifier: 4.0.14
- version: 4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@4.0.14)
+ version: 4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.14)
'@vitest/coverage-istanbul':
specifier: 4.0.14
version: 4.0.14(vitest@4.0.14)
@@ -1182,10 +1182,10 @@ importers:
version: 5.9.3
vite-plugin-svgo:
specifier: ~2.0.0
- version: 2.0.0(typescript@5.9.3)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ version: 2.0.0(typescript@5.9.3)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))
vitest:
specifier: 4.0.14
- version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ version: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)
webdriverio:
specifier: 9.21.0
version: 9.21.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)
@@ -2365,12 +2365,6 @@ packages:
resolution: {integrity: sha512-YAdE/IJSpwbOTiaURNCKECdAwqrJuFiZhylmesBcIRawtYKnBR2wxPhoIewMg+Yu+QuYvHfJNReWpoxGBKOChA==}
engines: {node: '>=18'}
- '@esbuild/aix-ppc64@0.25.10':
- resolution: {integrity: sha512-0NFWnA+7l41irNuaSVlLfgNT12caWJVLzp5eAVhZ0z1qpxbockccEt3s+149rE64VUI3Ml2zt8Nv5JVc4QXTsw==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [aix]
-
'@esbuild/aix-ppc64@0.25.12':
resolution: {integrity: sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==}
engines: {node: '>=18'}
@@ -2383,12 +2377,6 @@ packages:
cpu: [ppc64]
os: [aix]
- '@esbuild/android-arm64@0.25.10':
- resolution: {integrity: sha512-LSQa7eDahypv/VO6WKohZGPSJDq5OVOo3UoFR1E4t4Gj1W7zEQMUhI+lo81H+DtB+kP+tDgBp+M4oNCwp6kffg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [android]
-
'@esbuild/android-arm64@0.25.12':
resolution: {integrity: sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==}
engines: {node: '>=18'}
@@ -2401,12 +2389,6 @@ packages:
cpu: [arm64]
os: [android]
- '@esbuild/android-arm@0.25.10':
- resolution: {integrity: sha512-dQAxF1dW1C3zpeCDc5KqIYuZ1tgAdRXNoZP7vkBIRtKZPYe2xVr/d3SkirklCHudW1B45tGiUlz2pUWDfbDD4w==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [android]
-
'@esbuild/android-arm@0.25.12':
resolution: {integrity: sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==}
engines: {node: '>=18'}
@@ -2419,12 +2401,6 @@ packages:
cpu: [arm]
os: [android]
- '@esbuild/android-x64@0.25.10':
- resolution: {integrity: sha512-MiC9CWdPrfhibcXwr39p9ha1x0lZJ9KaVfvzA0Wxwz9ETX4v5CHfF09bx935nHlhi+MxhA63dKRRQLiVgSUtEg==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [android]
-
'@esbuild/android-x64@0.25.12':
resolution: {integrity: sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==}
engines: {node: '>=18'}
@@ -2437,12 +2413,6 @@ packages:
cpu: [x64]
os: [android]
- '@esbuild/darwin-arm64@0.25.10':
- resolution: {integrity: sha512-JC74bdXcQEpW9KkV326WpZZjLguSZ3DfS8wrrvPMHgQOIEIG/sPXEN/V8IssoJhbefLRcRqw6RQH2NnpdprtMA==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [darwin]
-
'@esbuild/darwin-arm64@0.25.12':
resolution: {integrity: sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==}
engines: {node: '>=18'}
@@ -2455,12 +2425,6 @@ packages:
cpu: [arm64]
os: [darwin]
- '@esbuild/darwin-x64@0.25.10':
- resolution: {integrity: sha512-tguWg1olF6DGqzws97pKZ8G2L7Ig1vjDmGTwcTuYHbuU6TTjJe5FXbgs5C1BBzHbJ2bo1m3WkQDbWO2PvamRcg==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [darwin]
-
'@esbuild/darwin-x64@0.25.12':
resolution: {integrity: sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==}
engines: {node: '>=18'}
@@ -2473,12 +2437,6 @@ packages:
cpu: [x64]
os: [darwin]
- '@esbuild/freebsd-arm64@0.25.10':
- resolution: {integrity: sha512-3ZioSQSg1HT2N05YxeJWYR+Libe3bREVSdWhEEgExWaDtyFbbXWb49QgPvFH8u03vUPX10JhJPcz7s9t9+boWg==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [freebsd]
-
'@esbuild/freebsd-arm64@0.25.12':
resolution: {integrity: sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==}
engines: {node: '>=18'}
@@ -2491,12 +2449,6 @@ packages:
cpu: [arm64]
os: [freebsd]
- '@esbuild/freebsd-x64@0.25.10':
- resolution: {integrity: sha512-LLgJfHJk014Aa4anGDbh8bmI5Lk+QidDmGzuC2D+vP7mv/GeSN+H39zOf7pN5N8p059FcOfs2bVlrRr4SK9WxA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [freebsd]
-
'@esbuild/freebsd-x64@0.25.12':
resolution: {integrity: sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==}
engines: {node: '>=18'}
@@ -2509,12 +2461,6 @@ packages:
cpu: [x64]
os: [freebsd]
- '@esbuild/linux-arm64@0.25.10':
- resolution: {integrity: sha512-5luJWN6YKBsawd5f9i4+c+geYiVEw20FVW5x0v1kEMWNq8UctFjDiMATBxLvmmHA4bf7F6hTRaJgtghFr9iziQ==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [linux]
-
'@esbuild/linux-arm64@0.25.12':
resolution: {integrity: sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==}
engines: {node: '>=18'}
@@ -2527,12 +2473,6 @@ packages:
cpu: [arm64]
os: [linux]
- '@esbuild/linux-arm@0.25.10':
- resolution: {integrity: sha512-oR31GtBTFYCqEBALI9r6WxoU/ZofZl962pouZRTEYECvNF/dtXKku8YXcJkhgK/beU+zedXfIzHijSRapJY3vg==}
- engines: {node: '>=18'}
- cpu: [arm]
- os: [linux]
-
'@esbuild/linux-arm@0.25.12':
resolution: {integrity: sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==}
engines: {node: '>=18'}
@@ -2545,12 +2485,6 @@ packages:
cpu: [arm]
os: [linux]
- '@esbuild/linux-ia32@0.25.10':
- resolution: {integrity: sha512-NrSCx2Kim3EnnWgS4Txn0QGt0Xipoumb6z6sUtl5bOEZIVKhzfyp/Lyw4C1DIYvzeW/5mWYPBFJU3a/8Yr75DQ==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [linux]
-
'@esbuild/linux-ia32@0.25.12':
resolution: {integrity: sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==}
engines: {node: '>=18'}
@@ -2563,12 +2497,6 @@ packages:
cpu: [ia32]
os: [linux]
- '@esbuild/linux-loong64@0.25.10':
- resolution: {integrity: sha512-xoSphrd4AZda8+rUDDfD9J6FUMjrkTz8itpTITM4/xgerAZZcFW7Dv+sun7333IfKxGG8gAq+3NbfEMJfiY+Eg==}
- engines: {node: '>=18'}
- cpu: [loong64]
- os: [linux]
-
'@esbuild/linux-loong64@0.25.12':
resolution: {integrity: sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==}
engines: {node: '>=18'}
@@ -2581,12 +2509,6 @@ packages:
cpu: [loong64]
os: [linux]
- '@esbuild/linux-mips64el@0.25.10':
- resolution: {integrity: sha512-ab6eiuCwoMmYDyTnyptoKkVS3k8fy/1Uvq7Dj5czXI6DF2GqD2ToInBI0SHOp5/X1BdZ26RKc5+qjQNGRBelRA==}
- engines: {node: '>=18'}
- cpu: [mips64el]
- os: [linux]
-
'@esbuild/linux-mips64el@0.25.12':
resolution: {integrity: sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==}
engines: {node: '>=18'}
@@ -2599,12 +2521,6 @@ packages:
cpu: [mips64el]
os: [linux]
- '@esbuild/linux-ppc64@0.25.10':
- resolution: {integrity: sha512-NLinzzOgZQsGpsTkEbdJTCanwA5/wozN9dSgEl12haXJBzMTpssebuXR42bthOF3z7zXFWH1AmvWunUCkBE4EA==}
- engines: {node: '>=18'}
- cpu: [ppc64]
- os: [linux]
-
'@esbuild/linux-ppc64@0.25.12':
resolution: {integrity: sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==}
engines: {node: '>=18'}
@@ -2617,12 +2533,6 @@ packages:
cpu: [ppc64]
os: [linux]
- '@esbuild/linux-riscv64@0.25.10':
- resolution: {integrity: sha512-FE557XdZDrtX8NMIeA8LBJX3dC2M8VGXwfrQWU7LB5SLOajfJIxmSdyL/gU1m64Zs9CBKvm4UAuBp5aJ8OgnrA==}
- engines: {node: '>=18'}
- cpu: [riscv64]
- os: [linux]
-
'@esbuild/linux-riscv64@0.25.12':
resolution: {integrity: sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==}
engines: {node: '>=18'}
@@ -2635,12 +2545,6 @@ packages:
cpu: [riscv64]
os: [linux]
- '@esbuild/linux-s390x@0.25.10':
- resolution: {integrity: sha512-3BBSbgzuB9ajLoVZk0mGu+EHlBwkusRmeNYdqmznmMc9zGASFjSsxgkNsqmXugpPk00gJ0JNKh/97nxmjctdew==}
- engines: {node: '>=18'}
- cpu: [s390x]
- os: [linux]
-
'@esbuild/linux-s390x@0.25.12':
resolution: {integrity: sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==}
engines: {node: '>=18'}
@@ -2653,12 +2557,6 @@ packages:
cpu: [s390x]
os: [linux]
- '@esbuild/linux-x64@0.25.10':
- resolution: {integrity: sha512-QSX81KhFoZGwenVyPoberggdW1nrQZSvfVDAIUXr3WqLRZGZqWk/P4T8p2SP+de2Sr5HPcvjhcJzEiulKgnxtA==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [linux]
-
'@esbuild/linux-x64@0.25.12':
resolution: {integrity: sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==}
engines: {node: '>=18'}
@@ -2671,12 +2569,6 @@ packages:
cpu: [x64]
os: [linux]
- '@esbuild/netbsd-arm64@0.25.10':
- resolution: {integrity: sha512-AKQM3gfYfSW8XRk8DdMCzaLUFB15dTrZfnX8WXQoOUpUBQ+NaAFCP1kPS/ykbbGYz7rxn0WS48/81l9hFl3u4A==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [netbsd]
-
'@esbuild/netbsd-arm64@0.25.12':
resolution: {integrity: sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==}
engines: {node: '>=18'}
@@ -2689,12 +2581,6 @@ packages:
cpu: [arm64]
os: [netbsd]
- '@esbuild/netbsd-x64@0.25.10':
- resolution: {integrity: sha512-7RTytDPGU6fek/hWuN9qQpeGPBZFfB4zZgcz2VK2Z5VpdUxEI8JKYsg3JfO0n/Z1E/6l05n0unDCNc4HnhQGig==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [netbsd]
-
'@esbuild/netbsd-x64@0.25.12':
resolution: {integrity: sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==}
engines: {node: '>=18'}
@@ -2707,12 +2593,6 @@ packages:
cpu: [x64]
os: [netbsd]
- '@esbuild/openbsd-arm64@0.25.10':
- resolution: {integrity: sha512-5Se0VM9Wtq797YFn+dLimf2Zx6McttsH2olUBsDml+lm0GOCRVebRWUvDtkY4BWYv/3NgzS8b/UM3jQNh5hYyw==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [openbsd]
-
'@esbuild/openbsd-arm64@0.25.12':
resolution: {integrity: sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==}
engines: {node: '>=18'}
@@ -2725,12 +2605,6 @@ packages:
cpu: [arm64]
os: [openbsd]
- '@esbuild/openbsd-x64@0.25.10':
- resolution: {integrity: sha512-XkA4frq1TLj4bEMB+2HnI0+4RnjbuGZfet2gs/LNs5Hc7D89ZQBHQ0gL2ND6Lzu1+QVkjp3x1gIcPKzRNP8bXw==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [openbsd]
-
'@esbuild/openbsd-x64@0.25.12':
resolution: {integrity: sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==}
engines: {node: '>=18'}
@@ -2743,12 +2617,6 @@ packages:
cpu: [x64]
os: [openbsd]
- '@esbuild/openharmony-arm64@0.25.10':
- resolution: {integrity: sha512-AVTSBhTX8Y/Fz6OmIVBip9tJzZEUcY8WLh7I59+upa5/GPhh2/aM6bvOMQySspnCCHvFi79kMtdJS1w0DXAeag==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [openharmony]
-
'@esbuild/openharmony-arm64@0.25.12':
resolution: {integrity: sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==}
engines: {node: '>=18'}
@@ -2761,12 +2629,6 @@ packages:
cpu: [arm64]
os: [openharmony]
- '@esbuild/sunos-x64@0.25.10':
- resolution: {integrity: sha512-fswk3XT0Uf2pGJmOpDB7yknqhVkJQkAQOcW/ccVOtfx05LkbWOaRAtn5SaqXypeKQra1QaEa841PgrSL9ubSPQ==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [sunos]
-
'@esbuild/sunos-x64@0.25.12':
resolution: {integrity: sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==}
engines: {node: '>=18'}
@@ -2779,12 +2641,6 @@ packages:
cpu: [x64]
os: [sunos]
- '@esbuild/win32-arm64@0.25.10':
- resolution: {integrity: sha512-ah+9b59KDTSfpaCg6VdJoOQvKjI33nTaQr4UluQwW7aEwZQsbMCfTmfEO4VyewOxx4RaDT/xCy9ra2GPWmO7Kw==}
- engines: {node: '>=18'}
- cpu: [arm64]
- os: [win32]
-
'@esbuild/win32-arm64@0.25.12':
resolution: {integrity: sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==}
engines: {node: '>=18'}
@@ -2797,12 +2653,6 @@ packages:
cpu: [arm64]
os: [win32]
- '@esbuild/win32-ia32@0.25.10':
- resolution: {integrity: sha512-QHPDbKkrGO8/cz9LKVnJU22HOi4pxZnZhhA2HYHez5Pz4JeffhDjf85E57Oyco163GnzNCVkZK0b/n4Y0UHcSw==}
- engines: {node: '>=18'}
- cpu: [ia32]
- os: [win32]
-
'@esbuild/win32-ia32@0.25.12':
resolution: {integrity: sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==}
engines: {node: '>=18'}
@@ -2815,12 +2665,6 @@ packages:
cpu: [ia32]
os: [win32]
- '@esbuild/win32-x64@0.25.10':
- resolution: {integrity: sha512-9KpxSVFCu0iK1owoez6aC/s/EdUQLDN3adTxGCqxMVhrPDj6bt5dbrHDXUuq+Bs2vATFBBrQS5vdQ/Ed2P+nbw==}
- engines: {node: '>=18'}
- cpu: [x64]
- os: [win32]
-
'@esbuild/win32-x64@0.25.12':
resolution: {integrity: sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==}
engines: {node: '>=18'}
@@ -8004,11 +7848,6 @@ packages:
peerDependencies:
webpack: ^4.40.0 || ^5.0.0
- esbuild@0.25.10:
- resolution: {integrity: sha512-9RiGKvCwaqxO2owP61uQ4BgNborAQskMR6QusfWzQqv7AZOg5oGehdY2pRJMTKuwxd1IDBP4rSbI5lHzU7SMsQ==}
- engines: {node: '>=18'}
- hasBin: true
-
esbuild@0.25.12:
resolution: {integrity: sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==}
engines: {node: '>=18'}
@@ -13971,8 +13810,8 @@ packages:
tslib@2.8.1:
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
- tsx@4.20.6:
- resolution: {integrity: sha512-ytQKuwgmrrkDTFP4LjR0ToE2nqgy886GpvRSpU0JAnrdBYppuY5rLkRUYPU1yCryb24SsKBTL/hlDQAEFVwtZg==}
+ tsx@4.21.0:
+ resolution: {integrity: sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==}
engines: {node: '>=18.0.0'}
hasBin: true
@@ -16047,6 +15886,8 @@ snapshots:
'@ckeditor/ckeditor5-utils': 47.2.0
ckeditor5: 47.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)
es-toolkit: 1.39.5
+ transitivePeerDependencies:
+ - supports-color
'@ckeditor/ckeditor5-editor-multi-root@47.2.0':
dependencies:
@@ -16096,8 +15937,6 @@ snapshots:
'@ckeditor/ckeditor5-core': 47.2.0
'@ckeditor/ckeditor5-engine': 47.2.0
'@ckeditor/ckeditor5-utils': 47.2.0
- transitivePeerDependencies:
- - supports-color
'@ckeditor/ckeditor5-essentials@47.2.0':
dependencies:
@@ -17463,234 +17302,156 @@ snapshots:
esquery: 1.6.0
jsdoc-type-pratt-parser: 4.1.0
- '@esbuild/aix-ppc64@0.25.10':
- optional: true
-
'@esbuild/aix-ppc64@0.25.12':
optional: true
'@esbuild/aix-ppc64@0.27.0':
optional: true
- '@esbuild/android-arm64@0.25.10':
- optional: true
-
'@esbuild/android-arm64@0.25.12':
optional: true
'@esbuild/android-arm64@0.27.0':
optional: true
- '@esbuild/android-arm@0.25.10':
- optional: true
-
'@esbuild/android-arm@0.25.12':
optional: true
'@esbuild/android-arm@0.27.0':
optional: true
- '@esbuild/android-x64@0.25.10':
- optional: true
-
'@esbuild/android-x64@0.25.12':
optional: true
'@esbuild/android-x64@0.27.0':
optional: true
- '@esbuild/darwin-arm64@0.25.10':
- optional: true
-
'@esbuild/darwin-arm64@0.25.12':
optional: true
'@esbuild/darwin-arm64@0.27.0':
optional: true
- '@esbuild/darwin-x64@0.25.10':
- optional: true
-
'@esbuild/darwin-x64@0.25.12':
optional: true
'@esbuild/darwin-x64@0.27.0':
optional: true
- '@esbuild/freebsd-arm64@0.25.10':
- optional: true
-
'@esbuild/freebsd-arm64@0.25.12':
optional: true
'@esbuild/freebsd-arm64@0.27.0':
optional: true
- '@esbuild/freebsd-x64@0.25.10':
- optional: true
-
'@esbuild/freebsd-x64@0.25.12':
optional: true
'@esbuild/freebsd-x64@0.27.0':
optional: true
- '@esbuild/linux-arm64@0.25.10':
- optional: true
-
'@esbuild/linux-arm64@0.25.12':
optional: true
'@esbuild/linux-arm64@0.27.0':
optional: true
- '@esbuild/linux-arm@0.25.10':
- optional: true
-
'@esbuild/linux-arm@0.25.12':
optional: true
'@esbuild/linux-arm@0.27.0':
optional: true
- '@esbuild/linux-ia32@0.25.10':
- optional: true
-
'@esbuild/linux-ia32@0.25.12':
optional: true
'@esbuild/linux-ia32@0.27.0':
optional: true
- '@esbuild/linux-loong64@0.25.10':
- optional: true
-
'@esbuild/linux-loong64@0.25.12':
optional: true
'@esbuild/linux-loong64@0.27.0':
optional: true
- '@esbuild/linux-mips64el@0.25.10':
- optional: true
-
'@esbuild/linux-mips64el@0.25.12':
optional: true
'@esbuild/linux-mips64el@0.27.0':
optional: true
- '@esbuild/linux-ppc64@0.25.10':
- optional: true
-
'@esbuild/linux-ppc64@0.25.12':
optional: true
'@esbuild/linux-ppc64@0.27.0':
optional: true
- '@esbuild/linux-riscv64@0.25.10':
- optional: true
-
'@esbuild/linux-riscv64@0.25.12':
optional: true
'@esbuild/linux-riscv64@0.27.0':
optional: true
- '@esbuild/linux-s390x@0.25.10':
- optional: true
-
'@esbuild/linux-s390x@0.25.12':
optional: true
'@esbuild/linux-s390x@0.27.0':
optional: true
- '@esbuild/linux-x64@0.25.10':
- optional: true
-
'@esbuild/linux-x64@0.25.12':
optional: true
'@esbuild/linux-x64@0.27.0':
optional: true
- '@esbuild/netbsd-arm64@0.25.10':
- optional: true
-
'@esbuild/netbsd-arm64@0.25.12':
optional: true
'@esbuild/netbsd-arm64@0.27.0':
optional: true
- '@esbuild/netbsd-x64@0.25.10':
- optional: true
-
'@esbuild/netbsd-x64@0.25.12':
optional: true
'@esbuild/netbsd-x64@0.27.0':
optional: true
- '@esbuild/openbsd-arm64@0.25.10':
- optional: true
-
'@esbuild/openbsd-arm64@0.25.12':
optional: true
'@esbuild/openbsd-arm64@0.27.0':
optional: true
- '@esbuild/openbsd-x64@0.25.10':
- optional: true
-
'@esbuild/openbsd-x64@0.25.12':
optional: true
'@esbuild/openbsd-x64@0.27.0':
optional: true
- '@esbuild/openharmony-arm64@0.25.10':
- optional: true
-
'@esbuild/openharmony-arm64@0.25.12':
optional: true
'@esbuild/openharmony-arm64@0.27.0':
optional: true
- '@esbuild/sunos-x64@0.25.10':
- optional: true
-
'@esbuild/sunos-x64@0.25.12':
optional: true
'@esbuild/sunos-x64@0.27.0':
optional: true
- '@esbuild/win32-arm64@0.25.10':
- optional: true
-
'@esbuild/win32-arm64@0.25.12':
optional: true
'@esbuild/win32-arm64@0.27.0':
optional: true
- '@esbuild/win32-ia32@0.25.10':
- optional: true
-
'@esbuild/win32-ia32@0.25.12':
optional: true
'@esbuild/win32-ia32@0.27.0':
optional: true
- '@esbuild/win32-x64@0.25.10':
- optional: true
-
'@esbuild/win32-x64@0.25.12':
optional: true
@@ -19006,18 +18767,18 @@ snapshots:
'@popperjs/core@2.11.8': {}
- '@preact/preset-vite@2.10.2(@babel/core@7.28.0)(preact@10.27.2)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))':
+ '@preact/preset-vite@2.10.2(@babel/core@7.28.0)(preact@10.27.2)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))':
dependencies:
'@babel/core': 7.28.0
'@babel/plugin-transform-react-jsx': 7.27.1(@babel/core@7.28.0)
'@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.28.0)
- '@prefresh/vite': 2.4.8(preact@10.27.2)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ '@prefresh/vite': 2.4.8(preact@10.27.2)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))
'@rollup/pluginutils': 4.2.1
babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.28.0)
debug: 4.4.1
picocolors: 1.1.1
- vite: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
- vite-prerender-plugin: 0.5.11(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ vite: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)
+ vite-prerender-plugin: 0.5.11(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))
transitivePeerDependencies:
- preact
- supports-color
@@ -19030,7 +18791,7 @@ snapshots:
'@prefresh/utils@1.2.1': {}
- '@prefresh/vite@2.4.8(preact@10.27.2)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))':
+ '@prefresh/vite@2.4.8(preact@10.27.2)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))':
dependencies:
'@babel/core': 7.28.0
'@prefresh/babel-plugin': 0.5.2
@@ -19038,7 +18799,7 @@ snapshots:
'@prefresh/utils': 1.2.1
'@rollup/pluginutils': 4.2.1
preact: 10.27.2
- vite: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ vite: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)
transitivePeerDependencies:
- supports-color
@@ -21140,10 +20901,10 @@ snapshots:
- bufferutil
- utf-8-validate
- '@vitest/browser-webdriverio@4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@4.0.14)(webdriverio@9.21.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))':
+ '@vitest/browser-webdriverio@4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.14)(webdriverio@9.21.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))':
dependencies:
- '@vitest/browser': 4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@4.0.14)
- vitest: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ '@vitest/browser': 4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.14)
+ vitest: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)
webdriverio: 9.21.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)
transitivePeerDependencies:
- bufferutil
@@ -21151,16 +20912,16 @@ snapshots:
- utf-8-validate
- vite
- '@vitest/browser@4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@4.0.14)':
+ '@vitest/browser@4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.14)':
dependencies:
- '@vitest/mocker': 4.0.14(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ '@vitest/mocker': 4.0.14(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))
'@vitest/utils': 4.0.14
magic-string: 0.30.21
pixelmatch: 7.1.0
pngjs: 7.0.0
sirv: 3.0.2
tinyrainbow: 3.0.3
- vitest: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ vitest: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)
ws: 8.18.3(bufferutil@4.0.9)(utf-8-validate@6.0.5)
transitivePeerDependencies:
- bufferutil
@@ -21179,11 +20940,11 @@ snapshots:
magicast: 0.5.1
obug: 2.1.1
tinyrainbow: 3.0.3
- vitest: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ vitest: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)
transitivePeerDependencies:
- supports-color
- '@vitest/coverage-v8@4.0.14(@vitest/browser@4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@4.0.14))(vitest@4.0.14)':
+ '@vitest/coverage-v8@4.0.14(@vitest/browser@4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.14))(vitest@4.0.14)':
dependencies:
'@bcoe/v8-coverage': 1.0.2
'@vitest/utils': 4.0.14
@@ -21196,9 +20957,9 @@ snapshots:
obug: 2.1.1
std-env: 3.10.0
tinyrainbow: 3.0.3
- vitest: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ vitest: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)
optionalDependencies:
- '@vitest/browser': 4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@4.0.14)
+ '@vitest/browser': 4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.14)
transitivePeerDependencies:
- supports-color
@@ -21211,14 +20972,14 @@ snapshots:
chai: 6.2.1
tinyrainbow: 3.0.3
- '@vitest/mocker@4.0.14(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))':
+ '@vitest/mocker@4.0.14(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))':
dependencies:
'@vitest/spy': 4.0.14
estree-walker: 3.0.3
magic-string: 0.30.21
optionalDependencies:
msw: 2.7.5(@types/node@24.10.1)(typescript@5.9.3)
- vite: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ vite: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)
'@vitest/pretty-format@4.0.14':
dependencies:
@@ -21246,7 +21007,7 @@ snapshots:
sirv: 3.0.2
tinyglobby: 0.2.15
tinyrainbow: 3.0.3
- vitest: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ vitest: 4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)
'@vitest/utils@4.0.14':
dependencies:
@@ -24072,35 +23833,6 @@ snapshots:
webpack: 5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0)
webpack-sources: 1.4.3
- esbuild@0.25.10:
- optionalDependencies:
- '@esbuild/aix-ppc64': 0.25.10
- '@esbuild/android-arm': 0.25.10
- '@esbuild/android-arm64': 0.25.10
- '@esbuild/android-x64': 0.25.10
- '@esbuild/darwin-arm64': 0.25.10
- '@esbuild/darwin-x64': 0.25.10
- '@esbuild/freebsd-arm64': 0.25.10
- '@esbuild/freebsd-x64': 0.25.10
- '@esbuild/linux-arm': 0.25.10
- '@esbuild/linux-arm64': 0.25.10
- '@esbuild/linux-ia32': 0.25.10
- '@esbuild/linux-loong64': 0.25.10
- '@esbuild/linux-mips64el': 0.25.10
- '@esbuild/linux-ppc64': 0.25.10
- '@esbuild/linux-riscv64': 0.25.10
- '@esbuild/linux-s390x': 0.25.10
- '@esbuild/linux-x64': 0.25.10
- '@esbuild/netbsd-arm64': 0.25.10
- '@esbuild/netbsd-x64': 0.25.10
- '@esbuild/openbsd-arm64': 0.25.10
- '@esbuild/openbsd-x64': 0.25.10
- '@esbuild/openharmony-arm64': 0.25.10
- '@esbuild/sunos-x64': 0.25.10
- '@esbuild/win32-arm64': 0.25.10
- '@esbuild/win32-ia32': 0.25.10
- '@esbuild/win32-x64': 0.25.10
-
esbuild@0.25.12:
optionalDependencies:
'@esbuild/aix-ppc64': 0.25.12
@@ -29705,11 +29437,11 @@ snapshots:
'@rolldown/binding-win32-x64-msvc': 1.0.0-beta.29
optional: true
- rollup-plugin-stats@1.5.3(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)):
+ rollup-plugin-stats@1.5.3(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)):
optionalDependencies:
rolldown: 1.0.0-beta.29
rollup: 4.52.0
- vite: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ vite: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)
rollup-plugin-styles@4.0.0(rollup@4.40.0):
dependencies:
@@ -29738,13 +29470,13 @@ snapshots:
'@rollup/pluginutils': 5.1.4(rollup@4.40.0)
rollup: 4.40.0
- rollup-plugin-webpack-stats@2.1.8(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)):
+ rollup-plugin-webpack-stats@2.1.8(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)):
dependencies:
- rollup-plugin-stats: 1.5.3(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ rollup-plugin-stats: 1.5.3(rolldown@1.0.0-beta.29)(rollup@4.52.0)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))
optionalDependencies:
rolldown: 1.0.0-beta.29
rollup: 4.52.0
- vite: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ vite: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)
rollup@4.40.0:
dependencies:
@@ -31344,9 +31076,9 @@ snapshots:
tslib@2.8.1: {}
- tsx@4.20.6:
+ tsx@4.21.0:
dependencies:
- esbuild: 0.25.10
+ esbuild: 0.27.0
get-tsconfig: 4.10.1
optionalDependencies:
fsevents: 2.3.3
@@ -31736,7 +31468,7 @@ snapshots:
'@types/unist': 3.0.3
vfile-message: 4.0.2
- vite-plugin-dts@4.5.4(@types/node@24.10.1)(rollup@4.52.0)(typescript@5.9.3)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)):
+ vite-plugin-dts@4.5.4(@types/node@24.10.1)(rollup@4.52.0)(typescript@5.9.3)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)):
dependencies:
'@microsoft/api-extractor': 7.52.8(@types/node@24.10.1)
'@rollup/pluginutils': 5.1.4(rollup@4.52.0)
@@ -31749,27 +31481,27 @@ snapshots:
magic-string: 0.30.21
typescript: 5.9.3
optionalDependencies:
- vite: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ vite: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)
transitivePeerDependencies:
- '@types/node'
- rollup
- supports-color
- vite-plugin-static-copy@3.1.4(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)):
+ vite-plugin-static-copy@3.1.4(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)):
dependencies:
chokidar: 3.6.0
p-map: 7.0.3
picocolors: 1.1.1
tinyglobby: 0.2.15
- vite: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ vite: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)
- vite-plugin-svgo@2.0.0(typescript@5.9.3)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)):
+ vite-plugin-svgo@2.0.0(typescript@5.9.3)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)):
dependencies:
svgo: 3.3.2
typescript: 5.9.3
- vite: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ vite: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)
- vite-prerender-plugin@0.5.11(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)):
+ vite-prerender-plugin@0.5.11(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)):
dependencies:
kolorist: 1.8.0
magic-string: 0.30.18
@@ -31777,9 +31509,9 @@ snapshots:
simple-code-frame: 1.3.0
source-map: 0.7.6
stack-trace: 1.0.0-pre2
- vite: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ vite: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)
- vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1):
+ vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1):
dependencies:
esbuild: 0.25.12
fdir: 6.5.0(picomatch@4.0.3)
@@ -31796,13 +31528,13 @@ snapshots:
sass: 1.91.0
sass-embedded: 1.91.0
terser: 5.44.0
- tsx: 4.20.6
+ tsx: 4.21.0
yaml: 2.8.1
- vitest@4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1):
+ vitest@4.0.14(@opentelemetry/api@1.9.0)(@types/node@24.10.1)(@vitest/browser-webdriverio@4.0.14)(@vitest/ui@4.0.14)(happy-dom@20.0.11)(jiti@2.6.1)(jsdom@26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))(less@4.1.3)(lightningcss@1.30.1)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1):
dependencies:
'@vitest/expect': 4.0.14
- '@vitest/mocker': 4.0.14(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))
+ '@vitest/mocker': 4.0.14(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))
'@vitest/pretty-format': 4.0.14
'@vitest/runner': 4.0.14
'@vitest/snapshot': 4.0.14
@@ -31819,12 +31551,12 @@ snapshots:
tinyexec: 0.3.2
tinyglobby: 0.2.15
tinyrainbow: 3.0.3
- vite: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)
+ vite: 7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1)
why-is-node-running: 2.3.0
optionalDependencies:
'@opentelemetry/api': 1.9.0
'@types/node': 24.10.1
- '@vitest/browser-webdriverio': 4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vitest@4.0.14)(webdriverio@9.21.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))
+ '@vitest/browser-webdriverio': 4.0.14(bufferutil@4.0.9)(msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3))(utf-8-validate@6.0.5)(vite@7.2.4(@types/node@24.10.1)(jiti@2.6.1)(less@4.1.3)(lightningcss@1.30.1)(sass-embedded@1.91.0)(sass@1.91.0)(terser@5.44.0)(tsx@4.21.0)(yaml@2.8.1))(vitest@4.0.14)(webdriverio@9.21.0(bufferutil@4.0.9)(utf-8-validate@6.0.5))
'@vitest/ui': 4.0.14(vitest@4.0.14)
happy-dom: 20.0.11
jsdom: 26.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)
From 668fd34af66895a37a1201771abc6a4eb6f90064 Mon Sep 17 00:00:00 2001
From: SiriusXT <1160925501@qq.com>
Date: Mon, 1 Dec 2025 13:55:21 +0800
Subject: [PATCH 50/73] fix(text): code blocks cannot wrap automatically
---
apps/client/src/stylesheets/theme-next/notes/text.css | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/apps/client/src/stylesheets/theme-next/notes/text.css b/apps/client/src/stylesheets/theme-next/notes/text.css
index 92574b541..c261bb1f8 100644
--- a/apps/client/src/stylesheets/theme-next/notes/text.css
+++ b/apps/client/src/stylesheets/theme-next/notes/text.css
@@ -643,7 +643,7 @@ html .note-detail-editable-text :not(figure, .include-note, hr):first-child {
}
}
-.note-detail-printable:not(.word-wrap) pre code {
+.ck-content:not(.word-wrap) pre code {
white-space: pre;
}
From 389c7029cfa3dce01e350ab3a8e0a93308214b4f Mon Sep 17 00:00:00 2001
From: Hosted Weblate
Date: Mon, 1 Dec 2025 02:01:16 +0100
Subject: [PATCH 51/73] Update translation files
Updated by "Cleanup translation files" add-on in Weblate.
Translation: Trilium Notes/README
Translate-URL: https://hosted.weblate.org/projects/trilium/readme/
---
docs/README-fa.md | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/docs/README-fa.md b/docs/README-fa.md
index bba139cc9..250cc876d 100644
--- a/docs/README-fa.md
+++ b/docs/README-fa.md
@@ -33,14 +33,13 @@ quick overview:
-## ⏬ Download
-- [Latest release](https://github.com/TriliumNext/Trilium/releases/latest) –
- stable version, recommended for most users.
+## ⏬ دانلود
+- [آخرین انتشار]{۱} – نسخه پایدار، برای بیشتر کاربران پیشنهاد میشود.
- [Nightly build](https://github.com/TriliumNext/Trilium/releases/tag/nightly) –
unstable development version, updated daily with the latest features and
fixes.
-## 📚 Documentation
+## 📚 کتابچه راهنما
**Visit our comprehensive documentation at
[docs.triliumnotes.org](https://docs.triliumnotes.org/)**
From 538c98b587010647cb64bacd2153c9ae65abc568 Mon Sep 17 00:00:00 2001
From: Mr Mejri
Date: Mon, 1 Dec 2025 07:28:01 +0100
Subject: [PATCH 52/73] Translated using Weblate (Persian)
Currently translated at 5.9% (7 of 118 strings)
Translation: Trilium Notes/README
Translate-URL: https://hosted.weblate.org/projects/trilium/readme/fa/
---
docs/README-fa.md | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/docs/README-fa.md b/docs/README-fa.md
index 250cc876d..e65ae883a 100644
--- a/docs/README-fa.md
+++ b/docs/README-fa.md
@@ -44,15 +44,15 @@ quick overview:
**Visit our comprehensive documentation at
[docs.triliumnotes.org](https://docs.triliumnotes.org/)**
-Our documentation is available in multiple formats:
-- **Online Documentation**: Browse the full documentation at
- [docs.triliumnotes.org](https://docs.triliumnotes.org/)
+مستندات ما در چندین قالب مختلف در دسترس است:
+- مستندات آنلاین: میتوانید نسخهٔ کامل مستندات را در
+ [docs.triliumnotes.org](https://docs.triliumnotes.org/) مرور کنید
- **In-App Help**: Press `F1` within Trilium to access the same documentation
directly in the application
- **GitHub**: Navigate through the [User
Guide](./docs/User%20Guide/User%20Guide/) in this repository
-### Quick Links
+### لینکهای سریع
- [Getting Started Guide](https://docs.triliumnotes.org/)
- [Installation
Instructions](./docs/User%20Guide/User%20Guide/Installation%20&%20Setup/Server%20Installation.md)
@@ -65,7 +65,7 @@ Our documentation is available in multiple formats:
- [Patterns of Personal Knowledge
Base](https://triliumnext.github.io/Docs/Wiki/patterns-of-personal-knowledge)
-## 🎁 Features
+## 🎁 ویژگیها
* Notes can be arranged into arbitrarily deep tree. Single note can be placed
into multiple places in the tree (see
From 8813985c68d04bef251b2c95f8bfc750eb7de6e2 Mon Sep 17 00:00:00 2001
From: "Francis C."
Date: Mon, 1 Dec 2025 07:28:12 +0100
Subject: [PATCH 53/73] Translated using Weblate (Chinese (Traditional Han
script))
Currently translated at 100.0% (1638 of 1638 strings)
Translation: Trilium Notes/Client
Translate-URL: https://hosted.weblate.org/projects/trilium/client/zh_Hant/
---
apps/client/src/translations/tw/translation.json | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/apps/client/src/translations/tw/translation.json b/apps/client/src/translations/tw/translation.json
index 5d7463c45..df913354d 100644
--- a/apps/client/src/translations/tw/translation.json
+++ b/apps/client/src/translations/tw/translation.json
@@ -162,7 +162,8 @@
"inPageSearch": "頁面內搜尋",
"title": "列表",
"newTabNoteLink": "在新分頁開啟筆記連結",
- "newTabWithActivationNoteLink": "在新分頁開啟並切換至筆記連結"
+ "newTabWithActivationNoteLink": "在新分頁開啟並切換至筆記連結",
+ "editShortcuts": "編輯鍵盤快捷鍵"
},
"import": {
"importIntoNote": "匯入至筆記",
@@ -2104,5 +2105,8 @@
"clear-color": "清除筆記顏色",
"set-color": "設定筆記顏色",
"set-custom-color": "設定自訂筆記顏色"
+ },
+ "popup-editor": {
+ "maximize": "切換至完整編輯器"
}
}
From d35dd67632ae4487fd6f8ba2329a081ad935f846 Mon Sep 17 00:00:00 2001
From: green
Date: Mon, 1 Dec 2025 03:43:59 +0100
Subject: [PATCH 54/73] Translated using Weblate (Japanese)
Currently translated at 100.0% (1638 of 1638 strings)
Translation: Trilium Notes/Client
Translate-URL: https://hosted.weblate.org/projects/trilium/client/ja/
---
apps/client/src/translations/ja/translation.json | 3 +++
1 file changed, 3 insertions(+)
diff --git a/apps/client/src/translations/ja/translation.json b/apps/client/src/translations/ja/translation.json
index 7108b24fc..bce2fb15f 100644
--- a/apps/client/src/translations/ja/translation.json
+++ b/apps/client/src/translations/ja/translation.json
@@ -2105,5 +2105,8 @@
"clear-color": "ノートの色をクリア",
"set-color": "ノートの色を設定",
"set-custom-color": "ノートの色をカスタム設定"
+ },
+ "popup-editor": {
+ "maximize": "フルエディターに切り替え"
}
}
From 60e4fbbf75afa7d118bb875af4acd5c3d455d7e6 Mon Sep 17 00:00:00 2001
From: Mr Mejri
Date: Mon, 1 Dec 2025 07:39:01 +0100
Subject: [PATCH 55/73] Translated using Weblate (Persian)
Currently translated at 15.2% (18 of 118 strings)
Translation: Trilium Notes/README
Translate-URL: https://hosted.weblate.org/projects/trilium/readme/fa/
---
docs/README-fa.md | 40 +++++++++++++++-------------------------
1 file changed, 15 insertions(+), 25 deletions(-)
diff --git a/docs/README-fa.md b/docs/README-fa.md
index e65ae883a..59e9d84c8 100644
--- a/docs/README-fa.md
+++ b/docs/README-fa.md
@@ -34,7 +34,7 @@ quick overview:
## ⏬ دانلود
-- [آخرین انتشار]{۱} – نسخه پایدار، برای بیشتر کاربران پیشنهاد میشود.
+- [آخرین انتشار]{1} – نسخه پایدار، برای بیشتر کاربران پیشنهاد میشود.
- [Nightly build](https://github.com/TriliumNext/Trilium/releases/tag/nightly) –
unstable development version, updated daily with the latest features and
fixes.
@@ -47,35 +47,25 @@ quick overview:
مستندات ما در چندین قالب مختلف در دسترس است:
- مستندات آنلاین: میتوانید نسخهٔ کامل مستندات را در
[docs.triliumnotes.org](https://docs.triliumnotes.org/) مرور کنید
-- **In-App Help**: Press `F1` within Trilium to access the same documentation
- directly in the application
-- **GitHub**: Navigate through the [User
- Guide](./docs/User%20Guide/User%20Guide/) in this repository
+- ** In-App Help **: Press `F1 ` در Trilium برای دسترسی به همان اسناد به طور
+ مستقیم در برنامه
+- ** GitHub **: از طریق [راهنمای کاربر] در این مخزن حرکت کنید
### لینکهای سریع
-- [Getting Started Guide](https://docs.triliumnotes.org/)
-- [Installation
- Instructions](./docs/User%20Guide/User%20Guide/Installation%20&%20Setup/Server%20Installation.md)
-- [Docker
- Setup](./docs/User%20Guide/User%20Guide/Installation%20&%20Setup/Server%20Installation/1.%20Installing%20the%20server/Using%20Docker.md)
-- [Upgrading
- TriliumNext](./docs/User%20Guide/User%20Guide/Installation%20%26%20Setup/Upgrading%20TriliumNext.md)
-- [Basic Concepts and
- Features](./docs/User%20Guide/User%20Guide/Basic%20Concepts%20and%20Features/Notes.md)
-- [Patterns of Personal Knowledge
- Base](https://triliumnext.github.io/Docs/Wiki/patterns-of-personal-knowledge)
+- راهنمای شروع کار
+- دستورالعملهای نصب
+- راهاندازی داکر
+- ارتقای TriliumNext
+- مفاهیم و ویژگیهای پایه
+- الگوهای پایگاه دانشی شخصی
## 🎁 ویژگیها
-* Notes can be arranged into arbitrarily deep tree. Single note can be placed
- into multiple places in the tree (see
- [cloning](https://triliumnext.github.io/Docs/Wiki/cloning-notes))
-* Rich WYSIWYG note editor including e.g. tables, images and
- [math](https://triliumnext.github.io/Docs/Wiki/text-notes) with markdown
- [autoformat](https://triliumnext.github.io/Docs/Wiki/text-notes#autoformat)
-* Support for editing [notes with source
- code](https://triliumnext.github.io/Docs/Wiki/code-notes), including syntax
- highlighting
+* یادداشتها میتوانند در یک درخت با عمق دلخواه سازماندهی شوند. یک یادداشت
+ میتواند در چندین نقطهٔ مختلف از درخت قرار گیرد.
+* ویرایشگر یادداشت غنی WYSIWYG از جمله جداول، تصاویر و [math] [1] با علامت گذاری
+ [autoformat] [2]
+* پشتیبانی از ویرایش [یادداشت با کد منبع][۱]، از جمله نحو برجسته
* Fast and easy [navigation between
notes](https://triliumnext.github.io/Docs/Wiki/note-navigation), full text
search and [note
From 94db96de3eadbbabbd10917a87dcb2a3fe2d091f Mon Sep 17 00:00:00 2001
From: "Francis C."
Date: Mon, 1 Dec 2025 07:30:18 +0100
Subject: [PATCH 56/73] Translated using Weblate (Chinese (Simplified Han
script))
Currently translated at 100.0% (1638 of 1638 strings)
Translation: Trilium Notes/Client
Translate-URL: https://hosted.weblate.org/projects/trilium/client/zh_Hans/
---
apps/client/src/translations/cn/translation.json | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/apps/client/src/translations/cn/translation.json b/apps/client/src/translations/cn/translation.json
index 4cbe6ab50..ddcb40838 100644
--- a/apps/client/src/translations/cn/translation.json
+++ b/apps/client/src/translations/cn/translation.json
@@ -162,7 +162,8 @@
"inPageSearch": "页面内搜索",
"newTabWithActivationNoteLink": "在新标签页打开笔记链接并激活该标签页",
"title": "资料表",
- "newTabNoteLink": "在新标签页开启链接"
+ "newTabNoteLink": "在新标签页开启链接",
+ "editShortcuts": "编辑键盘快捷键"
},
"import": {
"importIntoNote": "导入到笔记",
@@ -2104,5 +2105,8 @@
"clear-color": "清除笔记颜色",
"set-color": "设置笔记颜色",
"set-custom-color": "设置自定义笔记颜色"
+ },
+ "popup-editor": {
+ "maximize": "切换至完整编辑器"
}
}
From a0938623115667d620109063ddd4d9052bb98274 Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Mon, 1 Dec 2025 11:24:39 +0200
Subject: [PATCH 57/73] style/calendar collection: use a separate style for
archived notes
---
.../src/stylesheets/theme-next-dark.css | 1 +
.../src/stylesheets/theme-next-light.css | 1 +
.../widgets/collections/calendar/index.css | 22 +++++++++++++++++--
3 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/apps/client/src/stylesheets/theme-next-dark.css b/apps/client/src/stylesheets/theme-next-dark.css
index ba3801b76..bd8cbb906 100644
--- a/apps/client/src/stylesheets/theme-next-dark.css
+++ b/apps/client/src/stylesheets/theme-next-dark.css
@@ -276,6 +276,7 @@
--calendar-coll-event-background-color: #3c3c3c;
--calendar-coll-event-text-color: white;
--calendar-cell-event-hover-filter: brightness(1.25);
+ --callendar-coll-event-archived-sripe-color: #00000026;
--calendar-coll-today-background-color: #ffffff08;
}
diff --git a/apps/client/src/stylesheets/theme-next-light.css b/apps/client/src/stylesheets/theme-next-light.css
index 0afc61e7b..9c26401ec 100644
--- a/apps/client/src/stylesheets/theme-next-light.css
+++ b/apps/client/src/stylesheets/theme-next-light.css
@@ -274,6 +274,7 @@
--calendar-coll-event-background-color: #eaeaea;
--calendar-coll-event-text-color: black;
--calendar-cell-event-hover-filter: brightness(.95) saturate(1.25);
+ --callendar-coll-event-archived-sripe-color: #0000000a;
--calendar-coll-today-background-color: #00000006;
}
diff --git a/apps/client/src/widgets/collections/calendar/index.css b/apps/client/src/widgets/collections/calendar/index.css
index 1717cba60..773625d56 100644
--- a/apps/client/src/widgets/collections/calendar/index.css
+++ b/apps/client/src/widgets/collections/calendar/index.css
@@ -5,6 +5,7 @@
--calendar-coll-event-background-color: var(--accented-background-color);
--calendar-coll-event-text-color: var(--primary-button-text-color);
--calendar-cell-event-hover-filter: none;
+ --callendar-coll-event-archived-sripe-color: #0000000d;
--calendar-coll-today-background-color: var(--more-accented-background-color);
}
@@ -53,7 +54,23 @@
}
.calendar-container a.fc-event.archived {
- opacity: 0.5;
+ opacity: .65;
+}
+
+.calendar-container a.fc-event.archived::after {
+ content: "";
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ z-index: -1;
+
+ --c1: transparent;
+ --c2: var(--callendar-coll-event-archived-sripe-color);
+
+ background: repeating-linear-gradient(45deg, var(--c1), var(--c1) 8px,
+ var(--c2) 8px, var(--c2) 16px) !important;
}
.calendar-container .fc-button {
@@ -133,13 +150,14 @@ body.desktop:not(.zen) .calendar-view .calendar-header {
border-color: var(--fc-event-text-color);
text-decoration: none;
color: currentColor;
+ opacity: 1;
}
.calendar-view .fc-timegrid-event.with-hue,
.calendar-view .fc-daygrid-event.with-hue {
--fc-event-text-color: var(--custom-color);
- background: hsl(var(--custom-color-hue),
+ --fc-event-bg-color: hsl(var(--custom-color-hue),
var(--calendar-coll-event-background-saturation),
var(--calendar-coll-event-background-lightness)) !important;
}
From 3cdc1ba79450540047a30197ba3eaf48c065c29e Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Mon, 1 Dec 2025 11:38:48 +0200
Subject: [PATCH 58/73] style/calendar collection: fix colors on the legacy
theme
---
apps/client/src/widgets/collections/calendar/index.css | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/apps/client/src/widgets/collections/calendar/index.css b/apps/client/src/widgets/collections/calendar/index.css
index 773625d56..81e6f47c7 100644
--- a/apps/client/src/widgets/collections/calendar/index.css
+++ b/apps/client/src/widgets/collections/calendar/index.css
@@ -3,9 +3,9 @@
--calendar-coll-event-background-lightness: 95%;
--calendar-coll-event-background-saturation: 80%;
--calendar-coll-event-background-color: var(--accented-background-color);
- --calendar-coll-event-text-color: var(--primary-button-text-color);
+ --calendar-coll-event-text-color: var(--main-text-color);
--calendar-cell-event-hover-filter: none;
- --callendar-coll-event-archived-sripe-color: #0000000d;
+ --callendar-coll-event-archived-sripe-color: #00000013;
--calendar-coll-today-background-color: var(--more-accented-background-color);
}
From e69b5988ec99df1d92c38eebe78efe5ce18deb3b Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Mon, 1 Dec 2025 11:48:42 +0200
Subject: [PATCH 59/73] style: fix custom title bar buttons on the legacy theme
---
apps/client/src/stylesheets/style.css | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/apps/client/src/stylesheets/style.css b/apps/client/src/stylesheets/style.css
index 847cca27b..e985a2401 100644
--- a/apps/client/src/stylesheets/style.css
+++ b/apps/client/src/stylesheets/style.css
@@ -257,6 +257,11 @@ button.close:hover {
color: var(--hover-item-text-color);
}
+button.custom-title-bar-button {
+ background: transparent;
+ border: unset;
+}
+
.modal-content {
background-color: var(--modal-background-color) !important;
}
From 90b5282b393b160b1087fc40da683ad154f1db27 Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Mon, 1 Dec 2025 13:29:28 +0200
Subject: [PATCH 60/73] client/calendar collection: add "Archive note" command
to the context menu
---
apps/client/src/menus/context_menu_utils.ts | 21 +++++++++++++++++++
.../widgets/collections/board/context_menu.ts | 21 ++-----------------
.../collections/calendar/context_menu.ts | 15 ++++++-------
.../widgets/collections/calendar/index.tsx | 8 ++++---
4 files changed, 34 insertions(+), 31 deletions(-)
create mode 100644 apps/client/src/menus/context_menu_utils.ts
diff --git a/apps/client/src/menus/context_menu_utils.ts b/apps/client/src/menus/context_menu_utils.ts
new file mode 100644
index 000000000..9ac6f8b6a
--- /dev/null
+++ b/apps/client/src/menus/context_menu_utils.ts
@@ -0,0 +1,21 @@
+import { t } from "../services/i18n"
+import attributes from "../services/attributes"
+import FNote from "../entities/fnote"
+
+export function getArchiveMenuItem(note: FNote) {
+ if (!note.isArchived) {
+ return {
+ title: t("board_view.archive-note"),
+ uiIcon: "bx bx-archive",
+ handler: () => attributes.addLabel(note.noteId, "archived")
+ }
+ } else {
+ return {
+ title: t("board_view.unarchive-note"),
+ uiIcon: "bx bx-archive-out",
+ handler: async () => {
+ attributes.removeOwnedLabelByName(note, "archived")
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/apps/client/src/widgets/collections/board/context_menu.ts b/apps/client/src/widgets/collections/board/context_menu.ts
index c834b4c8d..ec869b6ed 100644
--- a/apps/client/src/widgets/collections/board/context_menu.ts
+++ b/apps/client/src/widgets/collections/board/context_menu.ts
@@ -2,9 +2,9 @@ import FNote from "../../../entities/fnote";
import NoteColorPicker from "../../../menus/custom-items/NoteColorPicker";
import contextMenu, { ContextMenuEvent } from "../../../menus/context_menu";
import link_context_menu from "../../../menus/link_context_menu";
-import attributes from "../../../services/attributes";
import branches from "../../../services/branches";
import dialog from "../../../services/dialog";
+import { getArchiveMenuItem } from "../../../menus/context_menu_utils";
import { t } from "../../../services/i18n";
import Api from "./api";
@@ -52,7 +52,6 @@ export function openNoteContextMenu(api: Api, event: ContextMenuEvent, note: FNo
handler: () => api.changeColumn(note.noteId, columnToMoveTo)
})),
},
- getArchiveMenuItem(note),
{ kind: "separator" },
{
title: t("board_view.insert-above"),
@@ -65,6 +64,7 @@ export function openNoteContextMenu(api: Api, event: ContextMenuEvent, note: FNo
handler: () => api.insertRowAtPosition(column, branchId, "after")
},
{ kind: "separator" },
+ getArchiveMenuItem(note),
{
title: t("board_view.remove-from-board"),
uiIcon: "bx bx-task-x",
@@ -85,20 +85,3 @@ export function openNoteContextMenu(api: Api, event: ContextMenuEvent, note: FNo
});
}
-function getArchiveMenuItem(note: FNote) {
- if (!note.isArchived) {
- return {
- title: t("board_view.archive-note"),
- uiIcon: "bx bx-archive",
- handler: () => attributes.addLabel(note.noteId, "archived")
- }
- } else {
- return {
- title: t("board_view.unarchive-note"),
- uiIcon: "bx bx-archive-out",
- handler: async () => {
- attributes.removeOwnedLabelByName(note, "archived")
- }
- }
- }
-}
diff --git a/apps/client/src/widgets/collections/calendar/context_menu.ts b/apps/client/src/widgets/collections/calendar/context_menu.ts
index 0195d131c..bb370a8f4 100644
--- a/apps/client/src/widgets/collections/calendar/context_menu.ts
+++ b/apps/client/src/widgets/collections/calendar/context_menu.ts
@@ -3,11 +3,10 @@ import FNote from "../../../entities/fnote";
import contextMenu, { ContextMenuEvent } from "../../../menus/context_menu";
import link_context_menu from "../../../menus/link_context_menu";
import branches from "../../../services/branches";
-import froca from "../../../services/froca";
-import { note } from "mermaid/dist/rendering-util/rendering-elements/shapes/note.js";
+import { getArchiveMenuItem } from "../../../menus/context_menu_utils";
import { t } from "../../../services/i18n";
-export function openCalendarContextMenu(e: ContextMenuEvent, noteId: string, parentNote: FNote) {
+export function openCalendarContextMenu(e: ContextMenuEvent, note: FNote, parentNote: FNote) {
e.preventDefault();
e.stopPropagation();
@@ -17,15 +16,13 @@ export function openCalendarContextMenu(e: ContextMenuEvent, noteId: string, par
items: [
...link_context_menu.getItems(),
{ kind: "separator" },
+ getArchiveMenuItem(note),
{
title: t("calendar_view.delete_note"),
uiIcon: "bx bx-trash",
handler: async () => {
- const noteToDelete = await froca.getNote(noteId);
- if (!noteToDelete) return;
-
let branchIdToDelete: string | null = null;
- for (const parentBranch of noteToDelete.getParentBranches()) {
+ for (const parentBranch of note.getParentBranches()) {
const parentNote = await parentBranch.getNote();
if (parentNote?.hasAncestor(parentNote.noteId)) {
branchIdToDelete = parentBranch.branchId;
@@ -40,9 +37,9 @@ export function openCalendarContextMenu(e: ContextMenuEvent, noteId: string, par
{ kind: "separator" },
{
kind: "custom",
- componentFn: () => NoteColorPicker({note: noteId})
+ componentFn: () => NoteColorPicker({note: note})
}
],
- selectMenuItemHandler: ({ command }) => link_context_menu.handleLinkContextMenuItem(command, noteId),
+ selectMenuItemHandler: ({ command }) => link_context_menu.handleLinkContextMenuItem(command, note.noteId),
})
}
diff --git a/apps/client/src/widgets/collections/calendar/index.tsx b/apps/client/src/widgets/collections/calendar/index.tsx
index 8bf5ce7f9..f7e61a541 100644
--- a/apps/client/src/widgets/collections/calendar/index.tsx
+++ b/apps/client/src/widgets/collections/calendar/index.tsx
@@ -307,9 +307,11 @@ function useEventDisplayCustomization(parentNote: FNote) {
$(mainContainer ?? e.el).append($(promotedAttributesHtml));
}
- e.el.addEventListener("contextmenu", (contextMenuEvent) => {
- const noteId = e.event.extendedProps.noteId;
- openCalendarContextMenu(contextMenuEvent, noteId, parentNote);
+ e.el.addEventListener("contextmenu", async (contextMenuEvent) => {
+ const note = await froca.getNote(e.event.extendedProps.noteId);
+ if (!note) return;
+
+ openCalendarContextMenu(contextMenuEvent, note, parentNote);
});
}, []);
return { eventDidMount };
From 1ed774365c0bb0be4b859bb8b08153b1e67cf97e Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Mon, 1 Dec 2025 13:33:20 +0200
Subject: [PATCH 61/73] client/Kanban board collection: reorder context menu
items
---
.../widgets/collections/board/context_menu.ts | 20 +++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/apps/client/src/widgets/collections/board/context_menu.ts b/apps/client/src/widgets/collections/board/context_menu.ts
index ec869b6ed..034f15e25 100644
--- a/apps/client/src/widgets/collections/board/context_menu.ts
+++ b/apps/client/src/widgets/collections/board/context_menu.ts
@@ -43,16 +43,6 @@ export function openNoteContextMenu(api: Api, event: ContextMenuEvent, note: FNo
items: [
...link_context_menu.getItems(),
{ kind: "separator" },
- {
- title: t("board_view.move-to"),
- uiIcon: "bx bx-transfer",
- items: api.columns.map(columnToMoveTo => ({
- title: columnToMoveTo,
- enabled: columnToMoveTo !== column,
- handler: () => api.changeColumn(note.noteId, columnToMoveTo)
- })),
- },
- { kind: "separator" },
{
title: t("board_view.insert-above"),
uiIcon: "bx bx-list-plus",
@@ -64,6 +54,16 @@ export function openNoteContextMenu(api: Api, event: ContextMenuEvent, note: FNo
handler: () => api.insertRowAtPosition(column, branchId, "after")
},
{ kind: "separator" },
+ {
+ title: t("board_view.move-to"),
+ uiIcon: "bx bx-transfer",
+ items: api.columns.map(columnToMoveTo => ({
+ title: columnToMoveTo,
+ enabled: columnToMoveTo !== column,
+ handler: () => api.changeColumn(note.noteId, columnToMoveTo)
+ })),
+ },
+ { kind: "separator" },
getArchiveMenuItem(note),
{
title: t("board_view.remove-from-board"),
From 30516642280e077a18111ce88518f084d52d4a61 Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Mon, 1 Dec 2025 13:34:36 +0200
Subject: [PATCH 62/73] style: fix typo
---
apps/client/src/stylesheets/theme-next-dark.css | 2 +-
apps/client/src/stylesheets/theme-next-light.css | 2 +-
apps/client/src/widgets/collections/calendar/index.css | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/apps/client/src/stylesheets/theme-next-dark.css b/apps/client/src/stylesheets/theme-next-dark.css
index bd8cbb906..8358de09b 100644
--- a/apps/client/src/stylesheets/theme-next-dark.css
+++ b/apps/client/src/stylesheets/theme-next-dark.css
@@ -275,7 +275,7 @@
--calendar-coll-event-background-lightness: 20%;
--calendar-coll-event-background-color: #3c3c3c;
--calendar-coll-event-text-color: white;
- --calendar-cell-event-hover-filter: brightness(1.25);
+ --calendar-coll-event-hover-filter: brightness(1.25);
--callendar-coll-event-archived-sripe-color: #00000026;
--calendar-coll-today-background-color: #ffffff08;
}
diff --git a/apps/client/src/stylesheets/theme-next-light.css b/apps/client/src/stylesheets/theme-next-light.css
index 9c26401ec..60e7d55b2 100644
--- a/apps/client/src/stylesheets/theme-next-light.css
+++ b/apps/client/src/stylesheets/theme-next-light.css
@@ -273,7 +273,7 @@
--calendar-coll-event-background-saturation: 80%;
--calendar-coll-event-background-color: #eaeaea;
--calendar-coll-event-text-color: black;
- --calendar-cell-event-hover-filter: brightness(.95) saturate(1.25);
+ --calendar-coll-event-hover-filter: brightness(.95) saturate(1.25);
--callendar-coll-event-archived-sripe-color: #0000000a;
--calendar-coll-today-background-color: #00000006;
}
diff --git a/apps/client/src/widgets/collections/calendar/index.css b/apps/client/src/widgets/collections/calendar/index.css
index 81e6f47c7..c75ecf54c 100644
--- a/apps/client/src/widgets/collections/calendar/index.css
+++ b/apps/client/src/widgets/collections/calendar/index.css
@@ -4,7 +4,7 @@
--calendar-coll-event-background-saturation: 80%;
--calendar-coll-event-background-color: var(--accented-background-color);
--calendar-coll-event-text-color: var(--main-text-color);
- --calendar-cell-event-hover-filter: none;
+ --calendar-coll-event-hover-filter: none;
--callendar-coll-event-archived-sripe-color: #00000013;
--calendar-coll-today-background-color: var(--more-accented-background-color);
}
@@ -146,7 +146,7 @@ body.desktop:not(.zen) .calendar-view .calendar-header {
.calendar-view a.fc-timegrid-event:hover,
.calendar-view a.fc-daygrid-event:hover {
- filter: var(--calendar-cell-event-hover-filter);
+ filter: var(--calendar-coll-event-hover-filter);
border-color: var(--fc-event-text-color);
text-decoration: none;
color: currentColor;
From 98241fb54bbc9bf3ddefeee1cfb13025e7ac22fa Mon Sep 17 00:00:00 2001
From: Elian Doran
Date: Mon, 1 Dec 2025 13:30:03 +0200
Subject: [PATCH 63/73] fix(promoted_attributes): value carrying over onto new
notes
---
apps/client/src/services/utils.ts | 2 +-
apps/client/src/widgets/PromotedAttributes.tsx | 6 +++++-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/apps/client/src/services/utils.ts b/apps/client/src/services/utils.ts
index b11578bb6..3febb37c2 100644
--- a/apps/client/src/services/utils.ts
+++ b/apps/client/src/services/utils.ts
@@ -207,7 +207,7 @@ function toObject(array: T[], fn: (arg0: T) => [key: string, value: R]) {
return obj;
}
-function randomString(len: number) {
+export function randomString(len: number) {
let text = "";
const possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
diff --git a/apps/client/src/widgets/PromotedAttributes.tsx b/apps/client/src/widgets/PromotedAttributes.tsx
index 6565c4ed7..776b86fee 100644
--- a/apps/client/src/widgets/PromotedAttributes.tsx
+++ b/apps/client/src/widgets/PromotedAttributes.tsx
@@ -14,8 +14,10 @@ import ws from "../services/ws";
import { UpdateAttributeResponse } from "@triliumnext/commons";
import attributes from "../services/attributes";
import debounce from "../services/debounce";
+import { randomString } from "../services/utils";
interface Cell {
+ uniqueId: string;
definitionAttr: FAttribute;
definition: DefinitionObject;
valueAttr: Attribute;
@@ -44,6 +46,7 @@ export default function PromotedAttributes() {
{cells && cells.length > 0 &&
{note && cells?.map(cell =>
Date: Mon, 1 Dec 2025 13:37:09 +0200
Subject: [PATCH 64/73] fix(backlinks): not refreshed after inserting a new
link
---
.../src/widgets/FloatingButtonsDefinitions.tsx | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/apps/client/src/widgets/FloatingButtonsDefinitions.tsx b/apps/client/src/widgets/FloatingButtonsDefinitions.tsx
index 651f82f05..953e9469d 100644
--- a/apps/client/src/widgets/FloatingButtonsDefinitions.tsx
+++ b/apps/client/src/widgets/FloatingButtonsDefinitions.tsx
@@ -18,6 +18,7 @@ import froca from "../services/froca";
import NoteLink from "./react/NoteLink";
import RawHtml from "./react/RawHtml";
import { ViewTypeOptions } from "./collections/interface";
+import attributes from "../services/attributes";
export interface FloatingButtonContext {
parentComponent: Component;
@@ -310,13 +311,24 @@ function Backlinks({ note, isDefaultViewMode }: FloatingButtonContext) {
let [ popupOpen, setPopupOpen ] = useState(false);
const backlinksContainerRef = useRef(null);
- useEffect(() => {
+ function refresh() {
if (!isDefaultViewMode) return;
server.get(`note-map/${note.noteId}/backlink-count`).then(resp => {
setBacklinkCount(resp.count);
});
- }, [ note ]);
+ }
+
+ useEffect(() => refresh(), [ note ]);
+ useTriliumEvent("entitiesReloaded", ({ loadResults }) => {
+ loadResults.getAttributeRows().some(attr =>
+ attr.type === "relation" &&
+ attr.name === "internalLink" &&
+ attributes.isAffecting(attr, note))
+ {
+ refresh();
+ }
+ });
// Determine the max height of the container.
const { windowHeight } = useWindowSize();
From 43920f12ae309edbf7c4338b828e92f895f144f9 Mon Sep 17 00:00:00 2001
From: Elian Doran
Date: Mon, 1 Dec 2025 13:50:59 +0200
Subject: [PATCH 65/73] feat(backlinks): use proper plural
---
apps/client/src/translations/en/translation.json | 4 ++--
apps/client/src/translations/ro/translation.json | 5 +++--
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json
index c1a509944..3a240faf5 100644
--- a/apps/client/src/translations/en/translation.json
+++ b/apps/client/src/translations/en/translation.json
@@ -736,8 +736,8 @@
"zoom_out_title": "Zoom Out"
},
"zpetne_odkazy": {
- "backlink": "{{count}} Backlink",
- "backlinks": "{{count}} Backlinks",
+ "backlink_one": "{{count}} Backlink",
+ "backlink_other": "{{count}} Backlinks",
"relation": "relation"
},
"mobile_detail_menu": {
diff --git a/apps/client/src/translations/ro/translation.json b/apps/client/src/translations/ro/translation.json
index d0eff357f..a0c866eda 100644
--- a/apps/client/src/translations/ro/translation.json
+++ b/apps/client/src/translations/ro/translation.json
@@ -1362,8 +1362,9 @@
"title": "Factorul de zoom (doar pentru versiunea desktop)"
},
"zpetne_odkazy": {
- "backlink": "{{count}} legături de retur",
- "backlinks": "{{count}} legături de retur",
+ "backlink_one": "{{count}} legătură de retur",
+ "backlink_few": "{{count}} legături de retur",
+ "backlink_other": "{{count}} de legături de retur",
"relation": "relație"
},
"svg_export_button": {
From 1af0477ac0eae8a00234e31ef22adcc350436faf Mon Sep 17 00:00:00 2001
From: Elian Doran
Date: Mon, 1 Dec 2025 13:53:07 +0200
Subject: [PATCH 66/73] chore(ci): fix duplicate artifact name error
---
.github/workflows/playwright.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml
index 49258d1be..573970097 100644
--- a/.github/workflows/playwright.yml
+++ b/.github/workflows/playwright.yml
@@ -79,7 +79,7 @@ jobs:
if: failure()
uses: actions/upload-artifact@v5
with:
- name: e2e report
+ name: e2e report ${{ matrix.arch }}
path: apps/server-e2e/test-output
- name: Kill the server
From 8eca14069a263efac5133f0aa6e946e0ad9d554e Mon Sep 17 00:00:00 2001
From: Elian Doran
Date: Mon, 1 Dec 2025 14:02:32 +0200
Subject: [PATCH 67/73] fix(e2e): i18n test failing to due to English selection
---
apps/server-e2e/src/i18n.spec.ts | 6 +++---
packages/commons/src/lib/i18n.ts | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/apps/server-e2e/src/i18n.spec.ts b/apps/server-e2e/src/i18n.spec.ts
index ef4b810b0..d2c10f908 100644
--- a/apps/server-e2e/src/i18n.spec.ts
+++ b/apps/server-e2e/src/i18n.spec.ts
@@ -43,7 +43,7 @@ test("User can change language from settings", async ({ page, context }) => {
// Check that the default value (English) is set.
await expect(app.currentNoteSplit).toContainText("First day of the week");
const languageCombobox = app.dropdown(app.currentNoteSplit.locator(".options-section .dropdown").first());
- await expect(languageCombobox).toContainText("English");
+ await expect(languageCombobox).toContainText("English (United States)");
// Select Chinese and ensure the translation is set.
await languageCombobox.selectOptionByText("简体中文");
@@ -53,8 +53,8 @@ test("User can change language from settings", async ({ page, context }) => {
await expect(languageCombobox).toContainText("简体中文");
// Select English again.
- await languageCombobox.selectOptionByText("English");
+ await languageCombobox.selectOptionByText("English (United States)");
await app.currentNoteSplit.locator("button[name=restart-app-button]").click();
await expect(app.currentNoteSplit).toContainText("Language", { timeout: 15000 });
- await expect(languageCombobox).toContainText("English");
+ await expect(languageCombobox).toContainText("English (United States)");
});
diff --git a/packages/commons/src/lib/i18n.ts b/packages/commons/src/lib/i18n.ts
index 8d2bc0232..eed5aec1b 100644
--- a/packages/commons/src/lib/i18n.ts
+++ b/packages/commons/src/lib/i18n.ts
@@ -14,7 +14,7 @@ export interface Locale {
const UNSORTED_LOCALES = [
{ id: "cn", name: "简体中文", electronLocale: "zh_CN" },
{ id: "de", name: "Deutsch", electronLocale: "de" },
- { id: "en", name: "English", electronLocale: "en" },
+ { id: "en", name: "English (United States)", electronLocale: "en" },
{ id: "en-GB", name: "English (United Kingdom)", electronLocale: "en_GB" },
{ id: "es", name: "Español", electronLocale: "es" },
{ id: "fr", name: "Français", electronLocale: "fr" },
From b4a635672488ed8d2f3e43dfe5fc28af2d5c0f8f Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Mon, 1 Dec 2025 14:08:24 +0200
Subject: [PATCH 68/73] style/calendar collection/list view: fix dot colors
---
apps/client/src/widgets/collections/calendar/index.css | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/apps/client/src/widgets/collections/calendar/index.css b/apps/client/src/widgets/collections/calendar/index.css
index c75ecf54c..770e57dea 100644
--- a/apps/client/src/widgets/collections/calendar/index.css
+++ b/apps/client/src/widgets/collections/calendar/index.css
@@ -170,4 +170,11 @@ body.desktop:not(.zen) .calendar-view .calendar-header {
display: none;
}
+/* List view */
+
+.fc-list-table .fc-list-event-dot {
+ /* Apply note colors to the list item dots */
+ --fc-event-border-color: var(--custom-color);
+}
+
/* #endregion */
\ No newline at end of file
From 08a6d36153e5f8bd3e5053c87865063b287a5033 Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Mon, 1 Dec 2025 14:13:23 +0200
Subject: [PATCH 69/73] style/calendar collection/list view: use separate style
for the archived events
---
apps/client/src/widgets/collections/calendar/index.css | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/apps/client/src/widgets/collections/calendar/index.css b/apps/client/src/widgets/collections/calendar/index.css
index 770e57dea..cd92d1639 100644
--- a/apps/client/src/widgets/collections/calendar/index.css
+++ b/apps/client/src/widgets/collections/calendar/index.css
@@ -172,6 +172,10 @@ body.desktop:not(.zen) .calendar-view .calendar-header {
/* List view */
+.fc-list-table tr.fc-event.archived {
+ opacity: .5;
+}
+
.fc-list-table .fc-list-event-dot {
/* Apply note colors to the list item dots */
--fc-event-border-color: var(--custom-color);
From 9407051f1e1b06aaaf4e60839f2f6cfe9a4934b9 Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Mon, 1 Dec 2025 14:24:13 +0200
Subject: [PATCH 70/73] style: refactor
---
.../widgets/collections/calendar/index.css | 56 ++++++++++---------
1 file changed, 31 insertions(+), 25 deletions(-)
diff --git a/apps/client/src/widgets/collections/calendar/index.css b/apps/client/src/widgets/collections/calendar/index.css
index cd92d1639..bc64195af 100644
--- a/apps/client/src/widgets/collections/calendar/index.css
+++ b/apps/client/src/widgets/collections/calendar/index.css
@@ -49,30 +49,6 @@
z-index: 50;
}
-.calendar-container a.fc-event {
- text-decoration: none;
-}
-
-.calendar-container a.fc-event.archived {
- opacity: .65;
-}
-
-.calendar-container a.fc-event.archived::after {
- content: "";
- position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
- z-index: -1;
-
- --c1: transparent;
- --c2: var(--callendar-coll-event-archived-sripe-color);
-
- background: repeating-linear-gradient(45deg, var(--c1), var(--c1) 8px,
- var(--c2) 8px, var(--c2) 16px) !important;
-}
-
.calendar-container .fc-button {
padding: 0.2em 0.5em;
}
@@ -113,6 +89,34 @@ body.desktop:not(.zen) .calendar-view .calendar-header {
/* #region Events */
+/*
+ * week, month, year views
+ */
+
+ .calendar-container a.fc-event {
+ text-decoration: none;
+}
+
+.calendar-container a.fc-event.archived {
+ opacity: .65;
+}
+
+.calendar-container a.fc-event.archived::after {
+ content: "";
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ z-index: -1;
+
+ --c1: transparent;
+ --c2: var(--callendar-coll-event-archived-sripe-color);
+
+ background: repeating-linear-gradient(45deg, var(--c1), var(--c1) 8px,
+ var(--c2) 8px, var(--c2) 16px) !important;
+}
+
.calendar-view a.fc-timegrid-event,
.calendar-view a.fc-daygrid-event,
.fc-daygrid-dot-event .fc-event-title {
@@ -170,7 +174,9 @@ body.desktop:not(.zen) .calendar-view .calendar-header {
display: none;
}
-/* List view */
+/*
+ * List view
+ */
.fc-list-table tr.fc-event.archived {
opacity: .5;
From f3e334470ede7e189385561b4b121111a243b522 Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Mon, 1 Dec 2025 14:27:49 +0200
Subject: [PATCH 71/73] style: refactor
---
.../widgets/collections/calendar/index.css | 37 ++++++++++---------
1 file changed, 19 insertions(+), 18 deletions(-)
diff --git a/apps/client/src/widgets/collections/calendar/index.css b/apps/client/src/widgets/collections/calendar/index.css
index bc64195af..9313b615e 100644
--- a/apps/client/src/widgets/collections/calendar/index.css
+++ b/apps/client/src/widgets/collections/calendar/index.css
@@ -114,20 +114,15 @@ body.desktop:not(.zen) .calendar-view .calendar-header {
--c2: var(--callendar-coll-event-archived-sripe-color);
background: repeating-linear-gradient(45deg, var(--c1), var(--c1) 8px,
- var(--c2) 8px, var(--c2) 16px) !important;
+ var(--c2) 8px, var(--c2) 16px);
}
.calendar-view a.fc-timegrid-event,
.calendar-view a.fc-daygrid-event,
-.fc-daygrid-dot-event .fc-event-title {
+.calendar-view .fc-daygrid-dot-event .fc-event-title {
font-weight: 500;
}
-.calendar-view a.fc-timegrid-event:focus-visible,
-.calendar-view a.fc-daygrid-event:focus-visible {
- outline: none;
-}
-
.calendar-view a.fc-timegrid-event,
.calendar-view a.fc-daygrid-event {
--border-color: transparent;
@@ -141,6 +136,20 @@ body.desktop:not(.zen) .calendar-view .calendar-header {
padding-left: 8px;
}
+.calendar-view .fc-timegrid-event.with-hue,
+.calendar-view .fc-daygrid-event.with-hue {
+ --fc-event-text-color: var(--custom-color);
+
+ --fc-event-bg-color: hsl(var(--custom-color-hue),
+ var(--calendar-coll-event-background-saturation),
+ var(--calendar-coll-event-background-lightness)) !important;
+}
+
+.calendar-view a.fc-timegrid-event:focus-visible,
+.calendar-view a.fc-daygrid-event:focus-visible {
+ outline: none;
+}
+
.calendar-view a.fc-timegrid-event.fc-event-selected,
.calendar-view a.fc-timegrid-event.fc-event:focus,
.calendar-view a.fc-daygrid-event.fc-event-selected,
@@ -157,23 +166,15 @@ body.desktop:not(.zen) .calendar-view .calendar-header {
opacity: 1;
}
-.calendar-view .fc-timegrid-event.with-hue,
-.calendar-view .fc-daygrid-event.with-hue {
- --fc-event-text-color: var(--custom-color);
-
- --fc-event-bg-color: hsl(var(--custom-color-hue),
- var(--calendar-coll-event-background-saturation),
- var(--calendar-coll-event-background-lightness)) !important;
+.calendar-view .fc-daygrid-event-dot {
+ display: none;
}
+
.calendar-view .fc-event-time {
opacity: .75;
}
-.fc-daygrid-event-dot {
- display: none;
-}
-
/*
* List view
*/
From 17291ff61df5a65c0e7e865055aebb8e5fef07e1 Mon Sep 17 00:00:00 2001
From: Elian Doran
Date: Mon, 1 Dec 2025 14:34:55 +0200
Subject: [PATCH 72/73] chore(deps): remove unnecessary package
---
packages/ckeditor5-math/package.json | 1 -
pnpm-lock.yaml | 1261 +++-----------------------
2 files changed, 106 insertions(+), 1156 deletions(-)
diff --git a/packages/ckeditor5-math/package.json b/packages/ckeditor5-math/package.json
index aa60cfaa3..96a0b6395 100644
--- a/packages/ckeditor5-math/package.json
+++ b/packages/ckeditor5-math/package.json
@@ -25,7 +25,6 @@
],
"devDependencies": {
"@ckeditor/ckeditor5-dev-build-tools": "43.1.0",
- "@ckeditor/ckeditor5-dev-utils": "43.1.0",
"@ckeditor/ckeditor5-inspector": ">=4.1.0",
"@ckeditor/ckeditor5-package-tools": "5.0.1",
"@typescript-eslint/eslint-plugin": "~8.48.0",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 1c22a34df..21248a9ab 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -644,7 +644,7 @@ importers:
version: 3.0.0
debug:
specifier: 4.4.3
- version: 4.4.3(supports-color@6.0.0)
+ version: 4.4.3(supports-color@8.1.1)
ejs:
specifier: 3.1.10
version: 3.1.10
@@ -1065,9 +1065,6 @@ importers:
'@ckeditor/ckeditor5-dev-build-tools':
specifier: 43.1.0
version: 43.1.0(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.9.3)
- '@ckeditor/ckeditor5-dev-utils':
- specifier: 43.1.0
- version: 43.1.0(webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0))
'@ckeditor/ckeditor5-inspector':
specifier: '>=4.1.0'
version: 5.0.0
@@ -1656,11 +1653,6 @@ packages:
resolution: {integrity: sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==}
engines: {node: '>=6.9.0'}
- '@babel/parser@7.27.5':
- resolution: {integrity: sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==}
- engines: {node: '>=6.0.0'}
- hasBin: true
-
'@babel/parser@7.28.4':
resolution: {integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==}
engines: {node: '>=6.0.0'}
@@ -1702,10 +1694,6 @@ packages:
resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==}
engines: {node: '>=6.9.0'}
- '@babel/traverse@7.27.0':
- resolution: {integrity: sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==}
- engines: {node: '>=6.9.0'}
-
'@babel/traverse@7.28.0':
resolution: {integrity: sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==}
engines: {node: '>=6.9.0'}
@@ -1831,18 +1819,10 @@ packages:
engines: {node: '>=18.0.0', npm: '>=5.7.1'}
hasBin: true
- '@ckeditor/ckeditor5-dev-translations@43.1.0':
- resolution: {integrity: sha512-dIjau68aLaaQtugLsHaCTuxhRL9t2bFmtTIsoUfMl1uHWpOWMdv2LeGEcDznZp633gZh6SDmrqLq2Bp2iOVBew==}
- engines: {node: '>=18.0.0', npm: '>=5.7.1'}
-
'@ckeditor/ckeditor5-dev-translations@54.0.0':
resolution: {integrity: sha512-3mBoVDrzE0yzYgoGhGLBB3B7yPaPnY6EvceRIrFcPUQeXGAmL9NxZj49zhJhohbw11EZ0gqtJYnwVuZugyHcKg==}
engines: {node: '>=24.11.0', npm: '>=5.7.1'}
- '@ckeditor/ckeditor5-dev-utils@43.1.0':
- resolution: {integrity: sha512-EM1zg0vWcFSkxbwOYV6YE6nPoBphfEHtRKzgk86ex9XbxoQvq8HdDvC0dkCSAfgX0oUrFxjLonQBJUTgCoD3YQ==}
- engines: {node: '>=18.0.0', npm: '>=5.7.1'}
-
'@ckeditor/ckeditor5-dev-utils@54.0.0':
resolution: {integrity: sha512-Qz6VUUbYTuQ+pMfR9UNZ5hf0lriNducmDdSCEKh8u+UXP7s1DeS6SmrlhnGcEUD97mUTuU2o7RgpqkSy19kPBA==}
engines: {node: '>=24.11.0', npm: '>=5.7.1'}
@@ -5362,9 +5342,6 @@ packages:
'@types/geojson@7946.0.16':
resolution: {integrity: sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==}
- '@types/glob@7.2.0':
- resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==}
-
'@types/hast@3.0.4':
resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
@@ -5431,9 +5408,6 @@ packages:
'@types/mime@1.3.5':
resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==}
- '@types/minimatch@5.1.2':
- resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==}
-
'@types/ms@2.1.0':
resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
@@ -6080,10 +6054,6 @@ packages:
amator@1.1.0:
resolution: {integrity: sha512-V5+aH8pe+Z3u/UG3L3pG3BaFQGXAyXHVQDroRwjPHdh08bcUEchAVsU1MCuJSCaU5o60wTK6KaE6te5memzgYw==}
- ansi-colors@3.2.3:
- resolution: {integrity: sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==}
- engines: {node: '>=6'}
-
ansi-escapes@4.3.2:
resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
engines: {node: '>=8'}
@@ -6101,14 +6071,6 @@ packages:
engines: {'0': node >= 0.8.0}
hasBin: true
- ansi-regex@3.0.1:
- resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==}
- engines: {node: '>=4'}
-
- ansi-regex@4.1.1:
- resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==}
- engines: {node: '>=6'}
-
ansi-regex@5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
@@ -6563,10 +6525,6 @@ packages:
resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
engines: {node: '>= 6'}
- camelcase@5.3.1:
- resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
- engines: {node: '>=6'}
-
camelcase@6.3.0:
resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
engines: {node: '>=10'}
@@ -6598,10 +6556,6 @@ packages:
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
engines: {node: '>=4'}
- chalk@3.0.0:
- resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==}
- engines: {node: '>=8'}
-
chalk@4.1.2:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
engines: {node: '>=10'}
@@ -6651,10 +6605,6 @@ packages:
chevrotain@11.0.3:
resolution: {integrity: sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==}
- chokidar@3.3.0:
- resolution: {integrity: sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==}
- engines: {node: '>= 8.10.0'}
-
chokidar@3.6.0:
resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
engines: {node: '>= 8.10.0'}
@@ -6729,9 +6679,6 @@ packages:
resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==}
engines: {node: '>= 12'}
- cliui@5.0.0:
- resolution: {integrity: sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==}
-
cliui@7.0.4:
resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
@@ -7156,12 +7103,6 @@ packages:
peerDependencies:
postcss: ^8.2.15
- cssnano-preset-default@6.1.2:
- resolution: {integrity: sha512-1C0C+eNaeN8OcHQa193aRgYexyJtU8XwbdieEjClw+J9d94E41LwT6ivKH0WT+fYwYWB0Zp3I3IZ7tI/BbUbrg==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
cssnano-preset-default@7.0.6:
resolution: {integrity: sha512-ZzrgYupYxEvdGGuqL+JKOY70s7+saoNlHSCK/OGn1vB2pQK8KSET8jvenzItcY+kA7NoWvfbb/YhlzuzNKjOhQ==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -7186,12 +7127,6 @@ packages:
peerDependencies:
postcss: ^8.2.15
- cssnano-utils@4.0.2:
- resolution: {integrity: sha512-ZR1jHg+wZ8o4c3zqf1SIUSTIvm/9mU343FMR6Obe/unskbvpGhZOo1J6d/r8D1pzkRQYuwbcH3hToOuoA2G7oQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
cssnano-utils@5.0.0:
resolution: {integrity: sha512-Uij0Xdxc24L6SirFr25MlwC2rCFX6scyUmuKpzI+JQ7cyqDEwD42fJ0xfB3yLfOnRDU5LKGgjQ9FA6LYh76GWQ==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -7210,12 +7145,6 @@ packages:
peerDependencies:
postcss: ^8.2.15
- cssnano@6.1.2:
- resolution: {integrity: sha512-rYk5UeX7VAM/u0lNqewCdasdtPK81CgX8wJFLEIXHbV2oldWRgJAsZrdhRXkV1NJzA2g850KiFm9mMU2HxNxMA==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
cssnano@7.0.6:
resolution: {integrity: sha512-54woqx8SCbp8HwvNZYn68ZFAepuouZW4lTwiMVnBErM3VkO7/Sd4oTOt3Zz3bPx3kxQ36aISppyXj2Md4lg8bw==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -7505,10 +7434,6 @@ packages:
supports-color:
optional: true
- decamelize@1.2.0:
- resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
- engines: {node: '>=0.10.0'}
-
decamelize@4.0.0:
resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==}
engines: {node: '>=10'}
@@ -7590,10 +7515,6 @@ packages:
resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==}
engines: {node: '>= 14'}
- del@5.1.0:
- resolution: {integrity: sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==}
- engines: {node: '>=8'}
-
delaunator@5.0.1:
resolution: {integrity: sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==}
@@ -7667,10 +7588,6 @@ packages:
di@0.0.1:
resolution: {integrity: sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==}
- diff@3.5.0:
- resolution: {integrity: sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==}
- engines: {node: '>=0.3.1'}
-
diff@4.0.2:
resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==}
engines: {node: '>=0.3.1'}
@@ -7855,9 +7772,6 @@ packages:
emoji-regex@10.4.0:
resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==}
- emoji-regex@7.0.3:
- resolution: {integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==}
-
emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
@@ -7994,11 +7908,6 @@ packages:
es6-promise@4.2.8:
resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==}
- esbuild-loader@3.0.1:
- resolution: {integrity: sha512-aZfGybqTeuyCd4AsVvWOOfkhIuN+wfZFjMyh3gyQEU1Uvsl8L6vye9HqP93iRa0iTA+6Jclap514PJIC3cLnMA==}
- peerDependencies:
- webpack: ^4.40.0 || ^5.0.0
-
esbuild-loader@4.3.0:
resolution: {integrity: sha512-D7HeJNdkDKKMarPQO/3dlJT6RwN2YJO7ENU6RPlpOz5YxSHnUNi2yvW41Bckvi1EVwctIaLzlb0ni5ag2GINYA==}
peerDependencies:
@@ -8407,22 +8316,10 @@ packages:
resolution: {integrity: sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==}
engines: {node: '>= 0.8'}
- find-cache-dir@3.3.2:
- resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==}
- engines: {node: '>=8'}
-
find-up@2.1.0:
resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==}
engines: {node: '>=4'}
- find-up@3.0.0:
- resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==}
- engines: {node: '>=6'}
-
- find-up@4.1.0:
- resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
- engines: {node: '>=8'}
-
find-up@5.0.0:
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
engines: {node: '>=10'}
@@ -8547,11 +8444,6 @@ packages:
fs.realpath@1.0.0:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
- fsevents@2.1.3:
- resolution: {integrity: sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
-
fsevents@2.3.2:
resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
@@ -8714,10 +8606,6 @@ packages:
engines: {node: 20 || >=22}
hasBin: true
- glob@7.1.3:
- resolution: {integrity: sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==}
- deprecated: Glob versions prior to v9 are no longer supported
-
glob@7.1.6:
resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==}
deprecated: Glob versions prior to v9 are no longer supported
@@ -8751,10 +8639,6 @@ packages:
resolution: {integrity: sha512-w0Uf9Y9/nyHinEk5vMJKRie+wa4kR5hmDbEhGGds/kG1PwGLLHKRoNMeJOyCQjjBkANlnScqgzcFwGHgmgLkVA==}
engines: {node: '>=16'}
- globals@11.12.0:
- resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
- engines: {node: '>=4'}
-
globals@14.0.0:
resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
engines: {node: '>=18'}
@@ -8771,10 +8655,6 @@ packages:
resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
engines: {node: '>= 0.4'}
- globby@10.0.2:
- resolution: {integrity: sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==}
- engines: {node: '>=8'}
-
globby@11.1.0:
resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
engines: {node: '>=10'}
@@ -8806,10 +8686,6 @@ packages:
resolution: {integrity: sha512-DKKrynuQRne0PNpEbzuEdHlYOMksHSUI8Zc9Unei5gTsMNA2/vMpoMz/yKba50pejK56qj98qM0SjYxAKi13gQ==}
engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0}
- growl@1.10.5:
- resolution: {integrity: sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==}
- engines: {node: '>=4.x'}
-
hachure-fill@0.5.2:
resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==}
@@ -9232,10 +9108,6 @@ packages:
resolution: {integrity: sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==}
engines: {node: '>=12'}
- interpret@1.4.0:
- resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==}
- engines: {node: '>= 0.10'}
-
interpret@3.1.1:
resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==}
engines: {node: '>=10.13.0'}
@@ -9327,10 +9199,6 @@ packages:
resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==}
engines: {node: '>= 0.4'}
- is-fullwidth-code-point@2.0.0:
- resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==}
- engines: {node: '>=4'}
-
is-fullwidth-code-point@3.0.0:
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
engines: {node: '>=8'}
@@ -9399,14 +9267,6 @@ packages:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'}
- is-path-cwd@2.2.0:
- resolution: {integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==}
- engines: {node: '>=6'}
-
- is-path-inside@3.0.3:
- resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
- engines: {node: '>=8'}
-
is-plain-obj@1.1.0:
resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==}
engines: {node: '>=0.10.0'}
@@ -9565,13 +9425,6 @@ packages:
jasmine-core@4.6.1:
resolution: {integrity: sha512-VYz/BjjmC3klLJlLwA4Kw8ytk0zDSmbbDLNs794VnWmkcCB7I9aAL/D48VNQtmITyPvea2C3jdUMfc3kAoy0PQ==}
- javascript-stringify@1.6.0:
- resolution: {integrity: sha512-fnjC0up+0SjEJtgmmG+teeel68kutkvzfctO/KxE3qJlbunkJYAshgH3boU++gSBHP8z5/r0ts0qRIrHf0RTQQ==}
-
- jest-worker@26.6.2:
- resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==}
- engines: {node: '>= 10.13.0'}
-
jest-worker@27.5.1:
resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
engines: {node: '>= 10.13.0'}
@@ -9636,10 +9489,6 @@ packages:
js-tokens@9.0.1:
resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==}
- js-yaml@3.13.1:
- resolution: {integrity: sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==}
- hasBin: true
-
js-yaml@4.1.1:
resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==}
hasBin: true
@@ -9981,14 +9830,6 @@ packages:
resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==}
engines: {node: '>=4'}
- locate-path@3.0.0:
- resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==}
- engines: {node: '>=6'}
-
- locate-path@5.0.0:
- resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
- engines: {node: '>=8'}
-
locate-path@6.0.0:
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
engines: {node: '>=10'}
@@ -10049,10 +9890,6 @@ packages:
lodash@4.17.21:
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
- log-symbols@3.0.0:
- resolution: {integrity: sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==}
- engines: {node: '>=8'}
-
log-symbols@4.1.0:
resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
engines: {node: '>=10'}
@@ -10138,10 +9975,6 @@ packages:
resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==}
engines: {node: '>=6'}
- make-dir@3.1.0:
- resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
- engines: {node: '>=8'}
-
make-dir@4.0.0:
resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
engines: {node: '>=10'}
@@ -10448,12 +10281,6 @@ packages:
mind-elixir@5.3.7:
resolution: {integrity: sha512-lwsyzkgOTOj/8B/aB9jd3stTFfvInKkhM/8lNbhhfGfZ/qFiaaTN2r9de/IFWlzGDjY3eAJdyhe2RMXowHw0hw==}
- mini-css-extract-plugin@2.4.7:
- resolution: {integrity: sha512-euWmddf0sk9Nv1O0gfeeUAvAkoSlWncNLF77C0TP2+WoPvy8mAHKOzMajcCz2dzvyt3CNgxb1obIEVFIRxaipg==}
- engines: {node: '>= 12.13.0'}
- peerDependencies:
- webpack: ^5.0.0
-
mini-css-extract-plugin@2.9.4:
resolution: {integrity: sha512-ZWYT7ln73Hptxqxk2DxPU9MmapXRhxkJD6tkSR04dnQxm8BGu2hzgKLugK5yySD97u/8yy7Ma7E76k9ZdvtjkQ==}
engines: {node: '>= 12.13.0'}
@@ -10467,9 +10294,6 @@ packages:
resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==}
engines: {node: 20 || >=22}
- minimatch@3.0.4:
- resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==}
-
minimatch@3.0.8:
resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==}
@@ -10553,10 +10377,6 @@ packages:
mkdirp-classic@0.5.3:
resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==}
- mkdirp@0.5.5:
- resolution: {integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==}
- hasBin: true
-
mkdirp@0.5.6:
resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
hasBin: true
@@ -10608,11 +10428,6 @@ packages:
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
hasBin: true
- mocha@7.2.0:
- resolution: {integrity: sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==}
- engines: {node: '>= 8.10.0'}
- hasBin: true
-
mock-property@1.0.3:
resolution: {integrity: sha512-2emPTb1reeLLYwHxyVx993iYyCHEiRRO+y8NFXFPL5kl5q14sgTK76cXyEKkeKCHeRw35SfdkUJ10Q1KfHuiIQ==}
engines: {node: '>= 0.4'}
@@ -10631,9 +10446,6 @@ packages:
ms@2.0.0:
resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
- ms@2.1.1:
- resolution: {integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==}
-
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
@@ -10748,9 +10560,6 @@ packages:
engines: {node: '>=10.5.0'}
deprecated: Use your platform's native DOMException instead
- node-environment-flags@1.0.6:
- resolution: {integrity: sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==}
-
node-fetch-h2@2.3.0:
resolution: {integrity: sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==}
engines: {node: 4.x || >=6.0.0}
@@ -10931,10 +10740,6 @@ packages:
resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
engines: {node: '>= 0.4'}
- object.assign@4.1.0:
- resolution: {integrity: sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==}
- engines: {node: '>= 0.4'}
-
object.assign@4.1.7:
resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==}
engines: {node: '>= 0.4'}
@@ -11069,10 +10874,6 @@ packages:
resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==}
engines: {node: '>=4'}
- p-limit@2.3.0:
- resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
- engines: {node: '>=6'}
-
p-limit@3.1.0:
resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
engines: {node: '>=10'}
@@ -11081,22 +10882,10 @@ packages:
resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==}
engines: {node: '>=4'}
- p-locate@3.0.0:
- resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==}
- engines: {node: '>=6'}
-
- p-locate@4.1.0:
- resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
- engines: {node: '>=8'}
-
p-locate@5.0.0:
resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
engines: {node: '>=10'}
- p-map@3.0.0:
- resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==}
- engines: {node: '>=8'}
-
p-map@4.0.0:
resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==}
engines: {node: '>=10'}
@@ -11121,10 +10910,6 @@ packages:
resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==}
engines: {node: '>=4'}
- p-try@2.2.0:
- resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
- engines: {node: '>=6'}
-
pac-proxy-agent@7.2.0:
resolution: {integrity: sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==}
engines: {node: '>= 14'}
@@ -11338,10 +11123,6 @@ packages:
resolution: {integrity: sha512-1wrVzJ2STrpmONHKBy228LM1b84msXDUoAzVEl0R8Mz4Ce6EPr+IVtxm8+yvrqLYMHswREkjYFaMxnyGnaY3Ng==}
hasBin: true
- pkg-dir@4.2.0:
- resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
- engines: {node: '>=8'}
-
pkg-types@1.3.1:
resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==}
@@ -11424,24 +11205,12 @@ packages:
peerDependencies:
postcss: ^8.2.2
- postcss-calc@9.0.1:
- resolution: {integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.2.2
-
postcss-colormin@5.3.1:
resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==}
engines: {node: ^10 || ^12 || >=14.0}
peerDependencies:
postcss: ^8.2.15
- postcss-colormin@6.1.0:
- resolution: {integrity: sha512-x9yX7DOxeMAR+BgGVnNSAxmAj98NX/YxEMNFP+SDCEeNLb2r3i6Hh1ksMsnW8Ub5SLCpbescQqn9YEbE9554Sw==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
postcss-colormin@7.0.2:
resolution: {integrity: sha512-YntRXNngcvEvDbEjTdRWGU606eZvB5prmHG4BF0yLmVpamXbpsRJzevyy6MZVyuecgzI2AWAlvFi8DAeCqwpvA==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -11460,12 +11229,6 @@ packages:
peerDependencies:
postcss: ^8.2.15
- postcss-convert-values@6.1.0:
- resolution: {integrity: sha512-zx8IwP/ts9WvUM6NkVSkiU902QZL1bwPhaVaLynPtCsOTqp+ZKbNi+s6XJg3rfqpKGA/oc7Oxk5t8pOQJcwl/w==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
postcss-convert-values@7.0.4:
resolution: {integrity: sha512-e2LSXPqEHVW6aoGbjV9RsSSNDO3A0rZLCBxN24zvxF25WknMPpX8Dm9UxxThyEbaytzggRuZxaGXqaOhxQ514Q==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -11484,12 +11247,6 @@ packages:
peerDependencies:
postcss: ^8.2.15
- postcss-discard-comments@6.0.2:
- resolution: {integrity: sha512-65w/uIqhSBBfQmYnG92FO1mWZjJ4GL5b8atm5Yw2UgrwD7HiNiSSNwJor1eCFGzUgYnN/iIknhNRVqjrrpuglw==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
postcss-discard-comments@7.0.3:
resolution: {integrity: sha512-q6fjd4WU4afNhWOA2WltHgCbkRhZPgQe7cXF74fuVB/ge4QbM9HEaOIzGSiMvM+g/cOsNAUGdf2JDzqA2F8iLA==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -11508,12 +11265,6 @@ packages:
peerDependencies:
postcss: ^8.2.15
- postcss-discard-duplicates@6.0.3:
- resolution: {integrity: sha512-+JA0DCvc5XvFAxwx6f/e68gQu/7Z9ud584VLmcgto28eB8FqSFZwtrLwB5Kcp70eIoWP/HXqz4wpo8rD8gpsTw==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
postcss-discard-duplicates@7.0.1:
resolution: {integrity: sha512-oZA+v8Jkpu1ct/xbbrntHRsfLGuzoP+cpt0nJe5ED2FQF8n8bJtn7Bo28jSmBYwqgqnqkuSXJfSUEE7if4nClQ==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -11532,12 +11283,6 @@ packages:
peerDependencies:
postcss: ^8.2.15
- postcss-discard-empty@6.0.3:
- resolution: {integrity: sha512-znyno9cHKQsK6PtxL5D19Fj9uwSzC2mB74cpT66fhgOadEUPyXFkbgwm5tvc3bt3NAy8ltE5MrghxovZRVnOjQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
postcss-discard-empty@7.0.0:
resolution: {integrity: sha512-e+QzoReTZ8IAwhnSdp/++7gBZ/F+nBq9y6PomfwORfP7q9nBpK5AMP64kOt0bA+lShBFbBDcgpJ3X4etHg4lzA==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -11556,12 +11301,6 @@ packages:
peerDependencies:
postcss: ^8.2.15
- postcss-discard-overridden@6.0.2:
- resolution: {integrity: sha512-j87xzI4LUggC5zND7KdjsI25APtyMuynXZSujByMaav2roV6OZX+8AaCUcZSWqckZpjAjRyFDdpqybgjFO0HJQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
postcss-discard-overridden@7.0.0:
resolution: {integrity: sha512-GmNAzx88u3k2+sBTZrJSDauR0ccpE24omTQCVmaTTZFz1du6AasspjaUPMJ2ud4RslZpoFKyf+6MSPETLojc6w==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -11574,12 +11313,6 @@ packages:
peerDependencies:
postcss: ^8.4.32
- postcss-import@14.1.0:
- resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==}
- engines: {node: '>=10.0.0'}
- peerDependencies:
- postcss: ^8.0.0
-
postcss-import@16.1.1:
resolution: {integrity: sha512-2xVS1NCZAfjtVdvXiyegxzJ447GyqCeEI5V7ApgQVOWnros1p5lGNovJNapwPpMombyFBfqDwt7AD3n2l0KOfQ==}
engines: {node: '>=18.0.0'}
@@ -11624,12 +11357,6 @@ packages:
peerDependencies:
postcss: ^8.2.15
- postcss-merge-longhand@6.0.5:
- resolution: {integrity: sha512-5LOiordeTfi64QhICp07nzzuTDjNSO8g5Ksdibt44d+uvIIAE1oZdRn8y/W5ZtYgRH/lnLDlvi9F8btZcVzu3w==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
postcss-merge-longhand@7.0.4:
resolution: {integrity: sha512-zer1KoZA54Q8RVHKOY5vMke0cCdNxMP3KBfDerjH/BYHh4nCIh+1Yy0t1pAEQF18ac/4z3OFclO+ZVH8azjR4A==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -11648,12 +11375,6 @@ packages:
peerDependencies:
postcss: ^8.2.15
- postcss-merge-rules@6.1.1:
- resolution: {integrity: sha512-KOdWF0gju31AQPZiD+2Ar9Qjowz1LTChSjFFbS+e2sFgc4uHOp3ZvVX4sNeTlk0w2O31ecFGgrFzhO0RSWbWwQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
postcss-merge-rules@7.0.4:
resolution: {integrity: sha512-ZsaamiMVu7uBYsIdGtKJ64PkcQt6Pcpep/uO90EpLS3dxJi6OXamIobTYcImyXGoW0Wpugh7DSD3XzxZS9JCPg==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -11672,12 +11393,6 @@ packages:
peerDependencies:
postcss: ^8.2.15
- postcss-minify-font-values@6.1.0:
- resolution: {integrity: sha512-gklfI/n+9rTh8nYaSJXlCo3nOKqMNkxuGpTn/Qm0gstL3ywTr9/WRKznE+oy6fvfolH6dF+QM4nCo8yPLdvGJg==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
postcss-minify-font-values@7.0.0:
resolution: {integrity: sha512-2ckkZtgT0zG8SMc5aoNwtm5234eUx1GGFJKf2b1bSp8UflqaeFzR50lid4PfqVI9NtGqJ2J4Y7fwvnP/u1cQog==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -11696,12 +11411,6 @@ packages:
peerDependencies:
postcss: ^8.2.15
- postcss-minify-gradients@6.0.3:
- resolution: {integrity: sha512-4KXAHrYlzF0Rr7uc4VrfwDJ2ajrtNEpNEuLxFgwkhFZ56/7gaE4Nr49nLsQDZyUe+ds+kEhf+YAUolJiYXF8+Q==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
postcss-minify-gradients@7.0.0:
resolution: {integrity: sha512-pdUIIdj/C93ryCHew0UgBnL2DtUS3hfFa5XtERrs4x+hmpMYGhbzo6l/Ir5de41O0GaKVpK1ZbDNXSY6GkXvtg==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -11720,12 +11429,6 @@ packages:
peerDependencies:
postcss: ^8.2.15
- postcss-minify-params@6.1.0:
- resolution: {integrity: sha512-bmSKnDtyyE8ujHQK0RQJDIKhQ20Jq1LYiez54WiaOoBtcSuflfK3Nm596LvbtlFcpipMjgClQGyGr7GAs+H1uA==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
postcss-minify-params@7.0.2:
resolution: {integrity: sha512-nyqVLu4MFl9df32zTsdcLqCFfE/z2+f8GE1KHPxWOAmegSo6lpV2GNy5XQvrzwbLmiU7d+fYay4cwto1oNdAaQ==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -11744,12 +11447,6 @@ packages:
peerDependencies:
postcss: ^8.2.15
- postcss-minify-selectors@6.0.4:
- resolution: {integrity: sha512-L8dZSwNLgK7pjTto9PzWRoMbnLq5vsZSTu8+j1P/2GB8qdtGQfn+K1uSvFgYvgh83cbyxT5m43ZZhUMTJDSClQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
postcss-minify-selectors@7.0.4:
resolution: {integrity: sha512-JG55VADcNb4xFCf75hXkzc1rNeURhlo7ugf6JjiiKRfMsKlDzN9CXHZDyiG6x/zGchpjQS+UAgb1d4nqXqOpmA==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -11816,12 +11513,6 @@ packages:
peerDependencies:
postcss: ^8.2.15
- postcss-normalize-charset@6.0.2:
- resolution: {integrity: sha512-a8N9czmdnrjPHa3DeFlwqst5eaL5W8jYu3EBbTTkI5FHkfMhFZh1EGbku6jhHhIzTA6tquI2P42NtZ59M/H/kQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
postcss-normalize-charset@7.0.0:
resolution: {integrity: sha512-ABisNUXMeZeDNzCQxPxBCkXexvBrUHV+p7/BXOY+ulxkcjUZO0cp8ekGBwvIh2LbCwnWbyMPNJVtBSdyhM2zYQ==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -11840,12 +11531,6 @@ packages:
peerDependencies:
postcss: ^8.2.15
- postcss-normalize-display-values@6.0.2:
- resolution: {integrity: sha512-8H04Mxsb82ON/aAkPeq8kcBbAtI5Q2a64X/mnRRfPXBq7XeogoQvReqxEfc0B4WPq1KimjezNC8flUtC3Qz6jg==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
postcss-normalize-display-values@7.0.0:
resolution: {integrity: sha512-lnFZzNPeDf5uGMPYgGOw7v0BfB45+irSRz9gHQStdkkhiM0gTfvWkWB5BMxpn0OqgOQuZG/mRlZyJxp0EImr2Q==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -11864,12 +11549,6 @@ packages:
peerDependencies:
postcss: ^8.2.15
- postcss-normalize-positions@6.0.2:
- resolution: {integrity: sha512-/JFzI441OAB9O7VnLA+RtSNZvQ0NCFZDOtp6QPFo1iIyawyXg0YI3CYM9HBy1WvwCRHnPep/BvI1+dGPKoXx/Q==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
postcss-normalize-positions@7.0.0:
resolution: {integrity: sha512-I0yt8wX529UKIGs2y/9Ybs2CelSvItfmvg/DBIjTnoUSrPxSV7Z0yZ8ShSVtKNaV/wAY+m7bgtyVQLhB00A1NQ==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -11888,12 +11567,6 @@ packages:
peerDependencies:
postcss: ^8.2.15
- postcss-normalize-repeat-style@6.0.2:
- resolution: {integrity: sha512-YdCgsfHkJ2jEXwR4RR3Tm/iOxSfdRt7jplS6XRh9Js9PyCR/aka/FCb6TuHT2U8gQubbm/mPmF6L7FY9d79VwQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
postcss-normalize-repeat-style@7.0.0:
resolution: {integrity: sha512-o3uSGYH+2q30ieM3ppu9GTjSXIzOrRdCUn8UOMGNw7Af61bmurHTWI87hRybrP6xDHvOe5WlAj3XzN6vEO8jLw==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -11912,12 +11585,6 @@ packages:
peerDependencies:
postcss: ^8.2.15
- postcss-normalize-string@6.0.2:
- resolution: {integrity: sha512-vQZIivlxlfqqMp4L9PZsFE4YUkWniziKjQWUtsxUiVsSSPelQydwS8Wwcuw0+83ZjPWNTl02oxlIvXsmmG+CiQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
postcss-normalize-string@7.0.0:
resolution: {integrity: sha512-w/qzL212DFVOpMy3UGyxrND+Kb0fvCiBBujiaONIihq7VvtC7bswjWgKQU/w4VcRyDD8gpfqUiBQ4DUOwEJ6Qg==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -11936,12 +11603,6 @@ packages:
peerDependencies:
postcss: ^8.2.15
- postcss-normalize-timing-functions@6.0.2:
- resolution: {integrity: sha512-a+YrtMox4TBtId/AEwbA03VcJgtyW4dGBizPl7e88cTFULYsprgHWTbfyjSLyHeBcK/Q9JhXkt2ZXiwaVHoMzA==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
postcss-normalize-timing-functions@7.0.0:
resolution: {integrity: sha512-tNgw3YV0LYoRwg43N3lTe3AEWZ66W7Dh7lVEpJbHoKOuHc1sLrzMLMFjP8SNULHaykzsonUEDbKedv8C+7ej6g==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -11960,12 +11621,6 @@ packages:
peerDependencies:
postcss: ^8.2.15
- postcss-normalize-unicode@6.1.0:
- resolution: {integrity: sha512-QVC5TQHsVj33otj8/JD869Ndr5Xcc/+fwRh4HAsFsAeygQQXm+0PySrKbr/8tkDKzW+EVT3QkqZMfFrGiossDg==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
postcss-normalize-unicode@7.0.2:
resolution: {integrity: sha512-ztisabK5C/+ZWBdYC+Y9JCkp3M9qBv/XFvDtSw0d/XwfT3UaKeW/YTm/MD/QrPNxuecia46vkfEhewjwcYFjkg==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -11984,12 +11639,6 @@ packages:
peerDependencies:
postcss: ^8.2.15
- postcss-normalize-url@6.0.2:
- resolution: {integrity: sha512-kVNcWhCeKAzZ8B4pv/DnrU1wNh458zBNp8dh4y5hhxih5RZQ12QWMuQrDgPRw3LRl8mN9vOVfHl7uhvHYMoXsQ==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
postcss-normalize-url@7.0.0:
resolution: {integrity: sha512-+d7+PpE+jyPX1hDQZYG+NaFD+Nd2ris6r8fPTBAjE8z/U41n/bib3vze8x7rKs5H1uEw5ppe9IojewouHk0klQ==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -12008,12 +11657,6 @@ packages:
peerDependencies:
postcss: ^8.2.15
- postcss-normalize-whitespace@6.0.2:
- resolution: {integrity: sha512-sXZ2Nj1icbJOKmdjXVT9pnyHQKiSAyuNQHSgRCUgThn2388Y9cGVDR+E9J9iAYbSbLHI+UUwLVl1Wzco/zgv0Q==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
postcss-normalize-whitespace@7.0.0:
resolution: {integrity: sha512-37/toN4wwZErqohedXYqWgvcHUGlT8O/m2jVkAfAe9Bd4MzRqlBmXrJRePH0e9Wgnz2X7KymTgTOaaFizQe3AQ==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -12032,12 +11675,6 @@ packages:
peerDependencies:
postcss: ^8.2.15
- postcss-ordered-values@6.0.2:
- resolution: {integrity: sha512-VRZSOB+JU32RsEAQrO94QPkClGPKJEL/Z9PCBImXMhIeK5KAYo6slP/hBYlLgrCjFxyqvn5VC81tycFEDBLG1Q==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
postcss-ordered-values@7.0.1:
resolution: {integrity: sha512-irWScWRL6nRzYmBOXReIKch75RRhNS86UPUAxXdmW/l0FcAsg0lvAXQCby/1lymxn/o0gVa6Rv/0f03eJOwHxw==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -12056,12 +11693,6 @@ packages:
peerDependencies:
postcss: ^8.2.15
- postcss-reduce-initial@6.1.0:
- resolution: {integrity: sha512-RarLgBK/CrL1qZags04oKbVbrrVK2wcxhvta3GCxrZO4zveibqbRPmm2VI8sSgCXwoUHEliRSbOfpR0b/VIoiw==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
postcss-reduce-initial@7.0.2:
resolution: {integrity: sha512-pOnu9zqQww7dEKf62Nuju6JgsW2V0KRNBHxeKohU+JkHd/GAH5uvoObqFLqkeB2n20mr6yrlWDvo5UBU5GnkfA==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -12080,12 +11711,6 @@ packages:
peerDependencies:
postcss: ^8.2.15
- postcss-reduce-transforms@6.0.2:
- resolution: {integrity: sha512-sB+Ya++3Xj1WaT9+5LOOdirAxP7dJZms3GRcYheSPi1PiTMigsxHAdkrbItHxwYHr4kt1zL7mmcHstgMYT+aiA==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
postcss-reduce-transforms@7.0.0:
resolution: {integrity: sha512-pnt1HKKZ07/idH8cpATX/ujMbtOGhUfE+m8gbqwJE05aTaNw8gbo34a2e3if0xc0dlu75sUOiqvwCGY3fzOHew==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -12127,12 +11752,6 @@ packages:
peerDependencies:
postcss: ^8.2.15
- postcss-svgo@6.0.3:
- resolution: {integrity: sha512-dlrahRmxP22bX6iKEjOM+c8/1p+81asjKT+V5lrgOH944ryx/OHpclnIbGsKVd3uWOXFLYJwCVf0eEkJGvO96g==}
- engines: {node: ^14 || ^16 || >= 18}
- peerDependencies:
- postcss: ^8.4.31
-
postcss-svgo@7.0.1:
resolution: {integrity: sha512-0WBUlSL4lhD9rA5k1e5D8EN5wCEyZD6HJk0jIvRxl+FDVOMlJ7DePHYWGGVc5QRqrJ3/06FTXM0bxjmJpmTPSA==}
engines: {node: ^18.12.0 || ^20.9.0 || >= 18}
@@ -12151,12 +11770,6 @@ packages:
peerDependencies:
postcss: ^8.2.15
- postcss-unique-selectors@6.0.4:
- resolution: {integrity: sha512-K38OCaIrO8+PzpArzkLKB42dSARtC2tmG6PvD4b1o1Q2E9Os8jzfWFfSy/rixsHwohtsDdFtAWGjFVFUdwYaMg==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
postcss-unique-selectors@7.0.3:
resolution: {integrity: sha512-J+58u5Ic5T1QjP/LDV9g3Cx4CNOgB5vz+kM6+OxHHhFACdcDeKhBXjQmB7fnIZM12YSTvsL0Opwco83DmacW2g==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -12511,10 +12124,6 @@ packages:
readdir-glob@1.1.3:
resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==}
- readdirp@3.2.0:
- resolution: {integrity: sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==}
- engines: {node: '>= 8'}
-
readdirp@3.6.0:
resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
engines: {node: '>=8.10.0'}
@@ -12527,10 +12136,6 @@ packages:
resolution: {integrity: sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==}
engines: {node: '>= 20.19.0'}
- rechoir@0.6.2:
- resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==}
- engines: {node: '>= 0.10'}
-
rechoir@0.8.0:
resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==}
engines: {node: '>= 10.13.0'}
@@ -12613,9 +12218,6 @@ packages:
resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
engines: {node: '>=0.10.0'}
- require-main-filename@2.0.0:
- resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
-
requires-port@1.0.0:
resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
@@ -13045,9 +12647,6 @@ packages:
resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==}
engines: {node: '>=10'}
- serialize-javascript@5.0.1:
- resolution: {integrity: sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==}
-
serialize-javascript@6.0.2:
resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
@@ -13121,11 +12720,6 @@ packages:
resolution: {integrity: sha512-Jex+xw5Mg2qMZL3qnzXIfaxEtBaC4n7xifqaqtrZDdlheR70OGkydrPJWT0V1cA1k3nanC86x9FwAmQl6w3Klw==}
engines: {node: '>=18'}
- shelljs@0.8.5:
- resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==}
- engines: {node: '>=4'}
- hasBin: true
-
shimmer@1.2.1:
resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==}
@@ -13434,14 +13028,6 @@ packages:
resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
engines: {node: '>=0.6.19'}
- string-width@2.1.1:
- resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==}
- engines: {node: '>=4'}
-
- string-width@3.1.0:
- resolution: {integrity: sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==}
- engines: {node: '>=6'}
-
string-width@4.2.3:
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
engines: {node: '>=8'}
@@ -13486,14 +13072,6 @@ packages:
stringify-entities@4.0.4:
resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==}
- strip-ansi@4.0.0:
- resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==}
- engines: {node: '>=4'}
-
- strip-ansi@5.2.0:
- resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==}
- engines: {node: '>=6'}
-
strip-ansi@6.0.1:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
@@ -13578,12 +13156,6 @@ packages:
peerDependencies:
postcss: ^8.2.15
- stylehacks@6.1.1:
- resolution: {integrity: sha512-gSTTEQ670cJNoaeIp9KX6lZmm8LJ3jPB5yJmX8Zq/wQxOsAFXV3qjWzHas3YYk1qesuVIyYWWUpZ0vSE/dTSGg==}
- engines: {node: ^14 || ^16 || >=18.0}
- peerDependencies:
- postcss: ^8.4.31
-
stylehacks@7.0.4:
resolution: {integrity: sha512-i4zfNrGMt9SB4xRK9L83rlsFCgdGANfeDAYacO1pkqcE7cRHPdWHwnKZVz7WY17Veq/FvyYsRAU++Ga+qDFIww==}
engines: {node: ^18.12.0 || ^20.9.0 || >=22.0}
@@ -13660,10 +13232,6 @@ packages:
resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
engines: {node: '>=4'}
- supports-color@6.0.0:
- resolution: {integrity: sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==}
- engines: {node: '>=6'}
-
supports-color@7.2.0:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
engines: {node: '>=8'}
@@ -13758,12 +13326,6 @@ packages:
resolution: {integrity: sha512-yYrrsWnrXMcdsnu/7YMYAofM1ktpL5By7vZhf15CrXijWWrEYZks5AXBudalfSWJLlnen/QUJUB5aoB0kqZUGA==}
engines: {node: '>=6.0.0'}
- terser-webpack-plugin@4.2.3:
- resolution: {integrity: sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==}
- engines: {node: '>= 10.13.0'}
- peerDependencies:
- webpack: ^4.0.0 || ^5.0.0
-
terser-webpack-plugin@5.3.14:
resolution: {integrity: sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==}
engines: {node: '>= 10.13.0'}
@@ -13794,9 +13356,6 @@ packages:
peerDependencies:
tslib: ^2
- through2@3.0.2:
- resolution: {integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==}
-
through2@4.0.2:
resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==}
@@ -14583,10 +14142,6 @@ packages:
webpack-sources@1.4.3:
resolution: {integrity: sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==}
- webpack-sources@2.3.1:
- resolution: {integrity: sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==}
- engines: {node: '>=10.13.0'}
-
webpack-sources@3.3.3:
resolution: {integrity: sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==}
engines: {node: '>=10.13.0'}
@@ -14663,9 +14218,6 @@ packages:
resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
engines: {node: '>= 0.4'}
- which-module@2.0.1:
- resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==}
-
which-typed-array@1.1.19:
resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==}
engines: {node: '>= 0.4'}
@@ -14699,9 +14251,6 @@ packages:
engines: {node: '>=8'}
hasBin: true
- wide-align@1.1.3:
- resolution: {integrity: sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==}
-
wide-align@1.1.5:
resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==}
@@ -14715,10 +14264,6 @@ packages:
workerpool@9.3.4:
resolution: {integrity: sha512-TmPRQYYSAnnDiEB0P/Ytip7bFGvqnSU6I2BcuSw7Hx+JSg/DsUi5ebYfc8GYaSdpuvOcEs6dXxPurOYpe9QFwg==}
- wrap-ansi@5.1.0:
- resolution: {integrity: sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==}
- engines: {node: '>=6'}
-
wrap-ansi@6.2.0:
resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
engines: {node: '>=8'}
@@ -14819,9 +14364,6 @@ packages:
resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
engines: {node: '>=0.4'}
- y18n@4.0.3:
- resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
-
y18n@5.0.8:
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
engines: {node: '>=10'}
@@ -14852,9 +14394,6 @@ packages:
engines: {node: '>= 14.6'}
hasBin: true
- yargs-parser@13.1.2:
- resolution: {integrity: sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==}
-
yargs-parser@20.2.9:
resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
engines: {node: '>=10'}
@@ -14867,17 +14406,10 @@ packages:
resolution: {integrity: sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==}
engines: {node: ^20.19.0 || ^22.12.0 || >=23}
- yargs-unparser@1.6.0:
- resolution: {integrity: sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==}
- engines: {node: '>=6'}
-
yargs-unparser@2.0.0:
resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==}
engines: {node: '>=10'}
- yargs@13.3.2:
- resolution: {integrity: sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==}
-
yargs@16.2.0:
resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==}
engines: {node: '>=10'}
@@ -15401,7 +14933,7 @@ snapshots:
'@babel/traverse': 7.28.4
'@babel/types': 7.28.4
convert-source-map: 2.0.0
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
gensync: 1.0.0-beta.2
json5: 2.2.3
semver: 6.3.1
@@ -15469,10 +15001,6 @@ snapshots:
'@babel/template': 7.27.2
'@babel/types': 7.28.4
- '@babel/parser@7.27.5':
- dependencies:
- '@babel/types': 7.28.5
-
'@babel/parser@7.28.4':
dependencies:
'@babel/types': 7.28.4
@@ -15517,18 +15045,6 @@ snapshots:
'@babel/parser': 7.28.4
'@babel/types': 7.28.4
- '@babel/traverse@7.27.0':
- dependencies:
- '@babel/code-frame': 7.27.1
- '@babel/generator': 7.28.3
- '@babel/parser': 7.28.5
- '@babel/template': 7.27.2
- '@babel/types': 7.28.5
- debug: 4.4.3(supports-color@6.0.0)
- globals: 11.12.0
- transitivePeerDependencies:
- - supports-color
-
'@babel/traverse@7.28.0':
dependencies:
'@babel/code-frame': 7.27.1
@@ -15537,7 +15053,7 @@ snapshots:
'@babel/parser': 7.28.5
'@babel/template': 7.27.2
'@babel/types': 7.28.5
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
transitivePeerDependencies:
- supports-color
@@ -15549,7 +15065,7 @@ snapshots:
'@babel/parser': 7.28.4
'@babel/template': 7.27.2
'@babel/types': 7.28.4
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
transitivePeerDependencies:
- supports-color
@@ -15641,6 +15157,8 @@ snapshots:
'@ckeditor/ckeditor5-core': 47.2.0
'@ckeditor/ckeditor5-upload': 47.2.0
ckeditor5: 47.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)
+ transitivePeerDependencies:
+ - supports-color
'@ckeditor/ckeditor5-ai@47.2.0(bufferutil@4.0.9)(utf-8-validate@6.0.5)':
dependencies:
@@ -15787,6 +15305,8 @@ snapshots:
'@ckeditor/ckeditor5-core': 47.2.0
'@ckeditor/ckeditor5-utils': 47.2.0
ckeditor5: 47.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)
+ transitivePeerDependencies:
+ - supports-color
'@ckeditor/ckeditor5-code-block@47.2.0(patch_hash=2361d8caad7d6b5bddacc3a3b4aa37dbfba260b1c1b22a450413a79c1bb1ce95)':
dependencies:
@@ -15851,8 +15371,6 @@ snapshots:
'@ckeditor/ckeditor5-utils': 47.2.0
'@ckeditor/ckeditor5-watchdog': 47.2.0
es-toolkit: 1.39.5
- transitivePeerDependencies:
- - supports-color
'@ckeditor/ckeditor5-dev-build-tools@43.1.0(@swc/helpers@0.5.17)(tslib@2.8.1)(typescript@5.9.3)':
dependencies:
@@ -15886,17 +15404,6 @@ snapshots:
- tslib
- typescript
- '@ckeditor/ckeditor5-dev-translations@43.1.0':
- dependencies:
- '@babel/parser': 7.27.5
- '@babel/traverse': 7.27.0
- chalk: 4.1.2
- pofile: 1.1.4
- rimraf: 3.0.2
- webpack-sources: 2.3.1
- transitivePeerDependencies:
- - supports-color
-
'@ckeditor/ckeditor5-dev-translations@54.0.0(@babel/core@7.28.0)(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0)(typescript@5.0.4)(webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0))':
dependencies:
'@babel/parser': 7.28.4
@@ -15920,36 +15427,6 @@ snapshots:
- uglify-js
- webpack
- '@ckeditor/ckeditor5-dev-utils@43.1.0(webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0))':
- dependencies:
- '@ckeditor/ckeditor5-dev-translations': 43.1.0
- chalk: 3.0.0
- cli-cursor: 3.1.0
- cli-spinners: 2.9.2
- css-loader: 5.2.7(webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0))
- cssnano: 6.1.2(postcss@8.5.3)
- del: 5.1.0
- esbuild-loader: 3.0.1(webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0))
- fs-extra: 11.3.2
- is-interactive: 1.0.0
- javascript-stringify: 1.6.0
- mini-css-extract-plugin: 2.4.7(webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0))
- mocha: 7.2.0
- postcss: 8.5.3
- postcss-import: 14.1.0(postcss@8.5.3)
- postcss-loader: 4.3.0(postcss@8.5.3)(webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0))
- postcss-mixins: 9.0.4(postcss@8.5.3)
- postcss-nesting: 13.0.1(postcss@8.5.3)
- raw-loader: 4.0.2(webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0))
- shelljs: 0.8.5
- style-loader: 2.0.0(webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0))
- terser-webpack-plugin: 4.2.3(webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0))
- through2: 3.0.2
- transitivePeerDependencies:
- - bluebird
- - supports-color
- - webpack
-
'@ckeditor/ckeditor5-dev-utils@54.0.0(@babel/core@7.28.0)(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0)(typescript@5.0.4)(webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0))':
dependencies:
'@ckeditor/ckeditor5-dev-translations': 54.0.0(@babel/core@7.28.0)(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0)(typescript@5.0.4)(webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0))
@@ -16020,6 +15497,8 @@ snapshots:
'@ckeditor/ckeditor5-utils': 47.2.0
ckeditor5: 47.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)
es-toolkit: 1.39.5
+ transitivePeerDependencies:
+ - supports-color
'@ckeditor/ckeditor5-editor-classic@47.2.0':
dependencies:
@@ -16029,6 +15508,8 @@ snapshots:
'@ckeditor/ckeditor5-utils': 47.2.0
ckeditor5: 47.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)
es-toolkit: 1.39.5
+ transitivePeerDependencies:
+ - supports-color
'@ckeditor/ckeditor5-editor-decoupled@47.2.0':
dependencies:
@@ -16047,6 +15528,8 @@ snapshots:
'@ckeditor/ckeditor5-utils': 47.2.0
ckeditor5: 47.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)
es-toolkit: 1.39.5
+ transitivePeerDependencies:
+ - supports-color
'@ckeditor/ckeditor5-editor-multi-root@47.2.0':
dependencies:
@@ -16096,8 +15579,6 @@ snapshots:
'@ckeditor/ckeditor5-core': 47.2.0
'@ckeditor/ckeditor5-engine': 47.2.0
'@ckeditor/ckeditor5-utils': 47.2.0
- transitivePeerDependencies:
- - supports-color
'@ckeditor/ckeditor5-essentials@47.2.0':
dependencies:
@@ -16155,6 +15636,8 @@ snapshots:
'@ckeditor/ckeditor5-utils': 47.2.0
ckeditor5: 47.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)
es-toolkit: 1.39.5
+ transitivePeerDependencies:
+ - supports-color
'@ckeditor/ckeditor5-font@47.2.0':
dependencies:
@@ -16229,6 +15712,8 @@ snapshots:
'@ckeditor/ckeditor5-utils': 47.2.0
'@ckeditor/ckeditor5-widget': 47.2.0
ckeditor5: 47.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)
+ transitivePeerDependencies:
+ - supports-color
'@ckeditor/ckeditor5-html-embed@47.2.0':
dependencies:
@@ -16557,6 +16042,8 @@ snapshots:
'@ckeditor/ckeditor5-ui': 47.2.0
'@ckeditor/ckeditor5-utils': 47.2.0
ckeditor5: 47.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)
+ transitivePeerDependencies:
+ - supports-color
'@ckeditor/ckeditor5-restricted-editing@47.2.0':
dependencies:
@@ -16643,6 +16130,8 @@ snapshots:
'@ckeditor/ckeditor5-ui': 47.2.0
'@ckeditor/ckeditor5-utils': 47.2.0
ckeditor5: 47.2.0(patch_hash=8331a09d41443b39ea1c784daaccfeb0da4f9065ed556e7de92e9c77edd9eb41)
+ transitivePeerDependencies:
+ - supports-color
'@ckeditor/ckeditor5-special-characters@47.2.0':
dependencies:
@@ -17032,7 +16521,7 @@ snapshots:
'@listr2/prompt-adapter-inquirer': 2.0.22(@inquirer/prompts@6.0.1)
chalk: 4.1.2
commander: 11.1.0
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
fs-extra: 10.1.0
listr2: 7.0.2
log-symbols: 4.1.0
@@ -17052,7 +16541,7 @@ snapshots:
'@electron/rebuild': 3.7.2
'@malept/cross-spawn-promise': 2.0.0
chalk: 4.1.2
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
find-up: 5.0.0
fs-extra: 10.1.0
log-symbols: 4.1.0
@@ -17081,7 +16570,7 @@ snapshots:
'@malept/cross-spawn-promise': 2.0.0
'@vscode/sudo-prompt': 9.3.1
chalk: 4.1.2
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
fast-glob: 3.3.3
filenamify: 4.3.0
find-up: 5.0.0
@@ -17217,7 +16706,7 @@ snapshots:
'@electron-forge/core-utils': 7.10.2
'@electron-forge/shared-types': 7.10.2
'@malept/cross-spawn-promise': 2.0.0
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
fs-extra: 10.1.0
semver: 7.7.3
username: 5.1.0
@@ -17279,7 +16768,7 @@ snapshots:
'@electron/get@2.0.3':
dependencies:
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
env-paths: 2.2.1
fs-extra: 8.1.0
got: 11.8.6
@@ -17293,7 +16782,7 @@ snapshots:
'@electron/get@3.1.0':
dependencies:
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
env-paths: 2.2.1
fs-extra: 8.1.0
got: 11.8.6
@@ -17323,7 +16812,7 @@ snapshots:
'@electron/notarize@2.5.0':
dependencies:
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
fs-extra: 9.1.0
promise-retry: 2.0.1
transitivePeerDependencies:
@@ -17332,7 +16821,7 @@ snapshots:
'@electron/osx-sign@1.3.3':
dependencies:
compare-version: 0.1.2
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
fs-extra: 10.1.0
isbinaryfile: 4.0.10
minimist: 1.2.8
@@ -17348,7 +16837,7 @@ snapshots:
'@electron/osx-sign': 1.3.3
'@electron/universal': 2.0.2
'@electron/windows-sign': 1.2.1
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
extract-zip: 2.0.1
filenamify: 4.3.0
fs-extra: 11.3.2
@@ -17369,7 +16858,7 @@ snapshots:
'@electron/node-gyp': https://codeload.github.com/electron/node-gyp/tar.gz/06b29aafb7708acef8b3669835c8a7857ebc92d2
'@malept/cross-spawn-promise': 2.0.0
chalk: 4.1.2
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
detect-libc: 2.1.1
fs-extra: 10.1.0
got: 11.8.6
@@ -17388,7 +16877,7 @@ snapshots:
dependencies:
'@malept/cross-spawn-promise': 2.0.0
chalk: 4.1.2
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
detect-libc: 2.0.4
got: 11.8.6
graceful-fs: 4.2.11
@@ -17411,7 +16900,7 @@ snapshots:
dependencies:
'@electron/asar': 3.4.1
'@malept/cross-spawn-promise': 2.0.0
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
dir-compare: 4.2.0
fs-extra: 11.3.2
minimatch: 9.0.5
@@ -17422,7 +16911,7 @@ snapshots:
'@electron/windows-sign@1.2.1':
dependencies:
cross-dirname: 0.1.0
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
fs-extra: 11.3.2
minimist: 1.2.8
postject: 1.0.0-alpha.6
@@ -17709,7 +17198,7 @@ snapshots:
'@eslint/config-array@0.21.1':
dependencies:
'@eslint/object-schema': 2.1.7
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
minimatch: 3.1.2
transitivePeerDependencies:
- supports-color
@@ -17733,7 +17222,7 @@ snapshots:
'@eslint/eslintrc@3.3.1':
dependencies:
ajv: 6.12.6
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
espree: 10.4.0
globals: 14.0.0
ignore: 5.3.2
@@ -18093,7 +17582,7 @@ snapshots:
'@antfu/install-pkg': 1.1.0
'@antfu/utils': 9.2.0
'@iconify/types': 2.0.0
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
globals: 15.15.0
kolorist: 1.8.0
local-pkg: 1.1.1
@@ -18517,7 +18006,7 @@ snapshots:
'@kwsites/file-exists@1.1.1':
dependencies:
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
transitivePeerDependencies:
- supports-color
@@ -18601,7 +18090,7 @@ snapshots:
'@malept/electron-installer-flatpak@0.11.4':
dependencies:
'@malept/flatpak-bundler': 0.4.0
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
electron-installer-common: 0.10.4
lodash: 4.17.21
semver: 7.7.3
@@ -18612,7 +18101,7 @@ snapshots:
'@malept/flatpak-bundler@0.4.0':
dependencies:
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
fs-extra: 9.1.0
lodash: 4.17.21
tmp-promise: 3.0.3
@@ -18769,6 +18258,7 @@ snapshots:
dependencies:
'@gar/promisify': 1.1.3
semver: 7.7.3
+ optional: true
'@npmcli/fs@2.1.2':
dependencies:
@@ -18799,6 +18289,7 @@ snapshots:
dependencies:
mkdirp: 1.0.4
rimraf: 3.0.2
+ optional: true
'@npmcli/move-file@2.0.1':
dependencies:
@@ -19071,7 +18562,7 @@ snapshots:
'@puppeteer/browsers@2.10.10':
dependencies:
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
extract-zip: 2.0.1
progress: 2.0.3
proxy-agent: 6.5.0
@@ -20326,7 +19817,7 @@ snapshots:
'@tokenizer/inflate@0.2.7':
dependencies:
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
fflate: 0.8.2
token-types: 6.0.0
transitivePeerDependencies:
@@ -20645,11 +20136,6 @@ snapshots:
'@types/geojson@7946.0.16': {}
- '@types/glob@7.2.0':
- dependencies:
- '@types/minimatch': 5.1.2
- '@types/node': 24.10.1
-
'@types/hast@3.0.4':
dependencies:
'@types/unist': 3.0.3
@@ -20718,8 +20204,6 @@ snapshots:
'@types/mime@1.3.5': {}
- '@types/minimatch@5.1.2': {}
-
'@types/ms@2.1.0': {}
'@types/multer@2.0.0':
@@ -20956,7 +20440,7 @@ snapshots:
'@typescript-eslint/types': 8.46.4
'@typescript-eslint/typescript-estree': 8.46.4(typescript@5.9.3)
'@typescript-eslint/visitor-keys': 8.46.4
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
eslint: 9.39.1(jiti@2.6.1)
typescript: 5.9.3
transitivePeerDependencies:
@@ -20968,7 +20452,7 @@ snapshots:
'@typescript-eslint/types': 8.48.0
'@typescript-eslint/typescript-estree': 8.48.0(typescript@5.9.3)
'@typescript-eslint/visitor-keys': 8.48.0
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
eslint: 9.39.1(jiti@2.6.1)
typescript: 5.9.3
transitivePeerDependencies:
@@ -20978,7 +20462,7 @@ snapshots:
dependencies:
'@typescript-eslint/tsconfig-utils': 8.47.0(typescript@5.9.3)
'@typescript-eslint/types': 8.47.0
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
@@ -20987,7 +20471,7 @@ snapshots:
dependencies:
'@typescript-eslint/tsconfig-utils': 8.48.0(typescript@5.9.3)
'@typescript-eslint/types': 8.48.0
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
@@ -21019,7 +20503,7 @@ snapshots:
'@typescript-eslint/types': 8.46.4
'@typescript-eslint/typescript-estree': 8.46.4(typescript@5.9.3)
'@typescript-eslint/utils': 8.46.4(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
eslint: 9.39.1(jiti@2.6.1)
ts-api-utils: 2.1.0(typescript@5.9.3)
typescript: 5.9.3
@@ -21031,7 +20515,7 @@ snapshots:
'@typescript-eslint/types': 8.48.0
'@typescript-eslint/typescript-estree': 8.48.0(typescript@5.9.3)
'@typescript-eslint/utils': 8.48.0(eslint@9.39.1(jiti@2.6.1))(typescript@5.9.3)
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
eslint: 9.39.1(jiti@2.6.1)
ts-api-utils: 2.1.0(typescript@5.9.3)
typescript: 5.9.3
@@ -21050,7 +20534,7 @@ snapshots:
'@typescript-eslint/tsconfig-utils': 8.46.4(typescript@5.9.3)
'@typescript-eslint/types': 8.46.4
'@typescript-eslint/visitor-keys': 8.46.4
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
fast-glob: 3.3.3
is-glob: 4.0.3
minimatch: 9.0.5
@@ -21066,7 +20550,7 @@ snapshots:
'@typescript-eslint/tsconfig-utils': 8.48.0(typescript@5.9.3)
'@typescript-eslint/types': 8.48.0
'@typescript-eslint/visitor-keys': 8.48.0
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
minimatch: 9.0.5
semver: 7.7.3
tinyglobby: 0.2.15
@@ -21495,7 +20979,7 @@ snapshots:
agent-base@6.0.2:
dependencies:
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
transitivePeerDependencies:
- supports-color
@@ -21567,8 +21051,6 @@ snapshots:
dependencies:
bezier-easing: 2.1.0
- ansi-colors@3.2.3: {}
-
ansi-escapes@4.3.2:
dependencies:
type-fest: 0.21.3
@@ -21583,10 +21065,6 @@ snapshots:
ansi-html-community@0.0.8: {}
- ansi-regex@3.0.1: {}
-
- ansi-regex@4.1.1: {}
-
ansi-regex@5.0.1: {}
ansi-regex@6.2.2: {}
@@ -21931,7 +21409,7 @@ snapshots:
dependencies:
bytes: 3.1.2
content-type: 1.0.5
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
http-errors: 2.0.0
iconv-lite: 0.6.3
on-finished: 2.4.1
@@ -22080,6 +21558,7 @@ snapshots:
unique-filename: 1.1.1
transitivePeerDependencies:
- bluebird
+ optional: true
cacache@16.1.3:
dependencies:
@@ -22176,8 +21655,6 @@ snapshots:
camelcase-css@2.0.1: {}
- camelcase@5.3.1: {}
-
camelcase@6.3.0: {}
camelize@1.0.1: {}
@@ -22207,11 +21684,6 @@ snapshots:
escape-string-regexp: 1.0.5
supports-color: 5.5.0
- chalk@3.0.0:
- dependencies:
- ansi-styles: 4.3.0
- supports-color: 7.2.0
-
chalk@4.1.2:
dependencies:
ansi-styles: 4.3.0
@@ -22286,18 +21758,6 @@ snapshots:
'@chevrotain/utils': 11.0.3
lodash-es: 4.17.21
- chokidar@3.3.0:
- dependencies:
- anymatch: 3.1.3
- braces: 3.0.3
- glob-parent: 5.1.2
- is-binary-path: 2.1.0
- is-glob: 4.0.3
- normalize-path: 3.0.0
- readdirp: 3.2.0
- optionalDependencies:
- fsevents: 2.1.3
-
chokidar@3.6.0:
dependencies:
anymatch: 3.1.3
@@ -22462,12 +21922,6 @@ snapshots:
cli-width@4.1.0: {}
- cliui@5.0.0:
- dependencies:
- string-width: 3.1.0
- strip-ansi: 5.2.0
- wrap-ansi: 5.1.0
-
cliui@7.0.4:
dependencies:
string-width: 4.2.3
@@ -22939,40 +22393,6 @@ snapshots:
postcss-svgo: 5.1.0(postcss@8.5.6)
postcss-unique-selectors: 5.1.1(postcss@8.5.6)
- cssnano-preset-default@6.1.2(postcss@8.5.3):
- dependencies:
- browserslist: 4.26.2
- css-declaration-sorter: 7.2.0(postcss@8.5.3)
- cssnano-utils: 4.0.2(postcss@8.5.3)
- postcss: 8.5.3
- postcss-calc: 9.0.1(postcss@8.5.3)
- postcss-colormin: 6.1.0(postcss@8.5.3)
- postcss-convert-values: 6.1.0(postcss@8.5.3)
- postcss-discard-comments: 6.0.2(postcss@8.5.3)
- postcss-discard-duplicates: 6.0.3(postcss@8.5.3)
- postcss-discard-empty: 6.0.3(postcss@8.5.3)
- postcss-discard-overridden: 6.0.2(postcss@8.5.3)
- postcss-merge-longhand: 6.0.5(postcss@8.5.3)
- postcss-merge-rules: 6.1.1(postcss@8.5.3)
- postcss-minify-font-values: 6.1.0(postcss@8.5.3)
- postcss-minify-gradients: 6.0.3(postcss@8.5.3)
- postcss-minify-params: 6.1.0(postcss@8.5.3)
- postcss-minify-selectors: 6.0.4(postcss@8.5.3)
- postcss-normalize-charset: 6.0.2(postcss@8.5.3)
- postcss-normalize-display-values: 6.0.2(postcss@8.5.3)
- postcss-normalize-positions: 6.0.2(postcss@8.5.3)
- postcss-normalize-repeat-style: 6.0.2(postcss@8.5.3)
- postcss-normalize-string: 6.0.2(postcss@8.5.3)
- postcss-normalize-timing-functions: 6.0.2(postcss@8.5.3)
- postcss-normalize-unicode: 6.1.0(postcss@8.5.3)
- postcss-normalize-url: 6.0.2(postcss@8.5.3)
- postcss-normalize-whitespace: 6.0.2(postcss@8.5.3)
- postcss-ordered-values: 6.0.2(postcss@8.5.3)
- postcss-reduce-initial: 6.1.0(postcss@8.5.3)
- postcss-reduce-transforms: 6.0.2(postcss@8.5.3)
- postcss-svgo: 6.0.3(postcss@8.5.3)
- postcss-unique-selectors: 6.0.4(postcss@8.5.3)
-
cssnano-preset-default@7.0.6(postcss@8.5.3):
dependencies:
browserslist: 4.25.1
@@ -23053,10 +22473,6 @@ snapshots:
dependencies:
postcss: 8.5.6
- cssnano-utils@4.0.2(postcss@8.5.3):
- dependencies:
- postcss: 8.5.3
-
cssnano-utils@5.0.0(postcss@8.5.3):
dependencies:
postcss: 8.5.3
@@ -23072,12 +22488,6 @@ snapshots:
postcss: 8.5.6
yaml: 1.10.2
- cssnano@6.1.2(postcss@8.5.3):
- dependencies:
- cssnano-preset-default: 6.1.2(postcss@8.5.3)
- lilconfig: 3.1.3
- postcss: 8.5.3
-
cssnano@7.0.6(postcss@8.5.3):
dependencies:
cssnano-preset-default: 7.0.6(postcss@8.5.3)
@@ -23371,20 +22781,12 @@ snapshots:
dependencies:
ms: 2.1.3
- debug@4.4.3(supports-color@6.0.0):
- dependencies:
- ms: 2.1.3
- optionalDependencies:
- supports-color: 6.0.0
-
debug@4.4.3(supports-color@8.1.1):
dependencies:
ms: 2.1.3
optionalDependencies:
supports-color: 8.1.1
- decamelize@1.2.0: {}
-
decamelize@4.0.0: {}
decamelize@6.0.1: {}
@@ -23458,17 +22860,6 @@ snapshots:
escodegen: 2.1.0
esprima: 4.0.1
- del@5.1.0:
- dependencies:
- globby: 10.0.2
- graceful-fs: 4.2.11
- is-glob: 4.0.3
- is-path-cwd: 2.2.0
- is-path-inside: 3.0.3
- p-map: 3.0.0
- rimraf: 3.0.2
- slash: 3.0.0
-
delaunator@5.0.1:
dependencies:
robust-predicates: 3.0.2
@@ -23526,8 +22917,6 @@ snapshots:
di@0.0.1: {}
- diff@3.5.0: {}
-
diff@4.0.2: {}
diff@7.0.0: {}
@@ -23686,7 +23075,7 @@ snapshots:
dependencies:
'@electron/asar': 3.4.1
'@malept/cross-spawn-promise': 1.1.1
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
fs-extra: 9.1.0
glob: 7.2.3
lodash: 4.17.21
@@ -23702,7 +23091,7 @@ snapshots:
electron-installer-debian@3.2.0:
dependencies:
'@malept/cross-spawn-promise': 1.1.1
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
electron-installer-common: 0.10.4
fs-extra: 9.1.0
get-folder-size: 2.0.1
@@ -23716,7 +23105,7 @@ snapshots:
electron-installer-dmg@5.0.1:
dependencies:
'@types/appdmg': 0.5.5
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
minimist: 1.2.8
optionalDependencies:
appdmg: 0.6.6
@@ -23727,7 +23116,7 @@ snapshots:
electron-installer-redhat@3.4.0:
dependencies:
'@malept/cross-spawn-promise': 1.1.1
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
electron-installer-common: 0.10.4
fs-extra: 9.1.0
lodash: 4.17.21
@@ -23743,7 +23132,7 @@ snapshots:
electron-localshortcut@3.2.1:
dependencies:
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
electron-is-accelerator: 0.1.2
keyboardevent-from-electron-accelerator: 2.0.0
keyboardevents-areequal: 0.2.2
@@ -23768,7 +23157,7 @@ snapshots:
electron-winstaller@5.4.0:
dependencies:
'@electron/asar': 3.4.1
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
fs-extra: 7.0.1
lodash: 4.17.21
temp: 0.9.4
@@ -23794,8 +23183,6 @@ snapshots:
emoji-regex@10.4.0: {}
- emoji-regex@7.0.3: {}
-
emoji-regex@8.0.0: {}
emoji-regex@9.2.2: {}
@@ -24056,14 +23443,6 @@ snapshots:
es6-promise@4.2.8: {}
- esbuild-loader@3.0.1(webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0)):
- dependencies:
- esbuild: 0.27.0
- get-tsconfig: 4.10.1
- loader-utils: 2.0.4
- webpack: 5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0)
- webpack-sources: 1.4.3
-
esbuild-loader@4.3.0(webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0)):
dependencies:
esbuild: 0.25.12
@@ -24316,7 +23695,7 @@ snapshots:
ajv: 6.12.6
chalk: 4.1.2
cross-spawn: 7.0.6
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
escape-string-regexp: 4.0.0
eslint-scope: 8.4.0
eslint-visitor-keys: 4.2.1
@@ -24426,7 +23805,7 @@ snapshots:
express-http-proxy@2.1.2:
dependencies:
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
es6-promise: 4.2.8
raw-body: 2.5.2
transitivePeerDependencies:
@@ -24437,7 +23816,7 @@ snapshots:
base64url: 3.0.1
clone: 2.1.2
cookie: 0.7.2
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
express: 5.1.0
futoin-hkdf: 1.5.3
http-errors: 1.8.1
@@ -24512,7 +23891,7 @@ snapshots:
content-type: 1.0.5
cookie: 0.7.2
cookie-signature: 1.2.2
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
encodeurl: 2.0.0
escape-html: 1.0.3
etag: 1.8.1
@@ -24561,7 +23940,7 @@ snapshots:
extract-zip@2.0.1:
dependencies:
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
get-stream: 5.2.0
yauzl: 2.10.0
optionalDependencies:
@@ -24703,7 +24082,7 @@ snapshots:
finalhandler@2.1.0:
dependencies:
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
encodeurl: 2.0.0
escape-html: 1.0.3
on-finished: 2.4.1
@@ -24712,25 +24091,10 @@ snapshots:
transitivePeerDependencies:
- supports-color
- find-cache-dir@3.3.2:
- dependencies:
- commondir: 1.0.1
- make-dir: 3.1.0
- pkg-dir: 4.2.0
-
find-up@2.1.0:
dependencies:
locate-path: 2.0.0
- find-up@3.0.0:
- dependencies:
- locate-path: 3.0.0
-
- find-up@4.1.0:
- dependencies:
- locate-path: 5.0.0
- path-exists: 4.0.0
-
find-up@5.0.0:
dependencies:
locate-path: 6.0.0
@@ -24759,7 +24123,7 @@ snapshots:
flora-colossus@2.0.0:
dependencies:
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
fs-extra: 10.1.0
transitivePeerDependencies:
- supports-color
@@ -24771,7 +24135,7 @@ snapshots:
follow-redirects@1.15.9(debug@4.4.3):
optionalDependencies:
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
for-each@0.3.5:
dependencies:
@@ -24880,9 +24244,6 @@ snapshots:
fs.realpath@1.0.0: {}
- fsevents@2.1.3:
- optional: true
-
fsevents@2.3.2:
optional: true
@@ -24912,7 +24273,7 @@ snapshots:
galactus@1.0.0:
dependencies:
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
flora-colossus: 2.0.0
fs-extra: 10.1.0
transitivePeerDependencies:
@@ -25025,7 +24386,7 @@ snapshots:
dependencies:
basic-ftp: 5.0.5
data-uri-to-buffer: 6.0.2
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
transitivePeerDependencies:
- supports-color
@@ -25072,15 +24433,6 @@ snapshots:
package-json-from-dist: 1.0.1
path-scurry: 2.0.0
- glob@7.1.3:
- dependencies:
- fs.realpath: 1.0.0
- inflight: 1.0.6
- inherits: 2.0.4
- minimatch: 3.1.2
- once: 1.4.0
- path-is-absolute: 1.0.1
-
glob@7.1.6:
dependencies:
fs.realpath: 1.0.0
@@ -25137,8 +24489,6 @@ snapshots:
kind-of: 6.0.3
which: 4.0.0
- globals@11.12.0: {}
-
globals@14.0.0: {}
globals@15.15.0: {}
@@ -25150,17 +24500,6 @@ snapshots:
define-properties: 1.2.1
gopd: 1.2.0
- globby@10.0.2:
- dependencies:
- '@types/glob': 7.2.0
- array-union: 2.1.0
- dir-glob: 3.0.1
- fast-glob: 3.3.3
- glob: 7.2.3
- ignore: 5.3.2
- merge2: 1.4.1
- slash: 3.0.0
-
globby@11.1.0:
dependencies:
array-union: 2.1.0
@@ -25199,8 +24538,6 @@ snapshots:
graphql@16.12.0:
optional: true
- growl@1.10.5: {}
-
hachure-fill@0.5.2: {}
handle-thing@2.0.1: {}
@@ -25506,7 +24843,7 @@ snapshots:
dependencies:
'@tootallnate/once': 1.1.2
agent-base: 6.0.2
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
transitivePeerDependencies:
- supports-color
@@ -25514,14 +24851,14 @@ snapshots:
dependencies:
'@tootallnate/once': 2.0.0
agent-base: 6.0.2
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
transitivePeerDependencies:
- supports-color
http-proxy-agent@7.0.2:
dependencies:
agent-base: 7.1.3
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
transitivePeerDependencies:
- supports-color
@@ -25574,14 +24911,14 @@ snapshots:
https-proxy-agent@5.0.1:
dependencies:
agent-base: 6.0.2
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
transitivePeerDependencies:
- supports-color
https-proxy-agent@7.0.6:
dependencies:
agent-base: 7.1.3
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
transitivePeerDependencies:
- supports-color
@@ -25707,8 +25044,6 @@ snapshots:
internmap@2.0.3: {}
- interpret@1.4.0: {}
-
interpret@3.1.1: {}
invariant@2.2.4:
@@ -25792,8 +25127,6 @@ snapshots:
dependencies:
call-bound: 1.0.4
- is-fullwidth-code-point@2.0.0: {}
-
is-fullwidth-code-point@3.0.0: {}
is-fullwidth-code-point@4.0.0: {}
@@ -25853,10 +25186,6 @@ snapshots:
is-number@7.0.0: {}
- is-path-cwd@2.2.0: {}
-
- is-path-inside@3.0.3: {}
-
is-plain-obj@1.1.0: {}
is-plain-obj@2.1.0: {}
@@ -25976,7 +25305,7 @@ snapshots:
istanbul-lib-source-maps@5.0.6:
dependencies:
'@jridgewell/trace-mapping': 0.3.31
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
istanbul-lib-coverage: 3.2.2
transitivePeerDependencies:
- supports-color
@@ -26014,14 +25343,6 @@ snapshots:
jasmine-core@4.6.1: {}
- javascript-stringify@1.6.0: {}
-
- jest-worker@26.6.2:
- dependencies:
- '@types/node': 24.10.1
- merge-stream: 2.0.0
- supports-color: 7.2.0
-
jest-worker@27.5.1:
dependencies:
'@types/node': 24.10.1
@@ -26100,11 +25421,6 @@ snapshots:
js-tokens@9.0.1: {}
- js-yaml@3.13.1:
- dependencies:
- argparse: 1.0.10
- esprima: 4.0.1
-
js-yaml@4.1.1:
dependencies:
argparse: 2.0.1
@@ -26513,15 +25829,6 @@ snapshots:
p-locate: 2.0.0
path-exists: 3.0.0
- locate-path@3.0.0:
- dependencies:
- p-locate: 3.0.0
- path-exists: 3.0.0
-
- locate-path@5.0.0:
- dependencies:
- p-locate: 4.1.0
-
locate-path@6.0.0:
dependencies:
p-locate: 5.0.0
@@ -26562,10 +25869,6 @@ snapshots:
lodash@4.17.21: {}
- log-symbols@3.0.0:
- dependencies:
- chalk: 2.4.2
-
log-symbols@4.1.0:
dependencies:
chalk: 4.1.2
@@ -26590,7 +25893,7 @@ snapshots:
log4js@6.9.1:
dependencies:
date-format: 4.0.14
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
flatted: 3.3.3
rfdc: 1.4.1
streamroller: 3.1.5
@@ -26662,10 +25965,6 @@ snapshots:
semver: 5.7.2
optional: true
- make-dir@3.1.0:
- dependencies:
- semver: 6.3.1
-
make-dir@4.0.0:
dependencies:
semver: 7.7.3
@@ -27185,7 +26484,7 @@ snapshots:
micromark@4.0.2:
dependencies:
'@types/debug': 4.1.12
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
decode-named-character-reference: 1.2.0
devlop: 1.1.0
micromark-core-commonmark: 2.0.3
@@ -27237,11 +26536,6 @@ snapshots:
mind-elixir@5.3.7: {}
- mini-css-extract-plugin@2.4.7(webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0)):
- dependencies:
- schema-utils: 4.3.2
- webpack: 5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0)
-
mini-css-extract-plugin@2.9.4(webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0)):
dependencies:
schema-utils: 4.3.2
@@ -27254,10 +26548,6 @@ snapshots:
dependencies:
'@isaacs/brace-expansion': 5.0.0
- minimatch@3.0.4:
- dependencies:
- brace-expansion: 1.1.12
-
minimatch@3.0.8:
dependencies:
brace-expansion: 1.1.12
@@ -27354,10 +26644,6 @@ snapshots:
mkdirp-classic@0.5.3: {}
- mkdirp@0.5.5:
- dependencies:
- minimist: 1.2.8
-
mkdirp@0.5.6:
dependencies:
minimist: 1.2.8
@@ -27414,33 +26700,6 @@ snapshots:
yargs-parser: 21.1.1
yargs-unparser: 2.0.0
- mocha@7.2.0:
- dependencies:
- ansi-colors: 3.2.3
- browser-stdout: 1.3.1
- chokidar: 3.3.0
- debug: 4.4.3(supports-color@6.0.0)
- diff: 3.5.0
- escape-string-regexp: 1.0.5
- find-up: 3.0.0
- glob: 7.1.3
- growl: 1.10.5
- he: 1.2.0
- js-yaml: 3.13.1
- log-symbols: 3.0.0
- minimatch: 3.0.4
- mkdirp: 0.5.5
- ms: 2.1.1
- node-environment-flags: 1.0.6
- object.assign: 4.1.0
- strip-json-comments: 2.0.1
- supports-color: 6.0.0
- which: 1.3.1
- wide-align: 1.1.3
- yargs: 13.3.2
- yargs-parser: 13.1.2
- yargs-unparser: 1.6.0
-
mock-property@1.0.3:
dependencies:
define-data-property: 1.1.4
@@ -27458,8 +26717,6 @@ snapshots:
ms@2.0.0: {}
- ms@2.1.1: {}
-
ms@2.1.3: {}
msw@2.7.5(@types/node@24.10.1)(typescript@5.9.3):
@@ -27571,11 +26828,6 @@ snapshots:
node-domexception@1.0.0: {}
- node-environment-flags@1.0.6:
- dependencies:
- object.getownpropertydescriptors: 2.1.8
- semver: 5.7.2
-
node-fetch-h2@2.3.0:
dependencies:
http2-client: 1.3.5
@@ -27809,13 +27061,6 @@ snapshots:
object-keys@1.1.1: {}
- object.assign@4.1.0:
- dependencies:
- define-properties: 1.2.1
- function-bind: 1.1.2
- has-symbols: 1.1.0
- object-keys: 1.1.1
-
object.assign@4.1.7:
dependencies:
call-bind: 1.0.8
@@ -27970,10 +27215,6 @@ snapshots:
dependencies:
p-try: 1.0.0
- p-limit@2.3.0:
- dependencies:
- p-try: 2.2.0
-
p-limit@3.1.0:
dependencies:
yocto-queue: 0.1.0
@@ -27982,22 +27223,10 @@ snapshots:
dependencies:
p-limit: 1.3.0
- p-locate@3.0.0:
- dependencies:
- p-limit: 2.3.0
-
- p-locate@4.1.0:
- dependencies:
- p-limit: 2.3.0
-
p-locate@5.0.0:
dependencies:
p-limit: 3.1.0
- p-map@3.0.0:
- dependencies:
- aggregate-error: 3.1.0
-
p-map@4.0.0:
dependencies:
aggregate-error: 3.1.0
@@ -28021,13 +27250,11 @@ snapshots:
p-try@1.0.0: {}
- p-try@2.2.0: {}
-
pac-proxy-agent@7.2.0:
dependencies:
'@tootallnate/quickjs-emscripten': 0.23.0
agent-base: 7.1.4
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
get-uri: 6.0.5
http-proxy-agent: 7.0.2
https-proxy-agent: 7.0.6
@@ -28236,10 +27463,6 @@ snapshots:
dependencies:
pngjs: 7.0.0
- pkg-dir@4.2.0:
- dependencies:
- find-up: 4.1.0
-
pkg-types@1.3.1:
dependencies:
confbox: 0.1.8
@@ -28305,7 +27528,7 @@ snapshots:
portfinder@1.0.36:
dependencies:
async: 3.2.6
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
transitivePeerDependencies:
- supports-color
@@ -28329,12 +27552,6 @@ snapshots:
postcss-selector-parser: 6.1.2
postcss-value-parser: 4.2.0
- postcss-calc@9.0.1(postcss@8.5.3):
- dependencies:
- postcss: 8.5.3
- postcss-selector-parser: 6.1.2
- postcss-value-parser: 4.2.0
-
postcss-colormin@5.3.1(postcss@8.5.6):
dependencies:
browserslist: 4.26.2
@@ -28343,14 +27560,6 @@ snapshots:
postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-colormin@6.1.0(postcss@8.5.3):
- dependencies:
- browserslist: 4.26.2
- caniuse-api: 3.0.0
- colord: 2.9.3
- postcss: 8.5.3
- postcss-value-parser: 4.2.0
-
postcss-colormin@7.0.2(postcss@8.5.3):
dependencies:
browserslist: 4.26.2
@@ -28373,12 +27582,6 @@ snapshots:
postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-convert-values@6.1.0(postcss@8.5.3):
- dependencies:
- browserslist: 4.26.2
- postcss: 8.5.3
- postcss-value-parser: 4.2.0
-
postcss-convert-values@7.0.4(postcss@8.5.3):
dependencies:
browserslist: 4.26.2
@@ -28395,10 +27598,6 @@ snapshots:
dependencies:
postcss: 8.5.6
- postcss-discard-comments@6.0.2(postcss@8.5.3):
- dependencies:
- postcss: 8.5.3
-
postcss-discard-comments@7.0.3(postcss@8.5.3):
dependencies:
postcss: 8.5.3
@@ -28413,10 +27612,6 @@ snapshots:
dependencies:
postcss: 8.5.6
- postcss-discard-duplicates@6.0.3(postcss@8.5.3):
- dependencies:
- postcss: 8.5.3
-
postcss-discard-duplicates@7.0.1(postcss@8.5.3):
dependencies:
postcss: 8.5.3
@@ -28429,10 +27624,6 @@ snapshots:
dependencies:
postcss: 8.5.6
- postcss-discard-empty@6.0.3(postcss@8.5.3):
- dependencies:
- postcss: 8.5.3
-
postcss-discard-empty@7.0.0(postcss@8.5.3):
dependencies:
postcss: 8.5.3
@@ -28445,10 +27636,6 @@ snapshots:
dependencies:
postcss: 8.5.6
- postcss-discard-overridden@6.0.2(postcss@8.5.3):
- dependencies:
- postcss: 8.5.3
-
postcss-discard-overridden@7.0.0(postcss@8.5.3):
dependencies:
postcss: 8.5.3
@@ -28457,13 +27644,6 @@ snapshots:
dependencies:
postcss: 8.5.6
- postcss-import@14.1.0(postcss@8.5.3):
- dependencies:
- postcss: 8.5.3
- postcss-value-parser: 4.2.0
- read-cache: 1.0.0
- resolve: 1.22.10
-
postcss-import@16.1.1(postcss@8.5.6):
dependencies:
postcss: 8.5.6
@@ -28481,16 +27661,6 @@ snapshots:
camelcase-css: 2.0.1
postcss: 8.5.6
- postcss-loader@4.3.0(postcss@8.5.3)(webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0)):
- dependencies:
- cosmiconfig: 7.1.0
- klona: 2.0.6
- loader-utils: 2.0.4
- postcss: 8.5.3
- schema-utils: 3.3.0
- semver: 7.7.3
- webpack: 5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0)
-
postcss-loader@4.3.0(postcss@8.5.6)(webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0)):
dependencies:
cosmiconfig: 7.1.0
@@ -28518,12 +27688,6 @@ snapshots:
postcss-value-parser: 4.2.0
stylehacks: 5.1.1(postcss@8.5.6)
- postcss-merge-longhand@6.0.5(postcss@8.5.3):
- dependencies:
- postcss: 8.5.3
- postcss-value-parser: 4.2.0
- stylehacks: 6.1.1(postcss@8.5.3)
-
postcss-merge-longhand@7.0.4(postcss@8.5.3):
dependencies:
postcss: 8.5.3
@@ -28544,14 +27708,6 @@ snapshots:
postcss: 8.5.6
postcss-selector-parser: 6.1.2
- postcss-merge-rules@6.1.1(postcss@8.5.3):
- dependencies:
- browserslist: 4.26.2
- caniuse-api: 3.0.0
- cssnano-utils: 4.0.2(postcss@8.5.3)
- postcss: 8.5.3
- postcss-selector-parser: 6.1.2
-
postcss-merge-rules@7.0.4(postcss@8.5.3):
dependencies:
browserslist: 4.26.2
@@ -28573,11 +27729,6 @@ snapshots:
postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-minify-font-values@6.1.0(postcss@8.5.3):
- dependencies:
- postcss: 8.5.3
- postcss-value-parser: 4.2.0
-
postcss-minify-font-values@7.0.0(postcss@8.5.3):
dependencies:
postcss: 8.5.3
@@ -28595,13 +27746,6 @@ snapshots:
postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-minify-gradients@6.0.3(postcss@8.5.3):
- dependencies:
- colord: 2.9.3
- cssnano-utils: 4.0.2(postcss@8.5.3)
- postcss: 8.5.3
- postcss-value-parser: 4.2.0
-
postcss-minify-gradients@7.0.0(postcss@8.5.3):
dependencies:
colord: 2.9.3
@@ -28623,13 +27767,6 @@ snapshots:
postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-minify-params@6.1.0(postcss@8.5.3):
- dependencies:
- browserslist: 4.26.2
- cssnano-utils: 4.0.2(postcss@8.5.3)
- postcss: 8.5.3
- postcss-value-parser: 4.2.0
-
postcss-minify-params@7.0.2(postcss@8.5.3):
dependencies:
browserslist: 4.26.2
@@ -28649,11 +27786,6 @@ snapshots:
postcss: 8.5.6
postcss-selector-parser: 6.1.2
- postcss-minify-selectors@6.0.4(postcss@8.5.3):
- dependencies:
- postcss: 8.5.3
- postcss-selector-parser: 6.1.2
-
postcss-minify-selectors@7.0.4(postcss@8.5.3):
dependencies:
cssesc: 3.0.0
@@ -28721,10 +27853,6 @@ snapshots:
dependencies:
postcss: 8.5.6
- postcss-normalize-charset@6.0.2(postcss@8.5.3):
- dependencies:
- postcss: 8.5.3
-
postcss-normalize-charset@7.0.0(postcss@8.5.3):
dependencies:
postcss: 8.5.3
@@ -28738,11 +27866,6 @@ snapshots:
postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-normalize-display-values@6.0.2(postcss@8.5.3):
- dependencies:
- postcss: 8.5.3
- postcss-value-parser: 4.2.0
-
postcss-normalize-display-values@7.0.0(postcss@8.5.3):
dependencies:
postcss: 8.5.3
@@ -28758,11 +27881,6 @@ snapshots:
postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-normalize-positions@6.0.2(postcss@8.5.3):
- dependencies:
- postcss: 8.5.3
- postcss-value-parser: 4.2.0
-
postcss-normalize-positions@7.0.0(postcss@8.5.3):
dependencies:
postcss: 8.5.3
@@ -28778,11 +27896,6 @@ snapshots:
postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-normalize-repeat-style@6.0.2(postcss@8.5.3):
- dependencies:
- postcss: 8.5.3
- postcss-value-parser: 4.2.0
-
postcss-normalize-repeat-style@7.0.0(postcss@8.5.3):
dependencies:
postcss: 8.5.3
@@ -28798,11 +27911,6 @@ snapshots:
postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-normalize-string@6.0.2(postcss@8.5.3):
- dependencies:
- postcss: 8.5.3
- postcss-value-parser: 4.2.0
-
postcss-normalize-string@7.0.0(postcss@8.5.3):
dependencies:
postcss: 8.5.3
@@ -28818,11 +27926,6 @@ snapshots:
postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-normalize-timing-functions@6.0.2(postcss@8.5.3):
- dependencies:
- postcss: 8.5.3
- postcss-value-parser: 4.2.0
-
postcss-normalize-timing-functions@7.0.0(postcss@8.5.3):
dependencies:
postcss: 8.5.3
@@ -28839,12 +27942,6 @@ snapshots:
postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-normalize-unicode@6.1.0(postcss@8.5.3):
- dependencies:
- browserslist: 4.26.2
- postcss: 8.5.3
- postcss-value-parser: 4.2.0
-
postcss-normalize-unicode@7.0.2(postcss@8.5.3):
dependencies:
browserslist: 4.26.2
@@ -28863,11 +27960,6 @@ snapshots:
postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-normalize-url@6.0.2(postcss@8.5.3):
- dependencies:
- postcss: 8.5.3
- postcss-value-parser: 4.2.0
-
postcss-normalize-url@7.0.0(postcss@8.5.3):
dependencies:
postcss: 8.5.3
@@ -28883,11 +27975,6 @@ snapshots:
postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-normalize-whitespace@6.0.2(postcss@8.5.3):
- dependencies:
- postcss: 8.5.3
- postcss-value-parser: 4.2.0
-
postcss-normalize-whitespace@7.0.0(postcss@8.5.3):
dependencies:
postcss: 8.5.3
@@ -28904,12 +27991,6 @@ snapshots:
postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-ordered-values@6.0.2(postcss@8.5.3):
- dependencies:
- cssnano-utils: 4.0.2(postcss@8.5.3)
- postcss: 8.5.3
- postcss-value-parser: 4.2.0
-
postcss-ordered-values@7.0.1(postcss@8.5.3):
dependencies:
cssnano-utils: 5.0.0(postcss@8.5.3)
@@ -28928,12 +28009,6 @@ snapshots:
caniuse-api: 3.0.0
postcss: 8.5.6
- postcss-reduce-initial@6.1.0(postcss@8.5.3):
- dependencies:
- browserslist: 4.26.2
- caniuse-api: 3.0.0
- postcss: 8.5.3
-
postcss-reduce-initial@7.0.2(postcss@8.5.3):
dependencies:
browserslist: 4.26.2
@@ -28951,11 +28026,6 @@ snapshots:
postcss: 8.5.6
postcss-value-parser: 4.2.0
- postcss-reduce-transforms@6.0.2(postcss@8.5.3):
- dependencies:
- postcss: 8.5.3
- postcss-value-parser: 4.2.0
-
postcss-reduce-transforms@7.0.0(postcss@8.5.3):
dependencies:
postcss: 8.5.3
@@ -28996,12 +28066,6 @@ snapshots:
postcss-value-parser: 4.2.0
svgo: 2.8.0
- postcss-svgo@6.0.3(postcss@8.5.3):
- dependencies:
- postcss: 8.5.3
- postcss-value-parser: 4.2.0
- svgo: 3.3.2
-
postcss-svgo@7.0.1(postcss@8.5.3):
dependencies:
postcss: 8.5.3
@@ -29019,11 +28083,6 @@ snapshots:
postcss: 8.5.6
postcss-selector-parser: 6.1.2
- postcss-unique-selectors@6.0.4(postcss@8.5.3):
- dependencies:
- postcss: 8.5.3
- postcss-selector-parser: 6.1.2
-
postcss-unique-selectors@7.0.3(postcss@8.5.3):
dependencies:
postcss: 8.5.3
@@ -29144,7 +28203,7 @@ snapshots:
proxy-agent@6.5.0:
dependencies:
agent-base: 7.1.4
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
http-proxy-agent: 7.0.2
https-proxy-agent: 7.0.6
lru-cache: 7.18.3
@@ -29364,7 +28423,7 @@ snapshots:
read-binary-file-arch@1.0.6:
dependencies:
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
transitivePeerDependencies:
- supports-color
@@ -29415,10 +28474,6 @@ snapshots:
dependencies:
minimatch: 5.1.6
- readdirp@3.2.0:
- dependencies:
- picomatch: 2.3.1
-
readdirp@3.6.0:
dependencies:
picomatch: 2.3.1
@@ -29427,10 +28482,6 @@ snapshots:
readdirp@5.0.0: {}
- rechoir@0.6.2:
- dependencies:
- resolve: 1.22.10
-
rechoir@0.8.0:
dependencies:
resolve: 1.22.10
@@ -29583,8 +28634,6 @@ snapshots:
require-from-string@2.0.2: {}
- require-main-filename@2.0.0: {}
-
requires-port@1.0.0: {}
resedit@2.0.3:
@@ -29809,7 +28858,7 @@ snapshots:
router@2.2.0:
dependencies:
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
depd: 2.0.0
is-promise: 4.0.0
parseurl: 1.3.3
@@ -30070,7 +29119,7 @@ snapshots:
send@1.2.0:
dependencies:
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
encodeurl: 2.0.0
escape-html: 1.0.3
etag: 1.8.1
@@ -30093,10 +29142,6 @@ snapshots:
type-fest: 0.13.1
optional: true
- serialize-javascript@5.0.1:
- dependencies:
- randombytes: 2.1.0
-
serialize-javascript@6.0.2:
dependencies:
randombytes: 2.1.0
@@ -30139,7 +29184,8 @@ snapshots:
transitivePeerDependencies:
- supports-color
- set-blocking@2.0.0: {}
+ set-blocking@2.0.0:
+ optional: true
set-cookie-parser@2.7.2: {}
@@ -30192,12 +29238,6 @@ snapshots:
execa: 5.1.1
fast-glob: 3.3.3
- shelljs@0.8.5:
- dependencies:
- glob: 7.2.3
- interpret: 1.4.0
- rechoir: 0.6.2
-
shimmer@1.2.1: {}
should-equal@2.0.0:
@@ -30287,13 +29327,13 @@ snapshots:
dependencies:
'@kwsites/file-exists': 1.1.1
'@kwsites/promise-deferred': 1.1.1
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
transitivePeerDependencies:
- supports-color
simple-websocket@9.1.0(bufferutil@4.0.9)(utf-8-validate@6.0.5):
dependencies:
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
queue-microtask: 1.2.3
randombytes: 2.1.0
readable-stream: 3.6.2
@@ -30387,7 +29427,7 @@ snapshots:
socks-proxy-agent@6.2.1:
dependencies:
agent-base: 6.0.2
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
socks: 2.8.4
transitivePeerDependencies:
- supports-color
@@ -30396,7 +29436,7 @@ snapshots:
socks-proxy-agent@7.0.0:
dependencies:
agent-base: 6.0.2
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
socks: 2.8.7
transitivePeerDependencies:
- supports-color
@@ -30404,7 +29444,7 @@ snapshots:
socks-proxy-agent@8.0.5:
dependencies:
agent-base: 7.1.4
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
socks: 2.8.7
transitivePeerDependencies:
- supports-color
@@ -30465,7 +29505,7 @@ snapshots:
spdy-transport@3.0.0:
dependencies:
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
detect-node: 2.1.0
hpack.js: 2.1.6
obuf: 1.1.2
@@ -30476,7 +29516,7 @@ snapshots:
spdy@4.0.2:
dependencies:
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
handle-thing: 2.0.1
http-deceiver: 1.2.7
select-hose: 2.0.0
@@ -30521,6 +29561,7 @@ snapshots:
ssri@8.0.1:
dependencies:
minipass: 3.3.6
+ optional: true
ssri@9.0.1:
dependencies:
@@ -30560,7 +29601,7 @@ snapshots:
streamroller@3.1.5:
dependencies:
date-format: 4.0.14
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
fs-extra: 8.1.0
transitivePeerDependencies:
- supports-color
@@ -30580,17 +29621,6 @@ snapshots:
string-argv@0.3.2: {}
- string-width@2.1.1:
- dependencies:
- is-fullwidth-code-point: 2.0.0
- strip-ansi: 4.0.0
-
- string-width@3.1.0:
- dependencies:
- emoji-regex: 7.0.3
- is-fullwidth-code-point: 2.0.0
- strip-ansi: 5.2.0
-
string-width@4.2.3:
dependencies:
emoji-regex: 8.0.0
@@ -30671,14 +29701,6 @@ snapshots:
character-entities-html4: 2.1.0
character-entities-legacy: 3.0.0
- strip-ansi@4.0.0:
- dependencies:
- ansi-regex: 3.0.1
-
- strip-ansi@5.2.0:
- dependencies:
- ansi-regex: 4.1.1
-
strip-ansi@6.0.1:
dependencies:
ansi-regex: 5.0.1
@@ -30753,12 +29775,6 @@ snapshots:
postcss: 8.5.6
postcss-selector-parser: 6.1.2
- stylehacks@6.1.1(postcss@8.5.3):
- dependencies:
- browserslist: 4.26.2
- postcss: 8.5.3
- postcss-selector-parser: 6.1.2
-
stylehacks@7.0.4(postcss@8.5.3):
dependencies:
browserslist: 4.26.2
@@ -30808,7 +29824,7 @@ snapshots:
cosmiconfig: 9.0.0(typescript@5.0.4)
css-functions-list: 3.2.3
css-tree: 3.1.0
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
fast-glob: 3.3.3
fastest-levenshtein: 1.0.16
file-entry-cache: 11.1.1
@@ -30853,7 +29869,7 @@ snapshots:
cosmiconfig: 9.0.0(typescript@5.9.3)
css-functions-list: 3.2.3
css-tree: 3.1.0
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
fast-glob: 3.3.3
fastest-levenshtein: 1.0.16
file-entry-cache: 11.1.1
@@ -30899,7 +29915,7 @@ snapshots:
sumchecker@3.0.1:
dependencies:
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
transitivePeerDependencies:
- supports-color
@@ -30907,7 +29923,7 @@ snapshots:
dependencies:
component-emitter: 1.3.1
cookiejar: 2.1.4
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
fast-safe-stringify: 2.1.1
form-data: 4.0.4
formidable: 3.5.4
@@ -30932,10 +29948,6 @@ snapshots:
dependencies:
has-flag: 3.0.0
- supports-color@6.0.0:
- dependencies:
- has-flag: 3.0.0
-
supports-color@7.2.0:
dependencies:
has-flag: 4.0.0
@@ -31099,21 +30111,6 @@ snapshots:
rimraf: 2.6.3
optional: true
- terser-webpack-plugin@4.2.3(webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0)):
- dependencies:
- cacache: 15.3.0
- find-cache-dir: 3.3.2
- jest-worker: 26.6.2
- p-limit: 3.1.0
- schema-utils: 3.3.0
- serialize-javascript: 5.0.1
- source-map: 0.6.1
- terser: 5.44.0
- webpack: 5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0)
- webpack-sources: 1.4.3
- transitivePeerDependencies:
- - bluebird
-
terser-webpack-plugin@5.3.14(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0)(webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0)):
dependencies:
'@jridgewell/trace-mapping': 0.3.31
@@ -31152,11 +30149,6 @@ snapshots:
dependencies:
tslib: 2.8.1
- through2@3.0.2:
- dependencies:
- inherits: 2.0.4
- readable-stream: 3.6.2
-
through2@4.0.2:
dependencies:
readable-stream: 3.6.2
@@ -31354,7 +30346,7 @@ snapshots:
tuf-js@4.0.0:
dependencies:
'@tufjs/models': 4.0.0
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
make-fetch-happen: 15.0.3
transitivePeerDependencies:
- supports-color
@@ -31555,6 +30547,7 @@ snapshots:
unique-filename@1.1.1:
dependencies:
unique-slug: 2.0.2
+ optional: true
unique-filename@2.0.1:
dependencies:
@@ -31567,6 +30560,7 @@ snapshots:
unique-slug@2.0.2:
dependencies:
imurmurhash: 0.1.4
+ optional: true
unique-slug@3.0.0:
dependencies:
@@ -31743,7 +30737,7 @@ snapshots:
'@volar/typescript': 2.4.13
'@vue/language-core': 2.2.0(typescript@5.9.3)
compare-versions: 6.1.1
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
kolorist: 1.8.0
local-pkg: 1.1.1
magic-string: 0.30.21
@@ -31889,7 +30883,7 @@ snapshots:
dependencies:
chalk: 4.1.2
commander: 9.5.0
- debug: 4.4.3(supports-color@6.0.0)
+ debug: 4.4.3(supports-color@8.1.1)
transitivePeerDependencies:
- supports-color
@@ -32029,11 +31023,6 @@ snapshots:
source-list-map: 2.0.1
source-map: 0.6.1
- webpack-sources@2.3.1:
- dependencies:
- source-list-map: 2.0.1
- source-map: 0.6.1
-
webpack-sources@3.3.3: {}
webpack@5.101.3(@swc/core@1.11.29(@swc/helpers@0.5.17))(esbuild@0.27.0):
@@ -32180,8 +31169,6 @@ snapshots:
is-weakmap: 2.0.2
is-weakset: 2.0.4
- which-module@2.0.1: {}
-
which-typed-array@1.1.19:
dependencies:
available-typed-arrays: 1.0.7
@@ -32217,10 +31204,6 @@ snapshots:
siginfo: 2.0.0
stackback: 0.0.2
- wide-align@1.1.3:
- dependencies:
- string-width: 2.1.1
-
wide-align@1.1.5:
dependencies:
string-width: 4.2.3
@@ -32232,12 +31215,6 @@ snapshots:
workerpool@9.3.4: {}
- wrap-ansi@5.1.0:
- dependencies:
- ansi-styles: 3.2.1
- string-width: 3.1.0
- strip-ansi: 5.2.0
-
wrap-ansi@6.2.0:
dependencies:
ansi-styles: 4.3.0
@@ -32315,8 +31292,6 @@ snapshots:
xtend@4.0.2: {}
- y18n@4.0.3: {}
-
y18n@5.0.8: {}
yallist@3.1.1: {}
@@ -32333,23 +31308,12 @@ snapshots:
yaml@2.8.1: {}
- yargs-parser@13.1.2:
- dependencies:
- camelcase: 5.3.1
- decamelize: 1.2.0
-
yargs-parser@20.2.9: {}
yargs-parser@21.1.1: {}
yargs-parser@22.0.0: {}
- yargs-unparser@1.6.0:
- dependencies:
- flat: 5.0.2
- lodash: 4.17.21
- yargs: 13.3.2
-
yargs-unparser@2.0.0:
dependencies:
camelcase: 6.3.0
@@ -32357,19 +31321,6 @@ snapshots:
flat: 5.0.2
is-plain-obj: 2.1.0
- yargs@13.3.2:
- dependencies:
- cliui: 5.0.0
- find-up: 3.0.0
- get-caller-file: 2.0.5
- require-directory: 2.1.1
- require-main-filename: 2.0.0
- set-blocking: 2.0.0
- string-width: 3.1.0
- which-module: 2.0.1
- y18n: 4.0.3
- yargs-parser: 13.1.2
-
yargs@16.2.0:
dependencies:
cliui: 7.0.4
From 31cedad976fcf99c99a8334b94c427418b8a8232 Mon Sep 17 00:00:00 2001
From: Adorian Doran
Date: Mon, 1 Dec 2025 16:33:31 +0200
Subject: [PATCH 73/73] documentation: mark "calendar:color" as deprecated
---
docs/User Guide/User Guide/Collections/Calendar.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/User Guide/User Guide/Collections/Calendar.md b/docs/User Guide/User Guide/Collections/Calendar.md
index 7cc60ff7a..ca616821f 100644
--- a/docs/User Guide/User Guide/Collections/Calendar.md
+++ b/docs/User Guide/User Guide/Collections/Calendar.md
@@ -63,7 +63,7 @@ For each note of the calendar, the following attributes can be used:
| `#startTime` | The time the event starts at. If this value is missing, then the event is considered a full-day event. The format is `HH:MM` (hours in 24-hour format and minutes). |
| `#endTime` | Similar to `startTime`, it mentions the time at which the event ends (in relation with `endDate` if present, or `startDate`). |
| `#color` | Displays the event with a specified color (named such as `red`, `gray` or hex such as `#FF0000`). This will also change the color of the note in other places such as the note tree. |
-| `#calendar:color` | Similar to `#color`, but applies the color only for the event in the calendar and not for other places such as the note tree. |
+| `#calendar:color` | Similar to `#color`, but applies the color only for the event in the calendar and not for other places such as the note tree. (*Deprecated*) |
| `#iconClass` | If present, the icon of the note will be displayed to the left of the event title. |
| `#calendar:title` | Changes the title of an event to point to an attribute of the note other than the title, can either a label or a relation (without the `#` or `~` symbol). See _Use-cases_ for more information. |
| `#calendar:displayedAttributes` | Allows displaying the value of one or more attributes in the calendar like this:  `#weight="70" #Mood="Good" #calendar:displayedAttributes="weight,Mood"` It can also be used with relations, case in which it will display the title of the target note: `~assignee=@My assignee #calendar:displayedAttributes="assignee"` |